return NULL; /* cannot find image file */
}
+char *getCustomSoundFilename(char *basename)
+{
+ static char *filename = NULL;
+
+ if (filename != NULL)
+ free(filename);
+
+ /* 1st try: look for special artwork in current level series directory */
+ filename = getPath3(getCurrentLevelDir(), SOUNDS_DIRECTORY, basename);
+ if (fileExists(filename))
+ return filename;
+
+ /* 2nd try: look for special artwork in private artwork directory */
+ filename = getPath2(getUserSoundsDir(), basename);
+ if (fileExists(filename))
+ return filename;
+
+ /* 3rd try: look for special artwork in configured artwork directory */
+ filename = getPath2(getSetupArtworkDir(artwork.snd_current), basename);
+ if (fileExists(filename))
+ return filename;
+
+ /* 4th try: look for default artwork in new default artwork directory */
+ filename = getPath2(getDefaultSoundsDir(SOUNDS_SUBDIR), basename);
+ if (fileExists(filename))
+ return filename;
+
+ /* 5th try: look for default artwork in old default artwork directory */
+ filename = getPath2(options.sounds_directory, basename);
+ if (fileExists(filename))
+ return filename;
+
+ return NULL; /* cannot find image file */
+}
+
+char *getCustomMusicDirectory(void)
+{
+ static char *directory = NULL;
+
+ if (directory != NULL)
+ free(directory);
+
+ /* 1st try: look for special artwork in current level series directory */
+ directory = getPath2(getCurrentLevelDir(), MUSIC_DIRECTORY);
+ if (fileExists(directory))
+ return directory;
+
+ /* 2nd try: look for special artwork in private artwork directory */
+ directory = getStringCopy(getUserMusicDir());
+ if (fileExists(directory))
+ return directory;
+
+ /* 3rd try: look for special artwork in configured artwork directory */
+ directory = getStringCopy(getSetupArtworkDir(artwork.mus_current));
+ if (fileExists(directory))
+ return directory;
+
+ /* 4th try: look for default artwork in new default artwork directory */
+ directory = getStringCopy(getDefaultMusicDir(MUSIC_SUBDIR));
+ if (fileExists(directory))
+ return directory;
+
+ /* 5th try: look for default artwork in old default artwork directory */
+ directory = getStringCopy(options.music_directory);
+ if (fileExists(directory))
+ return directory;
+
+ return NULL; /* cannot find image file */
+}
+
void InitTapeDirectory(char *level_subdir)
{
createDirectory(getUserDataDir(), "user data", PERMS_PRIVATE);
if (node_parent == NULL) /* top level group */
{
- artwork_new->basepath = base_directory;
- artwork_new->fullpath = artwork_new->filename;
+ artwork_new->basepath = getStringCopy(base_directory);
+ artwork_new->fullpath = getStringCopy(artwork_new->filename);
}
else /* sub level group */
{
- artwork_new->basepath = node_parent->basepath;
+ artwork_new->basepath = getStringCopy(node_parent->basepath);
artwork_new->fullpath = getPath2(node_parent->fullpath, directory_name);
}
#endif
}
+void LoadSoundsInfo()
+{
+#if 0
+ char *filename = getCustomSoundFilename(SOUNDSINFO_FILENAME);
+ struct SetupFileList *setup_file_list = loadSetupFileList(filename);
+
+ if (setup_file_list)
+ {
+#if 0
+ for (i=0; i<NUM_LEVELINFO_TOKENS; i++)
+ setSetupInfo(levelinfo_tokens, i,
+ getTokenValue(setup_file_list, levelinfo_tokens[i].text));
+#endif
+
+ freeSetupFileList(setup_file_list);
+ }
+#endif
+}
+
static void SaveUserLevelInfo()
{
char *filename;