Merge pull request #428 from dbalatoni13/main

Got 99% on mpexDll/mpex.c
This commit is contained in:
Liam Coleman 2024-10-29 15:23:07 -05:00 committed by GitHub
commit 0094bfc212
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 3589 additions and 72 deletions

View file

@ -256,7 +256,7 @@ lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0xC scope:local data:
lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float
lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float
lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float
lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0xC scope:local data:float
lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float
lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double
@ -267,14 +267,14 @@ lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:
lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float
lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0xC scope:local data:float
lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0xC scope:local data:float
lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0xC scope:local data:float
lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0xC scope:local data:float
lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0xC scope:local data:float
lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0xC scope:local data:float
lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 scope:local data:double
@ -392,37 +392,37 @@ lbl_1_data_1DC = .data:0x000001DC; // type:object size:0x22 scope:local data:str
lbl_1_data_1FE = .data:0x000001FE; // type:object size:0x1A scope:local data:string
lbl_1_data_218 = .data:0x00000218; // type:object size:0x1A scope:local data:string
lbl_1_data_232 = .data:0x00000232; // type:object size:0xE scope:local data:string
lbl_1_data_240 = .data:0x00000240; // type:object size:0x54
lbl_1_data_240 = .data:0x00000240; // type:object size:0x54 data:float
lbl_1_data_294 = .data:0x00000294; // type:object size:0x4 data:4byte
lbl_1_data_298 = .data:0x00000298; // type:object size:0x4 data:4byte
lbl_1_data_29C = .data:0x0000029C; // type:object size:0x18
lbl_1_data_29C = .data:0x0000029C; // type:object size:0x18 scope:local data:string
lbl_1_data_2B4 = .data:0x000002B4; // type:object size:0x10 data:4byte
lbl_1_data_2C4 = .data:0x000002C4; // type:object size:0x4 data:4byte
lbl_1_data_2C8 = .data:0x000002C8; // type:object size:0x3 data:string
lbl_1_data_2CB = .data:0x000002CB; // type:object size:0x5 data:string
lbl_1_data_2D0 = .data:0x000002D0; // type:object size:0x19 data:string
lbl_1_data_2E9 = .data:0x000002E9; // type:object size:0x12 data:string
lbl_1_data_2FB = .data:0x000002FB; // type:object size:0x29
lbl_1_data_2C8 = .data:0x000002C8; // type:object size:0x3 scope:local data:string
lbl_1_data_2CB = .data:0x000002CB; // type:object size:0x5 scope:local data:string
lbl_1_data_2D0 = .data:0x000002D0; // type:object size:0x19 scope:local data:string
lbl_1_data_2E9 = .data:0x000002E9; // type:object size:0x12 scope:local data:string
lbl_1_data_2FB = .data:0x000002FB; // type:object size:0x29 scope:local data:string
lbl_1_data_324 = .data:0x00000324; // type:object size:0x4 data:4byte
lbl_1_data_328 = .data:0x00000328; // type:object size:0x4 data:4byte
lbl_1_data_32C = .data:0x0000032C; // type:object size:0xC data:4byte
lbl_1_data_338 = .data:0x00000338; // type:object size:0x2B data:string
lbl_1_data_363 = .data:0x00000363; // type:object size:0x28 data:string
lbl_1_data_38B = .data:0x0000038B; // type:object size:0x5 data:string
lbl_1_data_390 = .data:0x00000390; // type:object size:0x4 data:string
lbl_1_data_394 = .data:0x00000394; // type:object size:0x4
lbl_1_data_338 = .data:0x00000338; // type:object size:0x2B scope:local data:string
lbl_1_data_363 = .data:0x00000363; // type:object size:0x28 scope:local data:string
lbl_1_data_38B = .data:0x0000038B; // type:object size:0x5 scope:local data:string
lbl_1_data_390 = .data:0x00000390; // type:object size:0x4 scope:local data:string
lbl_1_data_394 = .data:0x00000394; // type:object size:0x4 scope:local data:string
jumptable_1_data_398 = .data:0x00000398; // type:object size:0x2C scope:local
lbl_1_data_3C4 = .data:0x000003C4; // type:object size:0x3C data:string
lbl_1_data_400 = .data:0x00000400; // type:object size:0x16 data:string
lbl_1_data_416 = .data:0x00000416; // type:object size:0x1A data:string
lbl_1_data_430 = .data:0x00000430; // type:object size:0x1A data:string
lbl_1_data_44A = .data:0x0000044A; // type:object size:0x1A data:string
lbl_1_data_464 = .data:0x00000464; // type:object size:0x17 data:string
lbl_1_data_47B = .data:0x0000047B; // type:object size:0x16 data:string
lbl_1_data_491 = .data:0x00000491; // type:object size:0x16 data:string
lbl_1_data_4A7 = .data:0x000004A7; // type:object size:0x19 data:string
lbl_1_data_4C0 = .data:0x000004C0; // type:object size:0x16 data:string
lbl_1_data_4D6 = .data:0x000004D6; // type:object size:0x42
lbl_1_data_3C4 = .data:0x000003C4; // type:object size:0x3C scope:local data:string
lbl_1_data_400 = .data:0x00000400; // type:object size:0x16 scope:local data:string
lbl_1_data_416 = .data:0x00000416; // type:object size:0x1A scope:local data:string
lbl_1_data_430 = .data:0x00000430; // type:object size:0x1A scope:local data:string
lbl_1_data_44A = .data:0x0000044A; // type:object size:0x1A scope:local data:string
lbl_1_data_464 = .data:0x00000464; // type:object size:0x17 scope:local data:string
lbl_1_data_47B = .data:0x0000047B; // type:object size:0x16 scope:local data:string
lbl_1_data_491 = .data:0x00000491; // type:object size:0x16 scope:local data:string
lbl_1_data_4A7 = .data:0x000004A7; // type:object size:0x19 scope:local data:string
lbl_1_data_4C0 = .data:0x000004C0; // type:object size:0x16 scope:local data:string
lbl_1_data_4D6 = .data:0x000004D6; // type:object size:0x42 scope:local data:string
lbl_1_data_518 = .data:0x00000518; // type:object size:0x3C scope:local data:string
lbl_1_data_554 = .data:0x00000554; // type:object size:0x19 scope:local data:string
lbl_1_data_56D = .data:0x0000056D; // type:object size:0x1A scope:local data:string

