X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsound.c;h=460bed15cb4ef98dff342bd63e386392c2fc6cae;hb=7b47ce7ba0f673f0de5130daf5726104d0b38902;hp=214b27bf8299de7d20d7705d24f8653a1a5fc0bb;hpb=f4fa296527b424d80cb6ed86809986455613783c;p=rocksndiamonds.git diff --git a/src/libgame/sound.c b/src/libgame/sound.c index 214b27bf..460bed15 100644 --- a/src/libgame/sound.c +++ b/src/libgame/sound.c @@ -1770,9 +1770,10 @@ struct FileInfo *getCurrentSoundList() return sound_info->file_list; } -void InitSoundList(struct ConfigInfo *config_list, +void InitSoundList(struct ConfigInfo *config_list, int num_file_list_entries, struct ConfigInfo *config_suffix_list, - int num_file_list_entries) + struct ConfigInfo *ext1_suffix_list, + struct ConfigInfo *ext2_suffix_list) { int i; @@ -1781,14 +1782,26 @@ void InitSoundList(struct ConfigInfo *config_list, sound_info->type = ARTWORK_TYPE_SOUNDS; sound_info->num_file_list_entries = num_file_list_entries; + sound_info->num_suffix_list_entries = 0; for (i=0; config_suffix_list[i].token != NULL; i++) sound_info->num_suffix_list_entries++; + sound_info->num_ext1_suffix_list_entries = 0; + for (i=0; ext1_suffix_list[i].token != NULL; i++) + sound_info->num_ext1_suffix_list_entries++; + + sound_info->num_ext2_suffix_list_entries = 0; + for (i=0; ext2_suffix_list[i].token != NULL; i++) + sound_info->num_ext2_suffix_list_entries++; + sound_info->file_list = getFileListFromConfigList(config_list, config_suffix_list, num_file_list_entries); sound_info->suffix_list = config_suffix_list; + sound_info->ext1_suffix_list = ext1_suffix_list; + sound_info->ext2_suffix_list = ext2_suffix_list; + sound_info->custom_setup_list = NULL; sound_info->artwork_list = checked_calloc(num_file_list_entries * sizeof(SoundInfo *)); @@ -2010,6 +2023,7 @@ static void ReloadCustomSounds() printf("DEBUG: reloading sounds '%s' ...\n", artwork.snd_current_identifier); #endif + LoadArtworkConfig(sound_info); ReloadCustomArtworkList(sound_info); } @@ -2022,19 +2036,20 @@ static void ReloadCustomMusic() LoadCustomMusic(); } -void InitReloadSounds(char *set_identifier) +void InitReloadCustomSounds(char *set_identifier) { if (!audio.sound_available) return; #if defined(AUDIO_UNIX_NATIVE) + LoadArtworkConfig(sound_info); /* also load config on sound client */ WriteReloadInfoToPipe(set_identifier, SND_CTRL_RELOAD_SOUNDS); #else ReloadCustomSounds(); #endif } -void InitReloadMusic(char *set_identifier) +void InitReloadCustomMusic(char *set_identifier) { if (!audio.music_available) return;