X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsound.c;h=6eb1de14df23ca62529752743f0fd5ef64f406d5;hb=494b886d5c5041013ea361a12a07d7cd87551d52;hp=c8d61a828abbd877fee2c5d641132d970089a470;hpb=942ec4881e3b21c130df9ae105d06c2c633fa192;p=rocksndiamonds.git diff --git a/src/libgame/sound.c b/src/libgame/sound.c index c8d61a82..6eb1de14 100644 --- a/src/libgame/sound.c +++ b/src/libgame/sound.c @@ -569,8 +569,7 @@ static void ReadReloadInfoFromPipe(SoundControl *snd_ctrl) &setup.override_level_sounds : &setup.override_level_music); - if (set_identifier) - free(set_identifier); + checked_free(set_identifier); set_identifier = checked_malloc(snd_ctrl->data_len); @@ -579,16 +578,12 @@ static void ReadReloadInfoFromPipe(SoundControl *snd_ctrl) if (ti == NULL) ti = *ti_ptr = checked_calloc(sizeof(TreeInfo)); - if (leveldir_current->fullpath != NULL) - free(leveldir_current->fullpath); - if (leveldir_current->sounds_path != NULL) - free(leveldir_current->sounds_path); - if (leveldir_current->music_path != NULL) - free(leveldir_current->music_path); - if (ti->basepath != NULL) - free(ti->basepath); - if (ti->fullpath != NULL) - free(ti->fullpath); + + checked_free(leveldir_current->fullpath); + checked_free(leveldir_current->sounds_path); + checked_free(leveldir_current->music_path); + checked_free(ti->basepath); + checked_free(ti->fullpath); if (read(audio.mixer_pipe[0], set_identifier, snd_ctrl->data_len) != snd_ctrl->data_len || @@ -1885,15 +1880,6 @@ void LoadCustomMusic_NoConf(void) struct dirent *dir_entry; int num_music = getMusicListSize(); -#if 0 - int ii; - for (ii = 0; ii < num_music; ii++) - { - struct FileInfo *music = getMusicListEntry(ii); - printf("sound process: music %d: '%s'\n", ii, music->filename); - } -#endif - if (!audio.sound_available) return; @@ -1925,14 +1911,11 @@ void LoadCustomMusic_NoConf(void) boolean music_already_used = FALSE; int i; + /* skip all music files that are configured in music config file */ for (i = 0; i < num_music; i++) { struct FileInfo *music = getMusicListEntry(i); -#if 0 - printf("sound process: '%s'\n", music->filename); -#endif - if (strcmp(basename, music->filename) == 0) { music_already_used = TRUE; @@ -1977,10 +1960,6 @@ void LoadCustomMusic_NoConf(void) closedir(dir); draw_init_text = FALSE; - - if (num_music_noconf == 0) - Error(ERR_WARN, "cannot find any valid music files in directory '%s'", - music_directory); } int getSoundListSize() @@ -2056,7 +2035,7 @@ struct PropertyMapping *getMusicListPropertyMapping() } void InitSoundList(struct ConfigInfo *config_list, int num_file_list_entries, - struct ConfigInfo *config_suffix_list, + struct ConfigTypeInfo *config_suffix_list, char **base_prefixes, char **ext1_suffixes, char **ext2_suffixes, char **ext3_suffixes, char **ignore_tokens) @@ -2136,7 +2115,7 @@ void InitSoundList(struct ConfigInfo *config_list, int num_file_list_entries, } void InitMusicList(struct ConfigInfo *config_list, int num_file_list_entries, - struct ConfigInfo *config_suffix_list, + struct ConfigTypeInfo *config_suffix_list, char **base_prefixes, char **ext1_suffixes, char **ext2_suffixes, char **ext3_suffixes, char **ignore_tokens) @@ -2400,8 +2379,7 @@ void FreeSound(void *ptr) #endif } - if (sound->source_filename) - free(sound->source_filename); + checked_free(sound->source_filename); free(sound); }