mirror of
https://github.com/pret/pokestadium.git
synced 2026-09-30 13:57:24 -05:00
4CBC0
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -239,3 +239,5 @@ D_87A01178 = 0x87A01178;
|
||||
D_87A01180 = 0x87A01180;
|
||||
D_87A01190 = 0x87A01190;
|
||||
D_87A011A4 = 0x87A011A4;
|
||||
D_800A7428 = 0x800A7428;
|
||||
D_80079014 = 0x80079014;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "373A0.h"
|
||||
#include "4CBC0.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/373A0/func_800367A0.s")
|
||||
|
||||
|
||||
@@ -5,5 +5,6 @@
|
||||
|
||||
void func_800367A0(s32, u8, s32);
|
||||
void func_80037234(s32, s32);
|
||||
void func_80037360(u32, u32, s32);
|
||||
|
||||
#endif // _373A0_H_
|
||||
|
||||
@@ -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);
|
||||
|
||||
143
src/3D140.c
143
src/3D140.c
@@ -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]]);
|
||||
|
||||
30
src/3FB0.c
30
src/3FB0.c
@@ -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
|
||||
|
||||
48
src/4B940.c
48
src/4B940.c
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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_
|
||||
|
||||
33
src/4BDC0.c
33
src/4BDC0.c
@@ -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;
|
||||
|
||||
1440
src/4CBC0.c
1440
src/4CBC0.c
File diff suppressed because it is too large
Load Diff
@@ -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_
|
||||
|
||||
@@ -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
8
src/50860.h
Normal file
@@ -0,0 +1,8 @@
|
||||
#ifndef _50860_H_
|
||||
#define _50860_H_
|
||||
|
||||
#include "global.h"
|
||||
|
||||
void func_8004FC60(s32, s32);
|
||||
|
||||
#endif // _50860_H_
|
||||
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user