Matched most of msmse and msmmus (3 functions left) (#526)

* Matched most of msmse (1 function left)

* Matched most of msmmus (2 functions left)
This commit is contained in:
mrshigure 2025-01-13 06:48:07 -08:00 committed by GitHub
parent cdb1d1fc37
commit f812abd06f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 1022 additions and 119 deletions

View file

@ -42,9 +42,11 @@
#define MSM_ERR_INITFAIL -20
#define MSM_ERR_INVALID_AUXPARAM -31
#define MSM_ERR_PLAYFAIL -33
#define MSM_ERR_22 -34
#define MSM_ERR_STREAMALLOC_FAIL -35
#define MSM_ERR_INSTALLED -36
#define MSM_ERR_GRP_NOTLOADED -103
#define MSM_ERR_6F -111
#define MSM_ERR_INVALIDID -120
#define MSM_ERR_INVALIDFILE -121
#define MSM_ERR_REMOVEDID -122
@ -173,7 +175,7 @@ s32 msmSysDelGroupBase(s32 grpNum);
s32 msmSeSetParam(int seNo, MSM_SEPARAM *param);
int msmSePlay(int seId, MSM_SEPARAM *param);
s32 msmSeStop(int seNo, s32 speed);
s32 msmSePauseAll(BOOL pause, s32 speed);
void msmSePauseAll(BOOL pause, s32 speed);
s32 msmSePause(int seNo, BOOL pause, s32 speed);
void msmSeStopAll(BOOL checkGrp, s32 speed);
s32 msmSeSetListener(Vec *pos, Vec *heading, float sndDist, float sndSpeed, MSM_SELISTENER *listener);
@ -181,11 +183,11 @@ s32 msmSeUpdataListener(Vec *pos, Vec *heading);
void msmSeDelListener(void);
s32 msmSeGetStatus(int seNo);
s32 msmSeGetNumPlay(BOOL baseGrp);
s32 msmSeGetEntryID(s16 seId, int *seNo);
s32 msmSeGetEntryID(s32 seId, int *seNo);
int msmMusPlay(int musId, MSM_MUSPARAM *musParam);
s32 msmMusStop(int musNo, s32 speed);
s32 msmMusPauseAll(BOOL pause, s32 speed);
void msmMusPauseAll(BOOL pause, s32 speed);
s32 msmMusPause(int musNo, BOOL pause, s32 speed);
s32 msmMusGetMidiCtrl(int musNo, s32 channel, s32 ctrl);
void msmMusStopAll(BOOL checkGrp, s32 speed);
@ -200,4 +202,4 @@ s32 msmStreamPause(int streamNo, BOOL pause, s32 speed);
void msmStreamStopAll(s32 speed);
s32 msmStreamGetStatus(int streamNo);
#endif
#endif

View file

@ -1,10 +1,23 @@
#ifndef MSMMUS_H
#define MSMMUS_H
#include "dolphin.h"
#include "dolphin/types.h"
#include "game/msm.h"
#include "msm/msmsys.h"
s32 msmMusInit(s32 *, DVDFileInfo *);
#include "dolphin.h"
void msmMusFdoutEnd(void);
void msmMusPeriodicProc(void);
s32 msmMusGetMidiCtrl(int musNo, s32 channel, s32 ctrl);
s32 msmMusGetNumPlay(BOOL baseGrp);
s32 msmMusGetStatus(int musNo);
void msmMusSetMasterVolume(s32 arg0);
s32 msmMusSetParam(s32 arg0, MSM_MUSPARAM* arg1);
void msmMusPauseAll(BOOL pause, s32 speed);
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);
#endif

View file

@ -1,10 +1,25 @@
#ifndef MSMSE_H
#define MSMSE_H
#include "dolphin.h"
#include "dolphin/types.h"
#include "game/msm.h"
#include "msm/msmsys.h"
#include "dolphin.h"
s32 msmSeInit(s32 *, DVDFileInfo *);
void msmSePeriodicProc(void);
MSMSE* 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);
s32 msmSeGetEntryID(s32 seId, int* seNo);
s32 msmSeGetNumPlay(BOOL baseGrp);
s32 msmSeGetStatus(int seNo);
void msmSeSetMasterVolume(s32 arg0);
s32 msmSeSetParam(int seNo, MSM_SEPARAM* param);
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);
#endif

122
include/msm/msmsys.h Executable file
View file

@ -0,0 +1,122 @@
#ifndef MSMSYS_H
#define MSMSYS_H
#include "dolphin.h"
typedef struct _unkSubStruct {
s8 unk0;
union {
f32 unk4f[9];
s32 unk4s[9];
};
} unkSubStruct;
typedef struct _unkSubStruct2 {
char unk[0x3C];
s32 unk3C;
s32 unk40;
s32 unk44;
s32 unk48;
s32 unk4C;
s32 unk50;
s32 unk54;
s32 unk58;
s32 unk5C;
char unk60[0x30];
s32 unk90;
s32 unk94;
s32 unk98;
char unk9C[0xA0];
u8 unk13C;
f32 unk140;
f32 unk144;
f32 unk148;
f32 unk14C;
f32 unk150;
char unk154[0x70];
u8 unk1C4;
f32 unk1C8;
f32 unk1CC;
f32 unk1D0;
f32 unk1D4;
f32 unk1D8;
f32 unk1DC;
} unkSubStruct2; // sizeof unk1E0
typedef struct _unkSubStruct3 {
char unk[0x4];
s32 unk4;
char unk8[0x8];
s32 unk10; // offset
u32 unk14; // length
s32 unk18; // offset
u32 unk1C; // length
char unk20[8];
s32 unk28;
s32 unk2C;
s32 unk30;
s32 unk34;
s32 unk38;
char unk3C[4];
s32 unk40;
char unk44[4];
s32 unk48;
char unk4C[0x14];
} unkSubStruct3; // sizeof 0x60
typedef struct _unkStruct3 {
s32 unk0;
s32 unk4;
s32 unk8;
} unkStruct3;
typedef struct _sndInitData {
s8 unk0;
s8 unk1;
s8 unk2;
char unk3[1];
s16 unk4;
s16 unk6;
s8 unk8;
char unk9[5];
s8 unkE;
s8 unkF;
u32 unk10;
s32 unk14;
char unk18[8];
s32 unk20;
char unk24[5];
s8 unk29[10]; // size unknown
} sndInitData;
typedef struct _sysData {
s32 unk0;
s8 unk4;
s8 unk5;
s8 unk6;
s8 unk7;
s32 unk8;
unkSubStruct3 *unkC;
sndInitData *unk10;
unkSubStruct *unk14;
s8 unk18;
s8 unk19;
s8 unk1A;
s8 unk1B;
unkSubStruct2 unk1C; // userA
unkSubStruct2 unk1FC; // userB
char unk3DC[0x8];
s32 unk3E4;
s32 unk3E8;
s32 unk3EC;
s32 unk3F0;
s8 unk3F4;
unkStruct3 *unk3F8;
char unk3FC[0xF0];
s32 unk4EC;
BOOL unk4F0;
AIDCallback unk4F4;
s32 unk4F8;
} sysData;
#endif