diff options
author | Filippos Karapetis | 2013-10-06 18:29:10 +0300 |
---|---|---|
committer | Filippos Karapetis | 2013-10-06 18:29:10 +0300 |
commit | fa51ef214c2c57114a8b56906576e0b72ddfc139 (patch) | |
tree | 3087267ec42d0ea4b178c3ee14334b03525b0ed0 /engines/neverhood/modules/module2800_sprites.cpp | |
parent | d5ebc69de0af1992b821297d5e9cc9e8baa604de (diff) | |
download | scummvm-rg350-fa51ef214c2c57114a8b56906576e0b72ddfc139.tar.gz scummvm-rg350-fa51ef214c2c57114a8b56906576e0b72ddfc139.tar.bz2 scummvm-rg350-fa51ef214c2c57114a8b56906576e0b72ddfc139.zip |
NEVERHOOD: Move more scene-specific Klaymen animations to their scenes
Diffstat (limited to 'engines/neverhood/modules/module2800_sprites.cpp')
-rw-r--r-- | engines/neverhood/modules/module2800_sprites.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/engines/neverhood/modules/module2800_sprites.cpp b/engines/neverhood/modules/module2800_sprites.cpp index c167f414a6..a600c55dd3 100644 --- a/engines/neverhood/modules/module2800_sprites.cpp +++ b/engines/neverhood/modules/module2800_sprites.cpp @@ -1189,12 +1189,35 @@ uint32 KmScene2803Small::xHandleMessage(int messageNum, const MessageParam ¶ GotoState(&Klaymen::stTurnToBackSmall); break; case 0x4830: - GotoState(&Klaymen::stShrink); + GotoState(&KmScene2803Small::stShrink); break; } return 0; } +uint32 KmScene2803Small::hmShrink(int messageNum, const MessageParam ¶m, Entity *sender) { + uint32 messageResult = hmLowLevelAnimation(messageNum, param, sender); + switch (messageNum) { + case 0x100D: + if (param.asInteger() == 0x80C110B5) + sendMessage(_parentScene, 0x482A, 0); + else if (param.asInteger() == 0x33288344) + playSound(2, 0x10688664); + break; + } + return messageResult; +} + +void KmScene2803Small::stShrink() { + _busyStatus = 0; + _acceptInput = false; + playSound(0, 0x4C69EA53); + startAnimation(0x1AE88904, 0, -1); + SetUpdateHandler(&Klaymen::update); + SetMessageHandler(&KmScene2803Small::hmShrink); + SetSpriteUpdate(&AnimatedSprite::updateDeltaXY); +} + KmScene2805::KmScene2805(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y) : Klaymen(vm, parentScene, x, y) { |