Merge branch 'main' of https://github.com/abnormalhare/marioparty4
This commit is contained in:
commit
d0b4bbe122
99 changed files with 19362 additions and 7057 deletions
34
include/REL/m428Dll.h
Normal file
34
include/REL/m428Dll.h
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
#ifndef M428DLL_H
|
||||
#define M428DLL_H
|
||||
|
||||
#include "game/object.h"
|
||||
|
||||
s32 fn_1_26E0(void);
|
||||
void fn_1_4170(s16 arg0, s32 arg1);
|
||||
|
||||
void fn_1_4324(s32 arg0, Vec *arg1, Vec *arg2, Vec *arg3);
|
||||
void fn_1_43C8(Process *arg0);
|
||||
void fn_1_4630(void);
|
||||
u8 fn_1_9990(Vec *arg0);
|
||||
void fn_1_9A30(u8 arg0, float arg8, Vec *arg1, Vec *arg2, float arg9);
|
||||
void fn_1_9ADC(u8 arg0);
|
||||
void fn_1_9DE8(u8 arg0, float arg8, s8 arg1);
|
||||
void fn_1_9EA8(u8 arg0);
|
||||
|
||||
omObjData *fn_1_9F5C(Process *process);
|
||||
void fn_1_A0B0(void);
|
||||
s32 fn_1_F354(void);
|
||||
s32 fn_1_F3BC(s32 arg0);
|
||||
void fn_1_F414(s32 arg0);
|
||||
void fn_1_F454(s32 arg0, s32 arg1);
|
||||
void fn_1_F46C(s32 arg0, s32 arg1);
|
||||
void fn_1_F4B4(s32 arg0, s32 arg1, float arg8);
|
||||
s32 fn_1_F4E8(s32 arg0);
|
||||
void fn_1_116C4(s32 arg0, s32 arg1);
|
||||
void fn_1_11754(s32 arg0, float arg8);
|
||||
void fn_1_11798(s32 arg0);
|
||||
|
||||
extern s16 lbl_1_bss_50[4];
|
||||
extern s32 lbl_1_bss_18;
|
||||
|
||||
#endif
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef M4303LL_H
|
||||
#define M4303LL_H
|
||||
#ifndef M430DLL_H
|
||||
#define M430DLL_H
|
||||
|
||||
#include "game/object.h"
|
||||
|
||||
|
|
|
|||
99
include/REL/mstory3Dll.h
Executable file
99
include/REL/mstory3Dll.h
Executable file
|
|
@ -0,0 +1,99 @@
|
|||
#ifndef MSTORY3DLL_H
|
||||
#define MSTORY3DLL_H
|
||||
|
||||
#include "game/object.h"
|
||||
#include "game/process.h"
|
||||
|
||||
#include "dolphin.h"
|
||||
|
||||
// For future reference: seems to be identical to StructFn352C in mstoryDll.
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 unk00;
|
||||
/* 0x04 */ s32 unk04;
|
||||
/* 0x08 */ s32 unk08;
|
||||
/* 0x0C */ s32 unk0C;
|
||||
/* 0x10 */ s32 unk10;
|
||||
/* 0x14 */ s32 unk14;
|
||||
/* 0x18 */ s32 unk18;
|
||||
/* 0x1C */ s32 unk1C;
|
||||
/* 0x20 */ s32 unk20;
|
||||
/* 0x24 */ s32 unk24;
|
||||
/* 0x28 */ s32 unk28;
|
||||
/* 0x2C */ s32 unk2C;
|
||||
/* 0x30 */ char unk30[4];
|
||||
} StructFn352C; // Size 0x34
|
||||
|
||||
// For future reference: seems to be identical to StructBss4 in mstoryDll.
|
||||
typedef struct {
|
||||
/* 0x00 */ void (*unk00)(void);
|
||||
/* 0x04 */ void (*unk04)(void);
|
||||
/* 0x08 */ Vec unk08;
|
||||
/* 0x14 */ float unk14;
|
||||
/* 0x18 */ float unk18;
|
||||
/* 0x1C */ float unk1C;
|
||||
/* 0x20 */ Vec unk20;
|
||||
/* 0x2C */ float unk2C;
|
||||
/* 0x30 */ float unk30;
|
||||
/* 0x34 */ float unk34;
|
||||
/* 0x38 */ float unk38;
|
||||
/* 0x3C */ float unk3C;
|
||||
/* 0x40 */ s32 unk40;
|
||||
} StructBss4; // Size 0x44
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ omObjData* unk00;
|
||||
/* 0x04 */ void (*unk04)(omObjData*, ...);
|
||||
/* 0x08 */ s32 unk08;
|
||||
/* 0x0C */ s32 unk0C;
|
||||
/* 0x10 */ s32 unk10;
|
||||
/* 0x14 */ s32 unk14;
|
||||
/* 0x18 */ s32 unk18;
|
||||
/* 0x1C */ s32 unk1C;
|
||||
/* 0x20 */ char unk20[8];
|
||||
} StructBss1530; // Size 0x28
|
||||
|
||||
// main.c
|
||||
float fn_1_5D4(float arg8, float arg9, float argA, float argB);
|
||||
float fn_1_5FC(float arg8, float arg9, float argA);
|
||||
float fn_1_61C(float arg0, float arg1, float arg2, float arg3);
|
||||
float fn_1_6F4(float arg0, float arg1, float arg2, float arg3);
|
||||
float fn_1_7BC(float arg0, float arg1, float arg2, float arg3);
|
||||
float fn_1_878(float arg0, float arg1, float arg2, float arg3);
|
||||
void fn_1_938(void);
|
||||
void fn_1_958(s32 arg0);
|
||||
void fn_1_9A0(void);
|
||||
void fn_1_9C4(void);
|
||||
s32 fn_1_1624(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
|
||||
s32 fn_1_1834(u32 arg0, s32 arg1);
|
||||
void fn_1_1A24(s32 arg0);
|
||||
void fn_1_1AB0(s32 arg0);
|
||||
void fn_1_1B18(s32 arg0, s32 arg1);
|
||||
void fn_1_1D44(s32 arg0, s32 arg1);
|
||||
void fn_1_1E28(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
|
||||
void fn_1_2280(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
void fn_1_2310(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
void fn_1_2420(s32 arg0, s32 arg1);
|
||||
void fn_1_2834(void (*arg0)(void));
|
||||
void fn_1_290C(Process* arg0, void (*arg1)(void));
|
||||
void fn_1_2DD4(omObjData* arg0, s32 arg1, Vec arg2, float arg3, float arg4, float arg5);
|
||||
void fn_1_35C8(s16 arg0);
|
||||
void fn_1_3650(StructFn352C* arg0, s32 arg1);
|
||||
s32 fn_1_36E4(void);
|
||||
s32 fn_1_373C(void);
|
||||
s32 fn_1_37C8(s32 arg0);
|
||||
void fn_1_38B4(void);
|
||||
void fn_1_39B4(StructBss4* arg0);
|
||||
void fn_1_4400(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3, float arg4);
|
||||
void fn_1_4CC0(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3);
|
||||
void fn_1_514C(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3, float arg4);
|
||||
|
||||
// result_seq.c
|
||||
void fn_1_6E34(Process* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
|
||||
|
||||
// result.c
|
||||
void fn_1_157F0(Process* arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
|
||||
extern StructBss4 lbl_1_bss_4;
|
||||
extern s32 lbl_1_data_0[][4];
|
||||
|
||||
#endif
|
||||
|
|
@ -20,6 +20,8 @@ void GXLoadPosMtxImm(f32 mtx[3][4], u32 id);
|
|||
void GXLoadNrmMtxImm(f32 mtx[3][4], u32 id);
|
||||
void GXLoadTexMtxImm(f32 mtx[][4], u32 id, GXTexMtxType type);
|
||||
#endif
|
||||
void GXProject(f32 x, f32 y, f32 z, const f32 mtx[3][4], const f32 *pm, const f32 *vp, f32 *sx, f32 *sy, f32 *sz);
|
||||
void GXGetViewportv(f32 *vp);
|
||||
void GXSetViewport(f32 left, f32 top, f32 wd, f32 ht, f32 nearz, f32 farz);
|
||||
void GXSetCurrentMtx(u32 id);
|
||||
void GXSetViewportJitter(f32 left, f32 top, f32 wd, f32 ht, f32 nearz, f32 farz, u32 field);
|
||||
|
|
|
|||
|
|
@ -15,10 +15,10 @@ void GWCharColorGet(s32 character, GXColor *color);
|
|||
void GWBoardPlayCountSet(s32 board, u8 value);
|
||||
void GWBoardPlayCountAdd(s32 board, u8 value);
|
||||
u8 GWBoardPlayCountGet(s32 board);
|
||||
void GWBoardMaxStarsSet(s32 board, s32 value);
|
||||
u16 GWBoardMaxStarsGet(s32 board);
|
||||
void GWBoardMaxStarsSet(s32 board, s16 value);
|
||||
s32 GWBoardMaxStarsGet(s32 board);
|
||||
void GWBoardMaxCoinsSet(s32 board, s32 value);
|
||||
u16 GWBoardMaxCoinsGet(s32 board);
|
||||
s32 GWBoardMaxCoinsGet(s32 board);
|
||||
s32 GWBoardWinCountInc(s32 character, s32 board);
|
||||
s32 GWBoardWinCountGet(s32 character, s32 board);
|
||||
void GWBoardWinCountSet(s32 character, s32 board, s32 value);
|
||||
|
|
|
|||
|
|
@ -325,6 +325,11 @@ static inline s32 GWPlayerTeamGet(s32 player)
|
|||
return GWPlayer[player].team;
|
||||
}
|
||||
|
||||
static inline s32 GWPlayerHandicapGet(s32 player)
|
||||
{
|
||||
return GWPlayer[player].handicap;
|
||||
}
|
||||
|
||||
static inline s32 GWLuckyValueGet(void)
|
||||
{
|
||||
return GWSystem.lucky_value;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
#include "dolphin.h"
|
||||
#include "musyx/musyx.h"
|
||||
#include "game/msm_data.h"
|
||||
|
||||
#define MSM_SEPARAM_NONE 0
|
||||
#define MSM_SEPARAM_VOL (1 << 0)
|
||||
|
|
@ -40,25 +41,24 @@
|
|||
#define MSM_ERR_READFAIL -2
|
||||
#define MSM_ERR_OUTOFMEM -10
|
||||
#define MSM_ERR_OUTOFAMEM -20
|
||||
#define MSM_ERR_INITFAIL -20
|
||||
#define MSM_ERR_1E -30
|
||||
#define MSM_ERR_INITFAIL -30
|
||||
#define MSM_ERR_INVALID_AUXPARAM -31
|
||||
#define MSM_ERR_20 -32
|
||||
#define MSM_ERR_GRP_FAILPUSH -32
|
||||
#define MSM_ERR_PLAYFAIL -33
|
||||
#define MSM_ERR_22 -34
|
||||
#define MSM_LISTENER_NO_UPDATA -34
|
||||
#define MSM_ERR_STREAMALLOC_FAIL -35
|
||||
#define MSM_ERR_INSTALLED -36
|
||||
#define MSM_ERR_64 -100
|
||||
#define MSM_ERR_65 -101
|
||||
#define MSM_ERR_STACK_OVERFLOW -101
|
||||
#define MSM_ERR_GRP_NOTLOADED -103
|
||||
#define MSM_ERR_6E -110
|
||||
#define MSM_ERR_6F -111
|
||||
#define MSM_ERR_CHANLIMIT -110
|
||||
#define MSM_ERR_INVALIDSE -111
|
||||
#define MSM_ERR_INVALIDID -120
|
||||
#define MSM_ERR_INVALIDFILE -121
|
||||
#define MSM_ERR_REMOVEDID -122
|
||||
#define MSM_ERR_MUSGRP_NOTLOADED -123
|
||||
#define MSM_ERR_OUTOFMUS -130
|
||||
#define MSM_ERR_8C -140
|
||||
#define MSM_ERR_RANGE_STREAM -140
|
||||
|
||||
#define MSM_VOL_MAX 127
|
||||
#define MSM_PAN_LEFT 32
|
||||
|
|
@ -132,19 +132,6 @@ typedef struct msmSeParam_s {
|
|||
Vec pos;
|
||||
} MSM_SEPARAM;
|
||||
|
||||
typedef struct msmSe_s {
|
||||
u16 groupId;
|
||||
u16 fxId;
|
||||
s8 vol;
|
||||
s8 pan;
|
||||
s16 pitchBend;
|
||||
u8 span;
|
||||
u8 reverb;
|
||||
u8 chorus;
|
||||
s8 doppler;
|
||||
s8 comp;
|
||||
u8 pad[3];
|
||||
} MSMSE;
|
||||
|
||||
typedef struct msmSeListener_s {
|
||||
s32 flag;
|
||||
|
|
@ -173,10 +160,11 @@ typedef struct msmStreamParam_s {
|
|||
} MSM_STREAMPARAM;
|
||||
|
||||
s32 msmSysInit(MSM_INIT *init, MSM_ARAM *aram);
|
||||
s32 msmSysSetOutputMode(SND_OUTPUTMODE mode);
|
||||
BOOL msmSysSetOutputMode(SND_OUTPUTMODE mode);
|
||||
s32 msmSysDelGroupAll(void);
|
||||
s32 msmSysGetSampSize(BOOL baseGrp);
|
||||
s32 msmSysDelGroupBase(s32 grpNum);
|
||||
s32 msmSysSetAux(s32 auxA, s32 auxB);
|
||||
|
||||
s32 msmSeSetParam(int seNo, MSM_SEPARAM *param);
|
||||
int msmSePlay(int seId, MSM_SEPARAM *param);
|
||||
|
|
@ -190,6 +178,8 @@ void msmSeDelListener(void);
|
|||
s32 msmSeGetStatus(int seNo);
|
||||
s32 msmSeGetNumPlay(BOOL baseGrp);
|
||||
s32 msmSeGetEntryID(s32 seId, int *seNo);
|
||||
void msmSeSetMasterVolume(s32 vol);
|
||||
MSM_SE* msmSeGetIndexPtr(s32 seId);
|
||||
|
||||
int msmMusPlay(int musId, MSM_MUSPARAM *musParam);
|
||||
s32 msmMusStop(int musNo, s32 speed);
|
||||
|
|
@ -199,6 +189,8 @@ s32 msmMusGetMidiCtrl(int musNo, s32 channel, s32 ctrl);
|
|||
void msmMusStopAll(BOOL checkGrp, s32 speed);
|
||||
s32 msmMusGetStatus(int musNo);
|
||||
s32 msmMusGetNumPlay(BOOL baseGrp);
|
||||
s32 msmMusSetParam(s32 musNo, MSM_MUSPARAM *param);
|
||||
void msmMusSetMasterVolume(s32 vol);
|
||||
|
||||
int msmStreamPlay(int streamId, MSM_STREAMPARAM *streamParam);
|
||||
s32 msmStreamStop(int streamNo, s32 speed);
|
||||
|
|
@ -207,5 +199,7 @@ s32 msmStreamPause(int streamNo, BOOL pause, s32 speed);
|
|||
|
||||
void msmStreamStopAll(s32 speed);
|
||||
s32 msmStreamGetStatus(int streamNo);
|
||||
void msmStreamSetMasterVolume(s32 arg0);
|
||||
void msmStreamSetOutputMode(s32 outputMode);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
185
include/game/msm_data.h
Normal file
185
include/game/msm_data.h
Normal file
|
|
@ -0,0 +1,185 @@
|
|||
#ifndef _MSM_DATA_H
|
||||
#define _MSM_DATA_H
|
||||
|
||||
#include "dolphin.h"
|
||||
#include "musyx/musyx.h"
|
||||
|
||||
#define MSM_STREAM_FLAG_STEREO 0x1
|
||||
#define MSM_STREAM_FLAG_LOOP 0x2
|
||||
|
||||
#define MSM_FILE_VERSION 2
|
||||
#define MSM_PDT_FILE_VERSION 1
|
||||
|
||||
typedef struct MSMHeader_s {
|
||||
s32 magic;
|
||||
s32 version;
|
||||
s32 endOfs;
|
||||
s32 endSize;
|
||||
s32 infoOfs;
|
||||
u32 infoSize;
|
||||
s32 auxParamOfs;
|
||||
u32 auxParamSize;
|
||||
s32 grpInfoOfs;
|
||||
s32 grpInfoSize;
|
||||
s32 musOfs;
|
||||
s32 musSize;
|
||||
s32 seOfs;
|
||||
s32 seSize;
|
||||
s32 grpDataOfs;
|
||||
s32 grpDataSize;
|
||||
s32 sampOfs;
|
||||
s32 sampSize;
|
||||
s32 dummyMusOfs;
|
||||
s32 dummyMusSize;
|
||||
s32 grpSetOfs;
|
||||
s32 grpSetSize;
|
||||
s32 pad[2];
|
||||
} MSM_HEADER; // sizeof 0x60
|
||||
|
||||
typedef struct MSMInfo_s {
|
||||
s8 voices;
|
||||
s8 music;
|
||||
s8 sfx;
|
||||
s8 grpMax;
|
||||
s16 musMax;
|
||||
s16 seMax;
|
||||
s8 musChanMax;
|
||||
s8 stackDepthA;
|
||||
s8 stackDepthB;
|
||||
s8 surroundF;
|
||||
s8 unkC[2];
|
||||
s8 auxParamA;
|
||||
s8 auxParamB;
|
||||
s32 minMem;
|
||||
s32 aramSize;
|
||||
s32 grpBufSizeA;
|
||||
s32 grpBufSizeB;
|
||||
s32 dummyMusSize;
|
||||
s32 unk24;
|
||||
s8 baseGrpNum;
|
||||
s8 baseGrp[23];
|
||||
} MSM_INFO;
|
||||
|
||||
typedef struct {
|
||||
u32 tempDisableFX;
|
||||
f32 coloration;
|
||||
f32 mix;
|
||||
f32 time;
|
||||
f32 damping;
|
||||
f32 preDelay;
|
||||
f32 crosstalk;
|
||||
} MSM_AUXPARAM_REVERBHI;
|
||||
|
||||
typedef struct {
|
||||
u32 tempDisableFX;
|
||||
f32 coloration;
|
||||
f32 mix;
|
||||
f32 time;
|
||||
f32 damping;
|
||||
f32 preDelay;
|
||||
f32 crosstalk;
|
||||
} MSM_AUXPARAM_REVERBSTD;
|
||||
|
||||
typedef struct {
|
||||
u32 baseDelay;
|
||||
u32 variation;
|
||||
u32 period;
|
||||
} MSM_AUXPARAM_CHORUS;
|
||||
|
||||
typedef struct {
|
||||
u32 delay[3];
|
||||
u32 feedback[3];
|
||||
u32 output[3];
|
||||
} MSM_AUXPARAM_DELAY;
|
||||
|
||||
typedef struct MSMAuxParam_s {
|
||||
s8 type;
|
||||
u8 pad[3];
|
||||
union {
|
||||
MSM_AUXPARAM_REVERBHI revHi;
|
||||
MSM_AUXPARAM_REVERBSTD revStd;
|
||||
MSM_AUXPARAM_CHORUS chorus;
|
||||
MSM_AUXPARAM_DELAY delay;
|
||||
};
|
||||
} MSM_AUXPARAM;
|
||||
|
||||
typedef struct MSMSe_s {
|
||||
SND_GROUPID gid;
|
||||
SND_FXID fxId;
|
||||
s8 vol;
|
||||
s8 pan;
|
||||
s16 pitchBend;
|
||||
u8 span;
|
||||
u8 reverb;
|
||||
u8 chorus;
|
||||
s8 emitterF;
|
||||
s8 emiComp;
|
||||
u8 pad[3];
|
||||
} MSM_SE;
|
||||
|
||||
typedef struct MSMMus_s {
|
||||
SND_GROUPID sgid;
|
||||
SND_SONGID sid;
|
||||
s32 songOfs;
|
||||
s32 songSize;
|
||||
s8 songGrp;
|
||||
s8 vol;
|
||||
u8 pad[2];
|
||||
} MSM_MUS; // Size 0x10
|
||||
|
||||
typedef struct MSMGrpHead_s {
|
||||
s32 poolOfs;
|
||||
s32 projOfs;
|
||||
s32 sdirOfs;
|
||||
s32 sngOfs;
|
||||
} MSM_GRP_HEAD;
|
||||
|
||||
typedef struct MSMGrpInfo_s {
|
||||
SND_GROUPID gid;
|
||||
s8 stackNo;
|
||||
s8 subGrpId;
|
||||
s32 dataOfs;
|
||||
s32 dataSize;
|
||||
s32 sampOfs;
|
||||
s32 sampSize;
|
||||
u8 pad[12];
|
||||
} MSM_GRP_INFO;
|
||||
|
||||
typedef struct MSMGrpSet_s {
|
||||
s8 numGrpSet;
|
||||
s8 grpSetW;
|
||||
s8 data[1];
|
||||
} MSM_GRP_SET;
|
||||
|
||||
typedef struct MSMStreamHeader_s {
|
||||
s16 version;
|
||||
s16 streamMax;
|
||||
s32 chanMax;
|
||||
s32 sampleFrq;
|
||||
s32 maxBufs;
|
||||
u32 streamPackListOfs;
|
||||
u32 adpcmParamOfs;
|
||||
u32 streamPackOfs;
|
||||
u32 sampleOfs;
|
||||
} MSM_STREAM_HEADER;
|
||||
|
||||
typedef struct MSMStream_s {
|
||||
s32 sampleOfs;
|
||||
s16 adpcmParamIdx;
|
||||
u16 pad;
|
||||
} MSM_STREAM;
|
||||
|
||||
typedef struct MSMStreamPack_s {
|
||||
s8 flag;
|
||||
s8 vol;
|
||||
s8 pan;
|
||||
s8 span;
|
||||
s8 auxA;
|
||||
s8 auxB;
|
||||
u16 frq;
|
||||
u32 loopOfsEnd;
|
||||
u32 loopOfsStart;
|
||||
MSM_STREAM stream[2];
|
||||
} MSM_STREAM_PACK; // Size unknown
|
||||
|
||||
#endif
|
||||
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
void msmMemFree(void *);
|
||||
void *msmMemAlloc(u32);
|
||||
void msmMemInit(void *, u32);
|
||||
void msmMemFree(void *ptr);
|
||||
void *msmMemAlloc(u32 sze);
|
||||
void msmMemInit(void *ptr, u32 size);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -16,6 +16,6 @@ s32 msmMusPause(int musNo, BOOL pause, s32 speed);
|
|||
void msmMusStopAll(BOOL checkGrp, s32 speed);
|
||||
s32 msmMusStop(int musNo, s32 speed);
|
||||
int msmMusPlay(int musId, MSM_MUSPARAM* musParam);
|
||||
s32 msmMusInit(sysData* arg0, DVDFileInfo* arg1);
|
||||
s32 msmMusInit(MSM_SYS* arg0, DVDFileInfo* arg1);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
#include "msm/msmsys.h"
|
||||
|
||||
void msmSePeriodicProc(void);
|
||||
MSMSE* msmSeGetIndexPtr(s32 arg0);
|
||||
MSM_SE* msmSeGetIndexPtr(s32 arg0);
|
||||
void msmSeDelListener(void);
|
||||
s32 msmSeUpdataListener(Vec* pos, Vec* heading);
|
||||
s32 msmSeSetListener(Vec* pos, Vec* heading, float sndDist, float sndSpeed, MSM_SELISTENER* listener);
|
||||
|
|
@ -18,6 +18,6 @@ void msmSePauseAll(BOOL pause, s32 speed);
|
|||
void msmSeStopAll(BOOL checkGrp, s32 speed);
|
||||
s32 msmSeStop(int seNo, s32 speed);
|
||||
int msmSePlay(int seId, MSM_SEPARAM* param);
|
||||
s32 msmSeInit(sysData* arg0, DVDFileInfo* arg1);
|
||||
s32 msmSeInit(MSM_SYS* arg0, DVDFileInfo* arg1);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -13,10 +13,6 @@ void msmStreamSetOutputMode(s32 arg0);
|
|||
void msmStreamAmemFree(void);
|
||||
s32 msmStreamAmemAlloc(void);
|
||||
s32 msmStreamInit(char* arg0);
|
||||
void msmStreamPauseOff(s32 arg0);
|
||||
void msmStreamPauseOn(s32 streamNo, s32 arg1);
|
||||
s32 msmStreamPackStartStereo(s32 arg0, MSM_STREAMPARAM* arg1, s32 arg2);
|
||||
s32 msmStreamPackStartMono(s32 arg0, MSM_STREAMPARAM* arg1, s32 arg2);
|
||||
void msmStreamSlotOff(s32 streamNo);
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -5,167 +5,63 @@
|
|||
|
||||
#include "dolphin.h"
|
||||
|
||||
typedef struct {
|
||||
u32 tempDisableFX;
|
||||
f32 coloration;
|
||||
f32 mix;
|
||||
f32 time;
|
||||
f32 damping;
|
||||
f32 preDelay;
|
||||
f32 crosstalk;
|
||||
} SubStructRev;
|
||||
#define MSM_AUX_REVERBHI 0
|
||||
#define MSM_AUX_REVERBSTD 1
|
||||
#define MSM_AUX_CHORUS 2
|
||||
#define MSM_AUX_DELAY 3
|
||||
|
||||
typedef struct {
|
||||
u32 baseDelay;
|
||||
u32 variation;
|
||||
u32 period;
|
||||
} SubStructCh;
|
||||
|
||||
typedef struct {
|
||||
u32 delay[3];
|
||||
u32 feedback[3];
|
||||
u32 output[3];
|
||||
} SubDelay;
|
||||
|
||||
typedef struct _unkSubStruct {
|
||||
s8 unk0;
|
||||
union {
|
||||
SubStructRev rev;
|
||||
SubStructCh ch;
|
||||
SubDelay delay;
|
||||
};
|
||||
} unkSubStruct;
|
||||
#define MSM_AUXNO_NULL -2
|
||||
#define MSM_AUXNO_UNSET -1
|
||||
|
||||
typedef union {
|
||||
SND_AUX_REVERBHI revHi;
|
||||
SND_AUX_REVERBSTD revStd;
|
||||
SND_AUX_CHORUS ch;
|
||||
SND_AUX_CHORUS chorus;
|
||||
SND_AUX_DELAY delay;
|
||||
} UnkSndAuxUnion; // Size 0x1E0
|
||||
} MSM_AUX; // Size 0x1E0
|
||||
|
||||
typedef struct _unkSubStruct3 {
|
||||
char unk[0x4];
|
||||
s32 unk4;
|
||||
char unk8[0x8];
|
||||
s32 unk10; // offset
|
||||
u32 unk14; // length
|
||||
s32 unk18; // offset
|
||||
u32 unk1C; // length
|
||||
s32 unk20;
|
||||
s32 unk24;
|
||||
s32 unk28;
|
||||
s32 unk2C;
|
||||
s32 unk30;
|
||||
s32 unk34;
|
||||
s32 unk38;
|
||||
char unk3C[4];
|
||||
s32 unk40;
|
||||
char unk44[4];
|
||||
s32 unk48;
|
||||
char unk4C[4];
|
||||
s32 unk50;
|
||||
s32 unk54;
|
||||
char unk58[8];
|
||||
} unkSubStruct3; // sizeof 0x60
|
||||
typedef struct MSMGrpWork_s {
|
||||
s8 grpId;
|
||||
s8 baseGrpF;
|
||||
u32 num;
|
||||
void *buf;
|
||||
} MSM_GRP_STACK;
|
||||
|
||||
typedef struct _unkStruct3 {
|
||||
s32 unk0;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
} unkStruct3;
|
||||
|
||||
typedef struct _sndInitData {
|
||||
s8 unk0;
|
||||
s8 unk1;
|
||||
s8 unk2;
|
||||
s8 unk3;
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
s8 unk8;
|
||||
s8 unk9;
|
||||
s8 unkA;
|
||||
s8 unkB;
|
||||
char unkC[2];
|
||||
s8 unkE;
|
||||
s8 unkF;
|
||||
u32 unk10;
|
||||
s32 unk14;
|
||||
s32 unk18;
|
||||
s32 unk1C;
|
||||
s32 unk20;
|
||||
char unk24[4];
|
||||
s8 unk28;
|
||||
s8 unk29[10]; // size unknown
|
||||
} sndInitData;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s8 unk00;
|
||||
/* 0x01 */ s8 unk01;
|
||||
/* 0x02 */ char unk02[2];
|
||||
/* 0x04 */ u32 unk04;
|
||||
/* 0x08 */ void *unk08;
|
||||
} UnkStructSys43C; // Size 0xC
|
||||
|
||||
typedef struct _unkStruct4 {
|
||||
SND_GROUPID unk0;
|
||||
s8 unk2;
|
||||
s8 unk3;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
s32 unkC;
|
||||
s32 unk10;
|
||||
char unk14[0xC];
|
||||
} unkStruct4; // Size 0x20
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s8 unk00;
|
||||
/* 0x01 */ s8 unk01;
|
||||
/* 0x02 */ s8 unk02[1]; // unknown array length
|
||||
} UnkSys3F0Struct; // Size unknown
|
||||
|
||||
typedef struct _sysData {
|
||||
s32 unk0;
|
||||
s8 unk4;
|
||||
typedef struct MSMSys_s {
|
||||
s32 msmEntryNum;
|
||||
s8 outputMode;
|
||||
s8 unk5;
|
||||
s8 unk6;
|
||||
s8 unk7;
|
||||
s32 unk8;
|
||||
unkSubStruct3 *unkC;
|
||||
sndInitData *unk10;
|
||||
unkSubStruct *unk14;
|
||||
s8 unk18[2];
|
||||
s8 unk1A;
|
||||
s8 unk1B;
|
||||
UnkSndAuxUnion unk1C[2]; // 0: userA, 1: userB
|
||||
s8 unk3DC;
|
||||
char unk3DD[3];
|
||||
s32 unk3E0;
|
||||
u32 unk3E4;
|
||||
u32 unk3E8;
|
||||
unkStruct4 *unk3EC;
|
||||
UnkSys3F0Struct *unk3F0;
|
||||
s8 unk3F4;
|
||||
unkStruct3 *unk3F8[1]; // unknown array length
|
||||
char unk3FC[0x38];
|
||||
s8 unk434;
|
||||
u8 unk435;
|
||||
s8 unk436;
|
||||
char unk437[1];
|
||||
void *unk438;
|
||||
UnkStructSys43C unk43C[1]; // unknown array length
|
||||
char unk448[0x24];
|
||||
s8 unk46C;
|
||||
u8 unk46D;
|
||||
s8 unk46E;
|
||||
char unk46F[1];
|
||||
void *unk470;
|
||||
UnkStructSys43C unk474[1]; // unknown array length
|
||||
char unk480[0x6C];
|
||||
s32 unk4EC;
|
||||
BOOL unk4F0;
|
||||
AIDCallback unk4F4;
|
||||
s32 unk4F8;
|
||||
} sysData;
|
||||
s8 arInitF;
|
||||
s32 aramP;
|
||||
MSM_HEADER *header;
|
||||
MSM_INFO *info;
|
||||
MSM_AUXPARAM *auxParam;
|
||||
s8 auxParamNo[2];
|
||||
MSM_AUX aux[2]; // 0: userA, 1: userB
|
||||
s8 grpMax;
|
||||
s32 grpNum;
|
||||
u32 sampSize;
|
||||
u32 sampSizeBase;
|
||||
MSM_GRP_INFO *grpInfo;
|
||||
MSM_GRP_SET *grpSet;
|
||||
s8 baseGrpNum;
|
||||
MSM_GRP_HEAD *grpData[15];
|
||||
s8 grpStackAMax;
|
||||
u8 grpStackADepth;
|
||||
s8 grpStackAOfs;
|
||||
void *grpBufA;
|
||||
MSM_GRP_STACK grpStackA[4];
|
||||
s8 grpStackBMax;
|
||||
u8 grpStackBDepth;
|
||||
s8 grpStackBOfs;
|
||||
void *grpBufB;
|
||||
MSM_GRP_STACK grpStackB[10];
|
||||
s32 irqDepth;
|
||||
BOOL irqState;
|
||||
AIDCallback oldAIDCallback;
|
||||
s32 timer;
|
||||
} MSM_SYS;
|
||||
|
||||
s32 msmSysSearchGroupStack(s32 arg0, s32 arg1);
|
||||
s32 msmSysGroupInit(DVDFileInfo *arg0);
|
||||
|
|
@ -176,8 +72,7 @@ void *msmSysGetGroupDataPtr(s32 arg0);
|
|||
BOOL msmSysCheckLoadGroupID(s32 arg0);
|
||||
void msmSysRegularProc(void);
|
||||
s32 msmSysGetOutputMode(void);
|
||||
s32 msmSysSetOutputMode(SND_OUTPUTMODE mode);
|
||||
s32 msmSysSetAux(s32 arg0, s32 arg1);
|
||||
BOOL msmSysSetOutputMode(SND_OUTPUTMODE mode);
|
||||
s32 msmSysGetSampSize(BOOL baseGrp);
|
||||
s32 msmSysDelGroupAll(void);
|
||||
s32 msmSysDelGroupBase(s32 grpNum);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue