aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/module2200.h
diff options
context:
space:
mode:
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 */