rnd-20071001-1-src
[rocksndiamonds.git] / src / files.c
index cd2f30c6fabdaebb386e02aecc7c4a7adb3844d2..3b51e6e28b92236f2126c769e29d3f78f924735a 100644 (file)
@@ -8013,8 +8013,9 @@ void SaveScore(int nr)
 #define SETUP_TOKEN_OVERRIDE_LEVEL_GRAPHICS    28
 #define SETUP_TOKEN_OVERRIDE_LEVEL_SOUNDS      29
 #define SETUP_TOKEN_OVERRIDE_LEVEL_MUSIC       30
+#define SETUP_TOKEN_AUTO_OVERRIDE_ARTWORK      31
 
-#define NUM_GLOBAL_SETUP_TOKENS                        31
+#define NUM_GLOBAL_SETUP_TOKENS                        32
 
 /* editor setup */
 #define SETUP_TOKEN_EDITOR_EL_BOULDERDASH      0
@@ -8142,6 +8143,7 @@ static struct TokenInfo global_setup_tokens[] =
   { TYPE_SWITCH, &si.override_level_graphics, "override_level_graphics"        },
   { TYPE_SWITCH, &si.override_level_sounds,   "override_level_sounds"  },
   { TYPE_SWITCH, &si.override_level_music,    "override_level_music"   },
+  { TYPE_SWITCH, &si.auto_override_artwork,   "auto_override_artwork"  },
 };
 
 static boolean not_used = FALSE;
@@ -8270,8 +8272,6 @@ static void setSetupInfoToDefaults(struct SetupInfo *si)
   si->sound_music = TRUE;
   si->sound_simple = TRUE;
   si->toons = TRUE;
-  si->double_buffering = TRUE;
-  si->direct_draw = !si->double_buffering;
   si->scroll_delay = TRUE;
   si->scroll_delay_value = STD_SCROLL_DELAY;
   si->soft_scrolling = TRUE;
@@ -8292,12 +8292,13 @@ static void setSetupInfoToDefaults(struct SetupInfo *si)
   si->prefer_aga_graphics = TRUE;
   si->game_frame_delay = GAME_FRAME_DELAY;
 
-  si->graphics_set = getStringCopy(GFX_CLASSIC_SUBDIR);
-  si->sounds_set = getStringCopy(SND_CLASSIC_SUBDIR);
-  si->music_set = getStringCopy(MUS_CLASSIC_SUBDIR);
+  si->graphics_set = getStringCopy(GFX_DEFAULT_SUBDIR);
+  si->sounds_set = getStringCopy(SND_DEFAULT_SUBDIR);
+  si->music_set = getStringCopy(MUS_DEFAULT_SUBDIR);
   si->override_level_graphics = FALSE;
   si->override_level_sounds = FALSE;
   si->override_level_music = FALSE;
+  si->auto_override_artwork = FALSE;
 
   si->editor.el_boulderdash            = TRUE;
   si->editor.el_emerald_mine           = TRUE;
@@ -8352,6 +8353,12 @@ static void setSetupInfoToDefaults(struct SetupInfo *si)
   si->system.audio_fragment_size = DEFAULT_AUDIO_FRAGMENT_SIZE;
 
   si->options.verbose = FALSE;
+
+#if defined(CREATE_SPECIAL_EDITION_RND_JUE)
+  si->handicap = FALSE;
+  si->fullscreen = TRUE;
+  si->auto_override_artwork = TRUE;
+#endif
 }
 
 static void setSetupInfoToDefaults_EditorCascade(struct SetupInfo *si)
@@ -8469,8 +8476,6 @@ void LoadSetup()
     checkSetupFileHashIdentifier(setup_file_hash, filename,getCookie("SETUP"));
     decodeSetupFileHash(setup_file_hash);
 
-    setup.direct_draw = !setup.double_buffering;
-
     freeSetupFileHash(setup_file_hash);
 
     /* needed to work around problems with fixed length strings */
@@ -8972,7 +8977,11 @@ void LoadMenuDesignSettings()
   InitMenuDesignSettings_Static();
   InitMenuDesignSettings_SpecialPreProcessing();
 
+#if 1
+  if (!GFX_OVERRIDE_ARTWORK(ARTWORK_TYPE_GRAPHICS))
+#else
   if (!SETUP_OVERRIDE_ARTWORK(setup, ARTWORK_TYPE_GRAPHICS))
+#endif
   {
     /* first look for special settings configured in level series config */
     filename_base = getCustomArtworkLevelConfigFilename(ARTWORK_TYPE_GRAPHICS);