diff options
author | johndoe123 | 2011-08-30 14:02:12 +0000 |
---|---|---|
committer | Willem Jan Palenstijn | 2013-05-08 20:39:35 +0200 |
commit | c4a4ce4e3561cbaa09e83e9938e6a41b79d8c0f0 (patch) | |
tree | 5614e45ccc28049c2c43d6324b83e9cfd093851f /engines/neverhood/module2200.h | |
parent | b64b0cfac2b066bfdd63e938624d742dc1123365 (diff) | |
download | scummvm-rg350-c4a4ce4e3561cbaa09e83e9938e6a41b79d8c0f0.tar.gz scummvm-rg350-c4a4ce4e3561cbaa09e83e9938e6a41b79d8c0f0.tar.bz2 scummvm-rg350-c4a4ce4e3561cbaa09e83e9938e6a41b79d8c0f0.zip |
NEVERHOOD: Implement Scene2202 (sliding puzzle)
Diffstat (limited to 'engines/neverhood/module2200.h')
-rw-r--r-- | engines/neverhood/module2200.h | 47 |
1 files changed, 46 insertions, 1 deletions
diff --git a/engines/neverhood/module2200.h b/engines/neverhood/module2200.h index 5b14606c4c..d7f41d6f20 100644 --- a/engines/neverhood/module2200.h +++ b/engines/neverhood/module2200.h @@ -184,7 +184,6 @@ public: Class444(NeverhoodEngine *vm, int pointIndex, int spriteIndex); }; - class Scene2201 : public Scene { public: Scene2201(NeverhoodEngine *vm, Module *parentModule, int which); @@ -201,6 +200,52 @@ protected: uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender); }; +class SsScene2202PuzzleTile : public StaticSprite { +public: + SsScene2202PuzzleTile(NeverhoodEngine *vm, Scene *parentScene, int16 tileIndex, int16 value); +protected: + Scene *_parentScene; + int16 _value; + int16 _tileIndex; + int16 _newX, _newY; + int16 _xDelta, _yDelta; + int16 _xIncr; + int16 _yIncr; + int16 _errValue; + int16 _counter; + int16 _xFlagPos; + bool _counterDirection; + bool _isMoving; + SoundResource _soundResource1; + SoundResource _soundResource2; + void update(); + uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender); + void suMoveTileX(); + void suMoveTileY(); + void moveTile(int16 newTileIndex); + void stopMoving(); +}; + +class Scene2202 : public Scene { +public: + Scene2202(NeverhoodEngine *vm, Module *parentModule, int which); + ~Scene2202(); +protected: + SoundResource _soundResource1; + SoundResource _soundResource2; + Sprite *_movingTileSprite; + Sprite *_doneMovingTileSprite; + bool _isTileMoving; + int16 _movingTileIndex; + int _surfacePriority; + bool _leaveScene; + bool _isSolved; + void update(); + uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender); + int16 getFreeTileIndex(int16 index); + bool testIsSolved(); +}; + } // End of namespace Neverhood #endif /* NEVERHOOD_MODULE2200_H */ |