diff options
author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2021-02-10 20:09:42 -0500 |
---|---|---|
committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2021-02-10 20:09:42 -0500 |
commit | c25ab2537cb201dc46b7c1d375dd1c12411fe85c (patch) | |
tree | 1b96b9054585390abbc99277572a77a3248f2cde /src/character_system.cpp | |
parent | 05ee221cd31a782b699cc6d62e0d275364cfd7cc (diff) | |
download | tanetane-c25ab2537cb201dc46b7c1d375dd1c12411fe85c.tar.gz tanetane-c25ab2537cb201dc46b7c1d375dd1c12411fe85c.tar.bz2 tanetane-c25ab2537cb201dc46b7c1d375dd1c12411fe85c.zip |
Player movement/input is halted during cutscenes
Diffstat (limited to 'src/character_system.cpp')
-rw-r--r-- | src/character_system.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/character_system.cpp b/src/character_system.cpp index 781b50d..aad8c1b 100644 --- a/src/character_system.cpp +++ b/src/character_system.cpp | |||
@@ -248,6 +248,18 @@ void CharacterSystem::stopRunningSound(Sprite& sprite) { | |||
248 | } | 248 | } |
249 | } | 249 | } |
250 | 250 | ||
251 | void CharacterSystem::halt(int spriteId) { | ||
252 | // Because special stuff happens when we stop running, we have to handle the | ||
253 | // running case here. | ||
254 | Sprite& sprite = game_.getSprite(spriteId); | ||
255 | if (sprite.characterState == CharacterState::Running) { | ||
256 | stopRunning(spriteId); | ||
257 | } else { | ||
258 | // Other than that, it is simple to go to Still from Walking or Crouching. | ||
259 | setPartyState(spriteId, CharacterState::Still); | ||
260 | } | ||
261 | } | ||
262 | |||
251 | void CharacterSystem::clearSpriteCache() { | 263 | void CharacterSystem::clearSpriteCache() { |
252 | for (Sprite& sprite : game_.getSprites() | game_.spriteView()) { | 264 | for (Sprite& sprite : game_.getSprites() | game_.spriteView()) { |
253 | if (sprite.runningSfxChannel != -1) { | 265 | if (sprite.runningSfxChannel != -1) { |