rnd-20020420-1-src
[rocksndiamonds.git] / src / files.c
index 2a72397139931fb4d9c735428353d0925c65e1cb..466360035445e37be06ba0efade537367b426d6a 100644 (file)
@@ -1181,14 +1181,18 @@ void SaveScore(int level_nr)
 #define SETUP_TOKEN_TIME_LIMIT         13
 #define SETUP_TOKEN_FULLSCREEN         14
 #define SETUP_TOKEN_ASK_ON_ESCAPE      15
+#define SETUP_TOKEN_GRAPHICS_SET       16
+#define SETUP_TOKEN_SOUNDS_SET         17
+#define SETUP_TOKEN_MUSIC_SET          18
 
-#define NUM_GLOBAL_SETUP_TOKENS                16
+#define NUM_GLOBAL_SETUP_TOKENS                19
 
 /* shortcut setup */
 #define SETUP_TOKEN_SAVE_GAME          0
 #define SETUP_TOKEN_LOAD_GAME          1
+#define SETUP_TOKEN_TOGGLE_PAUSE       2
 
-#define NUM_SHORTCUT_SETUP_TOKENS      2
+#define NUM_SHORTCUT_SETUP_TOKENS      3
 
 /* player setup */
 #define SETUP_TOKEN_USE_JOYSTICK       0
@@ -1231,15 +1235,19 @@ static struct TokenInfo global_setup_tokens[] =
   { TYPE_SWITCH, &si.team_mode,                "team_mode"                     },
   { TYPE_SWITCH, &si.handicap,         "handicap"                      },
   { TYPE_SWITCH, &si.time_limit,       "time_limit"                    },
+  { TYPE_SWITCH, &si.fullscreen,       "fullscreen"                    },
   { TYPE_SWITCH, &si.ask_on_escape,    "ask_on_escape"                 },
-  { TYPE_SWITCH, &si.fullscreen,       "fullscreen"                    }
+  { TYPE_STRING, &si.graphics_set,     "graphics_set"                  },
+  { TYPE_STRING, &si.sounds_set,       "sounds_set"                    },
+  { TYPE_STRING, &si.music_set,                "music_set"                     },
 };
 
 static struct TokenInfo shortcut_setup_tokens[] =
 {
   /* shortcut setup */
   { TYPE_KEY_X11, &ssi.save_game,              "shortcut.save_game"    },
-  { TYPE_KEY_X11, &ssi.load_game,              "shortcut.load_game"    }
+  { TYPE_KEY_X11, &ssi.load_game,              "shortcut.load_game"    },
+  { TYPE_KEY_X11, &ssi.toggle_pause,           "shortcut.toggle_pause" }
 };
 
 static struct TokenInfo player_setup_tokens[] =
@@ -1287,8 +1295,13 @@ static void setSetupInfoToDefaults(struct SetupInfo *si)
   si->fullscreen = FALSE;
   si->ask_on_escape = TRUE;
 
+  si->graphics_set = getStringCopy(GRAPHICS_SUBDIR);
+  si->sounds_set = getStringCopy(SOUNDS_SUBDIR);
+  si->music_set = getStringCopy(MUSIC_SUBDIR);
+
   si->shortcut.save_game = DEFAULT_KEY_SAVE_GAME;
   si->shortcut.load_game = DEFAULT_KEY_LOAD_GAME;
+  si->shortcut.toggle_pause = DEFAULT_KEY_TOGGLE_PAUSE;
 
   for (i=0; i<MAX_PLAYERS; i++)
   {
@@ -1412,7 +1425,7 @@ void SaveSetup()
     fprintf(file, "%s\n", getSetupLine(global_setup_tokens, "", i));
 
     /* just to make things nicer :) */
-    if (i == SETUP_TOKEN_PLAYER_NAME)
+    if (i == SETUP_TOKEN_PLAYER_NAME || i == SETUP_TOKEN_GRAPHICS_SET - 1)
       fprintf(file, "\n");
   }