diff options
author | Filippos Karapetis | 2013-10-06 18:07:44 +0300 |
---|---|---|
committer | Filippos Karapetis | 2013-10-06 18:08:19 +0300 |
commit | d5ebc69de0af1992b821297d5e9cc9e8baa604de (patch) | |
tree | dc7f5c2200a9ed2a7c29109a2491331a55240a93 /engines/neverhood/modules/module1300_sprites.cpp | |
parent | f19fd06e243fabf5a9244c178e056432c575860b (diff) | |
download | scummvm-rg350-d5ebc69de0af1992b821297d5e9cc9e8baa604de.tar.gz scummvm-rg350-d5ebc69de0af1992b821297d5e9cc9e8baa604de.tar.bz2 scummvm-rg350-d5ebc69de0af1992b821297d5e9cc9e8baa604de.zip |
NEVERHOOD: Move more scene-specific Klaymen animations to their scenes
Diffstat (limited to 'engines/neverhood/modules/module1300_sprites.cpp')
-rw-r--r-- | engines/neverhood/modules/module1300_sprites.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/engines/neverhood/modules/module1300_sprites.cpp b/engines/neverhood/modules/module1300_sprites.cpp index 14e6e59b67..a65f2363a3 100644 --- a/engines/neverhood/modules/module1300_sprites.cpp +++ b/engines/neverhood/modules/module1300_sprites.cpp @@ -715,7 +715,7 @@ uint32 KmScene1305::xHandleMessage(int messageNum, const MessageParam ¶m) { GotoState(&Klaymen::stTryStandIdle); break; case 0x4804: - GotoState(&Klaymen::stCrashDown); + GotoState(&KmScene1305::stCrashDown); break; case 0x4817: setDoDeltaX(param.asInteger()); @@ -725,6 +725,22 @@ uint32 KmScene1305::xHandleMessage(int messageNum, const MessageParam ¶m) { return 0; } +void KmScene1305::stCrashDown() { + playSound(0, 0x41648271); + _busyStatus = 1; + _acceptInput = false; + startAnimationByHash(0x000BAB02, 0x88003000, 0); + SetUpdateHandler(&Klaymen::update); + SetSpriteUpdate(NULL); + SetMessageHandler(&Klaymen::hmLowLevelAnimation); + NextState(&KmScene1305::stCrashDownFinished); +} + +void KmScene1305::stCrashDownFinished() { + setDoDeltaX(2); + stTryStandIdle(); +} + KmScene1306::KmScene1306(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y) : Klaymen(vm, parentScene, x, y) { |