aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/module2200.h
diff options
context:
space:
mode:
authorjohndoe1232011-08-30 14:02:12 +0000
committerWillem Jan Palenstijn2013-05-08 20:39:35 +0200
commitc4a4ce4e3561cbaa09e83e9938e6a41b79d8c0f0 (patch)
tree5614e45ccc28049c2c43d6324b83e9cfd093851f /engines/neverhood/module2200.h
parentb64b0cfac2b066bfdd63e938624d742dc1123365 (diff)
downloadscummvm-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.h47
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 &param, 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 &param, 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 &param, Entity *sender);
+ int16 getFreeTileIndex(int16 index);
+ bool testIsSolved();
+};
+
} // End of namespace Neverhood
#endif /* NEVERHOOD_MODULE2200_H */