View file

@ -17,26 +17,35 @@ typedef struct MpexDllUnkStruct {
/* 0x40 */ s32 unk_40;
} MpexDllUnkStruct; /* size = 0x44 */
typedef struct MpexDllUnkStruct2 {
/* 0x00 */ char unk00[0x40];
/* 0x40 */ s16 *unk_40;
/* 0x44 */ char unk44;
/* 0x48 */ s16 *unk_48;
/* 0x4C */ char unk_4C[0xC];
/* 0x58 */ u32 unk_58;
} MpexDllUnkStruct2; /* size = unknown */
void fn_1_374(void);
void fn_1_298(void);
void fn_1_910(MpexDllUnkFunc arg0);
void fn_1_25C4(MpexDllUnkStruct2 *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
void fn_1_28E0(MpexDllUnkStruct2 *arg0, s32 arg1, Vec *arg2, float arg8, float arg9, float argA, s32 arg3, s32 arg4);
s32 fn_1_3044(Process *arg0);
void fn_1_25C4(omObjData *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
void fn_1_28E0(omObjData *arg0, s32 arg1, Vec arg2, float arg8, float arg9, float argA, s32 arg3, s32 arg4);
Process *fn_1_3044(Process *arg0);
void fn_1_1264C(Process *arg0);
s32 fn_1_140B0(s32 arg0, s32 arg1);
void fn_1_148BC(s32 arg0);
void fn_1_148E4(s32 arg0);
void fn_1_1A5A4(s32 arg0);
float fn_1_1B714(float arg8, float arg9, float argA, float argB);
void fn_1_1B810(void);
void fn_1_1B834(void);
void fn_1_1B9F4(void);
void fn_1_1BA78(u32 arg0, s32 arg1, s32 arg2);
void fn_1_1BB4C(u32 arg0, s32 arg1);
s32 fn_1_1BBA4(s32 arg0);
void fn_1_1BD00(u32 arg0, s32 arg1);
void fn_1_1BF1C(u32 arg0);
void fn_1_1C120(void);
void fn_1_1B7D0(s32 arg0);
s32 fn_1_1D02C(s32 arg0);
extern u8 lbl_1_bss_6AC;
extern s32 lbl_1_bss_63C[0x1C];
extern MpexDllUnkStruct lbl_1_bss_64;
#endif

View file

@ -117,7 +117,7 @@ extern s32 omcurdll;
extern s32 omovlhisidx;
extern s32 omovlevtno;
extern s32 omnextovlevtno;
extern s32 omovlstat;
extern u32 omovlstat;
extern char omUPauseFlag;
extern s16 omSysExitReq;
extern s16 omdispinfo;
@ -134,4 +134,4 @@ extern Vec CenterM[16];
extern float CZoomM[16];
extern s16 omDBGMenuButton;
#endif
#endif

View file

@ -26,7 +26,7 @@ extern s16 mgTypeCurr;
extern s16 mgBattleStar[4];
extern s16 mgBattleStarMax;
extern u8 lbl_801D3E94;
extern s32 mgRecordExtra;
extern u32 mgRecordExtra;
extern s32 mgQuitExtraF;
extern s32 mgPracticeEnableF;
extern s32 mgInstExitEnableF;

View file

@ -3,6 +3,7 @@
#include "game/audio.h"
#include "game/hsfman.h"
#include "game/hsfmotion.h"
#include "game/object.h"
#include "game/objsub.h"
#include "game/pad.h"
#include "game/printfunc.h"
@ -11,6 +12,13 @@
#include "REL/mpexDll.h"
#ifndef __MWERKS__
float fn_1_1B52C(float arg8, float arg9, float argA, float argB);
float fn_1_1B554(float, float, float);
float fn_1_1B574(float arg0, float arg1, float arg2, float arg3);
float fn_1_1B64C(float arg0, float arg1, float arg2, float arg3);
#endif
void fn_1_230();
void fn_1_A70(MpexDllUnkStruct *arg0);
@ -338,34 +346,34 @@ void fn_1_2228(MpexDllUnkStruct *arg0, MpexDllUnkStruct *arg1, float arg8, float
arg0->unk_38 = fn_1_1B554(arg0->unk_38, arg1->unk_3C, argA);
}
void fn_1_25C4(MpexDllUnkStruct2 *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4)
void fn_1_25C4(omObjData *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4)
{
switch (arg4) {
case 0:
Hu3DMotionShiftSet(arg0->unk_40[arg1], arg0->unk_48[arg2], 0.0f, arg3, 0);
Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0);
break;
case 1:
Hu3DMotionShiftSet(arg0->unk_40[arg1], arg0->unk_48[arg2], 0.0f, arg3, 0x40000001);
Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000001);
break;
case 2:
Hu3DMotionShiftSet(arg0->unk_40[arg1], arg0->unk_48[arg2], 0.0f, arg3, 0x40000002);
Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000002);
break;
}
}
void fn_1_273C(MpexDllUnkStruct2 *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4)
void fn_1_273C(omObjData *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4)
{
if (arg0->unk_58 != arg0->unk_48[arg2]) {
arg0->unk_58 = arg0->unk_48[arg2];
if (arg0->work[3] != arg0->motion[arg2]) {
arg0->work[3] = arg0->motion[arg2];
switch (arg4) {
case 0:
Hu3DMotionShiftSet(arg0->unk_40[arg1], arg0->unk_48[arg2], 0.0f, arg3, 0);
Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0);
break;
case 1:
Hu3DMotionShiftSet(arg0->unk_40[arg1], arg0->unk_48[arg2], 0.0f, arg3, 0x40000001);
Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000001);
break;
case 2:
Hu3DMotionShiftSet(arg0->unk_40[arg1], arg0->unk_48[arg2], 0.0f, arg3, 0x40000002);
Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000002);
break;
}
}
@ -373,7 +381,7 @@ void fn_1_273C(MpexDllUnkStruct2 *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4)
void fn_1_28DC(void) { }
void fn_1_28E0(MpexDllUnkStruct2 *arg0, s32 arg1, Vec *arg2, float arg8, float arg9, float argA, s32 arg3, s32 arg4)
void fn_1_28E0(omObjData *arg0, s32 arg1, Vec arg2, float arg8, float arg9, float argA, s32 arg3, s32 arg4)
{
Vec sp4C;
Vec sp40;
@ -386,17 +394,17 @@ void fn_1_28E0(MpexDllUnkStruct2 *arg0, s32 arg1, Vec *arg2, float arg8, float a
s32 var_r28 = 0;
s32 var_r26;
sp40.x = Hu3DData[arg0->unk_40[arg1]].pos.x;
sp40.y = Hu3DData[arg0->unk_40[arg1]].pos.y;
sp40.z = Hu3DData[arg0->unk_40[arg1]].pos.z;
sp40.x = Hu3DData[arg0->model[arg1]].pos.x;
sp40.y = Hu3DData[arg0->model[arg1]].pos.y;
sp40.z = Hu3DData[arg0->model[arg1]].pos.z;
sp34.x = arg2->x;
sp34.y = arg2->y;
sp34.z = arg2->z;
sp34.x = arg2.x;
sp34.y = arg2.y;
sp34.z = arg2.z;
sp1C.x = Hu3DData[arg0->unk_40[arg1]].rot.x;
sp1C.y = Hu3DData[arg0->unk_40[arg1]].rot.y;
sp1C.z = Hu3DData[arg0->unk_40[arg1]].rot.z;
sp1C.x = Hu3DData[arg0->model[arg1]].rot.x;
sp1C.y = Hu3DData[arg0->model[arg1]].rot.y;
sp1C.z = Hu3DData[arg0->model[arg1]].rot.z;
sp10.x = 0.0f;
sp10.y = arg8;
@ -466,15 +474,15 @@ void fn_1_28E0(MpexDllUnkStruct2 *arg0, s32 arg1, Vec *arg2, float arg8, float a
if (arg4 != 0) {
sp1C.y = fn_1_1B554(sp1C.y, sp28.y, argA);
}
Hu3DModelPosSet(arg0->unk_40[arg1], sp4C.x, sp40.y, sp4C.z);
Hu3DModelRotSet(arg0->unk_40[arg1], sp1C.x, sp1C.y, sp1C.z);
Hu3DModelPosSet(arg0->model[arg1], sp4C.x, sp40.y, sp4C.z);
Hu3DModelRotSet(arg0->model[arg1], sp1C.x, sp1C.y, sp1C.z);
if (var_r29 == 2 && var_r28 == 2) {
break;
}
};
sp1C.y = Hu3DData[arg0->unk_40[arg1]].rot.y;
sp1C.y = Hu3DData[arg0->model[arg1]].rot.y;
if (arg4 != 0) {
for (var_r26 = 0; var_r26 <= argA; var_r26++) {
fn_1_1B7D0(1);
@ -495,7 +503,7 @@ void fn_1_28E0(MpexDllUnkStruct2 *arg0, s32 arg1, Vec *arg2, float arg8, float a
}
}
sp10.z = fn_1_1B52C(sp1C.y, sp10.y, var_r26, argA);
Hu3DModelRotSet(arg0->unk_40[arg1], sp1C.x, sp10.z, sp1C.z);
Hu3DModelRotSet(arg0->model[arg1], sp1C.x, sp10.z, sp1C.z);
}
}
}

3500
src/REL/mpexDll/mpex.c Normal file

File diff suppressed because it is too large Load diff

View file

@ -38,7 +38,7 @@ s32 omcurdll;
s32 omovlhisidx;
s32 omovlevtno;
s32 omnextovlevtno;
s32 omovlstat;
u32 omovlstat;
static s32 omnextovlstat;
char omUPauseFlag;
s16 omSysExitReq;
@ -568,4 +568,4 @@ char omPauseChk(void)
OverlayID omCurrentOvlGet(void)
{
return omcurovl;
}
}

View file

@ -1166,7 +1166,7 @@ s16 mgTypeCurr;
s16 mgBattleStar[4];
s16 mgBattleStarMax;
u8 lbl_801D3E94;
s32 mgRecordExtra;
u32 mgRecordExtra;
s32 mgQuitExtraF;
s32 mgPracticeEnableF;
s32 mgInstExitEnableF;