aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/module1200.h
diff options
context:
space:
mode:
authorjohndoe1232011-07-26 08:38:19 +0000
committerWillem Jan Palenstijn2013-05-08 20:39:34 +0200
commitbfd71cff6e73c0be6b2d66f7f71921094f42ca09 (patch)
tree01acbaf984c307fb7e7978706ac78d023e758ce7 /engines/neverhood/module1200.h
parent04d2b9a4028d1f6ac7c5c5e4a6cc95f8532e9cdf (diff)
downloadscummvm-rg350-bfd71cff6e73c0be6b2d66f7f71921094f42ca09.tar.gz
scummvm-rg350-bfd71cff6e73c0be6b2d66f7f71921094f42ca09.tar.bz2
scummvm-rg350-bfd71cff6e73c0be6b2d66f7f71921094f42ca09.zip
NEVERHOOD: New modules Module1200, Module1400, Module1700 and Module1800
- Implement CollisionMan::removeSprite
Diffstat (limited to 'engines/neverhood/module1200.h')
-rw-r--r--engines/neverhood/module1200.h103
1 files changed, 92 insertions, 11 deletions
diff --git a/engines/neverhood/module1200.h b/engines/neverhood/module1200.h
index 2a8a933b59..3ffed442d9 100644
--- a/engines/neverhood/module1200.h
+++ b/engines/neverhood/module1200.h
@@ -70,9 +70,9 @@ protected:
void sub40D380();
};
-class Class468 : public AnimatedSprite {
+class AsScene1201RightDoor : public AnimatedSprite {
public:
- Class468(NeverhoodEngine *vm, Sprite *klayman, bool flag);
+ AsScene1201RightDoor(NeverhoodEngine *vm, Sprite *klayman, bool flag);
protected:
SoundResource _soundResource;
Sprite *_klayman;
@@ -91,10 +91,10 @@ protected:
uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
};
-class Class463 : public AnimatedSprite {
+class AsScene1201TntMan : public AnimatedSprite {
public:
- Class463(NeverhoodEngine *vm, Scene *parentScene, Sprite *class466, bool flag);
- virtual ~Class463();
+ AsScene1201TntMan(NeverhoodEngine *vm, Scene *parentScene, Sprite *class466, bool flag);
+ virtual ~AsScene1201TntMan();
protected:
Scene *_parentScene;
Sprite *_class466;
@@ -111,14 +111,56 @@ protected:
class Class465 : public AnimatedSprite {
public:
- Class465(NeverhoodEngine *vm, Sprite *class463);
+ Class465(NeverhoodEngine *vm, Sprite *asTntMan);
~Class465();
protected:
- Sprite *_class463;
+ Sprite *_asTntMan;
void update();
void spriteUpdate40D150();
};
+class AsScene1201Match : public AnimatedSprite {
+public:
+ AsScene1201Match(NeverhoodEngine *vm, Scene *parentScene);
+protected:
+ Scene *_parentScene;
+ SoundResource _soundResource;
+ int _countdown;
+ int _status;
+ void update();
+ uint32 handleMessage40C2D0(int messageNum, const MessageParam &param, Entity *sender);
+ uint32 handleMessage40C320(int messageNum, const MessageParam &param, Entity *sender);
+ uint32 handleMessage40C360(int messageNum, const MessageParam &param, Entity *sender);
+ void sub40C3E0();
+ void sub40C420();
+ void sub40C470();
+ void sub40C4C0();
+ void sub40C4F0();
+};
+
+class AsScene1201Creature : public AnimatedSprite {
+public:
+ AsScene1201Creature(NeverhoodEngine *vm, Scene *parentScene, Sprite *klayman);
+protected:
+ Scene *_parentScene;
+ Sprite *_klayman;
+ SoundResource _soundResource;
+ int _countdown1;
+ int _countdown2;
+ int _countdown3;
+ bool _flag;
+ void update();
+ uint32 handleMessage40C710(int messageNum, const MessageParam &param, Entity *sender);
+ uint32 handleMessage40C7B0(int messageNum, const MessageParam &param, Entity *sender);
+ uint32 handleMessage40C830(int messageNum, const MessageParam &param, Entity *sender);
+ void sub40C8E0();
+ void sub40C930();
+ void sub40C960();
+ void sub40C990();
+ void sub40C9B0();
+ void sub40C9E0();
+};
+
class AsScene1201LeftDoor : public AnimatedSprite {
public:
AsScene1201LeftDoor(NeverhoodEngine *vm, Sprite *klayman);
@@ -144,18 +186,57 @@ public:
protected:
// TODO ResourceTable _resourceTable1;
// TODO ResourceTable _resourceTable2;
- Sprite *_class461;
- Sprite *_class463;
- Sprite *_class462;
+ Sprite *_asMatch;
+ Sprite *_asTntMan;
+ Sprite *_asCreature;
Sprite *_class466;
Sprite *_asLeftDoor;
- Sprite *_class468;
+ Sprite *_asRightDoor;
Sprite *_asTape;
bool _flag;
void update();
uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
};
+// Scene1202
+
+class AsScene1202TntItem : public AnimatedSprite {
+public:
+ AsScene1202TntItem(NeverhoodEngine *vm, Scene *parentScene, int index);
+protected:
+ Scene *_parentScene;
+ int _index, _index2;
+ uint32 handleMessage453FE0(int messageNum, const MessageParam &param, Entity *sender);
+ uint32 handleMessage454060(int messageNum, const MessageParam &param, Entity *sender);
+ void sub4540A0();
+ void sub4540D0();
+ void sub454100();
+ void sub454160();
+};
+
+class Scene1202 : public Scene {
+public:
+ Scene1202(NeverhoodEngine *vm, Module *parentModule, int which);
+ virtual ~Scene1202();
+protected:
+ SoundResource _soundResource1;
+ SoundResource _soundResource2;
+ SoundResource _soundResource3;
+ SoundResource _soundResource4;
+ PaletteResource _paletteResource;
+ Sprite *_asTntItems[18];
+ int _counter;
+ int _index;
+ byte _paletteData[1024];
+ bool _soundFlag;
+ bool _flag;
+ void update();
+ uint32 handleMessage453C10(int messageNum, const MessageParam &param, Entity *sender);
+ uint32 handleMessage453D90(int messageNum, const MessageParam &param, Entity *sender);
+ bool isSolved();
+ void doPaletteEffect();
+};
+
} // End of namespace Neverhood
#endif /* NEVERHOOD_MODULE1200_H */