X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=da86181fb716075dbf47d45f705b552f175c9c3e;hp=8bcafb8269c1517ecaf30a8734f9db2668059351;hb=b641818c787e48bbf03ce2a0cd5b542c4c21e523;hpb=f4d75550969f97716de4b9f5340b8fcf835ab7fc diff --git a/src/libgame/system.h b/src/libgame/system.h index 8bcafb82..da86181f 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -4,7 +4,7 @@ // (c) 1995-2014 by Artsoft Entertainment // Holger Schemel // info@artsoft.org -// http://www.artsoft.org/ +// https://www.artsoft.org/ // ---------------------------------------------------------------------------- // system.h // ============================================================================ @@ -112,6 +112,7 @@ // values for special settings for mobile devices #if defined(PLATFORM_ANDROID) +#define HAS_TOUCH_DEVICE #define USE_TOUCH_INPUT_OVERLAY #define USE_COMPLETE_DISPLAY #define HAS_SCREEN_KEYBOARD @@ -347,11 +348,22 @@ #define STYLE_REVERSE (1 << 2) // values for special event handling style (used for global animation) -#define STYLE_PASSTHROUGH (1 << 3) -#define STYLE_MULTIPLE_ACTIONS (1 << 4) +#define STYLE_BLOCK (1 << 3) +#define STYLE_PASSTHROUGH (1 << 4) +#define STYLE_MULTIPLE_ACTIONS (1 << 5) #define STYLE_DEFAULT STYLE_NONE +// values for special global animation delay types +#define ANIM_DELAY_UNDEFINED -1 +#define ANIM_DELAY_NONE 0 +#define ANIM_DELAY_INIT 1 +#define ANIM_DELAY_ANIM 2 +#define ANIM_DELAY_POST 3 + +// values for special global animation delay actions +#define ANIM_DELAY_ACTION_NONE -1 + // values for special global animation events #define ANIM_EVENT_UNDEFINED -1 #define ANIM_EVENT_NONE 0 @@ -362,6 +374,7 @@ #define ANIM_EVENT_START (1 << 20) #define ANIM_EVENT_END (1 << 21) #define ANIM_EVENT_POST (1 << 22) +#define ANIM_EVENT_UNCLICK_ANY (1 << 23) // anim number: bits 0-7 // part number: bits 8-15 @@ -399,6 +412,11 @@ #define FADE_MODE_DEFAULT FADE_MODE_FADE +#define AUTO_DELAY_UNIT_MS 0 +#define AUTO_DELAY_UNIT_FRAMES 1 + +#define AUTO_DELAY_UNIT_DEFAULT AUTO_DELAY_UNIT_MS + // values for toon positions #define POS_UNDEFINED -1 #define POS_LEFT 0 @@ -458,6 +476,7 @@ y >= gfx.ey && y < gfx.ey + gfx.eysize) // values for mouse cursor +#define CURSOR_UNDEFINED -1 #define CURSOR_DEFAULT 0 #define CURSOR_NONE 1 #define CURSOR_PLAYFIELD 2 @@ -999,6 +1018,7 @@ struct VideoSystemInfo int screen_rendering_mode; int vsync_mode; + unsigned int frame_counter; unsigned int frame_delay; unsigned int frame_delay_value; @@ -1110,6 +1130,9 @@ struct GfxInfo void (*draw_tile_cursor_function)(int); int cursor_mode; + int cursor_mode_override; + int cursor_mode_final; + int mouse_x, mouse_y; }; struct TileCursorInfo @@ -1305,8 +1328,10 @@ struct SetupInternalInfo boolean choose_from_top_leveldir; boolean show_scaling_in_title; + boolean create_user_levelset; boolean menu_game; + boolean menu_engines; boolean menu_editor; boolean menu_graphics; boolean menu_sound; @@ -1337,7 +1362,8 @@ struct SetupInfo boolean sound_simple; boolean toons; boolean scroll_delay; - boolean scroll_delay_value; + boolean forced_scroll_delay; + int scroll_delay_value; char *engine_snapshot_mode; int engine_snapshot_memory; boolean fade_screens; @@ -1362,6 +1388,7 @@ struct SetupInfo boolean quick_switch; boolean input_on_focus; boolean prefer_aga_graphics; + boolean prefer_lowpass_sounds; boolean game_speed_extended; int game_frame_delay; boolean sp_show_border_elements; @@ -1430,6 +1457,8 @@ struct TreeInfo char *graphics_set_ecs; // special EMC custom graphics set (ECS graphics) char *graphics_set_aga; // special EMC custom graphics set (AGA graphics) char *graphics_set; // optional custom graphics set (level tree only) + char *sounds_set_default; // default EMC custom sounds set + char *sounds_set_lowpass; // special EMC custom sounds set (lowpass filter) char *sounds_set; // optional custom sounds set (level tree only) char *music_set; // optional custom music set (level tree only) char *graphics_path; // path to optional custom graphics set (level only) @@ -1456,6 +1485,8 @@ struct TreeInfo boolean handicap; // level set has no handicap when set to "false" boolean skip_levels; // levels can be skipped when set to "true" + boolean use_emc_tiles;// use (swapped) V5/V6 EMC tiles when set to "true" + int color; // color to use on selection screen for this level char *class_desc; // description of level series class int handicap_level; // number of the lowest unsolved level @@ -1729,6 +1760,7 @@ extern int button_status; extern boolean motion_status; extern int wheel_steps; extern boolean keyrepeat_status; +extern boolean textinput_status; extern int redraw_mask; @@ -1837,14 +1869,18 @@ void FreeBitmapTextures(Bitmap **); void ScaleBitmap(Bitmap **, int); void SetMouseCursor(int); +void UpdateRawMousePosition(int, int); +void UpdateMousePosition(void); void OpenAudio(void); void CloseAudio(void); void SetAudioMode(boolean); +void InitEventFilter(EventFilter); boolean PendingEvent(void); void WaitEvent(Event *event); void PeekEvent(Event *event); +void PumpEvents(void); void CheckQuitEvent(void); Key GetEventKey(KeyEvent *, boolean); KeyMod HandleKeyModState(Key, int); @@ -1852,7 +1888,7 @@ KeyMod GetKeyModState(void); KeyMod GetKeyModStateFromEvents(void); void StartTextInput(int, int, int, int); void StopTextInput(void); -boolean CheckCloseWindowEvent(ClientMessageEvent *); +void PushUserEvent(int, int, int); void InitJoysticks(void); boolean ReadJoystick(int, int *, int *, boolean *, boolean *);