22 #ifndef M4_CORE_ROOMS_H 23 #define M4_CORE_ROOMS_H 25 #include "common/hashmap.h" 26 #include "m4/adv_r/adv.h" 27 #include "m4/adv_r/adv_control.h" 28 #include "m4/adv_r/adv_hotspot.h" 37 virtual void preload();
38 virtual void init() {}
39 virtual void daemon() {}
40 virtual void pre_parser() {}
41 virtual void parser();
42 virtual void parser_code() {}
43 virtual void roomError() {}
44 virtual void shutdown() {}
59 void add(
int roomNum,
Room *room) {
60 _rooms[roomNum] = room;
67 virtual void preLoad() {}
77 Room *operator[](uint roomNum);
79 virtual void global_room_init() {}
80 virtual void daemon() = 0;
81 virtual void tick() {}
82 virtual void pre_parser() {}
83 virtual void parser() {}
88 int32 _cameraShiftAmount = 0;
89 int32 _cameraShift_vert_Amount = 0;
90 int32 camera_pan_step = 10;
95 void game_control_cycle();
101 Section *_activeSection =
nullptr;
102 Room *_activeRoom =
nullptr;
107 void global_section_constructor();
108 void section_room_constructor();
109 void game_daemon_code();
110 void parse_player_command_now();
112 void section_init() {
113 _activeSection->
init();
116 _activeSection->daemon();
118 void global_room_init() {
119 _activeSection->global_room_init();
122 _activeSection->tick();
124 void section_parser() {
125 _activeSection->parser();
128 void room_preload() {
129 _activeRoom->preload();
135 _activeRoom->daemon();
137 void room_pre_parser() {
138 _activeRoom->pre_parser();
141 _activeRoom->parser();
144 _activeRoom->parser_code();
147 _activeRoom->roomError();
149 void room_shutdown() {
150 _activeRoom->shutdown();
160 void pal_game_task();
161 void camera_shift_xy(int32 x, int32 y);
163 virtual void global_daemon() = 0;
164 virtual void global_pre_parser() = 0;
165 virtual void global_parser() = 0;
167 void global_error_code() {
Definition: database.h:28
virtual void init()
Definition: rooms.h:72
virtual HotSpotRec * custom_hotspot_which(int32 x, int32 y)
Definition: rooms.h:49
Definition: adv_hotspot.h:30