diff --git a/src/libsm64.c b/src/libsm64.c index acbf28f..0f0603e 100644 --- a/src/libsm64.c +++ b/src/libsm64.c @@ -339,3 +339,38 @@ SM64_LIB_FN float sm64_surface_find_poison_gas_level( float x, float z ) { return find_poison_gas_level( x, z ); } + +SM64_LIB_FN void sm64_seq_player_play_sequence(uint8_t player, uint8_t seqId, uint16_t arg2) +{ + seq_player_play_sequence(player,seqId,arg2); +} + +SM64_LIB_FN void sm64_play_music(uint8_t player, uint16_t seqArgs, uint16_t fadeTimer) +{ + play_music(player,seqArgs,fadeTimer); +} + +SM64_LIB_FN void sm64_stop_background_music(uint16_t seqId) +{ + stop_background_music(seqId); +} + +SM64_LIB_FN void sm64_fadeout_background_music(uint16_t arg0, uint16_t fadeOut) +{ + fadeout_background_music(arg0,fadeOut); +} + +SM64_LIB_FN uint16_t sm64_get_current_background_music() +{ + return get_current_background_music(); +} + +SM64_LIB_FN void sm64_play_sound(int32_t soundBits, float *pos) +{ + play_sound(soundBits,pos); +} + +SM64_LIB_FN void sm64_play_sound_global(int32_t soundBits) +{ + play_sound(soundBits,gGlobalSoundSource); +} diff --git a/src/libsm64.h b/src/libsm64.h index 447f71b..0b03e13 100644 --- a/src/libsm64.h +++ b/src/libsm64.h @@ -5,6 +5,9 @@ #include #include +#include "decomp/include/audio_defines.h" +#include "decomp/include/seq_ids.h" + #ifdef _WIN32 #ifdef SM64_LIB_EXPORT #define SM64_LIB_FN __declspec(dllexport) @@ -155,4 +158,12 @@ extern SM64_LIB_FN float sm64_surface_find_floor( float xPos, float yPos, float extern SM64_LIB_FN float sm64_surface_find_water_level( float x, float z ); extern SM64_LIB_FN float sm64_surface_find_poison_gas_level( float x, float z ); +extern SM64_LIB_FN void sm64_seq_player_play_sequence(uint8_t player, uint8_t seqId, uint16_t arg2); +extern SM64_LIB_FN void sm64_play_music(uint8_t player, uint16_t seqArgs, uint16_t fadeTimer); +extern SM64_LIB_FN void sm64_stop_background_music(uint16_t seqId); +extern SM64_LIB_FN void sm64_fadeout_background_music(uint16_t arg0, uint16_t fadeOut); +extern SM64_LIB_FN uint16_t sm64_get_current_background_music(); +extern SM64_LIB_FN void sm64_play_sound(int32_t soundBits, float *pos); +extern SM64_LIB_FN void sm64_play_sound_global(int32_t soundBits); + #endif//LIB_SM64_H diff --git a/test/main.cpp b/test/main.cpp index ef12037..3e50a73 100644 --- a/test/main.cpp +++ b/test/main.cpp @@ -115,6 +115,8 @@ int main( void ) audio_init(); + sm64_play_music(0, SEQ_LEVEL_WATER | SEQ_VARIATION, 0); + do { float dt = (SDL_GetTicks() - lastTicks) / 1000.f; @@ -219,6 +221,7 @@ int main( void ) } while( context_flip_frame_poll_events() ); + sm64_stop_background_music(sm64_get_current_background_music()); sm64_global_terminate(); context_terminate();