From 4389d32974cd0965624d30b6566fcc8e1c2a72b4 Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Mon, 21 Jan 2013 11:34:50 +0000 Subject: NEVERHOOD: Rename "Klayman" to "Klaymen" (the correct name of the game's hero) --- engines/neverhood/klaymen.h | 764 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 764 insertions(+) create mode 100644 engines/neverhood/klaymen.h (limited to 'engines/neverhood/klaymen.h') diff --git a/engines/neverhood/klaymen.h b/engines/neverhood/klaymen.h new file mode 100644 index 0000000000..6e5a843f47 --- /dev/null +++ b/engines/neverhood/klaymen.h @@ -0,0 +1,764 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +#ifndef NEVERHOOD_KLAYMEN_H +#define NEVERHOOD_KLAYMEN_H + +#include "neverhood/neverhood.h" +#include "neverhood/sprite.h" +#include "neverhood/graphics.h" +#include "neverhood/resource.h" + +namespace Neverhood { + +// TODO This code is horrible and weird and a lot of stuff needs renaming once a better name is found +// TODO Also the methods should probably rearranged and be grouped together more consistently + +class Klaymen; +class Scene; + +const uint32 kKlaymenSpeedUpHash = 0x004A2148; + +#include "common/pack-start.h" // START STRUCT PACKING + +struct KlaymenIdleTableItem { + int value; + void (Klaymen::*callback)(); +}; + +#include "common/pack-end.h" // END STRUCT PACKING + +class Klaymen : public AnimatedSprite { +public: + Klaymen(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y, int surfacePriority = 1000, int objectPriority = 1000, NRectArray *clipRects = NULL); + + 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 stIdleWonderAbout(); + + void stDoIdleTeleporterHands(); + void stIdleTeleporterHands(); + + void stDoIdleTeleporterHands2(); + void stIdleTeleporterHands2(); + + void stTryStandIdle(); + 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 stStartWalkingResume(); + void stUpdateWalkingFirst(); + uint32 hmWalking(int messageNum, const MessageParam ¶m, Entity *sender); + void suWalkingFirst(); + + void stWalkToFrontNoStep(); + void stWalkToFront(); + void stTurnToFront(); + void stTurnToBack(); + uint32 hmWalkToFront(int messageNum, const MessageParam ¶m, Entity *sender); + + void stTurnToBackToUse(); + uint32 hmTurnToBackToUse(int messageNum, const MessageParam ¶m, Entity *sender); + + void stPickUpGeneric(); + void stPickUpNeedle(); + uint32 hmPickUpObject(int messageNum, const MessageParam ¶m, Entity *sender); + + void stPickUpTube(); + uint32 hmPickUpTube(int messageNum, const MessageParam ¶m, Entity *sender); + + void stTurnToUse(); + void stTurnToUseHalf(); + void stTurnAwayFromUse(); + void stReturnFromUse(); + void stTurnToUseExt(); + uint32 hmTurnToUse(int messageNum, const MessageParam ¶m, Entity *sender); + + void stLargeStep(); + uint32 hmLargeStep(int messageNum, const MessageParam ¶m, Entity *sender); + void suLargeStep(); + void evLargeStepDone(); + + 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 stPullCord(); + void stReleaseCord(); + uint32 hmPullReleaseCord(int messageNum, const MessageParam ¶m, Entity *sender); + + void stUseTube(); + uint32 hmUseTube(int messageNum, const MessageParam ¶m, Entity *sender); + + 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 stJumpToGrabFall(); + uint32 hmJumpToGrab(int messageNum, const MessageParam ¶m, Entity *sender); + void suJumpToGrab(); + + void stJumpToGrabRelease(); + uint32 hmJumpToGrabRelease(int messageNum, const MessageParam ¶m, Entity *sender); + + 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); + + void stClayDoorOpen(); + uint32 hmClayDoorOpen(int messageNum, const MessageParam ¶m, Entity *sender); + + void stFallSkipJump(); + void suFallSkipJump(); + + void stMoveObject(); + void stContinueMoveObject(); + uint32 hmMoveObject(int messageNum, const MessageParam ¶m, Entity *sender); + void upMoveObject(); + + void stCloseEyes(); + + void stTumbleHeadless(); + uint32 hmTumbleHeadless(int messageNum, const MessageParam ¶m, Entity *sender); + + void stFetchMatch(); + void stLightMatch(); + uint32 hmMatch(int messageNum, const MessageParam ¶m, Entity *sender); + + void stHitByBoxingGlove(); + uint32 hmHitByBoxingGlove(int messageNum, const MessageParam ¶m, Entity *sender); + void evHitByBoxingGloveDone(); + + void stStandIdleSmall(); + void stWonderAboutSmall(); + void stWonderAboutHalfSmall(); + void stWonderAboutAfterSmall(); + + void stWalkToFrontNoStepSmall(); + void stWalkToFrontSmall(); + void stWalkToFront2Small(); + void stTurnToBackHalfSmall(); + void stTurnToBackWalkSmall(); + void stTurnToBackSmall(); + uint32 hmWalkFrontBackSmall(int messageNum, const MessageParam ¶m, Entity *sender); + + void stFinishGrow(); + uint32 hmFinishGrow(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); + + void stSpitOutFall0(); + void stSpitOutFall2(); + void suFallDown(); + void upSpitOutFall(); + + void stJumpAndFall(); + uint32 hmJumpAndFall(int messageNum, const MessageParam ¶m, Entity *sender); + + void stFalling(); + void stFallTouchdown(); + + void stMoveVenusFlyTrap(); + void stContinueMovingVenusFlyTrap(); + uint32 hmMoveVenusFlyTrap(int messageNum, const MessageParam ¶m, Entity *sender); + uint32 hmFirstMoveVenusFlyTrap(int messageNum, const MessageParam ¶m, Entity *sender); + void evMoveVenusFlyTrapDone(); + + void stPeekInside(); + void stPeekInsideReturn(); + void stPeekInsideBlink(); + void upPeekInsideBlink(); + + //////////////////////////////////////////////////////////////////////////// + + void stopWalking(); + + void suAction(); + void suUpdateDestX(); + void suWalkingTestExit(); + + uint32 hmLowLevel(int messageNum, const MessageParam ¶m, Entity *sender); + uint32 hmLowLevelAnimation(int messageNum, const MessageParam ¶m, Entity *sender); + + void setKlaymenIdleTable(const KlaymenIdleTableItem *table, int tableCount); + void setKlaymenIdleTable1(); + void setKlaymenIdleTable2(); + void setKlaymenIdleTable3(); + + void setSoundFlag(bool value) { _soundFlag = value; } + + void spitIntoPipe(); + void stTrySpitIntoPipe(); + void stContSpitIntoPipe(); + uint32 hmSpit(int messageNum, const MessageParam ¶m, Entity *sender); + + void stRidePlatform(); + void suRidePlatform(); + void stPullLever(); + void stLookLeverDown(); + void stWaitLeverDown(); + +protected: + Scene *_parentScene; + Sprite *_attachedSprite; + int _ladderStatus; + bool _isWalking; + bool _isSneaking; + bool _isLargeStep; + bool _isMoveObjectRequested; + bool _acceptInput; + int16 _destX, _destY; + int16 _idleCounter, _idleCounterMax; + int16 _blinkCounter, _blinkCounterMax; + int16 _countdown1; + int16 _tapesToInsert, _keysToInsert; + bool _flagF6; + bool _isLeverDown; + bool _isWalkingOpenDoorNotified; + int _status2; + bool _flagFA; + int _status3; + const KlaymenIdleTableItem *_idleTable; + int _idleTableCount; + int _idleTableMaxValue; + NPointArray *_pathPoints; + bool _soundFlag; + + bool _isSittingInTeleporter; + + bool _potionFlag1; + bool _potionFlag2; + + int16 _platformDeltaY; + + Sprite *_otherSprite; + int _idleTableNum; + + int16 _walkResumeFrameIncr; + + int _moveObjectCountdown; + + bool _canSpitPipe; + bool _contSpitPipe; + bool _readyToSpit; + uint32 _spitPipeIndex; + uint32 _spitDestPipeIndex; + uint32 _spitContDestPipeIndex; + + virtual void xUpdate(); + // TODO Check if this can be turned into a void result + virtual uint32 xHandleMessage(int messageNum, const MessageParam ¶m); + + void startWalkToX(int16 x, bool flag); + void startWalkToXExt(int16 x); + void startWalkToXSmall(int16 x); + void startSpecialWalkLeft(int16 x); + void startSpecialWalkRight(int16 x); + void sub41CC40(int16 x1, int16 x2); + void sub41CCE0(int16 x); + + void gotoNextStateExt(); + void sub41C770(); + void sub41C790(); + + void stStartWalkingSmall(); + uint32 hmWalkingSmall(int messageNum, const MessageParam ¶m, Entity *sender); + + void walkAlongPathPoints(); + +}; + +class KmScene1001 : public Klaymen { +public: + KmScene1001(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene1002 : public Klaymen { +public: + KmScene1002(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + void xUpdate(); + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene1004 : public Klaymen { +public: + KmScene1004(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene1109 : public Klaymen { +public: + KmScene1109(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene1201 : public Klaymen { +public: + KmScene1201(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene1303 : public Klaymen { +public: + KmScene1303(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene1304 : public Klaymen { +public: + KmScene1304(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene1305 : public Klaymen { +public: + KmScene1305(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene1306 : public Klaymen { +public: + KmScene1306(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene1308 : public Klaymen { +public: + KmScene1308(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene1401 : public Klaymen { +public: + KmScene1401(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene1402 : public Klaymen { +public: + KmScene1402(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene1403 : public Klaymen { +public: + KmScene1403(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene1404 : public Klaymen { +public: + KmScene1404(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene1608 : public Klaymen { +public: + KmScene1608(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene1705 : public Klaymen { +public: + KmScene1705(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene1901 : public Klaymen { +public: + KmScene1901(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene2001 : public Klaymen { +public: + KmScene2001(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene2101 : public Klaymen { +public: + KmScene2101(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene2201 : public Klaymen { +public: + KmScene2201(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y, NRect *clipRects, int clipRectsCount); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene2203 : public Klaymen { +public: + KmScene2203(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene2205 : public Klaymen { +public: + KmScene2205(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + void xUpdate(); + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene2206 : public Klaymen { +public: + KmScene2206(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); + ~KmScene2206(); +protected: + void xUpdate(); + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene2207 : public Klaymen { +public: + KmScene2207(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene2242 : public Klaymen { +public: + KmScene2242(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + void xUpdate(); + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmHallOfRecords : public Klaymen { +public: + KmHallOfRecords(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + void xUpdate(); + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene2247 : public Klaymen { +public: + KmScene2247(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + void xUpdate(); + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene2401 : public Klaymen { +public: + KmScene2401(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene2402 : public Klaymen { +public: + KmScene2402(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene2403 : public Klaymen { +public: + KmScene2403(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene2406 : public Klaymen { +public: + KmScene2406(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y, NRect *clipRects, int clipRectsCount); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene2501 : public Klaymen { +public: + KmScene2501(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene2732 : public Klaymen { +public: + KmScene2732(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene2801 : public Klaymen { +public: + KmScene2801(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene2803 : public Klaymen { +public: + KmScene2803(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y, NRect *clipRects, int clipRectsCount); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene2803Small : public Klaymen { +public: + KmScene2803Small(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene2805 : public Klaymen { +public: + KmScene2805(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene2806 : public Klaymen { +public: + KmScene2806(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y, + bool flag, NRect *clipRects, uint clipRectsCount); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene2809 : public Klaymen { +public: + KmScene2809(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y, + bool flag, NRect *clipRects, uint clipRectsCount); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene2810Small : public Klaymen { +public: + KmScene2810Small(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene2810 : public Klaymen { +public: + KmScene2810(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y, + NRect *clipRects, uint clipRectsCount); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +class KmScene2812 : public Klaymen { +public: + KmScene2812(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y); +protected: + uint32 xHandleMessage(int messageNum, const MessageParam ¶m); +}; + +} // End of namespace Neverhood + +#endif /* NEVERHOOD_KLAYMEN_H */ -- cgit v1.2.3