mirror of
https://github.com/PrimeDecomp/prime.git
synced 2025-12-08 15:04:54 +00:00
Give MusyX it's own types
This commit is contained in:
@@ -1,30 +1,81 @@
|
||||
#ifndef MUSYX_H
|
||||
#define MUSYX_H
|
||||
|
||||
#include "types.h"
|
||||
typedef signed char s8;
|
||||
typedef unsigned char u8;
|
||||
typedef signed short s16;
|
||||
typedef unsigned short u16;
|
||||
typedef signed long s32;
|
||||
typedef unsigned long u32;
|
||||
typedef float f32;
|
||||
typedef double f64;
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL 0
|
||||
#endif
|
||||
|
||||
#ifndef bool8
|
||||
typedef unsigned char bool8;
|
||||
#endif
|
||||
#ifndef bool
|
||||
typedef signed long bool;
|
||||
#define FALSE 0
|
||||
#define TRUE 1
|
||||
#endif
|
||||
|
||||
#define SND_STUDIO_MAXNUM 8
|
||||
|
||||
#define SND_STUDIO_DEFAULT 0
|
||||
#define SND_STUDIO_NONE 0xFF
|
||||
|
||||
#define SYNTH_MAX_VOICES 64
|
||||
|
||||
typedef u32 SND_SEQID;
|
||||
typedef u32 SND_VOICEID;
|
||||
typedef u32 SND_STREAMID;
|
||||
typedef u16 SND_GROUPID;
|
||||
typedef u16 SND_SONGID;
|
||||
typedef u16 SND_FXID;
|
||||
|
||||
typedef enum {
|
||||
SND_OUTPUTMODE_MONO = 0,
|
||||
SND_OUTPUTMODE_STEREO,
|
||||
SND_OUTPUTMODE_SURROUND,
|
||||
} SND_OUTPUTMODE;
|
||||
|
||||
typedef struct SND_PLAYBACKINFO {
|
||||
u32 frq;
|
||||
u8 stereo;
|
||||
u8 bits;
|
||||
s8 deviceName[256];
|
||||
s8 versionText[256];
|
||||
} SND_PLAYBACKINFO;
|
||||
|
||||
typedef struct SND_SEQVOLDEF {
|
||||
u8 track;
|
||||
u8 volGroup;
|
||||
} SND_SEQVOLDEF;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct _SynthInfo {
|
||||
u32 freq;
|
||||
u8 unk[0x20c];
|
||||
u8 voices;
|
||||
u8 music;
|
||||
u8 sfx;
|
||||
u8 studios;
|
||||
} SynthInfo;
|
||||
|
||||
typedef struct _SND_HOOKS {
|
||||
typedef struct SND_HOOKS {
|
||||
void* (*malloc)(u32 len);
|
||||
void (*free)(void* addr);
|
||||
} SND_HOOKS;
|
||||
|
||||
typedef struct SND_FVECTOR {
|
||||
f32 x;
|
||||
f32 y;
|
||||
f32 z;
|
||||
} SND_FVECTOR;
|
||||
|
||||
typedef struct SND_FMATRIX {
|
||||
f32 m[3][3];
|
||||
f32 t[3];
|
||||
} SND_FMATRIX;
|
||||
|
||||
#define SND_AUX_NUMPARAMETERS 4
|
||||
|
||||
#define SND_AUX_REASON_BUFFERUPDATE 0
|
||||
@@ -97,10 +148,10 @@ typedef struct SND_AUX_DELAY {
|
||||
} SND_AUX_DELAY;
|
||||
|
||||
void sndAuxCallbackDelay(u8 reason, SND_AUX_INFO* info, void* user);
|
||||
s32 sndAuxCallbackUpdateSettingsDelay(SND_AUX_DELAY* delay);
|
||||
s32 sndAuxCallbackPrepareDelay(SND_AUX_DELAY* rev);
|
||||
s32 sndAuxCallbackShutdownDelay(SND_AUX_DELAY* rev);
|
||||
s32 sndAuxCallbackUpdateSettingsReverbHI(SND_AUX_REVERBHI* rev);
|
||||
bool sndAuxCallbackUpdateSettingsDelay(SND_AUX_DELAY* delay);
|
||||
bool sndAuxCallbackPrepareDelay(SND_AUX_DELAY* rev);
|
||||
bool sndAuxCallbackShutdownDelay(SND_AUX_DELAY* rev);
|
||||
bool sndAuxCallbackUpdateSettingsReverbHI(SND_AUX_REVERBHI* rev);
|
||||
|
||||
typedef struct _SND_REVSTD_DELAYLINE {
|
||||
s32 inPoint;
|
||||
@@ -135,20 +186,32 @@ typedef struct SND_AUX_REVERBSTD {
|
||||
} SND_AUX_REVERBSTD;
|
||||
|
||||
void sndAuxCallbackReverbSTD(u8 reason, SND_AUX_INFO* info, void* user);
|
||||
s32 sndAuxCallbackPrepareReverbSTD(SND_AUX_REVERBSTD* rev);
|
||||
s32 sndAuxCallbackShutdownReverbSTD(SND_AUX_REVERBSTD* rev);
|
||||
s32 sndAuxCallbackUpdateSettingsReverbSTD(SND_AUX_REVERBSTD* rev);
|
||||
bool sndAuxCallbackPrepareReverbSTD(SND_AUX_REVERBSTD* rev);
|
||||
bool sndAuxCallbackShutdownReverbSTD(SND_AUX_REVERBSTD* rev);
|
||||
bool sndAuxCallbackUpdateSettingsReverbSTD(SND_AUX_REVERBSTD* rev);
|
||||
|
||||
typedef struct SND_FVECTOR {
|
||||
f32 x;
|
||||
f32 y;
|
||||
f32 z;
|
||||
} SND_FVECTOR;
|
||||
typedef struct SND_PARAMETER {
|
||||
u8 ctrl;
|
||||
union {
|
||||
u8 value7;
|
||||
u16 value14;
|
||||
} paraData;
|
||||
} SND_PARAMETER;
|
||||
|
||||
typedef struct SND_FMATRIX {
|
||||
f32 m[3][3];
|
||||
f32 t[3];
|
||||
} SND_FMATRIX;
|
||||
typedef struct SND_PARAMETER_INFO {
|
||||
u8 numPara;
|
||||
SND_PARAMETER* paraArray;
|
||||
|
||||
} SND_PARAMETER_INFO;
|
||||
|
||||
#define sndFXStart(fid,vol,pan) sndFXStartEx(fid,vol,pan,SND_STUDIO_DEFAULT)
|
||||
SND_VOICEID sndFXStartEx(SND_FXID fid,u8 vol,u8 pan,u8 studio);
|
||||
SND_VOICEID sndFXStartPara(SND_FXID fid,u8 vol,u8 pan,u8 studio,u8 numPara,...);
|
||||
SND_VOICEID sndFXStartParaInfo(SND_FXID fid,u8 vol,u8 pan,u8 studio,SND_PARAMETER_INFO *paraInfo);
|
||||
SND_VOICEID sndFXCheck(SND_VOICEID vid);
|
||||
bool sndFXKeyOff(SND_VOICEID vid);
|
||||
bool sndFXCtrl(SND_VOICEID vid,u8 ctrl,u8 value);
|
||||
bool sndFXCtrl14(SND_VOICEID vid,u8 ctrl,u16 value);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -6,6 +6,16 @@
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct _SynthInfo {
|
||||
u32 freq;
|
||||
u8 unk[0x20c];
|
||||
u8 voices;
|
||||
u8 music;
|
||||
u8 sfx;
|
||||
u8 studios;
|
||||
} SynthInfo;
|
||||
|
||||
typedef s32 (*SND_COMPARE)(u16*, u8*);
|
||||
|
||||
void dataInit(u32, s32); /* extern */
|
||||
|
||||
Reference in New Issue
Block a user