add libsm64 functions to play sound/music

from ckosmic's fork.
also libsm64.h will now include audio_defines.h and seq_ids.h for easy access to sound and music IDs
This commit is contained in:
headshot2017
2023-01-26 20:00:02 -04:00
parent 9ae96c42f0
commit 45c8eb1490
3 changed files with 49 additions and 0 deletions
+35
View File
@@ -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);
}
+11
View File
@@ -5,6 +5,9 @@
#include <stdint.h>
#include <stdbool.h>
#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
+3
View File
@@ -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();