rnd-20070927-1-src
[rocksndiamonds.git] / src / libgame / setup.c
index df6e2f8a0bc8ebad3299240c2bf449f3786e8307..df1dac7b45043d99c7c8ff48c3ab2ecfbbb90b1a 100644 (file)
@@ -262,6 +262,26 @@ static char *getDefaultMusicDir(char *music_subdir)
   return music_dir;
 }
 
+#if 1
+static char *getDefaultArtworkSet(int type)
+{
+  return (type == TREE_TYPE_GRAPHICS_DIR ? "gfx_classic" :
+         type == TREE_TYPE_SOUNDS_DIR   ? "snd_classic" :
+         type == TREE_TYPE_MUSIC_DIR    ? "mus_classic" : "");
+}
+
+static char *getDefaultArtworkDir(int type)
+{
+  return (type == TREE_TYPE_GRAPHICS_DIR ?
+         getDefaultGraphicsDir("gfx_classic") :
+         type == TREE_TYPE_SOUNDS_DIR ?
+         getDefaultSoundsDir("snd_classic") :
+         type == TREE_TYPE_MUSIC_DIR ?
+         getDefaultMusicDir("mus_classic") : "");
+}
+
+#else
+
 static char *getDefaultArtworkSet(int type)
 {
   return (type == TREE_TYPE_GRAPHICS_DIR ? GFX_CLASSIC_SUBDIR :
@@ -278,6 +298,7 @@ static char *getDefaultArtworkDir(int type)
          type == TREE_TYPE_MUSIC_DIR ?
          getDefaultMusicDir(MUS_CLASSIC_SUBDIR) : "");
 }
+#endif
 
 static char *getUserGraphicsDir()
 {
@@ -518,7 +539,7 @@ char *getLevelSetTitleMessageFilename(int nr, boolean initial)
 
   basename = getLevelSetTitleMessageBasename(nr, initial);
 
-  if (!setup.override_level_graphics)
+  if (!gfx.override_level_graphics)
   {
     /* 1st try: look for special artwork in current level series directory */
     filename = getPath3(getCurrentLevelDir(), GRAPHICS_DIRECTORY, basename);
@@ -615,7 +636,7 @@ char *getCustomImageFilename(char *basename)
 
   basename = getCorrectedArtworkBasename(basename);
 
-  if (!setup.override_level_graphics)
+  if (!gfx.override_level_graphics)
   {
     /* 1st try: look for special artwork in current level series directory */
     filename = getPath3(getCurrentLevelDir(), GRAPHICS_DIRECTORY, basename);
@@ -688,7 +709,7 @@ char *getCustomSoundFilename(char *basename)
 
   basename = getCorrectedArtworkBasename(basename);
 
-  if (!setup.override_level_sounds)
+  if (!gfx.override_level_sounds)
   {
     /* 1st try: look for special artwork in current level series directory */
     filename = getPath3(getCurrentLevelDir(), SOUNDS_DIRECTORY, basename);
@@ -756,7 +777,7 @@ char *getCustomMusicFilename(char *basename)
 
   basename = getCorrectedArtworkBasename(basename);
 
-  if (!setup.override_level_music)
+  if (!gfx.override_level_music)
   {
     /* 1st try: look for special artwork in current level series directory */
     filename = getPath3(getCurrentLevelDir(), MUSIC_DIRECTORY, basename);
@@ -850,7 +871,7 @@ char *getCustomMusicDirectory(void)
 
   checked_free(directory);
 
-  if (!setup.override_level_music)
+  if (!gfx.override_level_music)
   {
     /* 1st try: look for special artwork in current level series directory */
     directory = getPath2(getCurrentLevelDir(), MUSIC_DIRECTORY);
@@ -3825,6 +3846,13 @@ void LoadLevelSetup_LastSeries()
   /* always start with reliable default values */
   leveldir_current = getFirstValidTreeInfoEntry(leveldir_first);
 
+#if CREATE_SPECIAL_EDITION_RND_JUE
+  leveldir_current = getTreeInfoFromIdentifier(leveldir_first,
+                                              "jue_start");
+  if (leveldir_current == NULL)
+    leveldir_current = getFirstValidTreeInfoEntry(leveldir_first);
+#endif
+
   if ((level_setup_hash = loadSetupFileHash(filename)))
   {
     char *last_level_series =