SSBM Decomp
Loading...
Searching...
No Matches
synth.h File Reference
#include <placeholder.h>
#include <dolphin/ax.h>

Go to the source code of this file.

Functions

void * HSD_AudioMalloc (size_t)
 
void HSD_AudioFree (void *)
 
void HSD_SynthSFXSampleLoadCallback (int, int, void *, int cancelflag)
 
void HSD_SynthSFXLoadNewProc (void)
 
int HSD_SynthSFXLoad (const char *filename, int, int, int)
 
void HSD_SynthSFXWaitForLoadCompletion (void(*)(void))
 
int HSD_SynthSFXGetPendingLoadCount (void)
 
int HSD_SynthSFXCancelLoad (int)
 
void HSD_SynthSFXAllocateBank (int)
 
void HSD_SynthSFXUnloadBank (int)
 
void HSD_Synth_80388DC8 (int)
 
void HSD_Synth_80388E08 (int)
 
void HSD_SynthSFXGroupDataReaddress (AXVPB *, void *callback)
 
void HSD_SynthSFXBankDeflag (int)
 HSD_SynthSFXGroupDataReaddress
 
void HSD_SynthSFXBankDeflagSync (void)
 
u32 HSD_SynthGetSoundMode (void)
 
void HSD_SynthSetSoundMode (int)
 
void HSD_SynthSFXStopNode (struct HSD_SynthSFXNode *)
 
void dropcallback (void *)
 
bool HSD_SynthSFXPlayWithGroup (int, u8, u8, u8, int, u8, int, f32, f32, f32, f32, f32)
 
void HSD_SynthSFXKeyOff (int)
 
void HSD_SynthSFXStopRange (int)
 
void HSD_SynthSFXPause (int)
 
void HSD_SynthSFXResume (int)
 
int HSD_SynthSFXCheck (int)
 
void HSD_SynthSFXSetVolumeFade (int, u8, int)
 
void HSD_SynthSFXSetUserVol (int, u8)
 
void HSD_SynthSFXSetMix (int, float, float, float)
 
void HSD_SynthSFXUpdatePitch (struct HSD_SynthSFXNode *)
 
void HSD_SynthSFXSetPitchRatio (int, int, float)
 
void HSD_SynthSFXSetPriority (int id, int prio)
 
UNK_RET HSD_Synth_8038A000 (UNK_PARAMS)
 
void HSD_SynthSFXUpdateVolume (struct HSD_SynthSFXNode *)
 HSD_Synth_8038A000
 
void HSD_SynthSFXUpdateMix (struct HSD_SynthSFXNode *, int)
 
void HSD_SynthSFXUpdateAllVolume (int, u16, int)
 
void HSD_SynthSFXSetDriverInactivatedCallback (UNK_T)
 
void HSD_SynthSFXSetDriverMasterClockCallback (UNK_T)
 
void HSD_SynthSFXSetDriverPauseCallback (UNK_T)
 
void HSD_SynthCallback (void)
 
void HSD_SynthResetStreamCounters (int, int, void *, bool)
 
void HSD_Synth_8038AD74 (u32, uintptr_t)
 
UNK_RET HSD_Synth_8038ADD0 (UNK_PARAMS)
 
UNK_RET HSD_Synth_8038B120 (UNK_PARAMS)
 
void HSD_SynthPStreamFirstHakoHeaderCallback (void)
 #HSD_Synth_8038ADD0(void)
 
void HSD_SynthPStreamHeaderCallback (int, int, void *, bool cancelflag)
 
int HSD_Synth_8038B5AC (int, u8, u8, int)
 
void HSD_SynthStreamSetVolume (float)
 
void HSD_SynthInit (int, int, int, int)
 

Function Documentation

◆ HSD_AudioMalloc()

void * HSD_AudioMalloc ( size_t  size)

◆ HSD_AudioFree()

void HSD_AudioFree ( void *  ptr)

◆ HSD_SynthSFXSampleLoadCallback()

void HSD_SynthSFXSampleLoadCallback ( int  ,
int  ,
void *  ,
int  cancelflag 
)

◆ HSD_SynthSFXLoadNewProc()

void HSD_SynthSFXLoadNewProc ( void  )

◆ HSD_SynthSFXLoad()

int HSD_SynthSFXLoad ( const char *  filename,
int  bankID,
int  flags,
int  mode 
)

◆ HSD_SynthSFXWaitForLoadCompletion()

void HSD_SynthSFXWaitForLoadCompletion ( void(*)(void)  callback)

◆ HSD_SynthSFXGetPendingLoadCount()

int HSD_SynthSFXGetPendingLoadCount ( void  )

◆ HSD_SynthSFXCancelLoad()

int HSD_SynthSFXCancelLoad ( int  entrynum)

◆ HSD_SynthSFXAllocateBank()

void HSD_SynthSFXAllocateBank ( int  size)

◆ HSD_SynthSFXUnloadBank()

void HSD_SynthSFXUnloadBank ( int  bank_id)

◆ HSD_Synth_80388DC8()

void HSD_Synth_80388DC8 ( int  sfx_id)
Todo:
Currently 97.2% match - add instruction uses r4 instead of r5 as destination (register allocation swap for prev/cur)

◆ HSD_Synth_80388E08()

void HSD_Synth_80388E08 ( int  sfx_id)
Todo:
AXVPB prev must be a signed int type, not a pointer

◆ HSD_SynthSFXGroupDataReaddress()

