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_menu_items.h" 51 #include "m4/gui/gui_mouse.h" 52 #include "m4/gui/gui_univ.h" 53 #include "m4/gui/hotkeys.h" 54 #include "m4/mem/memman.h" 55 #include "m4/mem/res.h" 56 #include "m4/platform/events.h" 57 #include "m4/platform/timer.h" 58 #include "m4/platform/sound/digi.h" 59 #include "m4/platform/sound/midi.h" 60 #include "m4/wscript/wscript.h" 64 #define CACHE_NOT_OVERRIDE_BY_FLAG_PARSE 2 72 void game_systems_initialize(byte flags);
73 void game_systems_shutdown();
75 bool woodscript_init();
76 void woodscript_shutdown();
78 void create_mouse_watch_dialog();
82 virtual void main_cold_data_init() = 0;
90 virtual Walker *getWalker() = 0;
91 virtual Hotkeys *getHotkeys() = 0;
92 virtual void global_menu_system_init() = 0;
93 virtual void initialize_game() = 0;
103 frac16 _globals[GLB_SHARED_VARS];
121 bool _menuSystemInitialized =
false;
123 const bool _cheating_enabled =
true;
125 Font *_system_font =
nullptr;
126 Font *_font_line =
nullptr;
127 Font *_font_tiny_prop =
nullptr;
128 Font *_font_tiny =
nullptr;
129 Font *_font_inter =
nullptr;
130 Font *_font_conv =
nullptr;
131 Font *_font_menu =
nullptr;
132 Font *_font_misc =
nullptr;
133 Font *_interfaceFont =
nullptr;
134 Font *_font =
nullptr;
136 bool _system_shutting_down =
false;
138 size_t _mem_to_alloc = 0;
139 GrBuff *_screenCodeBuff =
nullptr;
140 GrBuff *_game_bgBuff =
nullptr;
141 GrBuff *_gameDrawBuff =
nullptr;
142 GrBuff *_gameInterfaceBuff =
nullptr;
143 void *_custom_interface_setup =
nullptr;
144 void *_custom_interface_button_handler =
nullptr;
145 int _global_sound_room = 0;
146 CursorChange _toggle_cursor = CURSCHANGE_NONE;
147 bool _i_just_hyperwalked =
false;
148 bool _please_hyperwalk =
false;
149 void (*_custom_ascii_converter)(
char *string) =
nullptr;
150 bool _vmng_Initted =
false;
156 Hotkey *_systemHotkeys =
nullptr;
157 int32 _memtypeSCRN = 0;
158 int32 _memtypeMATTE = 0;
159 int32 _memtypeRECT = 0;
160 int32 _sizeMem[_MEMTYPE_LIMIT];
161 int32 _requests[_MEMTYPE_LIMIT];
162 void *_memBlock[_MEMTYPE_LIMIT];
163 RGB8 _master_palette[256];
164 RGB8 _backup_palette[256];
165 bool _pal_fade_in_progress =
false;
168 InvPal *_inverse_pal =
nullptr;
169 int32 _inv_obj_mem_type = 0;
170 bool _currScreen =
false;
173 Dialog *_mousePosDialog =
nullptr;
174 bool _showMousePos =
false;
175 bool _inv_suppress_click_sound =
false;
176 bool _between_rooms =
false;
177 bool _completeWalk =
false;
178 const char *_art_base_override =
nullptr;
179 bool _use_alternate_attribute_file =
false;
180 bool _camera_reacts_to_player =
false;
181 bool _set_commands_allowed_since_last_checked =
false;
188 uint32 _editors_in_use = 0;
189 bool _editor_showStats =
false;
190 bool _shut_down_digi_tracks_between_rooms =
false;
191 cursor_states _cursor_state = kARROW;
193 bool _hyperwalk =
false;
196 #define _G(X) (g_vars->_##X) 197 #define _GI() (*g_vars->getInterface()) 198 #define _GW() (*g_vars->getWalker()) 199 #define _GWS(X) _G(ws)._##X 200 #define INTERFACE_VISIBLE g_vars->getInterface()->_visible Definition: ws_machine.h:155
Definition: adv_walk.h:32
Definition: adv_interface.h:32
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