diff options
Diffstat (limited to 'src/renderer.cpp')
-rw-r--r-- | src/renderer.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/renderer.cpp b/src/renderer.cpp index b28e3cb..25c5669 100644 --- a/src/renderer.cpp +++ b/src/renderer.cpp | |||
@@ -112,7 +112,9 @@ void Renderer::renderSprite(const Sprite& sprite) { | |||
112 | if (sprite.hasShadow) { | 112 | if (sprite.hasShadow) { |
113 | int shadowTexId = loadImageFromFile("../res/shadow.png"); | 113 | int shadowTexId = loadImageFromFile("../res/shadow.png"); |
114 | const SDL_Rect shadowDest { sprite.loc.x() - 8, sprite.loc.y() - 8, 16, 8 }; | 114 | const SDL_Rect shadowDest { sprite.loc.x() - 8, sprite.loc.y() - 8, 16, 8 }; |
115 | SDL_RenderCopy(ren_.get(), textures_.at(shadowTexId).get(), nullptr, &shadowDest); | 115 | SDL_Texture* shadowTex = textures_.at(shadowTexId).get(); |
116 | SDL_SetTextureAlphaMod(shadowTex, sprite.opacity * 255); | ||
117 | SDL_RenderCopy(ren_.get(), shadowTex, nullptr, &shadowDest); | ||
116 | } | 118 | } |
117 | 119 | ||
118 | const SpriteFrame& frame = sprite.frames.at(sprite.animations.at(sprite.animationId).frameIndices.at(sprite.animationFrame)); | 120 | const SpriteFrame& frame = sprite.frames.at(sprite.animations.at(sprite.animationId).frameIndices.at(sprite.animationFrame)); |
@@ -121,7 +123,9 @@ void Renderer::renderSprite(const Sprite& sprite) { | |||
121 | if (sprite.bobbing) { | 123 | if (sprite.bobbing) { |
122 | dest.y -= sprite.bobAmount; | 124 | dest.y -= sprite.bobAmount; |
123 | } | 125 | } |
124 | SDL_RenderCopy(ren_.get(), textures_.at(loadImageFromFile(sprite.spritesheet)).get(), &src, &dest); | 126 | SDL_Texture* textureToRender = textures_.at(loadImageFromFile(sprite.spritesheet)).get(); |
127 | SDL_SetTextureAlphaMod(textureToRender, sprite.opacity * 255); | ||
128 | SDL_RenderCopy(ren_.get(), textureToRender, &src, &dest); | ||
125 | } | 129 | } |
126 | } | 130 | } |
127 | 131 | ||