diff options
Diffstat (limited to 'engines/neverhood/module2200.h')
-rw-r--r-- | engines/neverhood/module2200.h | 76 |
1 files changed, 54 insertions, 22 deletions
diff --git a/engines/neverhood/module2200.h b/engines/neverhood/module2200.h index d06f30bf46..4dfd827460 100644 --- a/engines/neverhood/module2200.h +++ b/engines/neverhood/module2200.h @@ -259,12 +259,12 @@ protected: class AsScene2203Door : public AnimatedSprite { public: - AsScene2203Door(NeverhoodEngine *vm, Scene *parentScene, int index); + AsScene2203Door(NeverhoodEngine *vm, Scene *parentScene, uint index); protected: Scene *_parentScene; SoundResource _soundResource; Sprite *_otherDoor; - int _index; + uint _index; uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender); void openDoor(); void closeDoor(); @@ -371,36 +371,49 @@ protected: void moveToY(int16 y); }; -class Class500 : public AnimatedSprite { +class AsScene2207Lever : public AnimatedSprite { public: - Class500(NeverhoodEngine *vm, Scene *parentScene); - ~Class500(); + AsScene2207Lever(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y, int doDeltaX); +protected: + Scene *_parentScene; + SoundResource _soundResource; + uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender); + void stLeverDown(); + void stLeverDownEvent(); + void stLeverUp(); + void stLeverUpEvent(); +}; + +class AsScene2207WallRobotAnimation : public AnimatedSprite { +public: + AsScene2207WallRobotAnimation(NeverhoodEngine *vm, Scene *parentScene); + ~AsScene2207WallRobotAnimation(); protected: SoundResource _soundResource1; SoundResource _soundResource2; SoundResource _soundResource3; SoundResource _soundResource4; - bool _flag1; + bool _idle; uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender); - void sub441D50(); - void sub441D90(); - void sub441DA0(); + void stStartAnimation(); + void stStopAnimation(); + void cbStopAnimation(); }; -class Class501 : public AnimatedSprite { +class AsScene2207WallCannonAnimation : public AnimatedSprite { public: - Class501(NeverhoodEngine *vm); + AsScene2207WallCannonAnimation(NeverhoodEngine *vm); protected: - bool _flag1; + bool _idle; uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender); - void sub441FA0(); - void sub441FE0(); - void sub441FF0(); + void stStartAnimation(); + void stStopAnimation(); + void cbStopAnimation(); }; -class Class597 : public StaticSprite { +class SsScene2207Symbol : public StaticSprite { public: - Class597(NeverhoodEngine *vm, uint32 fileHash, int index); + SsScene2207Symbol(NeverhoodEngine *vm, uint32 fileHash, int index); }; class Scene2207 : public Scene { @@ -414,12 +427,12 @@ protected: Sprite *_ssMaskPart2; Sprite *_ssMaskPart3; Sprite *_asTape; - Sprite *_class487; - Sprite *_class500; - Sprite *_class501; + Sprite *_asLever; + Sprite *_asWallRobotAnimation; + Sprite *_asWallCannonAnimation; Sprite *_ssButton; int _elevatorSurfacePriority; - bool _flag1; + bool _klaymanAtElevator; void update(); uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender); uint32 handleMessage2(int messageNum, const MessageParam ¶m, Entity *sender); @@ -457,7 +470,26 @@ protected: bool _isKlaymanInLight; void update(); uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender); - void sub4448D0(); + void readClickedColumn(); +}; + +class HallOfRecordsScene : public Scene { +public: + HallOfRecordsScene(NeverhoodEngine *vm, Module *parentModule, int which, uint32 sceneInfo140Id); + ~HallOfRecordsScene(); +protected: + SceneInfo140 *_sceneInfo140; + uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender); + void readClickedColumn(); +}; + +class Scene2247 : public Scene { +public: + Scene2247(NeverhoodEngine *vm, Module *parentModule, int which); + ~Scene2247(); +protected: + uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender); + void readClickedColumn(); }; } // End of namespace Neverhood |