Matched REL/m445Dll

This commit is contained in:
mrshigure 2024-08-13 04:21:34 -07:00
parent 8500245055
commit 9165ed996a
7 changed files with 2284 additions and 444 deletions

View file

@ -1696,46 +1696,12 @@ void fn_1_5910(void) {
s8 fn_1_5D58(s32 arg0, s32 arg1) {
UnkBss474Struct* temp_r31;
s8 var_r30;
s8 var_r29;
s8 var_r28;
temp_r31 = &lbl_1_bss_474[arg0];
if (!GWPlayerCfg[arg0].iscom) {
if (arg1 != 0) {
var_r29 = var_r30 = HuPadStkY[temp_r31->unk3C];
} else {
var_r29 = var_r30 = HuPadStkX[temp_r31->unk3C];
}
(void) 1; // Required to match.
(arg1 != 0) ? (var_r30 = HuPadStkY[temp_r31->unk3C]) : (var_r30 = HuPadStkX[temp_r31->unk3C]);
} else {
if (arg1 != 0) {
var_r28 = var_r30 = temp_r31->unk255;
} else {
var_r28 = var_r30 = temp_r31->unk254;
}
}
return var_r30;
}
static inline s8 fn_1_5D58_copy(s32 arg0, s32 arg1) {
UnkBss474Struct* temp_r31;
s8 var_r30;
s8 var_r29;
s8 var_r28;
temp_r31 = &lbl_1_bss_474[arg0];
if (!GWPlayerCfg[arg0].iscom) {
if (arg1 != 0) {
var_r30 = HuPadStkY[temp_r31->unk3C];
} else {
var_r30 = HuPadStkX[temp_r31->unk3C];
}
} else {
if (arg1 != 0) {
var_r30 = temp_r31->unk255;
} else {
var_r30 = temp_r31->unk254;
}
(arg1 != 0) ? (var_r30 = temp_r31->unk255) : (var_r30 = temp_r31->unk254);
}
return var_r30;
}
@ -1743,47 +1709,12 @@ static inline s8 fn_1_5D58_copy(s32 arg0, s32 arg1) {
u8 fn_1_5E10(s32 arg0, s32 arg1) {
UnkBss474Struct* temp_r31;
s8 var_r30;
s8 var_r29;
s8 var_r28;
temp_r31 = &lbl_1_bss_474[arg0];
if (!GWPlayerCfg[arg0].iscom) {
if (arg1 != 0) {
var_r29 = var_r30 = HuPadTrigR[temp_r31->unk3C];
} else {
var_r29 = var_r30 = HuPadTrigL[temp_r31->unk3C];
}
(void) 1; // Required to match.
(arg1 != 0) ? (var_r30 = HuPadTrigR[temp_r31->unk3C]) : (var_r30 = HuPadTrigL[temp_r31->unk3C]);
} else {
if (arg1 != 0) {
var_r28 = var_r30 = temp_r31->unk256;
} else {
var_r28 = var_r30 = temp_r31->unk257;
}
}
return var_r30;
}
static inline u8 fn_1_5E10_copy(s32 arg0, s32 arg1) {
UnkBss474Struct* temp_r31;
s8 var_r30;
s8 var_r29;
s8 var_r28;
temp_r31 = &lbl_1_bss_474[arg0];
if (!GWPlayerCfg[arg0].iscom) {
if (arg1 != 0) {
var_r30 = HuPadTrigR[temp_r31->unk3C];
} else {
var_r30 = HuPadTrigL[temp_r31->unk3C];
}
} else {
if (arg1 != 0) {
var_r30 = temp_r31->unk256;
} else {
var_r30 = temp_r31->unk257;
}
(arg1 != 0) ? (var_r30 = temp_r31->unk256) : (var_r30 = temp_r31->unk257);
}
return var_r30;
}
@ -1793,10 +1724,6 @@ u16 fn_1_5ED0(s32 arg0) {
u16 var_r30;
temp_r31 = &lbl_1_bss_474[arg0];
(void)temp_r31;
(void)temp_r31;
(void)temp_r31;
(void)temp_r31;
if (!GWPlayerCfg[arg0].iscom) {
var_r30 = HuPadBtnDown[temp_r31->unk3C];
} else {
@ -2214,7 +2141,7 @@ void fn_1_7680(void) {
static inline void m411InlineFunc(UnkBss474Struct* temp_r31, UnkBss474DoublyInnerStruct6C* temp_r30) {
Vec sp74;
Vec sp80;
Vec sp80;
float var_f22;
float var_f23;
@ -2340,10 +2267,10 @@ void fn_1_7738(void) {
}
if (sp70 == 0) {
var_r23 = -1;
if (fn_1_5E10_copy(temp_r31->unk34, 0) > 20) {
if (fn_1_5E10(temp_r31->unk34, 0) > 20) {
var_r23 = 1;
}
if (fn_1_5E10_copy(temp_r31->unk34, 1) > 20) {
if (fn_1_5E10(temp_r31->unk34, 1) > 20) {
var_r23 = 0;
}
if (var_r23 != -1) {
@ -2355,10 +2282,6 @@ void fn_1_7738(void) {
spA4.unk08 = var_r23;
spA4.unk0C = &sp70;
}
(void)var_r23;
(void)var_r23;
(void)var_r23;
(void)var_r23;
}
if ((fn_1_5ED0(temp_r31->unk34) & 0x100) && sp70 == 0) {
if (0.0f == temp_r30->unk14) {
@ -2378,10 +2301,10 @@ void fn_1_7738(void) {
fn_1_6428(temp_r31, temp_r26);
}
temp_r31->unk60 = -1.0f;
if (SOME_MACRO(fn_1_5D58_copy(temp_r31->unk34, 0)) != 0
|| SOME_MACRO(fn_1_5D58_copy(temp_r31->unk34, 1)) != 0)
if (SOME_MACRO(fn_1_5D58(temp_r31->unk34, 0)) != 0
|| SOME_MACRO(fn_1_5D58(temp_r31->unk34, 1)) != 0)
{
temp_r31->unk60 = atan2d(fn_1_5D58_copy(temp_r31->unk34, 0), fn_1_5D58_copy(temp_r31->unk34, 1));
temp_r31->unk60 = atan2d(fn_1_5D58(temp_r31->unk34, 0), fn_1_5D58(temp_r31->unk34, 1));
}
if (-1.0f != temp_r31->unk60) {
temp_r30->unk00 += 5 * sind(temp_r31->unk60);
@ -2398,9 +2321,6 @@ void fn_1_7738(void) {
while (TRUE) {
HuPrcVSleep();
}
(void) var_r24;
(void) var_r24;
(void) var_r24;
}
void fn_1_8A80(float arg0, float arg1) {

View file

@ -1106,28 +1106,14 @@ loop_1:
s8 fn_1_4BE4(s32 arg0, s32 arg1)
{
s8 var_r30;
s8 var_r29;
s8 var_r28;
unkStruct3 *temp_r31;
temp_r31 = &lbl_1_bss_4D4[arg0];
if (GWPlayerCfg[arg0].iscom == 0) {
if (arg1 != 0) {
var_r29 = var_r30 = HuPadStkY[temp_r31->unk2C];
}
else {
var_r29 = var_r30 = HuPadStkX[temp_r31->unk2C];
}
(void)var_r30; // used to make the else branch go here instead of returning
(arg1 != 0) ? (var_r30 = HuPadStkY[temp_r31->unk2C]) : (var_r30 = HuPadStkX[temp_r31->unk2C]);
}
else {
if (arg1 != 0) {
var_r28 = var_r30 = temp_r31->unk89;
}
else {
var_r28 = var_r30 = temp_r31->unk88;
}
(arg1 != 0) ? (var_r30 = temp_r31->unk89) : (var_r30 = temp_r31->unk88);
}
return var_r30;
}
@ -1142,22 +1128,13 @@ void fn_1_4C9C(Vec *arg0, f32 arg8, f32 arg9)
arg0->z = (temp_f29 * cosd(arg8));
}
static inline f32 unkInline(void)
{
return 1.0f; // huh?
}
s8 fn_1_4E58(s32 arg0, s32 arg1)
{
Vec spC;
f32 sp8;
f32 temp_f28;
f32 temp_f27;
s8 var_r30;
s8 temp_r29;
s8 temp_r28;
s8 var_r27;
s8 var_r26;
unkStruct3 *temp_r31;
temp_r31 = &lbl_1_bss_4D4[arg0];
@ -1167,40 +1144,19 @@ s8 fn_1_4E58(s32 arg0, s32 arg1)
temp_f28 = fn_1_1D08(atan2d(temp_r29, temp_r28));
temp_f28 -= lbl_1_bss_778;
HuSetVecF(&spC, (f32)temp_r29, 0.0, (f32)temp_r28);
temp_f27 = sqrtf((spC.x * spC.x) + (spC.z * spC.z));
temp_f27 *= unkInline();
spC.x = (temp_f27 * sind(temp_f28));
spC.z = (temp_f27 * cosd(temp_f28));
if (arg1 != 0) {
var_r27 = var_r30 = spC.z;
}
else {
var_r27 = var_r30 = spC.x;
}
(void)var_r30; // used to make the else branch go here instead of returning
}
else if (arg1 != 0) {
var_r26 = var_r30 = temp_r31->unk89;
fn_1_4C9C(&spC, temp_f28, 1.0f);
(arg1 != 0) ? (var_r30 = spC.z) : (var_r30 = spC.x);
}
else {
var_r26 = var_r30 = temp_r31->unk88;
(arg1 != 0) ? (var_r30 = temp_r31->unk89) : (var_r30 = temp_r31->unk88);
}
return var_r30;
}
static inline void DummyInline2(Vec *arg0, float arg1, float arg2)
{
arg1 *= unkInline();
arg0->x = (arg1 * sind(arg2));
arg0->z = (arg1 * cosd(arg2));
}
static inline s8 fn_1_4E58_0(s32 arg0)
{
Vec spC;
float temp;
f32 sp8;
f32 temp_f28;
f32 temp_f27;
s8 var_r30;
@ -1216,7 +1172,7 @@ static inline s8 fn_1_4E58_0(s32 arg0)
temp_f28 = fn_1_1D08(atan2d(temp_r29, temp_r28));
temp_f28 -= lbl_1_bss_778;
HuSetVecF(&spC, (f32)temp_r29, 0.0, (f32)temp_r28);
DummyInline2(&spC, sqrtf((spC.x * spC.x) + (spC.z * spC.z)), temp_f28);
fn_1_4C9C(&spC, temp_f28, 1.0f);
var_r30 = spC.x;
}
else {
@ -1229,7 +1185,6 @@ static inline s8 fn_1_4E58_1(s32 arg0)
{
Vec spC;
float temp;
f32 sp8;
f32 temp_f28;
f32 temp_f27;
s8 var_r30;
@ -1245,7 +1200,7 @@ static inline s8 fn_1_4E58_1(s32 arg0)
temp_f28 = fn_1_1D08(atan2d(temp_r29, temp_r28));
temp_f28 -= lbl_1_bss_778;
HuSetVecF(&spC, (f32)temp_r29, 0.0, (f32)temp_r28);
DummyInline2(&spC, sqrtf((spC.x * spC.x) + (spC.z * spC.z)), temp_f28);
fn_1_4C9C(&spC, temp_f28, 1.0f);
var_r30 = spC.z;
}
else {
@ -1257,26 +1212,14 @@ static inline s8 fn_1_4E58_1(s32 arg0)
u8 fn_1_525C(s32 arg0, s32 arg1)
{
s8 var_r30;
s8 var_r29;
s8 var_r28;
unkStruct3 *temp_r31;
temp_r31 = &lbl_1_bss_4D4[arg0];
if (GWPlayerCfg[arg0].iscom == 0) {
if (arg1 != 0) {
var_r29 = var_r30 = HuPadTrigR[temp_r31->unk2C];
}
else {
var_r29 = var_r30 = HuPadTrigL[temp_r31->unk2C];
}
(void)var_r30; // used to make the else branch go here instead of returning
}
else if (arg1 != 0) {
var_r28 = var_r30 = temp_r31->unk8A;
(arg1 != 0) ? (var_r30 = HuPadTrigR[temp_r31->unk2C]) : (var_r30 = HuPadTrigL[temp_r31->unk2C]);
}
else {
var_r28 = var_r30 = temp_r31->unk8B;
(arg1 != 0) ? (var_r30 = temp_r31->unk8A) : (var_r30 = temp_r31->unk8B);
}
return var_r30;
}

View file

@ -313,8 +313,6 @@ void fn_1_CD8(s32 arg0, s32 arg1, float arg8)
var_r31->unk_00 = arg0;
var_r31->unk_04 = arg1;
var_r31->unk_08 = arg8;
(void)var_r31;
(void)var_r31;
}
void fn_1_D54(ModelData *arg0, ParticleData *arg1, Mtx arg2, s32 arg3)
@ -1389,50 +1387,14 @@ s8 fn_1_5554(s32 arg0, s32 arg1) // similar to m411Dll/main.c::fn_1_5D58
{
UnkM414BssF0Struct *var_r31;
s8 var_r30;
s8 var_r29;
s8 var_r28;
var_r31 = &lbl_1_bss_F0[arg0];
var_r30 = 0;
if (lbl_1_bss_98C < 4) {
if (!GWPlayerCfg[arg0].iscom) {
if (arg1) {
var_r30 = HuPadStkY[var_r31->unk_4C];
var_r29 = var_r30;
} else {
var_r30 = HuPadStkX[var_r31->unk_4C];
var_r29 = var_r30;
}
(void)var_r31;
} else if (arg1) {
var_r30 = var_r31->unk_1FD;
var_r28 = var_r30;
(arg1) ? (var_r30 = HuPadStkY[var_r31->unk_4C]) : (var_r30 = HuPadStkX[var_r31->unk_4C]);
} else {
var_r30 = var_r31->unk_1FC;
var_r28 = var_r30;
}
}
return var_r30;
}
static inline s8 fn_1_5554_inline(s32 arg0, s32 arg1) // similar to m411Dll/main.c::fn_1_5D58
{
UnkM414BssF0Struct *var_r31;
s8 var_r30;
var_r31 = &lbl_1_bss_F0[arg0];
var_r30 = 0;
if (lbl_1_bss_98C < 4) {
if (!GWPlayerCfg[arg0].iscom) {
if (arg1) {
var_r30 = HuPadStkY[var_r31->unk_4C];
} else {
var_r30 = HuPadStkX[var_r31->unk_4C];
}
} else if (arg1) {
var_r30 = var_r31->unk_1FD;
} else {
var_r30 = var_r31->unk_1FC;
(arg1) ? (var_r30 = var_r31->unk_1FD) : (var_r30 = var_r31->unk_1FC);
}
}
return var_r30;
@ -1442,46 +1404,14 @@ u8 fn_1_5624(s32 arg0, s32 arg1)
{
UnkM414BssF0Struct *var_r31;
s8 var_r30;
s8 var_r29;
s8 var_r28;
var_r31 = &lbl_1_bss_F0[arg0];
var_r30 = 0;
if (lbl_1_bss_98C < 4) {
if (!GWPlayerCfg[arg0].iscom) {
if (arg1) {
var_r29 = var_r30 = HuPadTrigR[var_r31->unk_4C];
} else {
var_r29 = var_r30 = HuPadTrigL[var_r31->unk_4C];
}
(void)var_r31;
} else if (arg1) {
var_r28 = var_r30 = var_r31->unk_1FE;
(arg1) ? (var_r30 = HuPadTrigR[var_r31->unk_4C]) : (var_r30 = HuPadTrigL[var_r31->unk_4C]);
} else {
var_r28 = var_r30 = var_r31->unk_1FF;
}
}
return var_r30;
}
static inline u8 fn_1_5624_inline(s32 arg0, s32 arg1)
{
UnkM414BssF0Struct *var_r31;
s8 var_r30;
var_r31 = &lbl_1_bss_F0[arg0];
var_r30 = 0;
if (lbl_1_bss_98C < 4) {
if (!GWPlayerCfg[arg0].iscom) {
if (arg1) {
var_r30 = HuPadTrigR[var_r31->unk_4C];
} else {
var_r30 = HuPadTrigL[var_r31->unk_4C];
}
} else if (arg1) {
var_r30 = var_r31->unk_1FE;
} else {
var_r30 = var_r31->unk_1FF;
(arg1) ? (var_r30 = var_r31->unk_1FE) : (var_r30 = var_r31->unk_1FF);
}
}
return var_r30;
@ -1501,10 +1431,6 @@ u16 fn_1_56FC(s32 arg0)
var_r30 = var_r31->unk_200;
}
}
(void)var_r31;
(void)var_r31;
(void)var_r31;
(void)var_r31;
return var_r30;
}
@ -1738,8 +1664,6 @@ s32 fn_1_654C(s32 arg0, s32 arg1)
if (var_r31 >= 16) {
var_r31 = -1;
}
(void)var_r31;
(void)var_r31;
return var_r31;
}
@ -1911,7 +1835,7 @@ void fn_1_6644(void)
}
}
}
if (fn_1_5554_inline(var_r31->unk_44, 1) > 20 && (var_r31->unk_1F4 == 2 || var_r31->unk_1F4 == 0)) { // wrong
if (fn_1_5554(var_r31->unk_44, 1) > 20 && (var_r31->unk_1F4 == 2 || var_r31->unk_1F4 == 0)) {
Hu3DModelAttrReset(var_r31->unk_20, 0x40000002);
Hu3DModelAttrSet(var_r31->unk_20, 0x40000004);
var_r31->unk_1F4 = 3;
@ -1919,7 +1843,7 @@ void fn_1_6644(void)
Hu3DModelAttrSet(var_r31->unk_12, 0x40000004);
Hu3DMotionSpeedSet(var_r31->unk_12, 2.0f);
}
if (fn_1_5554_inline(var_r31->unk_44, 1) < -20 && (var_r31->unk_1F4 == 1 || var_r31->unk_1F4 == 0)) { // wrong
if (fn_1_5554(var_r31->unk_44, 1) < -20 && (var_r31->unk_1F4 == 1 || var_r31->unk_1F4 == 0)) {
Hu3DModelAttrReset(var_r31->unk_20, 0x40000006);
var_r31->unk_1F4 = 3;
Hu3DModelAttrReset(var_r31->unk_12, 0x40000006);
@ -1927,10 +1851,10 @@ void fn_1_6644(void)
}
if (!var_r31->unk_58) {
var_r28 = -1;
if (fn_1_5624_inline(var_r31->unk_44, 0) > 20 && var_r28 == -1) { // wrong
if (fn_1_5624(var_r31->unk_44, 0) > 20 && var_r28 == -1) {
var_r28 = 1;
}
if (fn_1_5624_inline(var_r31->unk_44, 1) > 20 && var_r28 == -1) { // wrong
if (fn_1_5624(var_r31->unk_44, 1) > 20 && var_r28 == -1) {
var_r28 = 0;
}
if (var_r28 != -1) {
@ -1955,8 +1879,6 @@ void fn_1_6644(void)
var_r30->user_data = &sp9C;
sp9C.unk_00 = var_r31;
sp9C.unk_04 = var_r28;
(void)var_r28;
(void)var_r28;
}
}
var_r31->unk_60 = 37.0 * sind(var_r31->unk_70);

2055
src/REL/m445Dll/main.c Executable file

File diff suppressed because it is too large Load diff