Implement bilinear scaling for non-simple sprites

This commit is contained in:
Splendide Imaginarius 2024-04-30 03:14:03 +00:00
parent 8fcd6dd605
commit 27a0e67aa0

View file

@ -666,10 +666,10 @@ void Sprite::draw()
if (renderEffect) if (renderEffect)
{ {
if (scalingMethod != NearestNeighbor) if (scalingMethod > Bilinear)
{ {
Debug() << "BUG: Smooth SpriteShader not implemented:" << scalingMethod; Debug() << "BUG: Smooth SpriteShader not implemented:" << scalingMethod;
scalingMethod = NearestNeighbor; scalingMethod = Bilinear;
} }
SpriteShader &shader = shState->shaders().sprite; SpriteShader &shader = shState->shaders().sprite;
@ -713,10 +713,10 @@ void Sprite::draw()
} }
else if (p->opacity != 255) else if (p->opacity != 255)
{ {
if (scalingMethod != NearestNeighbor) if (scalingMethod > Bilinear)
{ {
Debug() << "BUG: Smooth AlphaSpriteShader not implemented:" << scalingMethod; Debug() << "BUG: Smooth AlphaSpriteShader not implemented:" << scalingMethod;
scalingMethod = NearestNeighbor; scalingMethod = Bilinear;
} }
AlphaSpriteShader &shader = shState->shaders().alphaSprite; AlphaSpriteShader &shader = shState->shaders().alphaSprite;