24 #ifndef MADS_GAME_PHANTOM_H 25 #define MADS_GAME_PHANTOM_H 27 #include "mads/game.h" 28 #include "mads/globals.h" 29 #include "mads/phantom/globals_phantom.h" 36 DIFFICULTY_HARD = 1, DIFFICULTY_MEDIUM = 2, DIFFICULTY_EASY = 3
39 enum InventoryObject {
52 OBJ_PIECE_OF_PAPER = 11,
57 OBJ_CRUMPLED_NOTE = 16,
62 OBJ_WEDDING_RING = 21,
64 OBJ_ROPE_WITH_HOOK = 23,
70 MAZE_EVENT_PUDDLE = 0x0001,
71 MAZE_EVENT_RAT_NEST = 0x0002,
72 MAZE_EVENT_SKULL = 0x0004,
73 MAZE_EVENT_POT = 0x0008,
74 MAZE_EVENT_BRICK = 0x0010,
75 MAZE_EVENT_HOLE = 0x0020,
76 MAZE_EVENT_WEB = 0x0040,
77 MAZE_EVENT_PLANK = 0x0080,
78 MAZE_EVENT_DRAIN = 0x0100,
79 MAZE_EVENT_STONE = 0x0200,
80 MAZE_EVENT_BLOCK = 0x0400,
81 MAZE_EVENT_FALLEN_BLOCK = 0x0800
87 int _fromDirection[4];
91 class GamePhantom :
public Game {
95 void genericObjectExamine();
97 void stopWalkerBasic();
99 Catacombs *_catacombs;
103 GamePhantom(MADSEngine *vm);
105 void startGame()
override;
107 void initializeGlobals()
override;
109 void setSectionHandler()
override;
111 void checkShowDialog()
override;
113 PhantomGlobals _globals;
114 Difficulty _difficulty;
117 Globals &globals()
override {
return _globals; }
119 void doObjectAction()
override;
121 void unhandledAction()
override;
123 void step()
override;
127 void setupCatacombs();
128 void enterCatacombs(
bool val);
129 void initCatacombs();
130 void moveCatacombs(
int dir);
131 int exitCatacombs(
int dir);
132 void newCatacombRoom(
int fromRoom,
int fromExit);
136 class Section1Handler :
public SectionHandler {
138 Section1Handler(MADSEngine *vm) : SectionHandler(vm) {}
140 void preLoadSection()
override {}
141 void sectionPtr2()
override {}
142 void postLoadSection()
override {}
145 typedef Section1Handler Section2Handler;
146 typedef Section1Handler Section3Handler;
147 typedef Section1Handler Section4Handler;
148 typedef Section1Handler Section5Handler;
Definition: serializer.h:79