added custom version string to default program configuration settings
[rocksndiamonds.git] / src / libgame / system.c
index 5ccf3fb3784650147bc1f70aed77af72925dd0bb..ed51e626a8f473747e4b9644c532f95e76b9b490 100644 (file)
@@ -68,7 +68,7 @@ int                   FrameCounter = 0;
 void InitProgramInfo(char *argv0, char *config_filename, char *userdata_subdir,
                     char *program_title, char *icon_title,
                     char *icon_filename, char *cookie_prefix,
-                    int program_version)
+                    char *program_version_string, int program_version)
 {
   program.command_basepath = getBasePath(argv0);
   program.command_basename = getBaseName(argv0);
@@ -92,6 +92,8 @@ void InitProgramInfo(char *argv0, char *config_filename, char *userdata_subdir,
   program.version_build = VERSION_BUILD(program_version);
   program.version_ident = program_version;
 
+  program.version_string = program_version_string;
+
   program.log_filename[LOG_OUT_ID] = getLogFilename(LOG_OUT_BASENAME);
   program.log_filename[LOG_ERR_ID] = getLogFilename(LOG_ERR_BASENAME);
   program.log_file[LOG_OUT_ID] = program.log_file_default[LOG_OUT_ID] = stdout;
@@ -300,7 +302,18 @@ void InitGfxOtherSettings()
 
 void InitOverlayInfo()
 {
+  overlay.enabled = FALSE;
   overlay.active = FALSE;
+
+#if defined(PLATFORM_ANDROID)
+  if (strEqual(setup.touch.control_type, TOUCH_CONTROL_VIRTUAL_BUTTONS))
+    overlay.enabled = TRUE;
+#endif
+}
+
+void SetOverlayEnabled(boolean enabled)
+{
+  overlay.enabled = enabled;
 }
 
 void SetOverlayActive(boolean active)
@@ -318,6 +331,11 @@ void SetDrawDeactivationMask(int draw_deactivation_mask)
   gfx.draw_deactivation_mask = draw_deactivation_mask;
 }
 
+int GetDrawDeactivationMask()
+{
+  return gfx.draw_deactivation_mask;
+}
+
 void SetDrawBackgroundMask(int draw_background_mask)
 {
   gfx.draw_background_mask = draw_background_mask;
@@ -1567,9 +1585,9 @@ KeyMod GetKeyModStateFromEvents()
 void StartTextInput(int x, int y, int width, int height)
 {
 #if defined(TARGET_SDL2)
+#if defined(HAS_SCREEN_KEYBOARD)
   SDL_StartTextInput();
 
-#if defined(HAS_SCREEN_KEYBOARD)
   if (y + height > SCREEN_KEYBOARD_POS(video.height))
   {
     video.shifted_up_pos = y + height - SCREEN_KEYBOARD_POS(video.height);
@@ -1583,9 +1601,9 @@ void StartTextInput(int x, int y, int width, int height)
 void StopTextInput()
 {
 #if defined(TARGET_SDL2)
+#if defined(HAS_SCREEN_KEYBOARD)
   SDL_StopTextInput();
 
-#if defined(HAS_SCREEN_KEYBOARD)
   if (video.shifted_up)
   {
     video.shifted_up_pos = 0;
@@ -1634,3 +1652,8 @@ boolean CheckJoystickOpened(int nr)
 {
   return SDLCheckJoystickOpened(nr);
 }
+
+void ClearJoystickState()
+{
+  SDLClearJoystickState();
+}