card.c looks good in objdiff, doesnt match checksum
This commit is contained in:
parent
9ab1548adb
commit
0fb42698f5
4 changed files with 298 additions and 80 deletions
|
|
@ -4,34 +4,12 @@
|
|||
#include "math.h"
|
||||
|
||||
// data
|
||||
m446Func5 lbl_1_data_150[3] = {0};
|
||||
const s32 lbl_1_rodata_58[5] = {0x4D0001, 0x4D0002, 0x4D0003, 0x4D0004, 0x4D0000};
|
||||
const s32 lbl_1_rodata_6C[5] = {0x4D001B, 0x4D001C, 0x4D001D, 0x4D001E, 0x4D001E};
|
||||
m446Func4 lbl_1_data_150[3] = {NULL, NULL, NULL};
|
||||
static const s32 lbl_1_rodata_58[5] = {0x4D0001, 0x4D0002, 0x4D0003, 0x4D0004, 0x4D0000};
|
||||
static const s32 lbl_1_rodata_6C[5] = {0x4D001B, 0x4D001C, 0x4D001D, 0x4D001E, 0x4D001E};
|
||||
|
||||
// bss
|
||||
unkStruct4* lbl_1_bss_18;
|
||||
|
||||
// prototype
|
||||
unkStruct2* fn_1_1C64(s32);
|
||||
void fn_1_1CF8(unkStruct2*);
|
||||
s32 fn_1_1D30(unkStruct2*, s32);
|
||||
s32 fn_1_1D6C(unkStruct2*, s32*);
|
||||
s32 fn_1_1DA8(unkStruct2*, s32*);
|
||||
BOOL fn_1_1DDC(unkStruct2*);
|
||||
s32 fn_1_1DEC(unkStruct2*);
|
||||
unkStruct4* fn_1_1DF4(unkStruct5*);
|
||||
void fn_1_1E5C(unkStruct4*);
|
||||
void fn_1_1E84(unkStruct3**);
|
||||
void fn_1_1EC8(unkStruct4*, unkStruct4*);
|
||||
void fn_1_1F04(unkStruct4*);
|
||||
void fn_1_1F38(u8*, u8*, s32);
|
||||
void fn_1_1F84(u8*, s8, s32);
|
||||
void fn_1_1FC0(u8*, s32);
|
||||
s32 fn_1_1FFC(s8*, s8*, s32);
|
||||
s32 fn_1_2064(void);
|
||||
void fn_1_207C(void);
|
||||
// ...
|
||||
void fn_1_2688(unkStruct5*);
|
||||
unkStruct3* lbl_1_bss_18;
|
||||
|
||||
unkStruct2* fn_1_1C64(s32 arg0) {
|
||||
unkStruct2* temp_r3;
|
||||
|
|
@ -94,8 +72,8 @@ s32 fn_1_1DEC(unkStruct2* arg0) {
|
|||
|
||||
#pragma dont_inline on
|
||||
|
||||
unkStruct4* fn_1_1DF4(unkStruct5* arg0) {
|
||||
unkStruct4* temp_r3;
|
||||
unkStruct3* fn_1_1DF4(unkStruct4* arg0) {
|
||||
unkStruct3* temp_r3;
|
||||
|
||||
temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, 0xC, 0x10000000);
|
||||
if (!temp_r3) {
|
||||
|
|
@ -107,7 +85,7 @@ unkStruct4* fn_1_1DF4(unkStruct5* arg0) {
|
|||
return temp_r3;
|
||||
}
|
||||
|
||||
void fn_1_1E5C(unkStruct4* arg0) {
|
||||
void fn_1_1E5C(unkStruct3* arg0) {
|
||||
HuMemDirectFree(arg0);
|
||||
}
|
||||
|
||||
|
|
@ -117,7 +95,7 @@ void fn_1_1E84(unkStruct3** arg0) {
|
|||
*arg0 = NULL;
|
||||
}
|
||||
|
||||
void fn_1_1EC8(unkStruct4* arg0, unkStruct4* arg1) {
|
||||
void fn_1_1EC8(unkStruct3* arg0, unkStruct3* arg1) {
|
||||
if (arg0) {
|
||||
arg1->unk8 = arg0->unk8;
|
||||
arg1->unk4 = arg0;
|
||||
|
|
@ -131,7 +109,7 @@ void fn_1_1EC8(unkStruct4* arg0, unkStruct4* arg1) {
|
|||
}
|
||||
}
|
||||
|
||||
void fn_1_1F04(unkStruct4* arg0) {
|
||||
void fn_1_1F04(unkStruct3* arg0) {
|
||||
if (arg0->unk8) {
|
||||
arg0->unk8->unk4 = arg0->unk4;
|
||||
}
|
||||
|
|
@ -196,8 +174,8 @@ s32 fn_1_2064(void) {
|
|||
}
|
||||
|
||||
void fn_1_207C(void) {
|
||||
unkStruct5* var_r30;
|
||||
unkStruct4* var_r31;
|
||||
unkStruct4* var_r30;
|
||||
unkStruct3* var_r31;
|
||||
|
||||
var_r31 = lbl_1_bss_18;
|
||||
if (var_r31) {
|
||||
|
|
@ -213,8 +191,8 @@ void fn_1_20D4(void) {
|
|||
m446Func1 *temp_r4;
|
||||
f32 temp_f31;
|
||||
s32 temp_r5;
|
||||
unkStruct5* temp_r31;
|
||||
unkStruct4* var_r30;
|
||||
unkStruct4* temp_r31;
|
||||
unkStruct3* var_r30;
|
||||
|
||||
var_r30 = lbl_1_bss_18;
|
||||
if (var_r30) {
|
||||
|
|
@ -268,13 +246,13 @@ void fn_1_20D4(void) {
|
|||
}
|
||||
}
|
||||
|
||||
unkStruct5* fn_1_240C(s32 arg0) {
|
||||
unkStruct5* temp_r31;
|
||||
unkStruct4* temp_r30;
|
||||
unkStruct4* fn_1_240C(s32 arg0) {
|
||||
unkStruct4* temp_r31;
|
||||
unkStruct3* temp_r30;
|
||||
|
||||
temp_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x98, 0x10000000U);
|
||||
if (!temp_r31) {
|
||||
OSReport("[!] m446CardCreate ERROR\n");
|
||||
OSReport("[!] m446CardCreate ERROR...\n");
|
||||
return NULL;
|
||||
}
|
||||
temp_r31->unk0 = arg0;
|
||||
|
|
@ -305,20 +283,20 @@ unkStruct5* fn_1_240C(s32 arg0) {
|
|||
fn_1_2EC0(temp_r31, 1);
|
||||
temp_r30 = fn_1_1DF4(temp_r31);
|
||||
if (!temp_r30) {
|
||||
OSReport("[!] m446CardCreate ERROR\n");
|
||||
OSReport("[!] m446CardCreate ERROR...\n");
|
||||
HuMemDirectFree(temp_r31);
|
||||
return NULL;
|
||||
}
|
||||
if (lbl_1_bss_18) {
|
||||
fn_1_1EC8(lbl_1_bss_18, temp_r30);
|
||||
} else {
|
||||
lbl_1_bss_18 = (unkStruct4*)temp_r30;
|
||||
lbl_1_bss_18 = temp_r30;
|
||||
}
|
||||
return temp_r31;
|
||||
}
|
||||
|
||||
void fn_1_2688(unkStruct5* arg0) {
|
||||
unkStruct4* var_r31 = lbl_1_bss_18;
|
||||
void fn_1_2688(unkStruct4* arg0) {
|
||||
unkStruct3* var_r31 = lbl_1_bss_18;
|
||||
loop_1:
|
||||
if (arg0 == var_r31->unk0) {
|
||||
if (var_r31 == lbl_1_bss_18) {
|
||||
|
|
@ -335,4 +313,214 @@ loop_1:
|
|||
if (var_r31) {
|
||||
goto loop_1;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_272C(unkStruct4* arg0) {
|
||||
Vec sp8;
|
||||
|
||||
sp8 = arg0->unk34;
|
||||
sp8.z = 0.0f;
|
||||
arg0->unk64 = 1;
|
||||
fn_1_2928(arg0, &sp8, 0x1E);
|
||||
}
|
||||
|
||||
void fn_1_2794(unkStruct4* arg0) {
|
||||
Vec sp8;
|
||||
|
||||
sp8 = arg0->unk34;
|
||||
sp8.z = 180.0f;
|
||||
arg0->unk64 = 0;
|
||||
fn_1_2928(arg0, &sp8, 0x3C);
|
||||
}
|
||||
|
||||
void fn_1_27FC(unkStruct4* arg0, Vec* arg1, s32 arg2) {
|
||||
arg0->unk7C = 0;
|
||||
arg0->unk28 = *arg1;
|
||||
arg0->unk1C = arg0->unk10;
|
||||
arg0->unk80 = 0.0f;
|
||||
arg0->unk84 = (1.0f / arg2);
|
||||
arg0->unk70 = 1;
|
||||
}
|
||||
|
||||
void fn_1_2890(unkStruct4* arg0, Vec* arg1, s32 arg2, s32 arg3) {
|
||||
arg0->unk7C = 0;
|
||||
arg0->unk28 = *arg1;
|
||||
arg0->unk1C = arg0->unk10;
|
||||
arg0->unk80 = 0.0f;
|
||||
arg0->unk84 = (1.0f / arg2);
|
||||
arg0->unk70 = 1;
|
||||
arg0->unk7C = arg3;
|
||||
}
|
||||
|
||||
void fn_1_2928(unkStruct4* arg0, Vec* arg1, s32 arg2) {
|
||||
arg0->unk4C = *arg1;
|
||||
arg0->unk40 = arg0->unk34;
|
||||
arg0->unk88 = 0.0f;
|
||||
arg0->unk8C = (1.0f / arg2);
|
||||
arg0->unk74 = 1;
|
||||
}
|
||||
|
||||
void fn_1_29B4(unkStruct4* arg0, s32 arg1, f32 arg8) {
|
||||
arg0->unk60 = arg8;
|
||||
arg0->unk5C = arg0->unk58;
|
||||
arg0->unk90 = 0.0f;
|
||||
arg0->unk94 = (1.0f / arg1);
|
||||
arg0->unk78 = 1;
|
||||
}
|
||||
|
||||
void fn_1_2A1C(unkStruct4* arg0) {
|
||||
Hu3DModelAttrReset(arg0->unkC, 1);
|
||||
arg0->unk6C = 1;
|
||||
}
|
||||
|
||||
void fn_1_2A58(unkStruct4* arg0) {
|
||||
Hu3DModelAttrSet(arg0->unkC, 1);
|
||||
arg0->unk6C = 0;
|
||||
}
|
||||
|
||||
void fn_1_2A94(unkStruct4* arg0) {
|
||||
arg0->unk4 = 1;
|
||||
arg0->unk8 = 0;
|
||||
}
|
||||
|
||||
void fn_1_2AA8(unkStruct4* arg0) {
|
||||
Vec sp8;
|
||||
|
||||
switch (arg0->unk8) {
|
||||
case 0:
|
||||
arg0->unk8 = 1;
|
||||
Hu3DModelAttrReset(arg0->unkC, 1);
|
||||
arg0->unk6C = 1;
|
||||
arg0->unk8 = 1; // ?
|
||||
case 1:
|
||||
arg0->unk60 = 2.5f;
|
||||
arg0->unk5C = arg0->unk58;
|
||||
arg0->unk90 = 0.0f;
|
||||
arg0->unk94 = 0.055555556f;
|
||||
arg0->unk78 = 1;
|
||||
arg0->unk8 = 2; // ?????
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (arg0->unk78 != 0) break;
|
||||
arg0->unk8 = 3; // ??????????
|
||||
case 3:
|
||||
arg0->unk60 = 1.5f;
|
||||
arg0->unk5C = arg0->unk58;
|
||||
arg0->unk90 = 0.0f;
|
||||
arg0->unk94 = 0.055555556f;
|
||||
arg0->unk78 = 1;
|
||||
arg0->unk8 = 4;
|
||||
break;
|
||||
|
||||
case 4:
|
||||
if (arg0->unk78 != 0) break;
|
||||
arg0->unk8 = 5;
|
||||
case 5:
|
||||
arg0->unk60 = 2.5f;
|
||||
arg0->unk5C = arg0->unk58;
|
||||
arg0->unk90 = 0.0f;
|
||||
arg0->unk94 = 0.055555556f;
|
||||
arg0->unk78 = 1;
|
||||
arg0->unk8 = 6;
|
||||
break;
|
||||
|
||||
case 6:
|
||||
if (arg0->unk78 != 0) break;
|
||||
arg0->unk8 = 8;
|
||||
case 7:
|
||||
arg0->unk60 = 1.5f;
|
||||
arg0->unk5C = arg0->unk58;
|
||||
arg0->unk90 = 0.0f;
|
||||
arg0->unk94 = 0.055555556f;
|
||||
arg0->unk78 = 1;
|
||||
arg0->unk8 = 8;
|
||||
case 8:
|
||||
if (arg0->unk78 != 0) break;
|
||||
arg0->unk8 = 9;
|
||||
case 9:
|
||||
sp8 = arg0->unk34;
|
||||
sp8.y = 720.0f;
|
||||
arg0->unk4C = sp8;
|
||||
arg0->unk40 = arg0->unk34;
|
||||
arg0->unk88 = 0.0f;
|
||||
arg0->unk8C = 0.016666668f;
|
||||
arg0->unk74 = 1;
|
||||
arg0->unk60 = 0.0f;
|
||||
arg0->unk5C = arg0->unk58;
|
||||
arg0->unk90 = 0.0f;
|
||||
arg0->unk94 = 0.016666668f;
|
||||
arg0->unk78 = 1;
|
||||
arg0->unk8 = 10;
|
||||
break;
|
||||
case 10:
|
||||
if (arg0->unk78 != 0) break;
|
||||
arg0->unk4 = 0;
|
||||
arg0->unk8 = 0;
|
||||
Hu3DModelAttrSet(arg0->unkC, 1);
|
||||
arg0->unk6C = 0;
|
||||
return; // ???
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_2D94(unkStruct4* arg0) {
|
||||
arg0->unk4 = 2;
|
||||
arg0->unk8 = 0;
|
||||
}
|
||||
|
||||
void fn_1_2DA8(unkStruct4* arg0) {
|
||||
f32 var_f31;
|
||||
f32 var_f30;
|
||||
|
||||
switch (arg0->unk8) {
|
||||
case 0:
|
||||
arg0->unk8 = 1;
|
||||
case 1:
|
||||
if (arg0->unk78 == 0) {
|
||||
var_f31 = arg0->unk58 + 0.25f;
|
||||
arg0->unk60 = var_f31;
|
||||
arg0->unk5C = arg0->unk58;
|
||||
arg0->unk90 = 0.0f;
|
||||
arg0->unk94 = 0.033333335f;
|
||||
arg0->unk78 = 1;
|
||||
arg0->unk8 = 2U;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (arg0->unk78 == 0) {
|
||||
var_f30 = arg0->unk58 - 0.25f;
|
||||
arg0->unk60 = var_f30;
|
||||
arg0->unk5C = arg0->unk58;
|
||||
arg0->unk90 = 0.0f;
|
||||
arg0->unk94 = 0.033333335f;
|
||||
arg0->unk78 = 1;
|
||||
arg0->unk8 = 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_2EC0(unkStruct4* arg0, s32 arg1) {
|
||||
if (arg1 != 0) {
|
||||
Hu3DModelShadowDispOn(arg0->unkA);
|
||||
Hu3DModelAmbSet(arg0->unkA, 0.0f, 0.0f, 0.0f);
|
||||
return;
|
||||
}
|
||||
Hu3DModelShadowDispOff(arg0->unkA);
|
||||
Hu3DModelAmbSet(arg0->unkA, 1.0f, 1.0f, 1.0f);
|
||||
}
|
||||
|
||||
void fn_1_2F64(unkStruct4* arg0) {
|
||||
if ((arg0->unk58 > 1.0f) || (arg0->unk58 < 1.0f)) {
|
||||
Hu3DModelLayerSet(arg0->unkA, 1);
|
||||
Hu3DModelLayerSet(arg0->unkC, 1);
|
||||
} else {
|
||||
Hu3DModelLayerSet(arg0->unkA, 0);
|
||||
Hu3DModelLayerSet(arg0->unkC, 0);
|
||||
}
|
||||
Hu3DModelPosSet(arg0->unkA, arg0->unk10.x, arg0->unk10.y, arg0->unk10.z);
|
||||
Hu3DModelPosSet(arg0->unkC, arg0->unk10.x, 0.1f + arg0->unk10.y, arg0->unk10.z);
|
||||
Hu3DModelScaleSet(arg0->unkA, arg0->unk58, arg0->unk58, arg0->unk58);
|
||||
Hu3DModelScaleSet(arg0->unkC, arg0->unk58, arg0->unk58, arg0->unk58);
|
||||
Hu3DModelRotSet(arg0->unkA, arg0->unk34.x, arg0->unk34.y, arg0->unk34.z);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue