22 #ifndef NUVIE_CORE_GAME_H 23 #define NUVIE_CORE_GAME_H 25 #include "ultima/shared/std/containers.h" 26 #include "ultima/shared/std/string.h" 27 #include "ultima/nuvie/core/nuvie_defs.h" 66 PAUSE_UNPAUSED = 0x00,
75 nuvie_game_t game_type;
119 GamePauseState pause_flags;
122 uint16 game_x_offset;
123 uint16 game_y_offset;
124 uint16 pause_user_count;
125 uint16 converse_gump_width;
126 uint16 min_converse_gump_width;
127 uint8 ignore_event_delay;
128 bool is_using_hackmove;
129 bool dragging_enabled;
131 bool unlimited_casting;
132 bool god_mode_enabled;
135 bool using_text_gumps;
136 bool open_containers;
137 ConverseGumpType converse_gump_type;
139 bool free_balloon_movement;
140 bool force_solid_converse_bg;
149 void init_game_style();
151 void update_once(
bool process_gui_input);
153 void update_once_display();
154 void update_until_converse_finished();
156 bool isLoaded()
const {
157 return script !=
nullptr;
159 GamePauseState get_pause_flags()
const {
162 void set_pause_flags(GamePauseState state);
165 void unpause_anims();
166 void unpause_world();
172 bool paused()
const {
175 bool all_paused()
const {
176 return (pause_flags & PAUSE_ALL);
178 bool user_paused()
const {
179 return (pause_flags & PAUSE_USER);
181 bool anims_paused()
const {
182 return (pause_flags & PAUSE_ANIMS);
184 bool world_paused()
const{
185 return (pause_flags & PAUSE_WORLD);
192 bool shouldQuit()
const;
194 bool set_mouse_pointer(uint8 ptr_num);
195 void dont_wait_for_interval();
196 void wait_for_interval();
198 void stats_changed();
200 void init_new_command_bar();
201 void delete_new_command_bar();
202 nuvie_game_t get_game_type()
const {
205 uint8 get_game_style()
const {
208 bool is_original_plus()
const {
209 return (game_style == NUVIE_STYLE_ORIG_PLUS_CUTOFF_MAP || game_style == NUVIE_STYLE_ORIG_PLUS_FULL_MAP);
211 bool is_original_plus_cutoff_map()
const {
212 return (game_style == NUVIE_STYLE_ORIG_PLUS_CUTOFF_MAP);
214 bool is_original_plus_full_map()
const {
215 return (game_style == NUVIE_STYLE_ORIG_PLUS_FULL_MAP);
217 bool is_new_style()
const {
218 return (game_style == NUVIE_STYLE_NEW);
220 bool is_orig_style()
const {
221 return (game_style == NUVIE_STYLE_ORIG);
223 bool doubleclick_opens_containers();
224 void set_doubleclick_opens_containers(
bool val) {
225 open_containers = val;
227 void set_using_text_gumps(
bool val) {
228 using_text_gumps = val;
230 bool is_using_text_gumps()
const {
231 return (using_text_gumps || is_new_style());
233 bool is_roof_mode()
const {
236 void set_roof_mode(
bool val) {
239 bool using_hackmove();
240 void set_hackmove(
bool hackmove);
241 uint8 is_dragging_enabled() {
242 return dragging_enabled;
244 void set_dragging_enabled(
bool drag) {
245 dragging_enabled = drag;
247 bool is_god_mode_enabled()
const {
248 return (god_mode_enabled && cheats_enabled);
250 bool toggle_god_mode() {
251 return (god_mode_enabled = !god_mode_enabled);
253 bool are_cheats_enabled()
const {
254 return cheats_enabled;
256 void set_cheats_enabled(
bool cheat) {
257 cheats_enabled = cheat;
259 bool has_unlimited_casting()
const {
260 return (unlimited_casting && cheats_enabled);
262 void set_unlimited_casting(
bool unlimited) {
263 unlimited_casting = unlimited;
265 bool is_armageddon()
const {
268 void set_armageddon(
bool val) {
271 bool is_ethereal()
const {
274 void set_ethereal(
bool val) {
277 ConverseGumpType get_converse_gump_type()
const {
278 return converse_gump_type;
280 void set_converse_gump_type(ConverseGumpType new_type);
281 bool using_new_converse_gump();
282 void set_free_balloon_movement(
bool val) {
283 free_balloon_movement = val;
285 bool has_free_balloon_movement()
const {
286 return free_balloon_movement;
288 bool is_forcing_solid_converse_bg()
const {
289 return force_solid_converse_bg;
291 uint16 get_converse_gump_width()
const {
292 return converse_gump_width;
294 uint16 get_min_converse_gump_width()
const {
295 return min_converse_gump_width;
297 uint16 get_game_width()
const {
300 uint16 get_game_height()
const {
303 uint16 get_game_x_offset()
const {
304 return game_x_offset;
306 uint16 get_game_y_offset()
const {
307 return game_y_offset;
312 static Game *get_game() {
343 return actor_manager;
351 Map *get_game_map() {
391 return sound_manager;
398 return effect_manager;
404 return new_command_bar;
417 void init_converse();
418 void init_converse_gump_settings();
421 void update_once(
bool process_gui_input,
bool run_converse);
424 extern uint getRandom(uint maxVal);
Definition: map_window.h:73
Definition: egg_manager.h:45
Definition: portrait.h:40
Definition: background.h:33
Definition: configuration.h:61
Definition: usecode.h:151
Definition: effect_manager.h:34
Definition: game_clock.h:49
Definition: font_manager.h:36
Definition: atari-screen.h:60
Definition: tile_manager.h:145
Definition: actor_manager.h:42
Definition: converse_gump.h:41
Definition: detection.h:27
Definition: atari-cursor.h:38
Definition: sound_manager.h:62
Definition: obj_manager.h:75
Definition: game_palette.h:32
Definition: command_bar.h:49
Definition: view_manager.h:57
Definition: converse.h:81