From 5faac69bb14dc1d064b108c5109ab1a53200549f Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Wed, 24 Feb 2021 10:42:31 -0500 Subject: Removed sprite shadow while on a ladder --- src/character_system.cpp | 2 ++ src/game.cpp | 2 +- src/main.cpp | 8 ++++---- src/sprite.h | 1 + 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/character_system.cpp b/src/character_system.cpp index ea469d5..5a3b774 100644 --- a/src/character_system.cpp +++ b/src/character_system.cpp @@ -345,11 +345,13 @@ void CharacterSystem::setAnimationFor(int spriteId, CharacterState state) { } game_.getSystem().setSpriteAnimation(spriteId, animName); + sprite.hasShadow = sprite.normallyHasShadow; break; } case CharacterMedium::Ladder: { game_.getSystem().setSpriteAnimation(spriteId, "climb"); + sprite.hasShadow = false; if (state == CharacterState::Still || state == CharacterState::Crouching) { sprite.animPaused = true; diff --git a/src/game.cpp b/src/game.cpp index b5393a8..2a4308f 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -59,7 +59,7 @@ void Game::loadMap(std::string filename) { getSystem().setUpCollision(spriteId, p.collisionOffset, p.collisionSize, true); if (!p.animationFilename.empty()) { getSystem().initSprite(spriteId, p.animationFilename); - getSprite(spriteId).hasShadow = p.shadow; + getSprite(spriteId).normallyHasShadow = p.shadow; } getSprite(spriteId).interactionScript = p.interactionScript; if (p.movementSpeed != -1) { diff --git a/src/main.cpp b/src/main.cpp index 5c8a018..25e7013 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -36,7 +36,7 @@ void loop(Renderer& renderer, std::mt19937& rng) { game.getSystem().setUpCollision(lucasSprite, {-8, -8}, {12, 8}, true); game.getSystem().initSprite(lucasSprite, "../res/sprites/lucas_anim.txt"); game.getSystem().setSpriteDirection(lucasSprite, Direction::down); - game.getSprite(lucasSprite).hasShadow = true; + game.getSprite(lucasSprite).normallyHasShadow = true; game.getSprite(lucasSprite).player = true; game.getSprite(lucasSprite).controllable = true; game.getSprite(lucasSprite).persistent = true; @@ -48,7 +48,7 @@ void loop(Renderer& renderer, std::mt19937& rng) { game.getSystem().initSprite(kumaSprite, warpLoc); game.getSystem().initSprite(kumaSprite, "../res/sprites/kuma_anim.txt"); game.getSystem().setSpriteDirection(kumaSprite, Direction::down); - game.getSprite(kumaSprite).hasShadow = true; + game.getSprite(kumaSprite).normallyHasShadow = true; game.getSprite(kumaSprite).persistent = true; game.getSystem().addSpriteToParty(lucasSprite, kumaSprite); @@ -56,7 +56,7 @@ void loop(Renderer& renderer, std::mt19937& rng) { game.getSystem().initSprite(dusterSprite, warpLoc); game.getSystem().initSprite(dusterSprite, "../res/sprites/duster_anim.txt"); game.getSystem().setSpriteDirection(dusterSprite, Direction::down); - game.getSprite(dusterSprite).hasShadow = true; + game.getSprite(dusterSprite).normallyHasShadow = true; game.getSprite(dusterSprite).persistent = true; game.getSystem().addSpriteToParty(lucasSprite, dusterSprite); @@ -64,7 +64,7 @@ void loop(Renderer& renderer, std::mt19937& rng) { game.getSystem().initSprite(boneySprite, warpLoc); game.getSystem().initSprite(boneySprite, "../res/sprites/boney_anim.txt"); game.getSystem().setSpriteDirection(boneySprite, Direction::down); - game.getSprite(boneySprite).hasShadow = true; + game.getSprite(boneySprite).normallyHasShadow = true; game.getSprite(boneySprite).persistent = true; game.getSystem().addSpriteToParty(lucasSprite, boneySprite); diff --git a/src/sprite.h b/src/sprite.h index 2bbc4ea..3c2eade 100644 --- a/src/sprite.h +++ b/src/sprite.h @@ -75,6 +75,7 @@ public: std::map> nameDirToAnim; bool animFinished = false; bool hasShadow = false; + bool normallyHasShadow = false; bool animPaused = false; // Character -- cgit 1.4.1