22 #ifndef M4_CORE_ROOMS_H 23 #define M4_CORE_ROOMS_H 25 #include "common/hashmap.h" 26 #include "common/serializer.h" 27 #include "m4/adv_r/adv_hotspot.h" 36 virtual void preload();
37 virtual void init() {}
38 virtual void daemon() {}
39 virtual void pre_parser() {}
40 virtual void parser();
41 virtual void roomError() {}
42 virtual void shutdown() {}
58 void add(
int roomNum,
Room *room) {
59 _rooms[roomNum] = room;
66 virtual void preLoad() {}
76 Room *operator[](uint roomNum);
78 virtual void global_room_init() {}
79 virtual void daemon() = 0;
80 virtual void tick() {}
81 virtual void pre_parser() {}
82 virtual void parser() {}
87 int32 _cameraShiftAmount = 0;
88 int32 _cameraShift_vert_Amount = 0;
89 int32 camera_pan_step = 10;
94 void game_control_cycle();
100 Section *_activeSection =
nullptr;
101 Room *_activeRoom =
nullptr;
106 void global_section_constructor();
107 void section_room_constructor();
108 void game_daemon_code();
109 void parse_player_command_now();
111 void section_init() {
112 _activeSection->
init();
115 _activeSection->daemon();
117 void global_room_init() {
118 _activeSection->global_room_init();
121 _activeSection->tick();
123 void section_parser() {
124 _activeSection->parser();
127 void room_preload() {
128 _activeRoom->preload();
134 _activeRoom->daemon();
136 void room_pre_parser() {
137 _activeRoom->pre_parser();
140 _activeRoom->parser();
143 _activeRoom->roomError();
145 void room_shutdown() {
146 _activeRoom->shutdown();
151 Room *getRoom(
int room)
const;
157 void pal_game_task();
158 void camera_shift_xy(int32 x, int32 y);
159 void set_camera_delta_pan(int32 deltaX, int32 deltaY);
160 void adv_camera_pan_step(int32 step);
161 bool game_camera_panning()
const {
162 return _cameraShiftAmount != 0 || _cameraShift_vert_Amount != 0;
165 virtual void global_daemon() = 0;
166 virtual void global_pre_parser() {}
167 virtual void global_parser() = 0;
169 void global_error_code() {
Definition: serializer.h:79
Definition: database.h:28
virtual void init()
Definition: rooms.h:71
virtual HotSpotRec * custom_hotspot_which(int32 x, int32 y)
Definition: rooms.h:48
Definition: adv_hotspot.h:30