Match m446dll/stage.c
main.c is broken due to fn_1_CA0, otherwise, m446ddl is complete
This commit is contained in:
parent
d430953293
commit
285ecc1bf2
7 changed files with 43 additions and 44 deletions
|
|
@ -128,11 +128,11 @@ fn_1_852C = .text:0x0000852C; // type:function size:0xE0
|
||||||
fn_1_860C = .text:0x0000860C; // type:function size:0xC
|
fn_1_860C = .text:0x0000860C; // type:function size:0xC
|
||||||
_ctors = .ctors:0x00000000; // type:label scope:global data:4byte
|
_ctors = .ctors:0x00000000; // type:label scope:global data:4byte
|
||||||
_dtors = .dtors:0x00000000; // type:label scope:global data:4byte
|
_dtors = .dtors:0x00000000; // type:label scope:global data:4byte
|
||||||
lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 data:double
|
lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 scope:local data:double
|
||||||
lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x30 data:4byte
|
lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x30 scope:local data:4byte
|
||||||
lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float
|
lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float
|
lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:float
|
lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 scope:local data:float
|
||||||
lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x14 scope:local
|
lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x14 scope:local
|
||||||
lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x14 scope:local
|
lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x14 scope:local
|
||||||
lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double
|
lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double
|
||||||
|
|
@ -252,7 +252,7 @@ lbl_1_data_38 = .data:0x00000038; // type:object size:0x18
|
||||||
lbl_1_data_50 = .data:0x00000050; // type:object size:0x18
|
lbl_1_data_50 = .data:0x00000050; // type:object size:0x18
|
||||||
lbl_1_data_68 = .data:0x00000068; // type:object size:0x8
|
lbl_1_data_68 = .data:0x00000068; // type:object size:0x8
|
||||||
lbl_1_data_70 = .data:0x00000070; // type:object size:0x10
|
lbl_1_data_70 = .data:0x00000070; // type:object size:0x10
|
||||||
lbl_1_data_80 = .data:0x00000080; // type:object size:0x20
|
lbl_1_data_80 = .data:0x00000080; // type:object size:0x20 scope:local
|
||||||
lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x14
|
lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x14
|
||||||
jumptable_1_data_B4 = .data:0x000000B4; // type:object size:0x30 scope:local
|
jumptable_1_data_B4 = .data:0x000000B4; // type:object size:0x30 scope:local
|
||||||
jumptable_1_data_E4 = .data:0x000000E4; // type:object size:0x68 scope:local
|
jumptable_1_data_E4 = .data:0x000000E4; // type:object size:0x68 scope:local
|
||||||
|
|
|
||||||
|
|
@ -1195,7 +1195,7 @@ config.libs = [
|
||||||
Object(Matching, "REL/m446Dll/player.c"),
|
Object(Matching, "REL/m446Dll/player.c"),
|
||||||
Object(Matching, "REL/m446Dll/camera.c"),
|
Object(Matching, "REL/m446Dll/camera.c"),
|
||||||
Object(Matching, "REL/m446Dll/cursor.c"),
|
Object(Matching, "REL/m446Dll/cursor.c"),
|
||||||
Object(NonMatching, "REL/m446Dll/stage.c"),
|
Object(Matching, "REL/m446Dll/stage.c"),
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Rel(
|
Rel(
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ typedef struct _unkStruct {
|
||||||
struct _unkStruct9* unk24;
|
struct _unkStruct9* unk24;
|
||||||
struct _unkStruct5* unk28;
|
struct _unkStruct5* unk28;
|
||||||
struct _unkStruct8* unk2C[2];
|
struct _unkStruct8* unk2C[2];
|
||||||
struct _unkStruct9* unk34;
|
struct _unkStruct4* unk34;
|
||||||
struct _unkStruct4* unk38[23];
|
struct _unkStruct4* unk38[23];
|
||||||
s32 unk94;
|
s32 unk94;
|
||||||
Process* unk98;
|
Process* unk98;
|
||||||
|
|
@ -41,8 +41,7 @@ typedef struct _unkStruct4 {
|
||||||
s32 unk4;
|
s32 unk4;
|
||||||
u8 unk8;
|
u8 unk8;
|
||||||
u8 unk9;
|
u8 unk9;
|
||||||
s16 unkA;
|
s16 unkA[2];
|
||||||
s16 unkC;
|
|
||||||
s16 unkE;
|
s16 unkE;
|
||||||
Vec unk10;
|
Vec unk10;
|
||||||
Vec unk1C;
|
Vec unk1C;
|
||||||
|
|
@ -253,7 +252,7 @@ extern void fn_1_19D4(void);
|
||||||
extern unkStruct2* fn_1_1C64(s32);
|
extern unkStruct2* fn_1_1C64(s32);
|
||||||
extern void fn_1_1CF8(unkStruct2*);
|
extern void fn_1_1CF8(unkStruct2*);
|
||||||
extern s32 fn_1_1D30(unkStruct2*, void*);
|
extern s32 fn_1_1D30(unkStruct2*, void*);
|
||||||
extern s32 fn_1_1D6C(unkStruct2*, void**);
|
extern s32 fn_1_1D6C(unkStruct2*, unkStruct4**);
|
||||||
extern s32 fn_1_1DA8(unkStruct2*, void**);
|
extern s32 fn_1_1DA8(unkStruct2*, void**);
|
||||||
extern BOOL fn_1_1DDC(unkStruct2*);
|
extern BOOL fn_1_1DDC(unkStruct2*);
|
||||||
extern s32 fn_1_1DEC(unkStruct2*);
|
extern s32 fn_1_1DEC(unkStruct2*);
|
||||||
|
|
@ -270,7 +269,7 @@ extern s32 fn_1_2064(void);
|
||||||
extern void fn_1_207C(void);
|
extern void fn_1_207C(void);
|
||||||
extern void fn_1_20D4(void);
|
extern void fn_1_20D4(void);
|
||||||
extern unkStruct4* m446CardCreate(s32);
|
extern unkStruct4* m446CardCreate(s32);
|
||||||
extern void fn_1_2688(unkStruct9*);
|
extern void fn_1_2688(unkStruct4*);
|
||||||
extern void fn_1_272C(unkStruct4*);
|
extern void fn_1_272C(unkStruct4*);
|
||||||
extern void fn_1_2794(unkStruct4*);
|
extern void fn_1_2794(unkStruct4*);
|
||||||
extern void fn_1_27FC(unkStruct4*, Vec*, s32);
|
extern void fn_1_27FC(unkStruct4*, Vec*, s32);
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ s32 fn_1_1D30(unkStruct2* arg0, void* arg1) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 fn_1_1D6C(unkStruct2* arg0, void** arg1) {
|
s32 fn_1_1D6C(unkStruct2* arg0, unkStruct4** arg1) {
|
||||||
if (arg0->unk8 <= 0) {
|
if (arg0->unk8 <= 0) {
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -174,7 +174,7 @@ s32 fn_1_2064(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_207C(void) {
|
void fn_1_207C(void) {
|
||||||
unkStruct9* var_r30;
|
unkStruct4* var_r30;
|
||||||
unkStruct3* var_r31;
|
unkStruct3* var_r31;
|
||||||
|
|
||||||
var_r31 = lbl_1_bss_18;
|
var_r31 = lbl_1_bss_18;
|
||||||
|
|
@ -271,14 +271,14 @@ unkStruct4* m446CardCreate(s32 arg0) {
|
||||||
temp_r31->unk74 = 0;
|
temp_r31->unk74 = 0;
|
||||||
temp_r31->unk78 = 0;
|
temp_r31->unk78 = 0;
|
||||||
temp_r31->unk7C = 0;
|
temp_r31->unk7C = 0;
|
||||||
temp_r31->unkA = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_rodata_58[arg0], 0x10000000, HEAP_DATA));
|
temp_r31->unkA[0] = Hu3DModelCreateFile(lbl_1_rodata_58[arg0]);
|
||||||
Hu3DModelAmbSet(temp_r31->unkA, 0.0f, 0.0f, 0.0f);
|
Hu3DModelAmbSet(temp_r31->unkA[0], 0.0f, 0.0f, 0.0f);
|
||||||
Hu3DModelShadowSet(temp_r31->unkA);
|
Hu3DModelShadowSet(temp_r31->unkA[0]);
|
||||||
Hu3DModelLayerSet(temp_r31->unkA, 0);
|
Hu3DModelLayerSet(temp_r31->unkA[0], 0);
|
||||||
temp_r31->unkC = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_rodata_6C[arg0], 0x10000000, HEAP_DATA));
|
temp_r31->unkA[1] = Hu3DModelCreateFile(lbl_1_rodata_6C[arg0]);
|
||||||
Hu3DModelAmbSet(temp_r31->unkC, 1.0f, 1.0f, 1.0f);
|
Hu3DModelAmbSet(temp_r31->unkA[1], 1.0f, 1.0f, 1.0f);
|
||||||
Hu3DModelAttrSet(temp_r31->unkC, 0x40000001U);
|
Hu3DModelAttrSet(temp_r31->unkA[1], 0x40000001U);
|
||||||
Hu3DModelLayerSet(temp_r31->unkA, 0);
|
Hu3DModelLayerSet(temp_r31->unkA[0], 0);
|
||||||
fn_1_2A58(temp_r31);
|
fn_1_2A58(temp_r31);
|
||||||
fn_1_2EC0(temp_r31, 1);
|
fn_1_2EC0(temp_r31, 1);
|
||||||
temp_r30 = fn_1_1DF4(temp_r31);
|
temp_r30 = fn_1_1DF4(temp_r31);
|
||||||
|
|
@ -295,7 +295,7 @@ unkStruct4* m446CardCreate(s32 arg0) {
|
||||||
return temp_r31;
|
return temp_r31;
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_2688(unkStruct9* arg0) {
|
void fn_1_2688(unkStruct4* arg0) {
|
||||||
unkStruct3* var_r31 = lbl_1_bss_18;
|
unkStruct3* var_r31 = lbl_1_bss_18;
|
||||||
do {
|
do {
|
||||||
if (arg0 == var_r31->unk0) {
|
if (arg0 == var_r31->unk0) {
|
||||||
|
|
@ -367,12 +367,12 @@ void fn_1_29B4(unkStruct4* arg0, f32 arg8, s32 arg1) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_2A1C(unkStruct4* arg0) {
|
void fn_1_2A1C(unkStruct4* arg0) {
|
||||||
Hu3DModelAttrReset(arg0->unkC, 1);
|
Hu3DModelAttrReset(arg0->unkA[1], 1);
|
||||||
arg0->unk6C = 1;
|
arg0->unk6C = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_2A58(unkStruct4* arg0) {
|
void fn_1_2A58(unkStruct4* arg0) {
|
||||||
Hu3DModelAttrSet(arg0->unkC, 1);
|
Hu3DModelAttrSet(arg0->unkA[1], 1);
|
||||||
arg0->unk6C = 0;
|
arg0->unk6C = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -387,7 +387,7 @@ void fn_1_2AA8(unkStruct4* arg0) {
|
||||||
switch (arg0->unk8) {
|
switch (arg0->unk8) {
|
||||||
case 0:
|
case 0:
|
||||||
arg0->unk8 = 1;
|
arg0->unk8 = 1;
|
||||||
Hu3DModelAttrReset(arg0->unkC, 1);
|
Hu3DModelAttrReset(arg0->unkA[1], 1);
|
||||||
arg0->unk6C = 1;
|
arg0->unk6C = 1;
|
||||||
arg0->unk8 = 1; // ?
|
arg0->unk8 = 1; // ?
|
||||||
case 1:
|
case 1:
|
||||||
|
|
@ -455,7 +455,7 @@ void fn_1_2AA8(unkStruct4* arg0) {
|
||||||
if (arg0->unk78 != 0) break;
|
if (arg0->unk78 != 0) break;
|
||||||
arg0->unk4 = 0;
|
arg0->unk4 = 0;
|
||||||
arg0->unk8 = 0;
|
arg0->unk8 = 0;
|
||||||
Hu3DModelAttrSet(arg0->unkC, 1);
|
Hu3DModelAttrSet(arg0->unkA[1], 1);
|
||||||
arg0->unk6C = 0;
|
arg0->unk6C = 0;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -500,25 +500,25 @@ void fn_1_2DA8(unkStruct4* arg0) {
|
||||||
|
|
||||||
void fn_1_2EC0(unkStruct4* arg0, s32 arg1) {
|
void fn_1_2EC0(unkStruct4* arg0, s32 arg1) {
|
||||||
if (arg1 != 0) {
|
if (arg1 != 0) {
|
||||||
Hu3DModelShadowDispOn(arg0->unkA);
|
Hu3DModelShadowDispOn(arg0->unkA[0]);
|
||||||
Hu3DModelAmbSet(arg0->unkA, 0.0f, 0.0f, 0.0f);
|
Hu3DModelAmbSet(arg0->unkA[0], 0.0f, 0.0f, 0.0f);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Hu3DModelShadowDispOff(arg0->unkA);
|
Hu3DModelShadowDispOff(arg0->unkA[0]);
|
||||||
Hu3DModelAmbSet(arg0->unkA, 1.0f, 1.0f, 1.0f);
|
Hu3DModelAmbSet(arg0->unkA[0], 1.0f, 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_2F64(unkStruct4* arg0) {
|
void fn_1_2F64(unkStruct4* arg0) {
|
||||||
if ((arg0->unk58 > 1.0f) || (arg0->unk58 < 1.0f)) {
|
if ((arg0->unk58 > 1.0f) || (arg0->unk58 < 1.0f)) {
|
||||||
Hu3DModelLayerSet(arg0->unkA, 1);
|
Hu3DModelLayerSet(arg0->unkA[0], 1);
|
||||||
Hu3DModelLayerSet(arg0->unkC, 1);
|
Hu3DModelLayerSet(arg0->unkA[1], 1);
|
||||||
} else {
|
} else {
|
||||||
Hu3DModelLayerSet(arg0->unkA, 0);
|
Hu3DModelLayerSet(arg0->unkA[0], 0);
|
||||||
Hu3DModelLayerSet(arg0->unkC, 0);
|
Hu3DModelLayerSet(arg0->unkA[1], 0);
|
||||||
}
|
}
|
||||||
Hu3DModelPosSet(arg0->unkA, arg0->unk10.x, arg0->unk10.y, arg0->unk10.z);
|
Hu3DModelPosSet(arg0->unkA[0], arg0->unk10.x, arg0->unk10.y, arg0->unk10.z);
|
||||||
Hu3DModelPosSet(arg0->unkC, arg0->unk10.x, 0.1f + arg0->unk10.y, arg0->unk10.z);
|
Hu3DModelPosSet(arg0->unkA[1], arg0->unk10.x, 0.1f + arg0->unk10.y, arg0->unk10.z);
|
||||||
Hu3DModelScaleSet(arg0->unkA, arg0->unk58, arg0->unk58, arg0->unk58);
|
Hu3DModelScaleSet(arg0->unkA[0], arg0->unk58, arg0->unk58, arg0->unk58);
|
||||||
Hu3DModelScaleSet(arg0->unkC, arg0->unk58, arg0->unk58, arg0->unk58);
|
Hu3DModelScaleSet(arg0->unkA[1], arg0->unk58, arg0->unk58, arg0->unk58);
|
||||||
Hu3DModelRotSet(arg0->unkA, arg0->unk34.x, arg0->unk34.y, arg0->unk34.z);
|
Hu3DModelRotSet(arg0->unkA[0], arg0->unk34.x, arg0->unk34.y, arg0->unk34.z);
|
||||||
}
|
}
|
||||||
|
|
@ -39,8 +39,8 @@ unkStruct5* fn_1_3064(void) {
|
||||||
return temp_r3;
|
return temp_r3;
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_3180(unkStruct2** arg0) { // typing nightmare
|
void fn_1_3180(unkStruct2** arg0) {
|
||||||
unkStruct9* sp8;
|
unkStruct4* sp8;
|
||||||
|
|
||||||
while (fn_1_1D6C(*arg0, &sp8) != 0) {
|
while (fn_1_1D6C(*arg0, &sp8) != 0) {
|
||||||
fn_1_2688(sp8);
|
fn_1_2688(sp8);
|
||||||
|
|
|
||||||
|
|
@ -98,7 +98,7 @@ unkStruct* m446FlowCreate(void) {
|
||||||
|
|
||||||
temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x9C, 0x10000000);
|
temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x9C, 0x10000000);
|
||||||
if (temp_r3 == 0) {
|
if (temp_r3 == 0) {
|
||||||
OSReport("[!] m446FlowCreate() ERROR");
|
OSReport("[!] m446FlowCreate() ERROR...\n");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
temp_r3->unk4 = -1;
|
temp_r3->unk4 = -1;
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@ void fn_1_7C08(void) {
|
||||||
if (var_r31) {
|
if (var_r31) {
|
||||||
do {
|
do {
|
||||||
var_r30 = var_r31->unk0;
|
var_r30 = var_r31->unk0;
|
||||||
fn_1_2688(var_r30);
|
fn_1_2688((unkStruct4*)var_r30); // ???
|
||||||
var_r31 = var_r31->unk8;
|
var_r31 = var_r31->unk8;
|
||||||
} while (var_r31);
|
} while (var_r31);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue