Specify filetypes in audio folder, add audio_custom_shutdown()

This commit is contained in:
MysterD 2022-05-08 15:44:04 -07:00
parent a722afe122
commit f2c032c6d8
7 changed files with 24 additions and 1 deletions

View file

@ -86,7 +86,7 @@ override_disallowed_functions = {
"src/pc/lua/utils/smlua_obj_utils.h": [ "spawn_object_remember_field" ],
"src/game/camera.h": [ "update_camera", "init_camera", "stub_camera", "^reset_camera", "move_point_along_spline" ],
"src/game/behavior_actions.h": [ "bhv_dust_smoke_loop", "bhv_init_room" ],
"src/pc/lua/utils/smlua_audio_utils.h": [ "smlua_audio_utils_override"],
"src/pc/lua/utils/smlua_audio_utils.h": [ "smlua_audio_utils_override", "audio_custom_shutdown"],
"src/pc/djui/djui_hud_utils.h": [ "djui_hud_render_texture", "djui_hud_render_texture_raw" ],
}

View file

@ -387,3 +387,16 @@ void audio_sample_play(struct BassAudio* audio, Vec3f position, f32 volume) {
bassh_play_stream(stream, true);
}
void audio_custom_shutdown(void) {
for(u16 i = 0; i < sBassAudioCount; i++) {
struct BassAudio* audio = &sBassAudio[i];
if (!audio->loaded) { continue; }
if (audio->isStream) {
audio_stream_destroy(audio);
} else {
audio_sample_destroy(audio);
}
}
sBassAudioCount = 0;
}

View file

@ -38,4 +38,6 @@ struct BassAudio* audio_sample_load(const char* filename);
void audio_sample_destroy(struct BassAudio* audio);
void audio_sample_play(struct BassAudio* audio, Vec3f position, f32 volume);
void audio_custom_shutdown(void);
#endif

View file

@ -377,6 +377,11 @@ static bool mod_load_files(struct Mod* mod, char* modName, char* fullPath) {
return false;
}
// only consider m64, mp3, aiff, and ogg files
if (!str_ends_with(path, ".m64") && !str_ends_with(path, ".mp3") && !str_ends_with(path, ".aiff") && !str_ends_with(path, ".ogg")) {
continue;
}
// allocate file
struct ModFile* file = mod_allocate_file(mod, relativePath);
if (file == NULL) { return false; }

View file

@ -45,6 +45,7 @@
#include "include/bass/bass.h"
#include "include/bass/bass_fx.h"
#include "src/bass_audio/bass_audio_helpers.h"
#include "pc/lua/utils/smlua_audio_utils.h"
#ifdef DISCORDRPC
#include "pc/discord/discordrpc.h"
@ -241,6 +242,7 @@ void produce_one_frame(void) {
}
void audio_shutdown(void) {
audio_custom_shutdown();
if (audio_api) {
if (audio_api->shutdown) audio_api->shutdown();
audio_api = NULL;
@ -253,6 +255,7 @@ void game_deinit(void) {
#endif
configfile_save(configfile_name());
controller_shutdown();
audio_custom_shutdown();
audio_shutdown();
gfx_shutdown();
network_shutdown(true);

BIN
test.mp3

Binary file not shown.

Binary file not shown.