added option for setting hint for render driver to setup config file
[rocksndiamonds.git] / src / libgame / system.h
index 30b37544c32519abbc73f06692c4bb5511bdf0c2..e3f0fba93d7cc6d5be48f90f3c531debbfe2ba3d 100644 (file)
@@ -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
 // ============================================================================
 
 // 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
 #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
 
 
 #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
@@ -1011,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;
 
@@ -1288,6 +1296,7 @@ struct SetupShortcutInfo
 
 struct SetupSystemInfo
 {
+  char *sdl_renderdriver;
   char *sdl_videodriver;
   char *sdl_audiodriver;
   int audio_fragment_size;
@@ -1320,8 +1329,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;
@@ -1352,7 +1363,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;
@@ -1377,6 +1389,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;
@@ -1445,6 +1458,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)
@@ -1471,6 +1486,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
@@ -1744,6 +1761,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;
 
@@ -1863,6 +1881,7 @@ 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);