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:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user