This commit is contained in:
Maide
2024-08-24 20:31:29 +01:00
parent 09f2dfa0c5
commit a68f1bbce4
16 changed files with 1632 additions and 145 deletions

View File

@@ -9,6 +9,15 @@
#define SHT_MAX 32767.0f
#define SHT_MINV (1.0f / SHT_MAX)
extern long long __d_to_ll(double d);
extern long long __f_to_ll(float f);
extern unsigned long long __d_to_ull(double d);
extern unsigned long long __f_to_ull(float f);
extern double __ll_to_d(long long s);
extern float __ll_to_f(long long s);
extern double __ull_to_d(unsigned long long u);
extern float __ull_to_f(unsigned long long u);
typedef float MtxF_t[4][4];
typedef union {
MtxF_t mf;

View File

@@ -144,13 +144,10 @@ extern s8 D_80077DE4;
extern s32 D_80078E60;
extern s32 D_80078E64;
extern s32 D_80078E68;
extern u8 D_8007840C;
extern s32 D_80078E70;
extern s32 D_80078ECC;
extern u8 D_80078ED0;
extern s32 D_80078FA8;
extern s32 D_800FF9B4;
extern u8 D_80078390[];
extern u32 D_80078404;
extern s32 D_80078408;
@@ -161,7 +158,7 @@ extern u8 D_80078E80;
extern s32 D_80078EC8;
extern s32 D_800FC680;
extern s32 D_800FC684;
extern s32 D_800FC6DC;
extern u32 D_800FC6DC;
extern s32 D_80078ED4;
extern s32 D_80078ED8;
extern s32 D_80078EDC;
@@ -169,11 +166,37 @@ extern s32 D_80078EDC;
typedef struct unk_D_800FC6E4 {
/* 0x00 */ char pad00[0x8];
/* 0x08 */ s32 unk_08;
/* 0x0C */ s32 unk_0C[2];
/* 0x0C */ u32 unk_0C[2];
} unk_D_800FC6E4; // size >= 0x10
extern unk_D_800FC6E4* D_800FC6E0;
extern unk_D_800FC6E4* D_800FC6E4;
extern s32 D_800FF9B0;
extern s32 D_800FC688;
extern s32 D_800FC68C;
extern s32 D_800FC6A4;
extern s32 D_800FC6A8;
typedef struct unk_D_800FC6F4 {
/* 0x00 */ char pad00[0x14];
/* 0x14 */ u32 unk_14;
/* 0x18 */ char pad18[0x4];
/* 0x1C */ u32 unk_1C;
/* 0x20 */ char pad20[0x4];
/* 0x24 */ u32 unk_24;
} unk_D_800FC6F4; /// size >= 0x28
extern unk_D_800FC6F4* D_800FC6F4;
typedef struct unk_D_800FC6F8 {
/* 0x00 */ u32 unk_00[2];
} unk_D_800FC6F8; // size = 0x8
extern unk_D_800FC6F8* D_800FC6F8;
typedef struct unk_D_800FC798 {
/* 0x00 */ u32 unk_00;
/* 0x04 */ u32 unk_04;
/* 0x08 */ u32 unk_08;
} unk_D_800FC798; // size >= 0xC
extern unk_D_800FC798* D_800FC798;
#endif

View File

@@ -239,3 +239,5 @@ D_87A01178 = 0x87A01178;
D_87A01180 = 0x87A01180;
D_87A01190 = 0x87A01190;
D_87A011A4 = 0x87A011A4;
D_800A7428 = 0x800A7428;
D_80079014 = 0x80079014;

View File

@@ -1,4 +1,5 @@
#include "373A0.h"
#include "4CBC0.h"
#pragma GLOBAL_ASM("asm/us/nonmatchings/373A0/func_800367A0.s")

View File

@@ -5,5 +5,6 @@
void func_800367A0(s32, u8, s32);
void func_80037234(s32, s32);
void func_80037360(u32, u32, s32);
#endif // _373A0_H_

View File

@@ -5,10 +5,14 @@
void func_80038E98(s32, s32);
s32 func_80038F30(s32, s32);
s32 func_80039024(s32, s32, s32, s32, u32, s32);
void func_800392A8(s32, s32);
s32 func_80039354(s32);
void func_800393DC(s32, s32);
void func_80039534(s32, f32);
void func_800395FC(s32, s32);
void func_8003979C(s32, s32);
void func_800397BC(s32);
void func_8003986C(s32);
void func_800398F0(s32);
void func_80039940(void);

View File

@@ -44,14 +44,14 @@ extern f64 D_8007C7F8;
extern u8 D_800FCD18[];
typedef struct unk_D_800FCB18 {
/* 0x00 */ char pad00[0xC];
/* 0x0C */ u16 unk_0C;
/* 0x0E */ char pad0E[0xE];
/* 0x1C */ u8 unk_1C;
/* 0x1D */ u8 unk_1D;
/* 0x1E */ char pad1E[0x8];
/* 0x26 */ u8 unk_26;
/* 0x28 */ u16 unk_28;
/* 0x00 */ char pad00[0xC];
/* 0x0C */ u16 unk_0C;
/* 0x0E */ char pad0E[0xE];
/* 0x1C */ u8 unk_1C;
/* 0x1D */ u8 unk_1D;
/* 0x1E */ char pad1E[0x8];
/* 0x26 */ u8 unk_26;
/* 0x28 */ u16 unk_28;
} unk_D_800FCB18; // size >= 0x2C
extern unk_D_800FCB18* D_800FCB18[2];
@@ -59,13 +59,13 @@ extern s32 D_800FCB28;
extern s32 D_800FCB2C;
typedef struct unk_D_800FCB48 {
/* 0x00 */ u16 unk_00[16];
/* 0x20 */ char pad20[0x4];
/* 0x24 */ s32 unk_24;
/* 0x28 */ char pad28[0x50];
/* 0x78 */ s32 unk_78;
/* 0x7C */ s32 unk_7C;
/* 0x80 */ char pad80[0x4];
/* 0x00 */ u16 unk_00[16];
/* 0x20 */ char pad20[0x4];
/* 0x24 */ s32 unk_24;
/* 0x28 */ char pad28[0x50];
/* 0x78 */ s32 unk_78;
/* 0x7C */ s32 unk_7C;
/* 0x80 */ char pad80[0x4];
} unk_D_800FCB48; // size = 0x84
extern unk_D_800FCB48 D_800FCB48[2];
extern s32 D_800FCCA4;
@@ -171,7 +171,7 @@ void func_8003D918(u32 arg0, u32 arg1) {
D_800783FC = 1;
D_80078400 = 1;
} else {
return;
return;
}
} else if (arg1 == 0xC) {
if ((arg0 < 0x21) && (arg0 != 0)) {
@@ -179,7 +179,7 @@ void func_8003D918(u32 arg0, u32 arg1) {
D_800783FC = 1;
D_80078400 = 0;
} else {
return;
return;
}
} else if (arg1 == 0xD) {
if (arg0 < 6) {
@@ -187,7 +187,7 @@ void func_8003D918(u32 arg0, u32 arg1) {
D_800783FC = 1;
D_80078400 = 0;
} else {
return;
return;
}
} else {
if (arg1 == 0xE) {
@@ -227,7 +227,7 @@ void func_8003D918(u32 arg0, u32 arg1) {
#ifdef NON_MATCHING
void func_8003DB84(s32 arg0) {
s32 i;
s32 i;
s32 var_t0;
s32 var_t2;
s32 var_t4;
@@ -257,7 +257,7 @@ void func_8003DB84(s32 arg0) {
if ((D_800FCB18[0] != NULL) && (D_800FCB18[1] != NULL)) {
if (D_800FCB18[0] != NULL) {
D_800FCB28 = D_800FCB18[0]->unk_0C;
D_800FCB28 = D_800FCB18[0]->unk_0C;
}
if (D_800FCB18[1] != NULL) {
@@ -275,15 +275,15 @@ void func_8003DB84(s32 arg0) {
var_t2 = 0;
var_t4 = 1;
} else {
var_t4 = 0;
var_t2 = 1;
var_t4 = 0;
var_t2 = 1;
}
if (D_800FCB18[0]->unk_0C < D_800FCB18[1]->unk_0C) {
var_t0 = 0;
var_t5 = 1;
} else {
var_t5 = 0;
var_t5 = 0;
}
if (D_800783CC < 2) {
@@ -307,14 +307,15 @@ void func_8003DB84(s32 arg0) {
return;
}
if ((((D_800FCB18[0]->unk_0C * 0x64u) / D_800FCB18[0]->unk_28) < 0x1E) &&
if ((((D_800FCB18[0]->unk_0C * 0x64u) / D_800FCB18[0]->unk_28) < 0x1E) &&
(((D_800FCB18[1]->unk_0C * 0x64u) / D_800FCB18[1]->unk_28) < 0x1E)) {
func_800420C0(D_80077E88);
return;
}
if (((((D_800FCB18[var_t4]->unk_26 - D_800FCB18[var_t2]->unk_26) * 0x64u) / D_800FCB18[var_t2]->unk_26) >= 0x15) &&
(((D_800FCB18[var_t2]->unk_0C * 0x64u) / D_800FCB18[var_t2]->unk_28) < 0x28) &&
if (((((D_800FCB18[var_t4]->unk_26 - D_800FCB18[var_t2]->unk_26) * 0x64u) /
D_800FCB18[var_t2]->unk_26) >= 0x15) &&
(((D_800FCB18[var_t2]->unk_0C * 0x64u) / D_800FCB18[var_t2]->unk_28) < 0x28) &&
(((D_800FCB18[var_t4]->unk_0C * 0x64u) / D_800FCB18[var_t4]->unk_28) >= 0x51)) {
if (__ull_rem(osGetTime(), 3) == 0) {
var_a0 = 0x256;
@@ -322,7 +323,7 @@ void func_8003DB84(s32 arg0) {
}
}
if ((((D_800FCB18[0]->unk_0C * 0x64u) / D_800FCB18[0]->unk_28) >= 0x5B) &&
if ((((D_800FCB18[0]->unk_0C * 0x64u) / D_800FCB18[0]->unk_28) >= 0x5B) &&
(((D_800FCB18[1]->unk_0C * 0x64u) / D_800FCB18[1]->unk_28) >= 0x5B)) {
func_800420C0(D_80077E68);
return;
@@ -351,7 +352,7 @@ void func_8003DB84(s32 arg0) {
if (D_80078390[0] >= D_80078390[1]) {
var_v0 = D_80078390[0] - D_80078390[1];
} else {
var_v0 = D_80078390[1] - D_80078390[0];
var_v0 = D_80078390[1] - D_80078390[0];
}
if (var_v0 >= 2) {
@@ -367,10 +368,10 @@ void func_8003DB84(s32 arg0) {
if (__ull_rem(osGetTime(), 2) != 0) {
var_a0 = 0x254;
} else {
var_a0 = 0x26B;
var_a0 = 0x26B;
}
}
block_53:
block_53:
func_80041C70(var_a0);
return;
}
@@ -385,8 +386,7 @@ block_53:
}
if (D_800FCCB0 != 0) {
if (((D_80078390[0] == 1) || (D_80078390[1] == 1)) &&
(D_80078390[0] < 4) && (D_80078390[1] < 4)) {
if (((D_80078390[0] == 1) || (D_80078390[1] == 1)) && (D_80078390[0] < 4) && (D_80078390[1] < 4)) {
if (D_80078390[0] == 1) {
switch (D_80078390[1]) {
case 1:
@@ -443,15 +443,15 @@ block_53:
if (D_800FCCB1 != 0) {
if (__ull_rem(osGetTime(), 2) != 0) {
D_800FCCB0 = 0;
func_800420C0(D_80077E10);
return;
}
D_800FCCB0 = 0;
func_800420C0(D_80077E10);
return;
}
}
if (D_800FCB18[0]->unk_1C != D_800FCB18[1]->unk_1C) {
if (D_800FCB18[0]->unk_1C != D_800FCB18[1]->unk_1D) {
if ((D_800FCB18[0]->unk_1D != D_800FCB18[1]->unk_1C) &&
if ((D_800FCB18[0]->unk_1D != D_800FCB18[1]->unk_1C) &&
(D_800FCB18[0]->unk_1D != D_800FCB18[1]->unk_1D)) {
D_800FCCB0 = 0;
func_800420C0(D_80077E18);
@@ -519,13 +519,15 @@ block_53:
return;
}
if ((D_800FCB18[0]->unk_28 * 0.5f) < (D_800FCB48[0].unk_00[(D_800FCB48[0].unk_24 - 1) & 0xF] - D_800FCB48[0].unk_00[D_800FCB48[0].unk_24 & 0xF])) {
if ((D_800FCB18[1]->unk_28 * 0.5f) < (D_800FCB48[1].unk_00[(D_800FCB48[1].unk_24 - 1) & 0xF] - D_800FCB48[1].unk_00[(D_800FCB48[1].unk_24 & 0xF)])) {
if ((((D_800FCB18[0]->unk_0C * 0x64u) / D_800FCB18[0]->unk_28) < 0x14u) &&
if ((D_800FCB18[0]->unk_28 * 0.5f) < (D_800FCB48[0].unk_00[(D_800FCB48[0].unk_24 - 1) & 0xF] -
D_800FCB48[0].unk_00[D_800FCB48[0].unk_24 & 0xF])) {
if ((D_800FCB18[1]->unk_28 * 0.5f) < (D_800FCB48[1].unk_00[(D_800FCB48[1].unk_24 - 1) & 0xF] -
D_800FCB48[1].unk_00[(D_800FCB48[1].unk_24 & 0xF)])) {
if ((((D_800FCB18[0]->unk_0C * 0x64u) / D_800FCB18[0]->unk_28) < 0x14u) &&
(((D_800FCB18[1]->unk_0C * 0x64u) / D_800FCB18[1]->unk_28) < 0x14u)) {
func_800420C0(D_80077E60);
} else {
func_800420C0(D_80077E58);
func_800420C0(D_80077E58);
}
return;
}
@@ -538,8 +540,9 @@ block_53:
}
if ((D_800FCB18[var_t0]->unk_28 * D_8007C7E0) < var_v0) {
if ((((D_800FCB18[var_t5]->unk_0C * 0x64u) / D_800FCB18[var_t5]->unk_28) >= 0x47) &&
(D_800FCB18[0]->unk_0C != D_800FCB18[0]->unk_28) && (D_800FCB18[1]->unk_0C != D_800FCB18[1]->unk_28)) {
if ((((D_800FCB18[var_t5]->unk_0C * 0x64u) / D_800FCB18[var_t5]->unk_28) >= 0x47) &&
(D_800FCB18[0]->unk_0C != D_800FCB18[0]->unk_28) &&
(D_800FCB18[1]->unk_0C != D_800FCB18[1]->unk_28)) {
if ((D_800FCB18[var_t5]->unk_28 * D_8007C7E8) < D_800FCB18[var_t5]->unk_0C) {
if (D_800FCB18[var_t0]->unk_0C < (D_800FCB18[var_t0]->unk_28 * D_8007C7F0)) {
func_800420C0(D_80077E20);
@@ -552,13 +555,13 @@ block_53:
if (D_800FCB18[0]->unk_0C >= D_800FCB18[1]->unk_0C) {
var_v0 = D_800FCB18[0]->unk_0C - D_800FCB18[1]->unk_0C;
} else {
var_v0 = D_800FCB18[1]->unk_0C - D_800FCB18[0]->unk_0C;
}
var_v0 = D_800FCB18[1]->unk_0C - D_800FCB18[0]->unk_0C;
}
if (var_v0 < 0xA) {
if ((D_800FCB18[0]->unk_28 * 0.5) < D_800FCB18[0]->unk_0C) {
if (((D_800FCB18[1]->unk_28 * 0.5) < D_800FCB18[1]->unk_0C) &&
(D_800FCB18[0]->unk_0C < D_800FCB18[0]->unk_28) &&
if (((D_800FCB18[1]->unk_28 * 0.5) < D_800FCB18[1]->unk_0C) &&
(D_800FCB18[0]->unk_0C < D_800FCB18[0]->unk_28) &&
(D_800FCB18[1]->unk_0C < D_800FCB18[1]->unk_28)) {
func_800420C0(D_80077E30);
return;
@@ -569,7 +572,7 @@ block_53:
if (D_800FCB18[0]->unk_0C >= D_800FCB18[1]->unk_0C) {
var_v0 = D_800FCB18[0]->unk_0C - D_800FCB18[1]->unk_0C;
} else {
var_v0 = D_800FCB18[1]->unk_0C - D_800FCB18[0]->unk_0C;
var_v0 = D_800FCB18[1]->unk_0C - D_800FCB18[0]->unk_0C;
}
if (var_v0 < 0xA) {
@@ -584,7 +587,7 @@ block_53:
if (D_80078400 == 0) {
func_800420C0(D_80077E78);
} else {
func_800420C0(D_80077DF0);
func_800420C0(D_80077DF0);
}
return;
}
@@ -608,10 +611,10 @@ block_53:
D_800783CC++;
for (i = 0; i < 2; i++) {
D_800FCB48[i].unk_78++;
if (D_800FCB48[i].unk_7C != 0) {
D_800FCB48[i].unk_7C++;
}
D_800FCB48[i].unk_78++;
if (D_800FCB48[i].unk_7C != 0) {
D_800FCB48[i].unk_7C++;
}
}
D_800FCCB4 = 0;
@@ -619,10 +622,8 @@ block_53:
D_800FCCB5 = 0;
D_800783E4 = 0;
if ((D_800FCB18[0] != NULL) && (D_800FCB18[1] != NULL) &&
(D_8007840C != 0) &&
(D_800FCB18[0]->unk_0C != 0) && (D_800FCB18[1]->unk_0C != 0) &&
(func_80044E54(1) == 0)) {
if ((D_800FCB18[0] != NULL) && (D_800FCB18[1] != NULL) && (D_8007840C != 0) && (D_800FCB18[0]->unk_0C != 0) &&
(D_800FCB18[1]->unk_0C != 0) && (func_80044E54(1) == 0)) {
if (__ull_rem(osGetTime(), 2) == 0) {
func_800420C0(D_800780A8);
}
@@ -661,9 +662,9 @@ void func_80041A98(void) {
D_800783CC = 0;
for (i = 0; i < 2; i++) {
for (j = 0; j < 8; j++) {
D_800FCB38[i][j] = 0;
}
for (j = 0; j < 8; j++) {
D_800FCB38[i][j] = 0;
}
}
D_8007839C[0] = 0;
@@ -690,22 +691,22 @@ void func_80041A98(void) {
D_800783F8 = 0;
for (i = 0; i < 21; i++) {
D_800FCCD8[i] = 0;
D_800FCCD8[i] = 0;
}
for (i = 0; i < 80; i++) {
D_800FCC50[i] = 0;
D_800FCC50[i] = 0;
}
for (i = 0; i < 2; i++) {
D_800FCCB8[i] = 0;
D_800FCCBA[i] = 0;
D_800FCCBC[i] = 0;
D_800FCCBE[i] = 0;
D_800FCCC0[i] = 0;
D_800FCCC2[i] = 0;
D_800FCCD4[i] = 0;
D_800FCCD6[i] = 0;
D_800FCCB8[i] = 0;
D_800FCCBA[i] = 0;
D_800FCCBC[i] = 0;
D_800FCCBE[i] = 0;
D_800FCCC0[i] = 0;
D_800FCCC2[i] = 0;
D_800FCCD4[i] = 0;
D_800FCCD6[i] = 0;
}
}
#else
@@ -779,7 +780,7 @@ u32 func_80041EF4(u16* arg0) {
for (i = 0; i < temp_v0 << 1; i++) {
func_80041D50(D_800FCD18, D_800FCD18 + __ull_rem(osGetTime(), (s32)temp_v0));
}
}
for (i = 0; i < temp_v0; i++) {
sp5A = func_80041D70(arg0[D_800FCD18[i]]);

View File

@@ -29,25 +29,25 @@
// PERSJPEG header
struct UnkInputStruct80003C80 {
char filler0[0x8];
u32 unk8;
u32 unkC;
char filler0[0x8];
u32 unk8;
u32 unkC;
};
s32 func_80003C80(s32 arg0, struct UnkInputStruct80003C80* arg1, s32 side) {
s32 addr = main_pool_alloc(arg1->unkC + 0x100, side);
s32 addr = main_pool_alloc(arg1->unkC + 0x100, side);
if (addr != 0) {
s32 size = func_80003680(addr, arg1->unkC + 0x100, (u32)arg1 + arg1->unk8, arg1);
if (size == 0) {
main_pool_try_free(addr);
addr = NULL;
} else if (side == 0) {
main_pool_realloc(addr, size);
}
}
main_pool_try_free(arg0);
return addr;
if (addr != 0) {
s32 size = func_80003680(addr, arg1->unkC + 0x100, (u32)arg1 + arg1->unk8, arg1);
if (size == 0) {
main_pool_try_free(addr);
addr = NULL;
} else if (side == 0) {
main_pool_realloc(addr, size);
}
}
main_pool_try_free(arg0);
return addr;
}
// PERS-SZP header

View File

@@ -1,5 +1,49 @@
#include "4B940.h"
#pragma GLOBAL_ASM("asm/us/nonmatchings/4B940/func_8004AD40.s")
static OSMesgQueue D_800FF990;
static OSPiHandle* D_800FF9A8;
static OSMesg D_800FF9AC;
#pragma GLOBAL_ASM("asm/us/nonmatchings/4B940/func_8004ADB0.s")
void func_8004AD40(s32 arg0) {
switch (arg0) {
case 1:
D_800FF9A8 = osDriveRomInit();
break;
case 2:
default:
D_800FF9A8 = osCartRomInit();
break;
}
osCreateMesgQueue(&D_800FF990, &D_800FF9AC, 1);
}
void func_8004ADB0(u32 dev_addr, u32 dram_addr, u32 size) {
OSIoMesg msg;
u32 dev = dev_addr;
u32 dram = dram_addr;
s32 var_s0;
while (size != 0) {
if (size > 0x4000) {
var_s0 = 0x4000;
} else {
var_s0 = size;
}
msg.hdr.pri = 0;
msg.hdr.retQueue = &D_800FF990;
msg.dramAddr = dram;
msg.devAddr = dev;
msg.size = var_s0;
osInvalDCache(msg.dramAddr, var_s0);
osEPiStartDma(D_800FF9A8, &msg, 0);
osRecvMesg(&D_800FF990, NULL, 1);
dev += var_s0;
dram += var_s0;
size -= var_s0;
}
}

View File

@@ -3,7 +3,6 @@
#include "global.h"
void func_8004ADB0(s32, s32, s32);
void func_8004ADB0(u32 dev_addr, u32 dram_addr, u32 size);
#endif // _4B940_H_

View File

@@ -7,6 +7,9 @@
#include "src/50CC0.h"
#include "src/3D140.h"
static s32 D_800FF9B0;
static s32 D_800FF9B4;
void func_8004B1C0(s32 arg0) {
D_80078EC8 = arg0;
}
@@ -53,11 +56,11 @@ s32 func_8004B1CC(s32 arg0) {
func_800393DC(D_80078ECC, 0);
D_80078ED0 = 1;
} else {
func_80039940();
D_80078E70 = 0;
func_800392A8(D_80078ECC, 1);
D_80078ED0 = 0;
}
func_80039940();
D_80078E70 = 0;
func_800392A8(D_80078ECC, 1);
D_80078ED0 = 0;
}
if (arg0 == 0x32) {
if ((D_80078404 < 0xC) && (D_80078390[0] > 0) && (D_80078390[1] == 0) && (D_80078408 == 8)) {
@@ -430,7 +433,7 @@ s32 func_8004B1CC(s32 arg0) {
} else if (sp2C == D_800FC6E4->unk_08 - 1) {
var_a2 = D_800FC6E0->unk_08 - D_800FC6E4->unk_0C[sp2C];
} else {
return 0;
return 0;
}
func_8004ADB0(D_800FC6E4->unk_0C[sp2C], D_800FC6DC, var_a2);
@@ -473,9 +476,9 @@ void func_8004B9C4(s32 arg0) {
func_8003DB84(0);
if (D_800FF9B4 != 0x50) {
for (i = 0; i < 2; i++) {
for (i = 0; i < 2; i++) {
func_80044D78(i, arg0);
}
}
}
}
@@ -503,7 +506,7 @@ s32 func_8004BC84(s32 arg0, u32 arg1) {
if (arg1 == 0) {
return func_8004B1CC(0x1E);
}
return 0;
return 0;
}
return 0;
}
@@ -577,13 +580,13 @@ s32 func_8004BC84(s32 arg0, u32 arg1) {
D_80078ED4 = 3;
D_80078EDC = 0;
} else {
func_8004B1C0(0x46);
D_80078ED4 = 3;
D_80078EDC = func_8004B1CC(0x20);
return D_80078EDC;
}
func_8004B1C0(0x46);
D_80078ED4 = 3;
D_80078EDC = func_8004B1CC(0x20);
return D_80078EDC;
}
}
return 0;
return 0;
case 3:
return 0;

File diff suppressed because it is too large Load Diff

View File

@@ -3,8 +3,11 @@
#include "global.h"
extern s32 D_80078FA8;
extern u32 D_80079014;
s32 func_8004D9B0(s32 arg0, s32 arg1, s32 arg2);
s32 func_8004DDA4(s32, s32, s32);
void func_8004DF94(s32, s32, s32);
s32 func_8004DF94(s32, s32, s32);
#endif // _4CBC0_H_

View File

@@ -1,4 +1,4 @@
#include "global.h"
#include "50860.h"
#pragma GLOBAL_ASM("asm/us/nonmatchings/50860/func_8004FC60.s")

8
src/50860.h Normal file
View File

@@ -0,0 +1,8 @@
#ifndef _50860_H_
#define _50860_H_
#include "global.h"
void func_8004FC60(s32, s32);
#endif // _50860_H_

View File

@@ -98,10 +98,10 @@
- [0x49DC0, c]
- [0x4A360, c]
- [0x4A3E0, c]
- [0x4B940, c]
- [0x4B940, c, 4B940]
- [0x4BA90, c, 4BA90]
- [0x4BDC0, c]
- [0x4CBC0, c]
- [0x4BDC0, c, 4BDC0]
- [0x4CBC0, c, 4CBC0]
- [0x4F410, c]
- [0x4F7F0, c]
- [0x4F870, c]
@@ -331,6 +331,8 @@
- [0x6A3E0, data, rom_data_6A3E0]
- [0x6A3F0, .data, math_util]
- [0x6FC00, data, rom_data_6FC00]
- [0x79AE0, .data, 4CBC0]
- [0x79C70, data, rom_data_79C70]
# libleo
- [0x7A180, .data, libleo/driverominit]
@@ -397,7 +399,7 @@
- [0x7E0D0, rodata, rom_rodata_7E0D0]
- [0x7E0E0, .rodata, 4BA90]
- [0x7E110, .rodata, 4BDC0]
- [0x7E2F0, rodata, rom_rodata_7E2F0]
- [0x7E2F0, .rodata, 4CBC0]
- [0x7E560, rodata, rom_rodata_7E560]
- [0x7E5D0, rodata, rom_rodata_7E5D0]
- [0x7E600, rodata, rom_rodata_7E600]
@@ -446,6 +448,9 @@
- {vram: 0x800A74C0, type: .bss, name: crash_screen}
- {vram: 0x800A7EA0, type: .bss, name: profiler}
- {vram: 0x800A8100, type: bss, name: unk_bss_2}
- {vram: 0x800FF990, type: .bss, name: 4B940}
- {vram: 0x800FF9B0, type: .bss, name: 4BDC0}
- {vram: 0x800FF9C0, type: bss, name: unk_bss_10}
# libleo
- {vram: 0x80100740, type: .bss, name: libleo/driverominit}