void HSD_SynthSFXGroupDataReaddress ( AXVPB *  ,
void *  callback 
)

◆ HSD_SynthSFXBankDeflag()

void HSD_SynthSFXBankDeflag ( int  bank_id)

◆ HSD_SynthSFXBankDeflagSync()

void HSD_SynthSFXBankDeflagSync ( void  )

◆ HSD_SynthGetSoundMode()

u32 HSD_SynthGetSoundMode ( void  )

◆ HSD_SynthSetSoundMode()

void HSD_SynthSetSoundMode ( int  mode)

◆ HSD_SynthSFXStopNode()

void HSD_SynthSFXStopNode ( struct HSD_SynthSFXNode node)

◆ dropcallback()

void dropcallback ( void *  dropped)
Todo:
Currently ~90% match - second loop uses pointer arithmetic instead of indexed store (stwx). Stack frame is 8 bytes too large.

Search HSD_Synth_804C28E0 queue for this voice and remove it

Secondary voice - follow to primary node

◆ HSD_SynthSFXPlayWithGroup()

bool HSD_SynthSFXPlayWithGroup ( int  sfx_id,
u8  vol,
u8  vol2,
u8  pan,
int  priority,
u8  itd_flag,
int  group,
f32  pitch1,
f32  pitch2,
f32  mix_main,
f32  mix_auxA,
f32  mix_auxB 
)

◆ HSD_SynthSFXKeyOff()

void HSD_SynthSFXKeyOff ( int  id)

◆ HSD_SynthSFXStopRange()

void HSD_SynthSFXStopRange ( int  bank_id)

◆ HSD_SynthSFXPause()

void HSD_SynthSFXPause ( int  sfx_id)

◆ HSD_SynthSFXResume()

void HSD_SynthSFXResume ( int  sfx_id)

◆ HSD_SynthSFXCheck()

int HSD_SynthSFXCheck ( int  sfx_id)

◆ HSD_SynthSFXSetVolumeFade()

void HSD_SynthSFXSetVolumeFade ( int  sfx_id,
u8  vol,
int  flag 
)

◆ HSD_SynthSFXSetUserVol()

void HSD_SynthSFXSetUserVol ( int  sfx_id,
u8  vol 
)

◆ HSD_SynthSFXSetMix()

void HSD_SynthSFXSetMix ( int  sfx_id,
float  mix_main,
float  mix_auxA,
float  mix_auxB 
)

◆ HSD_SynthSFXUpdatePitch()

void HSD_SynthSFXUpdatePitch ( struct HSD_SynthSFXNode node)

◆ HSD_SynthSFXSetPitchRatio()

void HSD_SynthSFXSetPitchRatio ( int  sfx_id,
int  flag,
float  ratio 
)

◆ HSD_SynthSFXSetPriority()

void HSD_SynthSFXSetPriority ( int  id,
int  prio 
)

◆ HSD_Synth_8038A000()

UNK_RET HSD_Synth_8038A000 ( UNK_PARAMS  )

◆ HSD_SynthSFXUpdateVolume()

void HSD_SynthSFXUpdateVolume ( struct HSD_SynthSFXNode node)

◆ HSD_SynthSFXUpdateMix()

void HSD_SynthSFXUpdateMix ( struct HSD_SynthSFXNode node,
int  interpolate 
)

◆ HSD_SynthSFXUpdateAllVolume()

void HSD_SynthSFXUpdateAllVolume ( int  vol,
u16  fade_frames,
int  channel 
)

◆ HSD_SynthSFXSetDriverInactivatedCallback()

void HSD_SynthSFXSetDriverInactivatedCallback ( UNK_T  callback)

◆ HSD_SynthSFXSetDriverMasterClockCallback()

void HSD_SynthSFXSetDriverMasterClockCallback ( UNK_T  callback)

◆ HSD_SynthSFXSetDriverPauseCallback()

void HSD_SynthSFXSetDriverPauseCallback ( UNK_T  callback)

◆ HSD_SynthCallback()

void HSD_SynthCallback ( void  )

◆ HSD_SynthResetStreamCounters()

void HSD_SynthResetStreamCounters ( int  result,
int  length,
void *  buf,
bool  b 
)

◆ HSD_Synth_8038AD74()

void HSD_Synth_8038AD74 ( u32  offset,
uintptr_t  src 
)

◆ HSD_Synth_8038ADD0()

UNK_RET HSD_Synth_8038ADD0 ( UNK_PARAMS  )

◆ HSD_Synth_8038B120()

UNK_RET HSD_Synth_8038B120 ( UNK_PARAMS  )

◆ HSD_SynthPStreamFirstHakoHeaderCallback()

void HSD_SynthPStreamFirstHakoHeaderCallback ( void  )

#HSD_Synth_8038ADD0(void)

HSD_Synth_8038B120

◆ HSD_SynthPStreamHeaderCallback()

void HSD_SynthPStreamHeaderCallback ( int  ,
int  ,
void *  ,
bool  cancelflag 
)

◆ HSD_Synth_8038B5AC()

int HSD_Synth_8038B5AC ( int  entrynum,
u8  vol,
u8  vol2,
int  channel 
)

◆ HSD_SynthStreamSetVolume()

void HSD_SynthStreamSetVolume ( float  )

◆ HSD_SynthInit()

void HSD_SynthInit ( int  dsp_size,
int  voices,
int  stream_size,
int  bank_size 
)

Loop unrolled to match original binary (loop version adds 8 bytes to stack frame due to compiler allocating space for the counter)