24 #ifndef MADS_GAME_DRAGONSPHERE_H 25 #define MADS_GAME_DRAGONSPHERE_H 27 #include "mads/game.h" 28 #include "mads/globals.h" 29 #include "mads/dragonsphere/globals_dragonsphere.h" 33 namespace Dragonsphere {
36 enum StoryMode { STORYMODE_NAUGHTY = 1, STORYMODE_NICE = 2 };
38 enum InventoryObject {
41 OBJ_BIRD_FIGURINE = 1,
51 OBJ_YELLOW_STONE = 11,
64 OBJ_FLASK_OF_ACID = 24,
66 OBJ_VORTEX_STONE = 26,
69 OBJ_CRYSTAL_BALL = 29,
70 OBJ_BLACK_SPHERE = 30,
72 OBJ_SHIFTER_RING = 32,
73 OBJ_SPIRIT_BUNDLE = 33,
74 OBJ_PARTIAL_BUNDLE = 34,
76 OBJ_TENTACLE_PARTS = 36,
77 OBJ_TELEPORT_DOOR = 37,
79 OBJ_CRYSTAL_FLOWER = 39,
80 OBJ_DIAMOND_DUST = 40,
83 OBJ_MAGIC_MUSIC_BOX = 43,
91 class GameDragonsphere :
public Game {
94 GameDragonsphere(MADSEngine *vm);
96 void startGame()
override;
98 void initializeGlobals()
override;
100 void setSectionHandler()
override;
102 void checkShowDialog()
override;
104 DragonsphereGlobals _globals;
105 StoryMode _storyMode;
107 Globals &globals()
override {
return _globals; }
109 void doObjectAction()
override;
111 void unhandledAction()
override;
113 void step()
override;
119 class Section1Handler :
public SectionHandler {
121 Section1Handler(MADSEngine *vm) : SectionHandler(vm) {}
124 void preLoadSection()
override {}
125 void sectionPtr2()
override {}
126 void postLoadSection()
override {}
130 typedef Section1Handler Section2Handler;
131 typedef Section1Handler Section3Handler;
132 typedef Section1Handler Section4Handler;
133 typedef Section1Handler Section5Handler;
134 typedef Section1Handler Section6Handler;
135 typedef Section1Handler Section7Handler;
136 typedef Section1Handler Section8Handler;
Definition: serializer.h:79