25 #include "m4/adv_r/kernel.h" 26 #include "m4/core/globals.h" 27 #include "m4/core/term.h" 28 #include "m4/adv_db_r/db_catalog.h" 29 #include "m4/adv_r/adv.h" 30 #include "m4/adv_r/adv_been.h" 31 #include "m4/adv_r/adv_game.h" 32 #include "m4/adv_r/adv_interface.h" 33 #include "m4/adv_r/adv_inv.h" 34 #include "m4/adv_r/adv_player.h" 35 #include "m4/adv_r/adv_rails.h" 36 #include "m4/adv_r/adv_scale.h" 37 #include "m4/adv_r/adv_trigger.h" 38 #include "m4/adv_r/adv_walk.h" 39 #include "m4/adv_r/conv_io.h" 40 #include "m4/core/globals.h" 41 #include "m4/core/mouse.h" 42 #include "m4/fileio/fstream.h" 43 #include "m4/fileio/sys_file.h" 44 #include "m4/graphics/gr_color.h" 45 #include "m4/graphics/gr_font.h" 46 #include "m4/graphics/krn_pal.h" 47 #include "m4/graphics/rend.h" 48 #include "m4/gui/gui_dialog.h" 49 #include "m4/gui/gui_item.h" 50 #include "m4/gui/gui_mouse.h" 51 #include "m4/gui/gui_univ.h" 52 #include "m4/gui/hotkeys.h" 53 #include "m4/mem/memman.h" 54 #include "m4/mem/res.h" 55 #include "m4/platform/events.h" 56 #include "m4/platform/timer.h" 57 #include "m4/platform/sound/digi.h" 58 #include "m4/platform/sound/midi.h" 59 #include "m4/wscript/wscript.h" 63 #define CACHE_NOT_OVERRIDE_BY_FLAG_PARSE 2 71 void game_systems_initialize(byte flags);
72 void game_systems_shutdown();
74 bool woodscript_init();
75 void woodscript_shutdown();
77 void create_mouse_watch_dialog();
81 virtual void main_cold_data_init() = 0;
89 virtual Walker *getWalker() = 0;
90 virtual Hotkeys *getHotkeys() = 0;
91 virtual void global_menu_system_init() = 0;
92 virtual void initialize_game() = 0;
102 frac16 _globals[GLB_SHARED_VARS];
120 const bool _cheating_enabled =
true;
122 Font *_system_font =
nullptr;
123 Font *_font_line =
nullptr;
124 Font *_font_tiny_prop =
nullptr;
125 Font *_font_tiny =
nullptr;
126 Font *_font_inter =
nullptr;
127 Font *_font_conv =
nullptr;
128 Font *_font_menu =
nullptr;
129 Font *_font_misc =
nullptr;
130 Font *_interfaceFont =
nullptr;
131 Font *_font =
nullptr;
133 bool _system_shutting_down =
false;
135 size_t _mem_to_alloc = 0;
136 GrBuff *_screenCodeBuff =
nullptr;
137 GrBuff *_game_bgBuff =
nullptr;
138 GrBuff *_gameDrawBuff =
nullptr;
139 GrBuff *_gameInterfaceBuff =
nullptr;
140 void *_custom_interface_setup =
nullptr;
141 void *_custom_interface_button_handler =
nullptr;
142 int _global_sound_room = 0;
143 CursorChange _toggle_cursor = CURSCHANGE_NONE;
144 bool _i_just_hyperwalked =
false;
145 void (*_custom_ascii_converter)(
char *string) =
nullptr;
146 bool _vmng_Initted =
false;
152 Hotkey *_systemHotkeys =
nullptr;
153 int32 _memtypeSCRN = 0;
154 int32 _memtypeMATTE = 0;
155 int32 _memtypeRECT = 0;
156 int32 _sizeMem[_MEMTYPE_LIMIT];
157 int32 _requests[_MEMTYPE_LIMIT];
158 void *_memBlock[_MEMTYPE_LIMIT];
159 RGB8 _master_palette[256];
160 RGB8 _backup_palette[256];
161 bool _pal_fade_in_progress =
false;
164 InvPal *_inverse_pal =
nullptr;
165 int32 _inv_obj_mem_type = 0;
166 bool _currScreen =
false;
169 Dialog *_mousePosDialog =
nullptr;
170 bool _showMousePos =
false;
171 bool _inv_suppress_click_sound =
false;
172 bool _between_rooms =
false;
173 bool _completeWalk =
false;
174 const char *_art_base_override =
nullptr;
175 bool _use_alternate_attribute_file =
false;
176 bool _camera_reacts_to_player =
false;
177 bool _set_commands_allowed_since_last_checked =
false;
184 uint32 _editors_in_use = 0;
185 bool _editor_showStats =
false;
186 bool _shut_down_digi_tracks_between_rooms =
false;
187 cursor_states _cursor_state = kARROW;
189 int _click_x = 0, _click_y = 0;
190 bool _hyperwalk =
false;
193 #define _G(X) (g_vars->_##X) 194 #define _GI() (*g_vars->getInterface()) 195 #define _GW() (*g_vars->getWalker()) 196 #define _GWS(X) _G(ws)._##X 197 #define INTERFACE_VISIBLE g_vars->getInterface()->_visible Definition: ws_machine.h:130
Definition: adv_walk.h:32
Definition: adv_interface.h:30
Definition: gui_dialog.h:89
intptr frac16
Definition: m4_types.h:46
Definition: m4_types.h:88
Definition: sys_file.h:39
Definition: adv_player.h:94
Definition: gui_univ.h:47
Definition: database.h:28
Definition: gr_color.h:30
Definition: adv_trigger.h:35
Definition: adv_scale.h:32
Definition: gui_mouse.h:34
Definition: gui_univ.h:38
Definition: adv_been.h:32
Definition: adv_player.h:34
Definition: adv_rails.h:32
Definition: gui_item.h:105
Definition: adv_game.h:32
Definition: gui_dialog.h:38
Definition: db_catalog.h:32