diff options
author | johndoe123 | 2012-10-04 07:08:09 +0000 |
---|---|---|
committer | Willem Jan Palenstijn | 2013-05-08 20:43:46 +0200 |
commit | debc7e953d3cda85aefc2fae9325eb8ddf47d5c7 (patch) | |
tree | 68bb452efe661cc273453ceea8d3809e1ad28a40 /engines/neverhood | |
parent | 3ef691f1afe733e21371eca11e170b8d71783f5c (diff) | |
download | scummvm-rg350-debc7e953d3cda85aefc2fae9325eb8ddf47d5c7.tar.gz scummvm-rg350-debc7e953d3cda85aefc2fae9325eb8ddf47d5c7.tar.bz2 scummvm-rg350-debc7e953d3cda85aefc2fae9325eb8ddf47d5c7.zip |
NEVERHOOD: More changes to the Klayman class:
- Rename some stuff
- Reorder methods (in the Klayman header only until I'm happy with it :)
Diffstat (limited to 'engines/neverhood')
-rw-r--r-- | engines/neverhood/klayman.cpp | 203 | ||||
-rw-r--r-- | engines/neverhood/klayman.h | 486 |
2 files changed, 368 insertions, 321 deletions
diff --git a/engines/neverhood/klayman.cpp b/engines/neverhood/klayman.cpp index 1036478932..ae08de913b 100644 --- a/engines/neverhood/klayman.cpp +++ b/engines/neverhood/klayman.cpp @@ -60,7 +60,7 @@ Klayman::Klayman(NeverhoodEngine *vm, Entity *parentScene, int16 x, int16 y, int _isWalkingOpenDoorNotified(false), _countdown1(0), _tapesToInsert(0), _keysToInsert(0), /*_field118(0), */_status2(0), _acceptInput(true), _attachedSprite(NULL), _isWalking(false), _status3(1), _parentScene(parentScene), _isSneaking(false), _isLargeStep(false), _flagF6(false), _isLeverDown(false), _isSittingInTeleporter(false), _flagFA(false), _ladderStatus(0), _pathPoints(NULL), _soundFlag(false), - _idleTableNum(0), _otherSprite(NULL), _moveObjectCountdown(0), _readyToSpit(false) { + _idleTableNum(0), _otherSprite(NULL), _moveObjectCountdown(0), _readyToSpit(false), _walkResumeFrameIncr(0) { // TODO DirtySurface createSurface(surfacePriority, 320, 200); @@ -301,21 +301,21 @@ void Klayman::upSitIdleTeleporter() { } else if (++_blinkCounter >= _blinkCounterMax) { _blinkCounter = 0; _blinkCounterMax = _vm->_rnd->getRandomNumber(64 - 1) + 24; - stIdleSitBlink(); + stSitIdleTeleporterBlink(); } } -void Klayman::stIdleSitBlink() { +void Klayman::stSitIdleTeleporterBlink() { _status2 = 0; _acceptInput = true; startAnimation(0x5C24C018, 0, -1); SetUpdateHandler(&Klayman::update); SetMessageHandler(&Klayman::hmLowLevelAnimation); SetSpriteUpdate(NULL); - NextState(&Klayman::stIdleSitBlinkSecond); + NextState(&Klayman::stSitIdleTeleporterBlinkSecond); } -void Klayman::stIdleSitBlinkSecond() { +void Klayman::stSitIdleTeleporterBlinkSecond() { _status2 = 0; _acceptInput = true; startAnimation(0x5C24C018, 0, -1); @@ -331,7 +331,7 @@ void Klayman::stPickUpNeedle() { _acceptInput = false; startAnimation(0x1449C169, 0, -1); SetUpdateHandler(&Klayman::update); - SetMessageHandler(&Klayman::hmPickUpGeneric); + SetMessageHandler(&Klayman::hmPickUpObject); SetSpriteUpdate(NULL); } } @@ -675,7 +675,7 @@ bool Klayman::stStartAction(AnimationCb callback3) { startAnimation(0x5C7080D4, 0, -1); SetUpdateHandler(&Klayman::update); SetMessageHandler(&Klayman::hmStartAction); - SetSpriteUpdate(&Klayman::spriteUpdate41F250); + SetSpriteUpdate(&Klayman::suAction); NextState(callback3); return true; } else { @@ -684,7 +684,7 @@ bool Klayman::stStartAction(AnimationCb callback3) { } } -void Klayman::spriteUpdate41F250() { +void Klayman::suAction() { int16 xdiff = _destX - _x; @@ -715,7 +715,7 @@ void Klayman::spriteUpdate41F250() { } -void Klayman::suWalking() { +void Klayman::suSneaking() { int16 xdiff = _destX - _x; @@ -770,11 +770,11 @@ void Klayman::stSneak() { startAnimation(0x5C48C506, 0, -1); SetUpdateHandler(&Klayman::update); SetMessageHandler(&Klayman::hmSneaking); - SetSpriteUpdate(&Klayman::suWalking); - FinalizeState(&Klayman::stWalkingDone); + SetSpriteUpdate(&Klayman::suSneaking); + FinalizeState(&Klayman::evSneakingDone); } -void Klayman::stWalkingDone() { +void Klayman::evSneakingDone() { _isSneaking = false; } @@ -810,12 +810,12 @@ void Klayman::stStartWalking() { SetUpdateHandler(&Klayman::update); SetMessageHandler(&Klayman::hmStartWalking); SetSpriteUpdate(&Klayman::suWalkingTestExit); - FinalizeState(&Klayman::stStartWalkingDone); - NextState(&Klayman::stWalking); + FinalizeState(&Klayman::evStartWalkingDone); + NextState(&Klayman::stWalkingFirst); } } -void Klayman::stStartWalkingDone() { +void Klayman::evStartWalkingDone() { _isWalking = false; } @@ -833,19 +833,19 @@ uint32 Klayman::hmStartWalking(int messageNum, const MessageParam ¶m, Entity return messageResult; } -void Klayman::stWalking() { +void Klayman::stWalkingFirst() { _status2 = 0; _isWalking = true; _acceptInput = true; startAnimation(0x1A249001, 0, -1); SetUpdateHandler(&Klayman::update); SetMessageHandler(&Klayman::hmWalking); - SetSpriteUpdate(&Klayman::spriteUpdate41F300); - FinalizeState(&Klayman::stStartWalkingDone); - NextState(&Klayman::stUpdateWalking); + SetSpriteUpdate(&Klayman::suWalkingFirst); + FinalizeState(&Klayman::evStartWalkingDone); + NextState(&Klayman::stUpdateWalkingFirst); } -void Klayman::spriteUpdate41F300() { +void Klayman::suWalkingFirst() { SetSpriteUpdate(&Klayman::suWalkingTestExit); _deltaX = 0; } @@ -864,7 +864,7 @@ uint32 Klayman::hmWalking(int messageNum, const MessageParam ¶m, Entity *sen return messageResult; } -void Klayman::stUpdateWalking() { +void Klayman::stUpdateWalkingFirst() { if (_status3 == 2) { gotoNextStateExt(); } else if (_status3 == 3) { @@ -891,8 +891,8 @@ void Klayman::stUpdateWalking() { } SetUpdateHandler(&Klayman::update); SetMessageHandler(&Klayman::hmSneaking); - SetSpriteUpdate(&Klayman::suWalking); - FinalizeState(&Klayman::stWalkingDone); + SetSpriteUpdate(&Klayman::suSneaking); + FinalizeState(&Klayman::evSneakingDone); } } @@ -962,12 +962,12 @@ void Klayman::stPickUpGeneric() { _acceptInput = false; startAnimation(0x1C28C178, 0, -1); SetUpdateHandler(&Klayman::update); - SetMessageHandler(&Klayman::hmPickUpGeneric); + SetMessageHandler(&Klayman::hmPickUpObject); SetSpriteUpdate(NULL); } } -uint32 Klayman::hmPickUpGeneric(int messageNum, const MessageParam ¶m, Entity *sender) { +uint32 Klayman::hmPickUpObject(int messageNum, const MessageParam ¶m, Entity *sender) { uint32 messageResult = hmLowLevelAnimation(messageNum, param, sender); switch (messageNum) { case 0x100D: @@ -991,8 +991,8 @@ uint32 Klayman::hmPickUpGeneric(int messageNum, const MessageParam ¶m, Entit } -void Klayman::stTurnPressButton() { - if (!stStartAction(AnimationCallback(&Klayman::stTurnPressButton))) { +void Klayman::stPressButton() { + if (!stStartAction(AnimationCallback(&Klayman::stPressButton))) { _status2 = 2; _acceptInput = true; startAnimation(0x1C02B03D, 0, -1); @@ -1018,8 +1018,8 @@ uint32 Klayman::hmPressButton(int messageNum, const MessageParam ¶m, Entity return messageResult; } -void Klayman::stStampFloorButton() { - if (!stStartAction(AnimationCallback(&Klayman::stStampFloorButton))) { +void Klayman::stPressFloorButton() { + if (!stStartAction(AnimationCallback(&Klayman::stPressFloorButton))) { _status2 = 2; _acceptInput = true; startAnimation(0x1C16B033, 0, -1); @@ -1036,7 +1036,7 @@ void Klayman::stPressButtonSide() { startAnimation(0x1CD89029, 0, -1); SetUpdateHandler(&Klayman::update); SetMessageHandler(&Klayman::hmPressButton); - SetSpriteUpdate(&Klayman::spriteUpdate41F250); + SetSpriteUpdate(&Klayman::suAction); } } @@ -1093,7 +1093,7 @@ void Klayman::stStartWalkingSmall() { SetUpdateHandler(&Klayman::update); SetMessageHandler(&Klayman::hmWalkingSmall); SetSpriteUpdate(&Klayman::suWalkingTestExit); - FinalizeState(&Klayman::stStartWalkingDone); + FinalizeState(&Klayman::evStartWalkingDone); } uint32 Klayman::hmWalkingSmall(int messageNum, const MessageParam ¶m, Entity *sender) { @@ -1221,7 +1221,7 @@ void Klayman::stPullCord() { _acceptInput = false; startAnimation(0x3F28E094, 0, -1); SetUpdateHandler(&Klayman::update); - SetMessageHandler(&Klayman::hmPullCord); + SetMessageHandler(&Klayman::hmPullReleaseCord); SetSpriteUpdate(NULL); NextState(&Klayman::stReleaseCord); } @@ -1231,11 +1231,11 @@ void Klayman::stReleaseCord() { _acceptInput = false; startAnimation(0x3A28C094, 0, -1); SetUpdateHandler(&Klayman::update); - SetMessageHandler(&Klayman::hmPullCord); + SetMessageHandler(&Klayman::hmPullReleaseCord); SetSpriteUpdate(NULL); } -uint32 Klayman::hmPullCord(int messageNum, const MessageParam ¶m, Entity *sender) { +uint32 Klayman::hmPullReleaseCord(int messageNum, const MessageParam ¶m, Entity *sender) { uint32 messageResult = hmLowLevelAnimation(messageNum, param, sender); switch (messageNum) { case 0x100D: @@ -1286,16 +1286,16 @@ uint32 Klayman::hmUseTube(int messageNum, const MessageParam ¶m, Entity *sen return messageResult; } -void Klayman::stWalkingExt() { +void Klayman::stWalkingFirstExt() { _status2 = 0; _isWalking = true; _acceptInput = true; startAnimation(0x5A2CBC00, 0, -1); SetUpdateHandler(&Klayman::update); SetMessageHandler(&Klayman::hmWalking); - SetSpriteUpdate(&Klayman::spriteUpdate41F300); - NextState(&Klayman::stUpdateWalking); - FinalizeState(&Klayman::stStartWalkingDone); + SetSpriteUpdate(&Klayman::suWalkingFirst); + NextState(&Klayman::stUpdateWalkingFirst); + FinalizeState(&Klayman::evStartWalkingDone); } void Klayman::stStartWalkingExt() { @@ -1308,8 +1308,8 @@ void Klayman::stStartWalkingExt() { SetUpdateHandler(&Klayman::update); SetMessageHandler(&Klayman::hmStartWalking); SetSpriteUpdate(&Klayman::suWalkingTestExit); - FinalizeState(&Klayman::stStartWalkingDone); - NextState(&Klayman::stWalkingExt); + FinalizeState(&Klayman::evStartWalkingDone); + NextState(&Klayman::stWalkingFirstExt); } } @@ -1588,7 +1588,7 @@ void Klayman::stJumpToRing3() { SetUpdateHandler(&Klayman::update); SetSpriteUpdate(&Klayman::suUpdateDestX); SetMessageHandler(&Klayman::hmJumpToRing3); - NextState(&Klayman::stHoldRing); + NextState(&Klayman::stHoldRing3); sendMessage(_attachedSprite, 0x482B, 0); } } @@ -1611,16 +1611,16 @@ uint32 Klayman::hmJumpToRing3(int messageNum, const MessageParam ¶m, Entity return messageResult; } -void Klayman::stHoldRing() { +void Klayman::stHoldRing3() { _status2 = 0; _acceptInput = true; startAnimation(0x4A293FB0, 0, -1); SetUpdateHandler(&Klayman::update); - SetMessageHandler(&Klayman::hmHoldRing); + SetMessageHandler(&Klayman::hmHoldRing3); SetSpriteUpdate(NULL); } -uint32 Klayman::hmHoldRing(int messageNum, const MessageParam ¶m, Entity *sender) { +uint32 Klayman::hmHoldRing3(int messageNum, const MessageParam ¶m, Entity *sender) { if (messageNum == 0x1008) { stReleaseRing(); return 0; @@ -1702,21 +1702,21 @@ void Klayman::stClimbLadderHalf() { _acceptInput = false; startAnimationByHash(0x3A292504, 0x02421405, 0); SetUpdateHandler(&Klayman::update); - SetMessageHandler(&Klayman::handleMessage41DFD0); + SetMessageHandler(&Klayman::hmClimbLadderHalf); SetSpriteUpdate(&Klayman::suUpdateDestX); } else if (_ladderStatus == 2) { _ladderStatus = 0; _acceptInput = false; startAnimationByHash(0x122D1505, 0x02421405, 0); SetUpdateHandler(&Klayman::update); - SetMessageHandler(&Klayman::handleMessage41DFD0); + SetMessageHandler(&Klayman::hmClimbLadderHalf); SetSpriteUpdate(&Klayman::suUpdateDestX); } else { gotoNextStateExt(); } } -uint32 Klayman::handleMessage41DFD0(int messageNum, const MessageParam ¶m, Entity *sender) { +uint32 Klayman::hmClimbLadderHalf(int messageNum, const MessageParam ¶m, Entity *sender) { uint32 messageResult = hmLowLevelAnimation(messageNum, param, sender); switch (messageNum) { case 0x100D: @@ -2077,10 +2077,10 @@ void Klayman::stReleaseLever() { void Klayman::stLetGoOfLever() { startAnimation(0x0928C048, 0, -1); - FinalizeState(&Klayman::cbLeverReleasedEvent); + FinalizeState(&Klayman::evLeverReleasedEvent); } -void Klayman::cbLeverReleasedEvent() { +void Klayman::evLeverReleasedEvent() { sendMessage(_attachedSprite, 0x482A, 0); } @@ -2101,7 +2101,7 @@ void Klayman::stInsertDisk() { } else { startAnimation(0xD8C8D100, 0, -1); SetUpdateHandler(&Klayman::update); - SetSpriteUpdate(&Klayman::spriteUpdate41F250); + SetSpriteUpdate(&Klayman::suAction); SetMessageHandler(&Klayman::hmInsertDisk); _acceptInput = false; _tapesToInsert--; @@ -2249,8 +2249,8 @@ void Klayman::stJumpToGrabRelease() { _acceptInput = false; startAnimationByHash(0x00AB8C10, 0x320AC306, 0); SetUpdateHandler(&Klayman::update); - SetSpriteUpdate(NULL); SetMessageHandler(&Klayman::hmJumpToGrabRelease); + SetSpriteUpdate(NULL); NextState(&Klayman::stReleaseRing); } @@ -2276,7 +2276,7 @@ void Klayman::stIdleTeleporterHands() { SetUpdateHandler(&Klayman::update); SetMessageHandler(&Klayman::hmLowLevelAnimation); SetSpriteUpdate(NULL); - NextState(&Klayman::stIdleSitBlinkSecond); + NextState(&Klayman::stSitIdleTeleporterBlinkSecond); } void Klayman::stDoIdleTeleporterHands2() { @@ -2290,7 +2290,7 @@ void Klayman::stIdleTeleporterHands2() { SetUpdateHandler(&Klayman::update); SetMessageHandler(&Klayman::hmLowLevelAnimation); SetSpriteUpdate(NULL); - NextState(&Klayman::stIdleSitBlinkSecond); + NextState(&Klayman::stSitIdleTeleporterBlinkSecond); } void Klayman::teleporterAppear(uint32 fileHash) { @@ -2519,7 +2519,7 @@ void Klayman::stInsertKey() { _acceptInput = false; startAnimation(0xDC409440, 0, -1); SetUpdateHandler(&Klayman::update); - SetSpriteUpdate(&Klayman::spriteUpdate41F250); + SetSpriteUpdate(&Klayman::suAction); SetMessageHandler(&Klayman::hmInsertKey); _keysToInsert--; } @@ -2676,7 +2676,7 @@ void Klayman::suRidePlatformDown() { } void Klayman::stRidePlatformDown() { - if (!stStartActionFromIdle(AnimationCallback(&KmScene2206::stRidePlatformDown))) { + if (!stStartActionFromIdle(AnimationCallback(&Klayman::stRidePlatformDown))) { _status2 = 1; sendMessage(_parentScene, 0x4803, 0); _acceptInput = false; @@ -2697,7 +2697,7 @@ void Klayman::stCrashDown() { SetUpdateHandler(&Klayman::update); SetSpriteUpdate(NULL); SetMessageHandler(&Klayman::hmLowLevelAnimation); - NextState(&KmScene1305::stCrashDownFinished); + NextState(&Klayman::stCrashDownFinished); } void Klayman::stCrashDownFinished() { @@ -2902,6 +2902,18 @@ void Klayman::stSpitOutFall0() { sendMessage(_parentScene, 0x8000, 0); } +void Klayman::stSpitOutFall2() { + _countdown1 = 1; + _status2 = 0; + _acceptInput = false; + startAnimation(0x9308C132, 0, -1); + SetUpdateHandler(&Klayman::upSpitOutFall); + SetMessageHandler(&Klayman::hmLowLevelAnimation); + SetSpriteUpdate(&Klayman::suFallDown); + NextState(&Klayman::stFalling); + sendMessage(_parentScene, 0x8000, 0); +} + void Klayman::stFalling() { sendMessage(_parentScene, 0x1024, 1); playSound(0, 0x41648271); @@ -2919,18 +2931,6 @@ void Klayman::stFalling() { sendMessage(_parentScene, 0x8001, 0); } -void Klayman::stSpitOutFall2() { - _countdown1 = 1; - _status2 = 0; - _acceptInput = false; - startAnimation(0x9308C132, 0, -1); - SetUpdateHandler(&Klayman::upSpitOutFall); - SetMessageHandler(&Klayman::hmLowLevelAnimation); - SetSpriteUpdate(&Klayman::suFallDown); - NextState(&Klayman::stFalling); - sendMessage(_parentScene, 0x8000, 0); -} - void Klayman::stFallTouchdown() { setDoDeltaX(2); stTryStandIdle(); @@ -2971,7 +2971,7 @@ void Klayman::stPressDoorButton() { startAnimation(0x1CD89029, 0, -1); SetUpdateHandler(&Klayman::update); SetMessageHandler(&Klayman::hmPressDoorButton); - SetSpriteUpdate(&Klayman::spriteUpdate41F250); + SetSpriteUpdate(&Klayman::suAction); } void Klayman::stHitByBoxingGlove() { @@ -2981,10 +2981,10 @@ void Klayman::stHitByBoxingGlove() { SetUpdateHandler(&Klayman::update); SetMessageHandler(&Klayman::hmHitByBoxingGlove); SetSpriteUpdate(&AnimatedSprite::updateDeltaXY); - FinalizeState(&Klayman::stHitByBoxingGloveDone); + FinalizeState(&Klayman::evHitByBoxingGloveDone); } -void Klayman::stHitByBoxingGloveDone() { +void Klayman::evHitByBoxingGloveDone() { sendMessage(_parentScene, 0x1024, 1); } @@ -2998,7 +2998,7 @@ void Klayman::stMoveVenusFlyTrap() { SetUpdateHandler(&Klayman::update); SetMessageHandler(&Klayman::hmMoveVenusFlyTrap); SetSpriteUpdate(&AnimatedSprite::updateDeltaXY); - FinalizeState(&Klayman::stMoveVenusFlyTrapDone); + FinalizeState(&Klayman::evMoveVenusFlyTrapDone); } } @@ -3009,10 +3009,10 @@ void Klayman::stContinueMovingVenusFlyTrap() { SetUpdateHandler(&Klayman::update); SetMessageHandler(&Klayman::hmMoveVenusFlyTrap); SetSpriteUpdate(&AnimatedSprite::updateDeltaXY); - FinalizeState(&Klayman::stMoveVenusFlyTrapDone); + FinalizeState(&Klayman::evMoveVenusFlyTrapDone); } -void Klayman::stMoveVenusFlyTrapDone() { +void Klayman::evMoveVenusFlyTrapDone() { sendMessage(_attachedSprite, 0x482A, 0); } @@ -3292,9 +3292,9 @@ void Klayman::startWalkingResume(int16 frameIncr) { startAnimation(0x1A249001, frameIndex, -1); SetUpdateHandler(&Klayman::update); SetMessageHandler(&Klayman::hmWalking); - SetSpriteUpdate(&Klayman::spriteUpdate41F300); - NextState(&Klayman::stUpdateWalking); - FinalizeState(&Klayman::stStartWalkingDone); + SetSpriteUpdate(&Klayman::suWalkingFirst); + NextState(&Klayman::stUpdateWalkingFirst); + FinalizeState(&Klayman::evStartWalkingDone); } //############################################################################## @@ -3326,9 +3326,9 @@ uint32 KmScene1001::xHandleMessage(int messageNum, const MessageParam ¶m) { break; case NM_KLAYMAN_PRESS_BUTTON: if (param.asInteger() == 1) { - GotoState(&Klayman::stTurnPressButton); + GotoState(&Klayman::stPressButton); } else if (param.asInteger() == 2) { - GotoState(&Klayman::stStampFloorButton); + GotoState(&Klayman::stPressFloorButton); } else { GotoState(&Klayman::stPressButtonSide); } @@ -3592,7 +3592,7 @@ uint32 KmScene1109::xHandleMessage(int messageNum, const MessageParam ¶m) { case 0x4804: if (param.asInteger() != 0) { _destX = param.asInteger(); - GotoState(&Klayman::stWalking); + GotoState(&Klayman::stWalkingFirst); } else { GotoState(&Klayman::stPeekWall); } @@ -3838,9 +3838,9 @@ uint32 KmScene1306::xHandleMessage(int messageNum, const MessageParam ¶m) { break; case NM_KLAYMAN_PRESS_BUTTON: if (param.asInteger() == 1) { - GotoState(&Klayman::stTurnPressButton); + GotoState(&Klayman::stPressButton); } else if (param.asInteger() == 2) { - GotoState(&Klayman::stStampFloorButton); + GotoState(&Klayman::stPressFloorButton); } else { GotoState(&Klayman::stPressButtonSide); } @@ -4031,9 +4031,9 @@ uint32 KmScene1401::xHandleMessage(int messageNum, const MessageParam ¶m) { break; case NM_KLAYMAN_PRESS_BUTTON: if (param.asInteger() == 1) { - GotoState(&Klayman::stTurnPressButton); + GotoState(&Klayman::stPressButton); } else if (param.asInteger() == 2) { - GotoState(&Klayman::stStampFloorButton); + GotoState(&Klayman::stPressFloorButton); } else { GotoState(&Klayman::stPressButtonSide); } @@ -4510,7 +4510,7 @@ uint32 KmScene2001::xHandleMessage(int messageNum, const MessageParam ¶m) { case 0x4804: if (param.asInteger() != 0) { _destX = param.asInteger(); - GotoState(&Klayman::stWalking); + GotoState(&Klayman::stWalkingFirst); } else GotoState(&Klayman::stPeekWall); break; @@ -4587,9 +4587,9 @@ uint32 KmScene2101::xHandleMessage(int messageNum, const MessageParam ¶m) { break; case NM_KLAYMAN_PRESS_BUTTON: if (param.asInteger() == 1) { - GotoState(&Klayman::stTurnPressButton); + GotoState(&Klayman::stPressButton); } else if (param.asInteger() == 2) { - GotoState(&Klayman::stStampFloorButton); + GotoState(&Klayman::stPressFloorButton); } else { GotoState(&Klayman::stPressButtonSide); } @@ -4734,9 +4734,9 @@ uint32 KmScene2203::xHandleMessage(int messageNum, const MessageParam ¶m) { break; case NM_KLAYMAN_PRESS_BUTTON: if (param.asInteger() == 1) { - GotoState(&Klayman::stTurnPressButton); + GotoState(&Klayman::stPressButton); } else if (param.asInteger() == 2) { - GotoState(&Klayman::stStampFloorButton); + GotoState(&Klayman::stPressFloorButton); } else { GotoState(&Klayman::stPressButtonSide); } @@ -4836,6 +4836,7 @@ void KmScene2205::stStartWalkingResume() { KmScene2206::KmScene2206(NeverhoodEngine *vm, Entity *parentScene, int16 x, int16 y) : Klayman(vm, parentScene, x, y, 1000, 1000) { + _walkResumeFrameIncr = 1; _vm->_soundMan->addSound(0x80101800, 0xD3B02847); } @@ -4876,9 +4877,9 @@ uint32 KmScene2206::xHandleMessage(int messageNum, const MessageParam ¶m) { break; case NM_KLAYMAN_PRESS_BUTTON: if (param.asInteger() == 1) { - GotoState(&Klayman::stTurnPressButton); + GotoState(&Klayman::stPressButton); } else if (param.asInteger() == 2) { - GotoState(&Klayman::stStampFloorButton); + GotoState(&Klayman::stPressFloorButton); } else { GotoState(&Klayman::stPressButtonSide); } @@ -4971,9 +4972,9 @@ uint32 KmScene2207::xHandleMessage(int messageNum, const MessageParam ¶m) { break; case NM_KLAYMAN_PRESS_BUTTON: if (param.asInteger() == 1) { - GotoState(&Klayman::stTurnPressButton); + GotoState(&Klayman::stPressButton); } else if (param.asInteger() == 2) { - GotoState(&Klayman::stStampFloorButton); + GotoState(&Klayman::stPressFloorButton); } else { GotoState(&Klayman::stPressButtonSide); } @@ -5213,9 +5214,9 @@ uint32 KmScene2401::xHandleMessage(int messageNum, const MessageParam ¶m) { break; case NM_KLAYMAN_PRESS_BUTTON: if (param.asInteger() == 1) { - GotoState(&Klayman::stTurnPressButton); + GotoState(&Klayman::stPressButton); } else if (param.asInteger() == 2) { - GotoState(&Klayman::stStampFloorButton); + GotoState(&Klayman::stPressFloorButton); } else { GotoState(&Klayman::stPressButtonSide); } @@ -5300,7 +5301,7 @@ uint32 KmScene2402::xHandleMessage(int messageNum, const MessageParam ¶m) { case 0x4804: if (param.asInteger() != 0) { _destX = param.asInteger(); - GotoState(&Klayman::stWalking); + GotoState(&Klayman::stWalkingFirst); } else { GotoState(&Klayman::stPeekWall); } @@ -5310,9 +5311,9 @@ uint32 KmScene2402::xHandleMessage(int messageNum, const MessageParam ¶m) { break; case NM_KLAYMAN_PRESS_BUTTON: if (param.asInteger() == 1) { - GotoState(&Klayman::stTurnPressButton); + GotoState(&Klayman::stPressButton); } else if (param.asInteger() == 2) { - GotoState(&Klayman::stStampFloorButton); + GotoState(&Klayman::stPressFloorButton); } else { GotoState(&Klayman::stPressButtonSide); } @@ -5374,9 +5375,9 @@ uint32 KmScene2403::xHandleMessage(int messageNum, const MessageParam ¶m) { break; case NM_KLAYMAN_PRESS_BUTTON: if (param.asInteger() == 1) { - GotoState(&Klayman::stTurnPressButton); + GotoState(&Klayman::stPressButton); } else if (param.asInteger() == 2) { - GotoState(&Klayman::stStampFloorButton); + GotoState(&Klayman::stPressFloorButton); } else { GotoState(&Klayman::stPressButtonSide); } @@ -5455,7 +5456,7 @@ uint32 KmScene2406::xHandleMessage(int messageNum, const MessageParam ¶m) { case 0x4804: if (param.asInteger() != 0) { _destX = param.asInteger(); - GotoState(&Klayman::stWalking); + GotoState(&Klayman::stWalkingFirst); } else { GotoState(&Klayman::stPeekWall); } diff --git a/engines/neverhood/klayman.h b/engines/neverhood/klayman.h index a7ea670658..89c59b6e2b 100644 --- a/engines/neverhood/klayman.h +++ b/engines/neverhood/klayman.h @@ -52,223 +52,330 @@ public: void update(); + void startIdleAnimation(uint32 fileHash, AnimationCb callback); + void upIdleAnimation(); + void stDoIdlePickEar(); + void stIdlePickEar(); + void evIdlePickEarDone(); + uint32 hmIdlePickEar(int messageNum, const MessageParam ¶m, Entity *sender); + void stDoIdleSpinHead(); + void stIdleSpinHead(); + uint32 hmIdleSpinHead(int messageNum, const MessageParam ¶m, Entity *sender); + void stDoIdleArms(); + void stIdleArms(); + void evIdleArmsDone(); + uint32 hmIdleArms(int messageNum, const MessageParam ¶m, Entity *sender); + void stDoIdleChest(); + void stIdleChest(); + uint32 hmIdleChest(int messageNum, const MessageParam ¶m, Entity *sender); + void stDoIdleHeadOff(); + void stIdleHeadOff(); + uint32 hmIdleHeadOff(int messageNum, const MessageParam ¶m, Entity *sender); + + void stDoIdleTeleporterHands(); + void stIdleTeleporterHands(); + + void stDoIdleTeleporterHands2(); + void stIdleTeleporterHands2(); + void stTryStandIdle(); - void stWakeUp(); - void stSleeping(); - void stPickUpGeneric(); - void stTurnPressButton(); - void stStampFloorButton(); - void stPressButtonSide(); - void stLargeStep(); - void stWonderAboutHalf(); - void stWonderAboutAfter(); - void stTurnToUseHalf(); - void stTurnAwayFromUse(); - void stWonderAbout(); - void stPeekWall(); - void stJumpToRing1(); - void setupJumpToRing(); - void stHangOnRing(); - void stJumpToRing2(); - void stJumpToRing3(); - void stHoldRing(); - void stReleaseRing(); - void stJumpToRing4(); - void stContinueClimbLadderUp(); - void stStartClimbLadderDown(); - void stClimbLadderHalf(); - void stStartClimbLadderUp(); + void stStandAround(); + void upStandIdle(); + void stIdleBlink(); + + bool stStartAction(AnimationCb callback3); + bool stStartActionFromIdle(AnimationCb callback); + uint32 hmStartAction(int messageNum, const MessageParam ¶m, Entity *sender); + + void stSneak(); + uint32 hmSneaking(int messageNum, const MessageParam ¶m, Entity *sender); + void suSneaking(); + void evSneakingDone(); + + void stStartWalking(); + void stStartWalkingExt(); + void stWalkingOpenDoor(); + void suWalkingOpenDoor(); + void stStepOver(); + uint32 hmStartWalking(int messageNum, const MessageParam ¶m, Entity *sender); + void evStartWalkingDone(); + + void stWalkingFirst(); + void stWalkingFirstExt(); + void startWalkingResume(int16 frameIncr); + void stUpdateWalkingFirst(); + uint32 hmWalking(int messageNum, const MessageParam ¶m, Entity *sender); + void suWalkingFirst(); + void stWalkToFrontNoStep(); void stWalkToFront(); void stTurnToFront(); void stTurnToBack(); - void stLandOnFeet(); + uint32 hmWalkToFront(int messageNum, const MessageParam ¶m, Entity *sender); + void stTurnToBackToUse(); - void stClayDoorOpen(); - void stTurnToUse(); - void stReturnFromUse(); - void stWalkingOpenDoor(); - void stSitIdleTeleporter(); - void stIdleSitBlink(); - void stIdleSitBlinkSecond(); + uint32 hmTurnToBackToUse(int messageNum, const MessageParam ¶m, Entity *sender); + + void stPickUpGeneric(); void stPickUpNeedle(); - void stPickUpTube(); - void stTurnToUseInTeleporter(); - void stReturnFromUseInTeleporter(); - void stStepOver(); - void stSitInTeleporter(); - void stGetUpFromTeleporter(); - void stMoveObjectSkipTurnFaceObject(); - void evMoveObjectTurnDone(); - void stMoveObjectSkipTurn(); - void stMoveObjectFaceObject(); - void stUseLever(); - void stPullLeverDown(); - void stHoldLeverDown(); - void stUseLeverRelease(); - void stReleaseLever(); - void stLetGoOfLever(); - void cbLeverReleasedEvent(); - void stInsertDisk(); - void stWalking(); - void stUpdateWalking(); - void stStartWalkingDone(); + uint32 hmPickUpObject(int messageNum, const MessageParam ¶m, Entity *sender); - void stopWalking(); + void stPickUpTube(); + uint32 hmPickUpTube(int messageNum, const MessageParam ¶m, Entity *sender); - void spriteUpdate41F250(); - void suWalking(); - void suLargeStep(); - void suUpdateDestX(); - void suWalkingOpenDoor(); - void spriteUpdate41F300(); - void suWalkingTestExit(); + void stTurnToUse(); + void stTurnToUseHalf(); + void stTurnAwayFromUse(); + void stReturnFromUse(); + void stTurnToUseExt(); + uint32 hmTurnToUse(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmLowLevel(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmLowLevelAnimation(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmWalking(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmLever(int messageNum, const MessageParam ¶m, Entity *sender); + void stLargeStep(); + uint32 hmLargeStep(int messageNum, const MessageParam ¶m, Entity *sender); - void setKlaymanIdleTable(const KlaymanIdleTableItem *table, int tableCount); - void setKlaymanIdleTable1(); - void setKlaymanIdleTable2(); - void setKlaymanIdleTable3(); - - void setSoundFlag(bool value) { _soundFlag = value; } + void stInsertKey(); + uint32 hmInsertKey(int messageNum, const MessageParam ¶m, Entity *sender); + + void stReadNote(); + uint32 hmReadNote(int messageNum, const MessageParam ¶m, Entity *sender); + + void stHitByDoor(); + uint32 hmHitByDoor(int messageNum, const MessageParam ¶m, Entity *sender); + + void stPeekWall(); + uint32 hmPeekWall(int messageNum, const MessageParam ¶m, Entity *sender); + + void stPeekWallReturn(); + uint32 hmPeekWallReturn(int messageNum, const MessageParam ¶m, Entity *sender); + + void stPeekWallBlink(); + void upPeekWallBlink(); + + void stPeekWall1(); + + void stPeekWall2(); + + void stPullHammerLever(); + uint32 hmPullHammerLever(int messageNum, const MessageParam ¶m, Entity *sender); + + void stRidePlatformDown(); + void suRidePlatformDown(); + + void stCrashDown(); + void stCrashDownFinished(); + + void stShrink(); + uint32 hmShrink(int messageNum, const MessageParam ¶m, Entity *sender); + + void stGrow(); + uint32 hmGrow(int messageNum, const MessageParam ¶m, Entity *sender); + + void stDrinkPotion(); + uint32 hmDrinkPotion(int messageNum, const MessageParam ¶m, Entity *sender); - void stStandIdleSmall(); - void stWonderAboutAfterSmall(); - void stWonderAboutHalfSmall(); - void stWonderAboutSmall(); - void stWalkToFrontNoStepSmall(); - void stWalkToFront2Small(); - void stWalkToFrontSmall(); - void stTurnToBackHalfSmall(); - void stTurnToBackWalkSmall(); - void stTurnToBackSmall(); void stPullCord(); void stReleaseCord(); - uint32 hmPullCord(int messageNum, const MessageParam ¶m, Entity *sender); + uint32 hmPullReleaseCord(int messageNum, const MessageParam ¶m, Entity *sender); + void stUseTube(); uint32 hmUseTube(int messageNum, const MessageParam ¶m, Entity *sender); - void stWalkingExt(); - void stStartWalkingExt(); - + + void stUseLever(); + void stUseLeverRelease(); + void stReleaseLever(); + void stInteractLever(); + uint32 hmLever(int messageNum, const MessageParam ¶m, Entity *sender); + + void stLetGoOfLever(); + void evLeverReleasedEvent(); + + void stWakeUp(); + + void stSleeping(); + uint32 hmSleeping(int messageNum, const MessageParam ¶m, Entity *sender); + + void stPressButton(); + void stPressFloorButton(); + void stPressButtonSide(); + uint32 hmPressButton(int messageNum, const MessageParam ¶m, Entity *sender); + + void stWonderAbout(); + void stWonderAboutHalf(); + void stWonderAboutAfter(); + + void stStandWonderAbout(); + + void stStartClimbLadderUp(); + void stStartClimbLadderDown(); + uint32 hmClimbLadderUpDown(int messageNum, const MessageParam ¶m, Entity *sender); + + void stContinueClimbLadderUp(); + + void stClimbLadderHalf(); + uint32 hmClimbLadderHalf(int messageNum, const MessageParam ¶m, Entity *sender); + + void setupJumpToRing(); + void stJumpToRing1(); + void stJumpToRing2(); + void stJumpToRing4(); + uint32 hmJumpToRing(int messageNum, const MessageParam ¶m, Entity *sender); + + void stHangOnRing(); + + void stJumpToRing3(); + uint32 hmJumpToRing3(int messageNum, const MessageParam ¶m, Entity *sender); + + void stHoldRing3(); + uint32 hmHoldRing3(int messageNum, const MessageParam ¶m, Entity *sender); + + void stReleaseRing(); + + void stLandOnFeet(); + uint32 hmLandOnFeet(int messageNum, const MessageParam ¶m, Entity *sender); + + void stPullLeverDown(); + void stHoldLeverDown(); + + void stInsertDisk(); + uint32 hmInsertDisk(int messageNum, const MessageParam ¶m, Entity *sender); + + void stMoveObjectSkipTurnFaceObject(); + void stMoveObjectSkipTurn(); + void stMoveObjectFaceObject(); + uint32 hmMoveObjectTurn(int messageNum, const MessageParam ¶m, Entity *sender); + void evMoveObjectTurnDone(); + void stJumpToGrab(); - void suJumpToGrab(); - uint32 hmJumpToGrab(int messageNum, const MessageParam ¶m, Entity *sender); - - void sub421230();//stGrow?? - uint32 handleMessage41F1D0(int messageNum, const MessageParam ¶m, Entity *sender); - - void stTurnToUseExt(); void stJumpToGrabFall(); + uint32 hmJumpToGrab(int messageNum, const MessageParam ¶m, Entity *sender); + void suJumpToGrab(); void stJumpToGrabRelease(); uint32 hmJumpToGrabRelease(int messageNum, const MessageParam ¶m, Entity *sender); - void stDoIdleTeleporterHands(); - void stIdleTeleporterHands(); - - void stDoIdleTeleporterHands2(); - void stIdleTeleporterHands2(); + void stSitInTeleporter(); + uint32 hmSitInTeleporter(int messageNum, const MessageParam ¶m, Entity *sender); + + void stSitIdleTeleporter(); + void upSitIdleTeleporter(); + + void stSitIdleTeleporterBlink(); + + void stSitIdleTeleporterBlinkSecond(); + + void stTurnToUseInTeleporter(); + + void stReturnFromUseInTeleporter(); + + void stGetUpFromTeleporter(); void teleporterAppear(uint32 fileHash); void teleporterDisappear(uint32 fileHash); uint32 hmTeleporterAppearDisappear(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmShrink(int messageNum, const MessageParam ¶m, Entity *sender); - void stShrink(); - - void stStandWonderAbout(); + void stClayDoorOpen(); + uint32 hmClayDoorOpen(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmDrinkPotion(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmGrow(int messageNum, const MessageParam ¶m, Entity *sender); - void stGrow(); - void stDrinkPotion(); + void stFallSkipJump(); + void suFallSkipJump(); - uint32 hmInsertKey(int messageNum, const MessageParam ¶m, Entity *sender); - void stInsertKey(); + void stMoveObject(); + void stContinueMoveObject(); + uint32 hmMoveObject(int messageNum, const MessageParam ¶m, Entity *sender); + void upMoveObject(); - uint32 hmReadNote(int messageNum, const MessageParam ¶m, Entity *sender); - void stReadNote(); + void stCloseEyes(); - uint32 hmHitByDoor(int messageNum, const MessageParam ¶m, Entity *sender); - void stHitByDoor(); + void stTumbleHeadless(); + uint32 hmTumbleHeadless(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmPeekWallReturn(int messageNum, const MessageParam ¶m, Entity *sender); - void upPeekWallBlink(); - void stPeekWall1(); - void stPeekWall2(); - void stPeekWallBlink(); - void stPeekWallReturn(); + void stFetchMatch(); + void stLightMatch(); + uint32 hmMatch(int messageNum, const MessageParam ¶m, Entity *sender); - void stPullHammerLever(); - uint32 hmPullHammerLever(int messageNum, const MessageParam ¶m, Entity *sender); + void stHitByBoxingGlove(); + uint32 hmHitByBoxingGlove(int messageNum, const MessageParam ¶m, Entity *sender); + void evHitByBoxingGloveDone(); - void suRidePlatformDown(); - void stRidePlatformDown(); + void stStandIdleSmall(); + void stWonderAboutSmall(); + void stWonderAboutHalfSmall(); + void stWonderAboutAfterSmall(); - void stCrashDown(); - void stCrashDownFinished(); + void stWalkToFrontNoStepSmall(); + void stWalkToFrontSmall(); + void stWalkToFront2Small(); + void stTurnToBackHalfSmall(); + void stTurnToBackWalkSmall(); + void stTurnToBackSmall(); + uint32 hmWalkFrontBackSmall(int messageNum, const MessageParam ¶m, Entity *sender); - void upSpitOutFall(); + void sub421230();//stGrow?? + uint32 handleMessage41F1D0(int messageNum, const MessageParam ¶m, Entity *sender); + + void stJumpToRingVenusFlyTrap(); uint32 hmJumpToRingVenusFlyTrap(int messageNum, const MessageParam ¶m, Entity *sender); + + void stDropFromRing(); + + void stStandIdleSpecial(); uint32 hmStandIdleSpecial(int messageNum, const MessageParam ¶m, Entity *sender); + + void stPressDoorButton(); uint32 hmPressDoorButton(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmMoveVenusFlyTrap(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmFirstMoveVenusFlyTrap(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmHitByBoxingGlove(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmJumpAndFall(int messageNum, const MessageParam ¶m, Entity *sender); - void suFallDown(); - void stJumpToRingVenusFlyTrap(); - void stStandIdleSpecial(); + void stSpitOutFall0(); - void stFalling(); void stSpitOutFall2(); - void stFallTouchdown(); + void suFallDown(); + void upSpitOutFall(); + void stJumpAndFall(); - void stDropFromRing(); - void stPressDoorButton(); - void stHitByBoxingGlove(); - void stHitByBoxingGloveDone(); + uint32 hmJumpAndFall(int messageNum, const MessageParam ¶m, Entity *sender); + + void stFalling(); + void stFallTouchdown(); + void stMoveVenusFlyTrap(); void stContinueMovingVenusFlyTrap(); - void stMoveVenusFlyTrapDone(); + uint32 hmMoveVenusFlyTrap(int messageNum, const MessageParam ¶m, Entity *sender); + uint32 hmFirstMoveVenusFlyTrap(int messageNum, const MessageParam ¶m, Entity *sender); + void evMoveVenusFlyTrapDone(); - void suFallSkipJump(); - void stFallSkipJump(); + //////////////////////////////////////////////////////////////////////////// - void upMoveObject(); - uint32 hmMatch(int messageNum, const MessageParam ¶m, Entity *sender); - void stFetchMatch(); - void stLightMatch(); - uint32 hmMoveObject(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmTumbleHeadless(int messageNum, const MessageParam ¶m, Entity *sender); - void stMoveObject(); - void stContinueMoveObject(); - void stTumbleHeadless(); - void stCloseEyes(); + void stopWalking(); + + void suAction(); + void suLargeStep(); + void suUpdateDestX(); + void suWalkingTestExit(); + + uint32 hmLowLevel(int messageNum, const MessageParam ¶m, Entity *sender); + uint32 hmLowLevelAnimation(int messageNum, const MessageParam ¶m, Entity *sender); + + void setKlaymanIdleTable(const KlaymanIdleTableItem *table, int tableCount); + void setKlaymanIdleTable1(); + void setKlaymanIdleTable2(); + void setKlaymanIdleTable3(); + + void setSoundFlag(bool value) { _soundFlag = value; } - uint32 hmSpit(int messageNum, const MessageParam ¶m, Entity *sender); - void stTrySpitIntoPipe(); void spitIntoPipe(); + void stTrySpitIntoPipe(); void stContSpitIntoPipe(); + uint32 hmSpit(int messageNum, const MessageParam ¶m, Entity *sender); - void suRidePlatform(); void stRidePlatform(); - void stInteractLever(); + void suRidePlatform(); void stPullLever(); void stLookLeverDown(); void stWaitLeverDown(); - void startWalkingResume(int16 frameIncr); - protected: Entity *_parentScene; Sprite *_attachedSprite; @@ -305,6 +412,8 @@ protected: Sprite *_otherSprite; int _idleTableNum; + int16 _walkResumeFrameIncr; + int _moveObjectCountdown; bool _canSpitPipe; @@ -326,77 +435,14 @@ protected: void sub41CC40(int16 x1, int16 x2); void sub41CCE0(int16 x); - bool stStartActionFromIdle(AnimationCb callback); void gotoNextStateExt(); void sub41C770(); void sub41C790(); - - void stIdlePickEar(); - void evIdlePickEarDone(); - uint32 hmIdlePickEar(int messageNum, const MessageParam ¶m, Entity *sender); - - void stIdleSpinHead(); - uint32 hmIdleSpinHead(int messageNum, const MessageParam ¶m, Entity *sender); - - void stIdleArms(); - void evIdleArmsDone(); - uint32 hmIdleArms(int messageNum, const MessageParam ¶m, Entity *sender); - - void stIdleChest(); - uint32 hmIdleChest(int messageNum, const MessageParam ¶m, Entity *sender); - - void stIdleHeadOff(); - uint32 hmIdleHeadOff(int messageNum, const MessageParam ¶m, Entity *sender); - void startIdleAnimation(uint32 fileHash, AnimationCb callback); - void upIdleAnimation(); - - void upStandIdle(); - - void stIdleBlink(); - void stStandAround(); - - uint32 hmStartAction(int messageNum, const MessageParam ¶m, Entity *sender); - - uint32 hmSleeping(int messageNum, const MessageParam ¶m, Entity *sender); - - bool stStartAction(AnimationCb callback3); - - void stSneak(); - void stWalkingDone(); - uint32 hmSneaking(int messageNum, const MessageParam ¶m, Entity *sender); - void stStartWalking(); - uint32 hmStartWalking(int messageNum, const MessageParam ¶m, Entity *sender); - - uint32 hmPickUpGeneric(int messageNum, const MessageParam ¶m, Entity *sender); - - uint32 hmPressButton(int messageNum, const MessageParam ¶m, Entity *sender); - void stLargeStepDone(); - uint32 hmLargeStep(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmTurnToUse(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmPeekWall(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmJumpToRing(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmJumpToRing3(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmHoldRing(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 handleMessage41DFD0(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmClimbLadderUpDown(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmWalkToFront(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmLandOnFeet(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmTurnToBackToUse(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmPickUpTube(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmSitInTeleporter(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmMoveObjectTurn(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmClayDoorOpen(int messageNum, const MessageParam ¶m, Entity *sender); - - void upSitIdleTeleporter(); - - uint32 hmInsertDisk(int messageNum, const MessageParam ¶m, Entity *sender); - void stStartWalkingSmall(); uint32 hmWalkingSmall(int messageNum, const MessageParam ¶m, Entity *sender); - uint32 hmWalkFrontBackSmall(int messageNum, const MessageParam ¶m, Entity *sender); void walkAlongPathPoints(); |