From 132899d222f2c7d3542655b2332ed3574ffa9737 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Mon, 5 Jul 2021 10:07:32 -0400 Subject: Added sprite opacity --- src/renderer.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/renderer.cpp') 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) { if (sprite.hasShadow) { int shadowTexId = loadImageFromFile("../res/shadow.png"); const SDL_Rect shadowDest { sprite.loc.x() - 8, sprite.loc.y() - 8, 16, 8 }; - SDL_RenderCopy(ren_.get(), textures_.at(shadowTexId).get(), nullptr, &shadowDest); + SDL_Texture* shadowTex = textures_.at(shadowTexId).get(); + SDL_SetTextureAlphaMod(shadowTex, sprite.opacity * 255); + SDL_RenderCopy(ren_.get(), shadowTex, nullptr, &shadowDest); } 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) { if (sprite.bobbing) { dest.y -= sprite.bobAmount; } - SDL_RenderCopy(ren_.get(), textures_.at(loadImageFromFile(sprite.spritesheet)).get(), &src, &dest); + SDL_Texture* textureToRender = textures_.at(loadImageFromFile(sprite.spritesheet)).get(); + SDL_SetTextureAlphaMod(textureToRender, sprite.opacity * 255); + SDL_RenderCopy(ren_.get(), textureToRender, &src, &dest); } } -- cgit 1.4.1