added custom version string to default program configuration settings
[rocksndiamonds.git] / src / files.c
index 8ccd97d9e08c4db80634732c107f0ae423c453b4..33b174de4e367911d92531c65ecf778d6366eb30 100644 (file)
@@ -20,6 +20,7 @@
 #include "init.h"
 #include "tools.h"
 #include "tape.h"
+#include "config.h"
 
 #define ENABLE_UNUSED_CODE     0       /* currently unused functions */
 #define ENABLE_HISTORIC_CHUNKS 0       /* only for historic reference */
@@ -8061,24 +8062,25 @@ void SaveScore(int nr)
 
 /* internal setup */
 #define SETUP_TOKEN_INT_PROGRAM_TITLE          0
-#define SETUP_TOKEN_INT_PROGRAM_AUTHOR         1
-#define SETUP_TOKEN_INT_PROGRAM_EMAIL          2
-#define SETUP_TOKEN_INT_PROGRAM_WEBSITE                3
-#define SETUP_TOKEN_INT_PROGRAM_COPYRIGHT      4
-#define SETUP_TOKEN_INT_PROGRAM_COMPANY                5
-#define SETUP_TOKEN_INT_PROGRAM_ICON_FILE      6
-#define SETUP_TOKEN_INT_DEFAULT_GRAPHICS_SET   7
-#define SETUP_TOKEN_INT_DEFAULT_SOUNDS_SET     8
-#define SETUP_TOKEN_INT_DEFAULT_MUSIC_SET      9
-#define SETUP_TOKEN_INT_FALLBACK_GRAPHICS_FILE 10
-#define SETUP_TOKEN_INT_FALLBACK_SOUNDS_FILE   11
-#define SETUP_TOKEN_INT_FALLBACK_MUSIC_FILE    12
-#define SETUP_TOKEN_INT_DEFAULT_LEVEL_SERIES   13
-#define SETUP_TOKEN_INT_CHOOSE_FROM_TOP_LEVELDIR 14
-#define SETUP_TOKEN_INT_DEFAULT_WINDOW_WIDTH   15
-#define SETUP_TOKEN_INT_DEFAULT_WINDOW_HEIGHT  16
-
-#define NUM_INTERNAL_SETUP_TOKENS              17
+#define SETUP_TOKEN_INT_PROGRAM_VERSION                1
+#define SETUP_TOKEN_INT_PROGRAM_AUTHOR         2
+#define SETUP_TOKEN_INT_PROGRAM_EMAIL          3
+#define SETUP_TOKEN_INT_PROGRAM_WEBSITE                4
+#define SETUP_TOKEN_INT_PROGRAM_COPYRIGHT      5
+#define SETUP_TOKEN_INT_PROGRAM_COMPANY                6
+#define SETUP_TOKEN_INT_PROGRAM_ICON_FILE      7
+#define SETUP_TOKEN_INT_DEFAULT_GRAPHICS_SET   8
+#define SETUP_TOKEN_INT_DEFAULT_SOUNDS_SET     9
+#define SETUP_TOKEN_INT_DEFAULT_MUSIC_SET      10
+#define SETUP_TOKEN_INT_FALLBACK_GRAPHICS_FILE 11
+#define SETUP_TOKEN_INT_FALLBACK_SOUNDS_FILE   12
+#define SETUP_TOKEN_INT_FALLBACK_MUSIC_FILE    13
+#define SETUP_TOKEN_INT_DEFAULT_LEVEL_SERIES   14
+#define SETUP_TOKEN_INT_CHOOSE_FROM_TOP_LEVELDIR 15
+#define SETUP_TOKEN_INT_DEFAULT_WINDOW_WIDTH   16
+#define SETUP_TOKEN_INT_DEFAULT_WINDOW_HEIGHT  17
+
+#define NUM_INTERNAL_SETUP_TOKENS              18
 
 /* debug setup */
 #define SETUP_TOKEN_DEBUG_FRAME_DELAY_0                0
@@ -8103,8 +8105,9 @@ void SaveScore(int nr)
 #define SETUP_TOKEN_DEBUG_FRAME_DELAY_KEY_9    19
 #define SETUP_TOKEN_DEBUG_FRAME_DELAY_USE_MOD_KEY 20
 #define SETUP_TOKEN_DEBUG_FRAME_DELAY_GAME_ONLY        21
+#define SETUP_TOKEN_DEBUG_SHOW_FRAMES_PER_SECOND 22
 
-#define NUM_DEBUG_SETUP_TOKENS                 22
+#define NUM_DEBUG_SETUP_TOKENS                 23
 
 /* options setup */
 #define SETUP_TOKEN_OPTIONS_VERBOSE            0
@@ -8254,6 +8257,7 @@ static struct TokenInfo system_setup_tokens[] =
 static struct TokenInfo internal_setup_tokens[] =
 {
   { TYPE_STRING, &sxi.program_title,           "program_title"         },
+  { TYPE_STRING, &sxi.program_version,         "program_version"       },
   { TYPE_STRING, &sxi.program_author,          "program_author"        },
   { TYPE_STRING, &sxi.program_email,           "program_email"         },
   { TYPE_STRING, &sxi.program_website,         "program_website"       },
@@ -8296,6 +8300,7 @@ static struct TokenInfo debug_setup_tokens[] =
   { TYPE_KEY_X11, &sdi.frame_delay_key[9],     "debug.key.frame_delay_9" },
   { TYPE_BOOLEAN, &sdi.frame_delay_use_mod_key,"debug.frame_delay.use_mod_key"},
   { TYPE_BOOLEAN, &sdi.frame_delay_game_only,  "debug.frame_delay.game_only" },
+  { TYPE_BOOLEAN, &sdi.show_frames_per_second, "debug.show_frames_per_second" },
 };
 
 static struct TokenInfo options_setup_tokens[] =
@@ -8446,6 +8451,7 @@ static void setSetupInfoToDefaults(struct SetupInfo *si)
   si->system.audio_fragment_size = DEFAULT_AUDIO_FRAGMENT_SIZE;
 
   si->internal.program_title     = getStringCopy(PROGRAM_TITLE_STRING);
+  si->internal.program_version   = getStringCopy(getProgramRealVersionString());
   si->internal.program_author    = getStringCopy(PROGRAM_AUTHOR_STRING);
   si->internal.program_email     = getStringCopy(PROGRAM_EMAIL_STRING);
   si->internal.program_website   = getStringCopy(PROGRAM_WEBSITE_STRING);
@@ -8493,6 +8499,8 @@ static void setSetupInfoToDefaults(struct SetupInfo *si)
   si->debug.frame_delay_use_mod_key = DEFAULT_FRAME_DELAY_USE_MOD_KEY;
   si->debug.frame_delay_game_only   = DEFAULT_FRAME_DELAY_GAME_ONLY;
 
+  si->debug.show_frames_per_second = FALSE;
+
   si->options.verbose = FALSE;
 
 #if defined(PLATFORM_ANDROID)