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() {}
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();
148 HotSpotRec *custom_hotspot_which(
int x,
int y) {
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:80
virtual HotSpotRec * custom_hotspot_which(int32 x, int32 y)
Definition: rooms.h:48
Room * operator[](uint roomNum)
virtual void init()
Definition: rooms.h:71
Definition: database.h:28
Definition: adv_hotspot.h:30