mirror of
https://github.com/pret/pokestadium.git
synced 2026-10-01 22:37:28 -05:00
This commit is contained in:
@@ -280,6 +280,61 @@ extern u8 D_20068A0[];
|
||||
extern u8 D_2006920[];
|
||||
extern u8 D_20069A0[];
|
||||
extern u8 D_2002000[];
|
||||
extern u8 D_30C1290[];
|
||||
extern u8 D_0302EE00[];
|
||||
extern u8 D_03034580[];
|
||||
extern u8 D_03039D00[];
|
||||
extern u8 D_0303F480[];
|
||||
extern u8 D_03044C00[];
|
||||
extern u8 D_0304A380[];
|
||||
extern u8 D_0304FB00[];
|
||||
extern u8 D_03055280[];
|
||||
extern u8 D_0305AA00[];
|
||||
extern u8 D_03060180[];
|
||||
extern u8 D_03065900[];
|
||||
extern u8 D_03069528[];
|
||||
extern u8 D_0306D150[];
|
||||
extern u8 D_03070D78[];
|
||||
extern u8 D_030749A0[];
|
||||
extern u8 D_030785C8[];
|
||||
extern u8 D_0307C1F0[];
|
||||
extern u8 D_0307FE18[];
|
||||
extern u8 D_03083A40[];
|
||||
extern u8 D_03087668[];
|
||||
extern u8 D_0300BB80[];
|
||||
extern u8 D_03017700[];
|
||||
extern u8 D_3023280[];
|
||||
extern u8 D_0308B290[];
|
||||
extern u8 D_0308D290[];
|
||||
extern u8 D_0308F290[];
|
||||
extern u8 D_03091290[];
|
||||
extern u8 D_03093290[];
|
||||
extern u8 D_03095290[];
|
||||
extern u8 D_03097290[];
|
||||
extern u8 D_03099290[];
|
||||
extern u8 D_0309B290[];
|
||||
extern u8 D_0309D290[];
|
||||
extern u8 D_0309F290[];
|
||||
extern u8 D_030A1290[];
|
||||
extern u8 D_030A3290[];
|
||||
extern u8 D_030A5290[];
|
||||
extern u8 D_030A7290[];
|
||||
extern u8 D_030A9290[];
|
||||
extern u8 D_030AB290[];
|
||||
extern u8 D_030AD290[];
|
||||
extern u8 D_030AF290[];
|
||||
extern u8 D_030B1290[];
|
||||
extern u8 D_030B3290[];
|
||||
extern u8 D_030B5290[];
|
||||
extern u8 D_030B7290[];
|
||||
extern u8 D_030B9290[];
|
||||
extern u8 D_030BB290[];
|
||||
extern u8 D_030BD290[];
|
||||
extern u8 D_030BF290[];
|
||||
extern u8 D_30CD390[];
|
||||
extern u8 D_30CD410[];
|
||||
extern u8 D_30CD490[];
|
||||
extern u8 D_30CD510[];
|
||||
|
||||
extern u8 D_800818E0[0x20];
|
||||
|
||||
@@ -308,7 +363,6 @@ extern unk_D_800A7440 D_800A7440;
|
||||
|
||||
extern struct unk_D_86002F58_004_000_000 D_800AC840;
|
||||
extern struct unk_D_86002F58_004_000_000 D_800AC858;
|
||||
extern struct unk_D_86002F58_004_000* D_8006F09C;
|
||||
|
||||
typedef struct unk_D_8006FF00 {
|
||||
/* 0x00 */ u8 unk_00;
|
||||
|
||||
@@ -507,4 +507,60 @@ D_2006920 = 0x2006920;
|
||||
D_20069A0 = 0x20069A0;
|
||||
D_2002000 = 0x2002000;
|
||||
D_8006FEE8 = 0x8006FEE8; // size:0xC type:char
|
||||
D_800AC910 = 0x800AC910; // size:0x58
|
||||
D_800AC910 = 0x800AC910; // size:0x58
|
||||
D_82508B00 = 0x82508B00; // size:0x30
|
||||
D_30C1290 = 0x30C1290;
|
||||
D_0302EE00 = 0x0302EE00;
|
||||
D_03034580 = 0x03034580;
|
||||
D_03039D00 = 0x03039D00;
|
||||
D_0303F480 = 0x0303F480;
|
||||
D_03044C00 = 0x03044C00;
|
||||
D_0304A380 = 0x0304A380;
|
||||
D_0304FB00 = 0x0304FB00;
|
||||
D_03055280 = 0x03055280;
|
||||
D_0305AA00 = 0x0305AA00;
|
||||
D_03060180 = 0x03060180;
|
||||
D_03065900 = 0x03065900;
|
||||
D_03069528 = 0x03069528;
|
||||
D_0306D150 = 0x0306D150;
|
||||
D_03070D78 = 0x03070D78;
|
||||
D_030749A0 = 0x030749A0;
|
||||
D_030785C8 = 0x030785C8;
|
||||
D_0307C1F0 = 0x0307C1F0;
|
||||
D_0307FE18 = 0x0307FE18;
|
||||
D_03083A40 = 0x03083A40;
|
||||
D_03087668 = 0x03087668;
|
||||
D_0300BB80 = 0x0300BB80;
|
||||
D_03017700 = 0x03017700;
|
||||
D_3023280 = 0x3023280;
|
||||
D_0308B290 = 0x0308B290;
|
||||
D_0308D290 = 0x0308D290;
|
||||
D_0308F290 = 0x0308F290;
|
||||
D_03091290 = 0x03091290;
|
||||
D_03093290 = 0x03093290;
|
||||
D_03095290 = 0x03095290;
|
||||
D_03097290 = 0x03097290;
|
||||
D_03099290 = 0x03099290;
|
||||
D_0309B290 = 0x0309B290;
|
||||
D_0309D290 = 0x0309D290;
|
||||
D_0309F290 = 0x0309F290;
|
||||
D_030A1290 = 0x030A1290;
|
||||
D_030A3290 = 0x030A3290;
|
||||
D_030A5290 = 0x030A5290;
|
||||
D_030A7290 = 0x030A7290;
|
||||
D_030A9290 = 0x030A9290;
|
||||
D_030AB290 = 0x030AB290;
|
||||
D_030AD290 = 0x030AD290;
|
||||
D_030AF290 = 0x030AF290;
|
||||
D_030B1290 = 0x030B1290;
|
||||
D_030B3290 = 0x030B3290;
|
||||
D_030B5290 = 0x030B5290;
|
||||
D_030B7290 = 0x030B7290;
|
||||
D_030B9290 = 0x030B9290;
|
||||
D_030BB290 = 0x030BB290;
|
||||
D_030BF290 = 0x030BF290;
|
||||
D_30CD390 = 0x30CD390;
|
||||
D_30CD410 = 0x30CD410;
|
||||
D_30CD490 = 0x30CD490;
|
||||
D_30CD510 = 0x30CD510;
|
||||
D_8250A288 = 0x8250A288; // size:0xA
|
||||
@@ -121,4 +121,60 @@ D_03001F98 = 0x03001F98;
|
||||
D_03002F60 = 0x03002F60;
|
||||
D_03003F28 = 0x03003F28;
|
||||
D_3000000 = 0x3000000;
|
||||
D_3000000_2 = 0x3000000;
|
||||
D_3000000_2 = 0x3000000;
|
||||
D_30C1290 = 0x30C1290;
|
||||
D_0302EE00 = 0x0302EE00;
|
||||
D_03034580 = 0x03034580;
|
||||
D_03039D00 = 0x03039D00;
|
||||
D_0303F480 = 0x0303F480;
|
||||
D_03044C00 = 0x03044C00;
|
||||
D_0304A380 = 0x0304A380;
|
||||
D_0304FB00 = 0x0304FB00;
|
||||
D_03055280 = 0x03055280;
|
||||
D_0305AA00 = 0x0305AA00;
|
||||
D_03060180 = 0x03060180;
|
||||
D_03065900 = 0x03065900;
|
||||
D_03069528 = 0x03069528;
|
||||
D_0306D150 = 0x0306D150;
|
||||
D_03070D78 = 0x03070D78;
|
||||
D_030749A0 = 0x030749A0;
|
||||
D_030785C8 = 0x030785C8;
|
||||
D_0307C1F0 = 0x0307C1F0;
|
||||
D_0307FE18 = 0x0307FE18;
|
||||
D_03083A40 = 0x03083A40;
|
||||
D_03087668 = 0x03087668;
|
||||
D_0300BB80 = 0x0300BB80;
|
||||
D_03017700 = 0x03017700;
|
||||
D_3023280 = 0x3023280;
|
||||
D_0308B290 = 0x0308B290;
|
||||
D_0308D290 = 0x0308D290;
|
||||
D_0308F290 = 0x0308F290;
|
||||
D_03091290 = 0x03091290;
|
||||
D_03093290 = 0x03093290;
|
||||
D_03095290 = 0x03095290;
|
||||
D_03097290 = 0x03097290;
|
||||
D_03099290 = 0x03099290;
|
||||
D_0309B290 = 0x0309B290;
|
||||
D_0309D290 = 0x0309D290;
|
||||
D_0309F290 = 0x0309F290;
|
||||
D_030A1290 = 0x030A1290;
|
||||
D_030A3290 = 0x030A3290;
|
||||
D_030A5290 = 0x030A5290;
|
||||
D_030A7290 = 0x030A7290;
|
||||
D_030A9290 = 0x030A9290;
|
||||
D_030AB290 = 0x030AB290;
|
||||
D_030AD290 = 0x030AD290;
|
||||
D_030AF290 = 0x030AF290;
|
||||
D_030B1290 = 0x030B1290;
|
||||
D_030B3290 = 0x030B3290;
|
||||
D_030B5290 = 0x030B5290;
|
||||
D_030B7290 = 0x030B7290;
|
||||
D_030B9290 = 0x030B9290;
|
||||
D_030BB290 = 0x030BB290;
|
||||
D_030BF290 = 0x030BF290;
|
||||
D_30CD390 = 0x30CD390;
|
||||
D_30CD410 = 0x30CD410;
|
||||
D_30CD490 = 0x30CD490;
|
||||
D_30CD510 = 0x30CD510;
|
||||
D_8250A288 = 0x8250A288;
|
||||
D_030BD290 = 0x030BD290;
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "19840.h"
|
||||
#include "dp_intro.h"
|
||||
#include "hal_libc.h"
|
||||
#include "src/12D80.h"
|
||||
|
||||
void func_8001BB20(void) {
|
||||
func_8001103C(0, &D_800AC840);
|
||||
|
||||
31
src/22630.c
31
src/22630.c
@@ -99,15 +99,21 @@ char* func_80021CA4(char* arg0, s32 arg1) {
|
||||
return arg0;
|
||||
}
|
||||
|
||||
char* func_80021CE0(s32 arg0, s8* arg1) {
|
||||
char* func_80021CE0(s32 arg0, char* arg1) {
|
||||
extern char* D_80072EE0[];
|
||||
// "ひでんマシン%02d"
|
||||
static const char D_0007CCA0[] = { 0xA4, 0xD2, 0xA4, 0xC7, 0xA4, 0xF3, 0xA5, 0xDE, 0xA5, 0xB7,
|
||||
0xA5, 0xF3, 0x25, 0x30, 0x32, 0x64, 0x00, 0x00, 0x00, 0x00 };
|
||||
// "わざマシン%02d"
|
||||
static const char D_0007CCB4[] = { 0xA4, 0xEF, 0xA4, 0xB6, 0xA5, 0xDE, 0xA5, 0xB7,
|
||||
0xA5, 0xF3, 0x25, 0x30, 0x32, 0x64, 0x00, 0x00 };
|
||||
|
||||
if ((arg0 > 0) && (arg0 < 0x54)) {
|
||||
HAL_Strcpy(arg1, D_80072EE0[arg0 - 1]);
|
||||
} else if ((arg0 >= 0xC4) && (arg0 < 0xC9)) {
|
||||
sprintf(arg1, "ひでんマシン%02d", arg0 - 0xC3, arg0);
|
||||
sprintf(arg1, D_0007CCA0, arg0 - 0xC3, arg0);
|
||||
} else if ((arg0 >= 0xC9) && (arg0 < 0xFF)) {
|
||||
sprintf(arg1, "わざマシン%02d", arg0 - 0xC8, arg0);
|
||||
sprintf(arg1, D_0007CCB4, arg0 - 0xC8, arg0);
|
||||
} else {
|
||||
HAL_Strcpy(arg1, D_80072EE0[6]);
|
||||
}
|
||||
@@ -198,7 +204,8 @@ u16 func_80022084(u16 arg0) {
|
||||
return i;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/22630/func_800220C4.s")
|
||||
void func_800220C4(void) {
|
||||
}
|
||||
|
||||
u16 func_800220CC(s32 arg0, u16 arg1) {
|
||||
u16 sp6;
|
||||
@@ -228,7 +235,7 @@ u16 func_800220CC(s32 arg0, u16 arg1) {
|
||||
return sp6;
|
||||
}
|
||||
|
||||
u32 func_80022170(s32 arg0, s32 arg1, u16 arg2, u16 arg3, s32 arg4) {
|
||||
u32 func_80022170(s32 arg0, s32 arg1, u16 arg2, u16 arg3, u16 arg4) {
|
||||
u16 sp1C;
|
||||
u16 sp24;
|
||||
u16 sp22;
|
||||
@@ -280,7 +287,19 @@ void func_80022338(unk_func_80026268_arg0* arg0) {
|
||||
arg0->unk_2E = func_80022170(5, arg0->unk_00.unk_00, arg0->unk_1C, arg0->unk_24, arg0->unk_1E);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/22630/func_8002240C.s")
|
||||
u16 func_8002240C(s32 arg0, s32 arg1, u16 arg2, u16 arg3, u16 arg4) {
|
||||
s32 i;
|
||||
s32 tmp;
|
||||
|
||||
for (i = 1; i < 0xFFFF; i += 2) {
|
||||
tmp = func_80022170(arg0, arg1, i + 2, arg3, arg4);
|
||||
if (arg2 < tmp) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return i;
|
||||
}
|
||||
|
||||
u32 func_800224B8(s32 arg0, u16 arg1) {
|
||||
u32 sp4;
|
||||
|
||||
16
src/22630.h
16
src/22630.h
@@ -80,7 +80,7 @@ typedef struct unk_D_800AC910_050_9AC {
|
||||
/* 0x008 */ unk_D_800AC910_050_9AC_008 unk_008[6];
|
||||
/* 0x110 */ char unk_110[6][11];
|
||||
/* 0x152 */ char unk_152[6][11];
|
||||
} unk_D_800AC910_050_9AC; // size >= 0x160
|
||||
} unk_D_800AC910_050_9AC; // size = 0x194
|
||||
|
||||
typedef struct unk_D_800AC910_050_B40_000 {
|
||||
/* 0x000 */ u8 unk_000;
|
||||
@@ -116,7 +116,9 @@ typedef struct unk_D_800AC910_050 {
|
||||
/* 0x037 */ char unk037[0x12];
|
||||
/* 0x049 */ u8 unk_049;
|
||||
/* 0x04A */ unk_func_80026268_arg0_000 unk_04A[1];
|
||||
/* 0x04C */ char unk04C[0x39];
|
||||
/* 0x04C */ char unk04C[0x2A];
|
||||
/* 0x076 */ u8 unk_076;
|
||||
/* 0x077 */ char unk077[0xE];
|
||||
/* 0x085 */ u8 unk_085;
|
||||
/* 0x086 */ char unk086[0x4];
|
||||
/* 0x08A */ u8 unk_08A;
|
||||
@@ -125,7 +127,9 @@ typedef struct unk_D_800AC910_050 {
|
||||
/* 0x267 */ unk_func_80026268_arg0_000 unk_267[1];
|
||||
/* 0x269 */ char unk269[0x63];
|
||||
/* 0x2CC */ s8 unk_2CC;
|
||||
/* 0x2CD */ char unk2CD[0x1AA];
|
||||
/* 0x2CD */ char unk2CD[0x174];
|
||||
/* 0x441 */ u8 unk_441;
|
||||
/* 0x442 */ char unk442[0x35];
|
||||
/* 0x477 */ s8 unk_477;
|
||||
/* 0x478 */ char unk478[0xA5];
|
||||
/* 0x51D */ s8 unk_51D;
|
||||
@@ -183,15 +187,17 @@ char* func_80021C20(char* arg0, char* arg1);
|
||||
char* func_80021C40(char* arg0, char* arg1);
|
||||
char* func_80021C80(char* arg0, char* arg1);
|
||||
char* func_80021CA4(char* arg0, s32 arg1);
|
||||
char* func_80021CE0(s32 arg0, s8* arg1);
|
||||
char* func_80021CE0(s32 arg0, char* arg1);
|
||||
void func_80021D9C(unk_func_80026268_arg0* arg0, unk_D_800AE4E8_004_1_000_010_000* arg1);
|
||||
void func_80021E90(unk_func_80026268_arg0* arg0, unk_D_800AC910_050_9AC_008* arg1);
|
||||
void func_80021F04(unk_func_80026268_arg0* arg0, unk_D_800AE4E8_004_1_000_010_000* arg1);
|
||||
void func_80022010(unk_func_88205880_00D0* arg0, unk_D_800AC910_050_9AC_008* arg1);
|
||||
u16 func_80022084(u16 arg0);
|
||||
void func_800220C4(void);
|
||||
u16 func_800220CC(s32 arg0, u16 arg1);
|
||||
u32 func_80022170(s32 arg0, s32 arg1, u16 arg2, u16 arg3, s32 arg4);
|
||||
u32 func_80022170(s32 arg0, s32 arg1, u16 arg2, u16 arg3, u16 arg4);
|
||||
void func_80022338(unk_func_80026268_arg0* arg0);
|
||||
u16 func_8002240C(s32 arg0, s32 arg1, u16 arg2, u16 arg3, u16 arg4);
|
||||
u32 func_800224B8(s32 arg0, u16 arg1);
|
||||
|
||||
#endif // _6BC0_H_
|
||||
|
||||
167
src/232C0.c
167
src/232C0.c
@@ -66,7 +66,20 @@ void func_800228B0(unk_func_80026268_arg0* arg0) {
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/232C0/func_800228F0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/232C0/func_80022978.s")
|
||||
void func_80022978(unk_func_80026268_arg0* arg0, s16 arg1, u8 arg2) {
|
||||
unk_D_800AE4E8_004_2_0DC0_002 sp24;
|
||||
|
||||
if (arg2) {
|
||||
sp24.unk_00 = arg1 + 0x80;
|
||||
} else {
|
||||
sp24.unk_00 = arg1;
|
||||
}
|
||||
sp24.unk_01 = arg0->unk_24;
|
||||
sp24.unk_02 = arg0->unk_0E;
|
||||
func_80021B7C(sp24.unk_04, arg0->unk_30);
|
||||
func_80021B7C(sp24.unk_0F, arg0->unk_3B);
|
||||
func_80027C24(0x13, 0, arg0->unk_00.unk_00 - 1, &sp24);
|
||||
}
|
||||
|
||||
s32 func_80022A04(u16* arg0, unk_D_800AC910_040* arg1) {
|
||||
return !bcmp(arg0, arg1, 0xD);
|
||||
@@ -94,13 +107,36 @@ s32 func_80022A60(s32 arg0) {
|
||||
return D_800732FF[arg0];
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/232C0/func_80022A88.s")
|
||||
u8 func_80022A88(s32 arg0) {
|
||||
extern u8 D_800733BF[];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/232C0/func_80022A98.s")
|
||||
return D_800733BF[arg0];
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/232C0/func_80022AA8.s")
|
||||
u8 func_80022A98(s32 arg0) {
|
||||
extern u8 D_80073457[];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/232C0/func_80022ACC.s")
|
||||
return D_80073457[arg0];
|
||||
}
|
||||
|
||||
s32 func_80022AA8(s32 arg0) {
|
||||
extern u8 D_800734EF[];
|
||||
|
||||
if (arg0 == 0) {
|
||||
return 0;
|
||||
}
|
||||
return D_800734EF[arg0] + 1;
|
||||
}
|
||||
|
||||
s32 func_80022ACC(s32 arg0) {
|
||||
extern u8 D_80073597[];
|
||||
|
||||
if (arg0 == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return D_80073597[arg0] + 1;
|
||||
}
|
||||
|
||||
void func_80022AF0(unk_func_80022C28_ret* arg0) {
|
||||
if (arg0->unk_00 == 1) {
|
||||
@@ -161,7 +197,17 @@ unk_func_80022C28_ret* func_80022C28(s32 arg0, s32 arg1, s32 arg2, s32 arg3) {
|
||||
return sp1C;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/232C0/func_80022CC0.s")
|
||||
unk_func_80022C28_ret* func_80022CC0(s32 arg0, s32 arg1, s32 arg2, s32 arg3, char* arg4, u16 arg5) {
|
||||
unk_func_80022C28_ret* sp24;
|
||||
unk_func_80022C28_ret* temp_v0;
|
||||
unk_func_80022C28_ret* var_v1;
|
||||
|
||||
sp24 = func_80022C28(arg0, arg1, arg2, 1);
|
||||
if ((sp24 != NULL) && (arg0 & 0xF0)) {
|
||||
func_80027430(arg0, arg2, arg3, arg4, arg5);
|
||||
}
|
||||
return sp24;
|
||||
}
|
||||
|
||||
s32 func_80022D24(unk_func_80022C28_ret* arg0) {
|
||||
s32 sp1C = 0;
|
||||
@@ -325,7 +371,6 @@ void func_800232A0(u8* arg0, u8* arg1) {
|
||||
|
||||
while (arg0 < arg1) {
|
||||
var_v0 += *arg0++;
|
||||
|
||||
}
|
||||
|
||||
*arg1 = 0xFF - (var_v0 & 0xFF);
|
||||
@@ -389,7 +434,7 @@ s32 func_800233F4(s32 arg0) {
|
||||
UNUSED s32 pad;
|
||||
s32 sp18 = 0;
|
||||
|
||||
if ((func_8000AEBC(arg0, &D_800ACA78, 0x2580, sizeof(unk_D_800AC910_050)) == 0) &&
|
||||
if ((func_8000AEBC(arg0, &D_800ACA78, 0x2580, sizeof(unk_D_800AC910_050)) == 0) &&
|
||||
(func_80023230(&D_800ACA78.unk_018, &D_800ACA78.unk_FA0.unk_03) != 0)) {
|
||||
sp18 = D_800ACA78.unk_FA0.unk_03 == D_800AC910[arg0].unk_04;
|
||||
}
|
||||
@@ -421,7 +466,7 @@ s32 func_80023480(s32 arg0) {
|
||||
return sp30;
|
||||
}
|
||||
|
||||
s32 func_80023574(s32 arg0) {
|
||||
s32 func_80023574(s32 arg0) {
|
||||
s32 i;
|
||||
unk_D_800AC910* temp_s3;
|
||||
unk_D_800AC910_050* temp_s1 = D_800AC910[arg0].unk_50;
|
||||
@@ -430,8 +475,8 @@ s32 func_80023574(s32 arg0) {
|
||||
D_800AC910[arg0].unk_04 = temp_s1->unk_FA0.unk_03;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
if ((func_8000AF40(arg0, temp_s1, 0x2580, sizeof(unk_D_800AC910_050)) == 0) &&
|
||||
(func_8000AEBC(arg0, &D_800ACA78, 0x2580, sizeof(unk_D_800AC910_050)) == 0) &&
|
||||
if ((func_8000AF40(arg0, temp_s1, 0x2580, sizeof(unk_D_800AC910_050)) == 0) &&
|
||||
(func_8000AEBC(arg0, &D_800ACA78, 0x2580, sizeof(unk_D_800AC910_050)) == 0) &&
|
||||
(func_800232D0(temp_s1, sizeof(unk_D_800AC910_050)) != 0)) {
|
||||
return 1;
|
||||
}
|
||||
@@ -447,8 +492,8 @@ s32 func_80023658(s32 arg0) {
|
||||
temp_s3->unk_FA0.unk_03 ^= 0xFF;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
if ((func_8000AF40(arg0, &temp_s3->unk_FA0, 0x3520, sizeof(unk_D_800AC910_050_FA0)) == 0) &&
|
||||
(func_8000AEBC(arg0, &D_800ACA78, 0x3520, sizeof(unk_D_800AC910_050_FA0)) == 0) &&
|
||||
if ((func_8000AF40(arg0, &temp_s3->unk_FA0, 0x3520, sizeof(unk_D_800AC910_050_FA0)) == 0) &&
|
||||
(func_8000AEBC(arg0, &D_800ACA78, 0x3520, sizeof(unk_D_800AC910_050_FA0)) == 0) &&
|
||||
(func_800232D0(&temp_s3->unk_FA0, sizeof(unk_D_800AC910_050_FA0)) != 0)) {
|
||||
return 1;
|
||||
}
|
||||
@@ -477,9 +522,8 @@ s32 func_800237C8(s32 arg0, s32 arg1) {
|
||||
var_v0 &= 0xFFFF;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
if ((func_8000AF40(arg0, temp_s2, var_v0, 0x1A60) == 0) &&
|
||||
(func_8000AEBC(arg0, &D_800ACA78, var_v0, 0x1A60) == 0) &&
|
||||
(func_800232D0(temp_s2, 0x1A60) != 0)) {
|
||||
if ((func_8000AF40(arg0, temp_s2, var_v0, 0x1A60) == 0) &&
|
||||
(func_8000AEBC(arg0, &D_800ACA78, var_v0, 0x1A60) == 0) && (func_800232D0(temp_s2, 0x1A60) != 0)) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@@ -609,7 +653,6 @@ s32 func_80023B7C(s32 arg0) {
|
||||
return sp2C;
|
||||
}
|
||||
|
||||
|
||||
s32 func_80023D60(s32 arg0) {
|
||||
u8 sp2F;
|
||||
s32 temp_s1 = 0;
|
||||
@@ -646,7 +689,7 @@ s32 func_80023E34(s32 arg0) {
|
||||
func_8000A888(arg0, 0);
|
||||
D_8007364C[arg0] += 1;
|
||||
// fallthrough
|
||||
|
||||
|
||||
case 1:
|
||||
if (func_8000AC7C(arg0) != 0) {
|
||||
D_8007364C[arg0] += 1;
|
||||
@@ -829,7 +872,11 @@ void func_8002447C(s32 arg0) {
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/232C0/func_800244F4.s")
|
||||
void func_800244F4(s32 arg0) {
|
||||
if (func_8000A888(arg0, 0) == 0) {
|
||||
func_8002B274(arg0, 2);
|
||||
}
|
||||
}
|
||||
|
||||
unk_D_800AC910_050_B40_000* func_80024528(s32 arg0, s32 arg1) {
|
||||
unk_D_800AC910_050_B40_000* sp1C = NULL;
|
||||
@@ -1077,7 +1124,6 @@ s32 func_80024DAC(s32 arg0, s32 arg1, s32 arg2, s32 arg3, unk_func_88205880_00D0
|
||||
s32 sp28 = func_800249B0(arg0);
|
||||
s32 sp24 = func_80024A48(arg0, arg1, arg2);
|
||||
|
||||
|
||||
if ((arg3 < sp24) || ((arg3 == sp24) && (arg3 < sp28))) {
|
||||
unk_D_800AC910_050* ptr = D_800AC910[arg1].unk_50;
|
||||
|
||||
@@ -1108,15 +1154,35 @@ s32 func_80024DAC(s32 arg0, s32 arg1, s32 arg2, s32 arg3, unk_func_88205880_00D0
|
||||
return sp2C;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/232C0/func_80024EF4.s")
|
||||
s32 func_80024EF4(void) {
|
||||
return D_800ACA70;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/232C0/func_80024F00.s")
|
||||
s32 func_80024F00(s32 arg0) {
|
||||
return D_800AC910[arg0].unk_03;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/232C0/func_80024F24.s")
|
||||
s32 func_80024F24(s32 arg0) {
|
||||
s32 temp_v0 = 1 << arg0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/232C0/func_80024F68.s")
|
||||
if (!(D_800ACA74 & temp_v0)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/232C0/func_80024F8C.s")
|
||||
if (!(D_800ACA75 & temp_v0)) {
|
||||
return 2;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 func_80024F68(s32 arg0) {
|
||||
return D_800AC910[arg0].unk_02;
|
||||
}
|
||||
|
||||
s32 func_80024F8C(s32 arg0) {
|
||||
return D_800AC910[arg0].unk_05;
|
||||
}
|
||||
|
||||
s32 func_80024FB0(s32 arg0) {
|
||||
if (!(D_800AC910[arg0].unk_00 & 1)) {
|
||||
@@ -1144,7 +1210,11 @@ s32 func_80025084(s32 arg0) {
|
||||
return func_80021A30(&D_800AC910[arg0].unk_50->unk_085);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/232C0/func_800250E0.s")
|
||||
void func_800250E0(s32 arg0, u16 arg1) {
|
||||
if (D_800AC910[arg0].unk_00 & 1) {
|
||||
func_80021A68(&D_800AC910[arg0].unk_50->unk_085, arg1);
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_8002513C(s32 arg0) {
|
||||
s32 temp_a0;
|
||||
@@ -1168,13 +1238,33 @@ char* func_800251B0(s32 arg0, char* arg1) {
|
||||
return func_80021C40(arg1, &D_800AC910[arg0].unk_50->unk_018);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/232C0/func_80025210.s")
|
||||
char* func_80025210(s32 arg0, char* arg1) {
|
||||
if (!(D_800AC910[arg0].unk_00 & 1)) {
|
||||
return NULL;
|
||||
}
|
||||
return func_80021B7C(&D_800AC910[arg0].unk_50->unk_018, arg1);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/232C0/func_8002526C.s")
|
||||
char* func_8002526C(s32 arg0, char* arg1) {
|
||||
if (!(D_800AC910[arg0].unk_00 & 1)) {
|
||||
return NULL;
|
||||
}
|
||||
return func_80021C40(arg1, &D_800AC910[arg0].unk_50->unk_076);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/232C0/func_800252CC.s")
|
||||
char* func_800252CC(s32 arg0, char* arg1) {
|
||||
if (!(D_800AC910[arg0].unk_00 & 1)) {
|
||||
return NULL;
|
||||
}
|
||||
return func_80021B7C(&D_800AC910[arg0].unk_50->unk_076, arg1);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/232C0/func_80025328.s")
|
||||
s32 func_80025328(s32 arg0) {
|
||||
if (!(D_800AC910[arg0].unk_00 & 1)) {
|
||||
return -1;
|
||||
}
|
||||
return D_800AC910[arg0].unk_50->unk_441;
|
||||
}
|
||||
|
||||
s32 func_80025370(s32 arg0) {
|
||||
return (D_800AC910[arg0].unk_00 & 0x4000) != 0;
|
||||
@@ -1188,7 +1278,19 @@ s32 func_800253C8(s32 arg0) {
|
||||
return (D_800AC910[arg0].unk_00 & 0x1000) != 0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/232C0/func_800253F4.s")
|
||||
s32 func_800253F4(s32 arg0, func_800253F4_arg1* arg1) {
|
||||
s32 temp_v1 = (D_800AC910[arg0].unk_00 & 1) != 0;
|
||||
|
||||
if (temp_v1 != 0) {
|
||||
arg1->unk_000 = D_800AC910[arg0].unk_02;
|
||||
arg1->unk_001 = D_800AC910[arg0].unk_04;
|
||||
arg1->unk_002 = D_800AC910[arg0].unk_40.unk_00;
|
||||
|
||||
_bcopy(D_800AC910[arg0].unk_40.unk_02, arg1->unk_004, sizeof(arg1->unk_004));
|
||||
_bcopy(&D_800AC910[arg0].unk_50->unk_9AC, (u8*)arg1 + 0xF, sizeof(unk_D_800AC910_050_9AC));
|
||||
}
|
||||
return temp_v1;
|
||||
}
|
||||
|
||||
void func_80025498(char* arg0, s32 arg1, u8* arg2) {
|
||||
s32 temp_v0;
|
||||
@@ -1240,7 +1342,8 @@ s32 func_8002564C(s32 arg0, s32 arg1) {
|
||||
temp_t1 = (arg1 - 1) / 8;
|
||||
temp_t2 = (arg1 - 1) % 8;
|
||||
|
||||
return ((ptr23[temp_t1] >> temp_t2) & 1) + ((ptr36[temp_t1] >> temp_t2) & 1) + ((D_800AC910[arg0].unk_06[temp_t1] >> temp_t2) & 1);
|
||||
return ((ptr23[temp_t1] >> temp_t2) & 1) + ((ptr36[temp_t1] >> temp_t2) & 1) +
|
||||
((D_800AC910[arg0].unk_06[temp_t1] >> temp_t2) & 1);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
26
src/232C0.h
26
src/232C0.h
@@ -15,16 +15,30 @@ typedef enum {
|
||||
POKEMON_ROM_YELLOW = 7,
|
||||
} PokemonRomType;
|
||||
|
||||
typedef struct func_800253F4_arg1 {
|
||||
/* 0x000 */ u8 unk_000;
|
||||
/* 0x001 */ u8 unk_001;
|
||||
/* 0x002 */ u16 unk_002;
|
||||
/* 0x004 */ char unk_004[11];
|
||||
/* 0x00F */ unk_D_800AC910_050_9AC unk_00F;
|
||||
} func_800253F4_arg1; // size >= 0x1A3
|
||||
|
||||
u16 func_800226C0(s32 arg0, u32 arg1);
|
||||
void func_80022734(unk_func_80026268_arg0* arg0);
|
||||
void func_800228B0(unk_func_80026268_arg0* arg0);
|
||||
void func_80022978(unk_func_80026268_arg0* arg0, s16 arg1, u8 arg2);
|
||||
s32 func_80022A04(u16* arg0, unk_D_800AC910_040* arg1);
|
||||
u8 func_80022A28(s32 arg0);
|
||||
u8 func_80022A38(s32 arg0);
|
||||
s32 func_80022A60(s32 arg0);
|
||||
u8 func_80022A88(s32 arg0);
|
||||
u8 func_80022A98(s32 arg0);
|
||||
s32 func_80022AA8(s32 arg0);
|
||||
s32 func_80022ACC(s32 arg0);
|
||||
void func_80022AF0(unk_func_80022C28_ret* arg0);
|
||||
void func_80022B88(unk_func_80022C28_ret* arg0);
|
||||
unk_func_80022C28_ret* func_80022C28(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
unk_func_80022C28_ret* func_80022CC0(s32 arg0, s32 arg1, s32 arg2, s32 arg3, char* arg4, u16 arg5);
|
||||
s32 func_80022D24(unk_func_80022C28_ret* arg0);
|
||||
s32 func_80022D8C(unk_func_80022C28_ret* arg0);
|
||||
s32 func_80022E18(u8* arg0, s32 arg1, unk_func_80022C28_ret* arg2);
|
||||
@@ -56,6 +70,7 @@ s32 func_80024270(s32 arg0);
|
||||
s32 func_8002431C(s32 arg0);
|
||||
s32 func_800243D8(s32 arg0);
|
||||
void func_8002447C(s32 arg0);
|
||||
void func_800244F4(s32 arg0);
|
||||
unk_D_800AC910_050_B40_000* func_80024528(s32 arg0, s32 arg1);
|
||||
void func_80024624(unk_func_80026268_arg0* arg0, s32 arg1, s32 arg2);
|
||||
void func_800246F8(unk_func_88205880_00D0* arg0, s32 arg1, s32 arg2);
|
||||
@@ -70,14 +85,25 @@ void func_80024AE0(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
void func_80024BC4(s32 arg0, s32 arg1, s32 arg2);
|
||||
s32 func_80024CB0(s32 arg0, s32 arg1, s32 arg2, s32 arg3, unk_func_80026268_arg0* arg4);
|
||||
s32 func_80024DAC(s32 arg0, s32 arg1, s32 arg2, s32 arg3, unk_func_88205880_00D0* arg4);
|
||||
s32 func_80024EF4(void);
|
||||
s32 func_80024F00(s32 arg0);
|
||||
s32 func_80024F24(s32 arg0);
|
||||
s32 func_80024F68(s32 arg0);
|
||||
s32 func_80024F8C(s32 arg0);
|
||||
s32 func_80024FB0(s32 arg0);
|
||||
void func_80025040(s32 arg0, unk_D_800AC910_040* arg1);
|
||||
s32 func_80025084(s32 arg0);
|
||||
void func_800250E0(s32 arg0, u16 arg1);
|
||||
s32 func_8002513C(s32 arg0);
|
||||
char* func_800251B0(s32 arg0, char* arg1);
|
||||
char* func_80025210(s32 arg0, char* arg1);
|
||||
char* func_8002526C(s32 arg0, char* arg1);
|
||||
char* func_800252CC(s32 arg0, char* arg1);
|
||||
s32 func_80025328(s32 arg0);
|
||||
s32 func_80025370(s32 arg0);
|
||||
s32 func_8002539C(s32 arg0);
|
||||
s32 func_800253C8(s32 arg0);
|
||||
s32 func_800253F4(s32 arg0, func_800253F4_arg1* arg1);
|
||||
void func_80025498(char* arg0, s32 arg1, u8* arg2);
|
||||
void func_80025540(s32 arg0);
|
||||
s32 func_8002564C(s32 arg0, s32 arg1);
|
||||
|
||||
107
src/26820.c
107
src/26820.c
@@ -4,113 +4,6 @@
|
||||
#include "src/3FB0.h"
|
||||
#include "src/memory.h"
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_1_000_000 {
|
||||
/* 0x00 */ u8 unk_00;
|
||||
/* 0x01 */ u8 unk_01;
|
||||
/* 0x02 */ char unk02[0xC];
|
||||
/* 0x0E */ s16 unk_0E;
|
||||
} unk_D_800AE4E8_004_1_000_000; // size >= 0x10
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_1_000 {
|
||||
/* 0x000 */ unk_D_800AE4E8_004_1_000_000 unk_000;
|
||||
/* 0x010 */ unk_D_800AE4E8_004_1_000_010 unk_010[1];
|
||||
/* 0x047 */ char unk047[0x119];
|
||||
} unk_D_800AE4E8_004_1_000; // size = 0x160
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_1 {
|
||||
/* 0x0000 */ unk_D_800AE4E8_004_1_000 unk_0000[4][10];
|
||||
} unk_D_800AE4E8_004_1; // size = 0x3700
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_2_1EA0 {
|
||||
/* 0x00 */ u8 unk_00;
|
||||
/* 0x02 */ u16 unk_02;
|
||||
/* 0x04 */ unk_func_8002A728 unk_04;
|
||||
/* 0x0C */ unk_func_80027FA0 unk_0C[1];
|
||||
/* 0x14 */ char unk14[0xA];
|
||||
/* 0x1E */ u8 unk_1E;
|
||||
/* 0x1F */ char unk1F[0x9];
|
||||
} unk_D_800AE4E8_004_2_1EA0; // size = 0x28
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_2_0DC0_002 {
|
||||
/* 0x00 */ char unk00[0x18];
|
||||
/* 0x18 */ u16 unk_18;
|
||||
} unk_D_800AE4E8_004_2_0DC0_002; // size = 0x1A
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_2_0DC0 {
|
||||
/* 0x000 */ u8 unk_000;
|
||||
/* 0x001 */ char unk001[0x1];
|
||||
/* 0x002 */ unk_D_800AE4E8_004_2_0DC0_002 unk_002[1];
|
||||
/* 0x01C */ char unk01C[0xF44];
|
||||
} unk_D_800AE4E8_004_2_0DC0; // size = 0xF60
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_2_1D20 {
|
||||
/* 0x000 */ u8 unk_000;
|
||||
/* 0x001 */ char unk001[0x17F];
|
||||
} unk_D_800AE4E8_004_2_1D20; // size = 0x180
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_2_1EC8_0002 {
|
||||
/* 0x00 */ char unk00[0x8C];
|
||||
} unk_D_800AE4E8_004_2_1EC8_0002; // size = 0x8C
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_2_1EC8 {
|
||||
/* 0x0000 */ u8 unk_0000;
|
||||
/* 0x0001 */ char unk0001[0x1];
|
||||
/* 0x0002 */ unk_D_800AE4E8_004_2_1EC8_0002 unk_0002[1];
|
||||
/* 0x008E */ char unk008E[0x132A];
|
||||
} unk_D_800AE4E8_004_2_1EC8; // size = 0x13B8
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_2_3280 {
|
||||
/* 0x0000 */ u8 unk_0000;
|
||||
/* 0x0001 */ char unk0001[0x1];
|
||||
/* 0x0002 */ unk_D_800AE4E8_004_2_1EC8_0002 unk_0002[1];
|
||||
/* 0x008E */ char unk008E[0xAF6];
|
||||
} unk_D_800AE4E8_004_2_3280; // size = 0xB84
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_2 {
|
||||
/* 0x0000 */ char unk0000[0xDC0];
|
||||
/* 0x0DC0 */ unk_D_800AE4E8_004_2_0DC0 unk_0DC0;
|
||||
/* 0x1D20 */ unk_D_800AE4E8_004_2_1D20 unk_1D20;
|
||||
/* 0x1EA0 */ unk_D_800AE4E8_004_2_1EA0 unk_1EA0;
|
||||
/* 0x1EC8 */ unk_D_800AE4E8_004_2_1EC8 unk_1EC8;
|
||||
/* 0x3280 */ unk_D_800AE4E8_004_2_3280 unk_3280;
|
||||
/* 0x3E04 */ char unk3E04[0x17C];
|
||||
} unk_D_800AE4E8_004_2; // size = 0x3F80
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_3_0000 {
|
||||
/* 0x0000 */ unk_D_800AE4E8_004_1_000_000 unk_000;
|
||||
/* 0x0010 */ unk_D_800AE4E8_004_1_000_010 unk_010[1];
|
||||
/* 0x0047 */ char unk010[0x421];
|
||||
} unk_D_800AE4E8_004_3_0000; // size = 0x468
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_3_34E0_010 {
|
||||
/* 0x00 */ u8 unk_00;
|
||||
/* 0x01 */ u8 unk_01;
|
||||
} unk_D_800AE4E8_004_3_34E0_010; // size = 0x2
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_3_34E0 {
|
||||
/* 0x0000 */ unk_D_800AE4E8_004_1_000_000 unk_00;
|
||||
/* 0x0000 */ unk_D_800AE4E8_004_3_34E0_010 unk_10[1];
|
||||
/* 0x0012 */ char unk12[0xCE];
|
||||
} unk_D_800AE4E8_004_3_34E0; // size = 0xE0
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_3 {
|
||||
/* 0x0000 */ unk_D_800AE4E8_004_3_0000 unk_0000[12];
|
||||
/* 0x34E0 */ unk_D_800AE4E8_004_3_34E0 unk_34E0[4];
|
||||
/* 0x3860 */ char unk_3860[0x20];
|
||||
} unk_D_800AE4E8_004_3; // size = 0x3880
|
||||
|
||||
typedef union unk_D_800AE4E8_004 {
|
||||
unk_D_800AE4E8_004_1* unk1;
|
||||
unk_D_800AE4E8_004_2* unk2;
|
||||
unk_D_800AE4E8_004_3* unk3;
|
||||
} unk_D_800AE4E8_004;
|
||||
|
||||
typedef struct unk_D_800AE4E8 {
|
||||
/* 0x00 */ s32 unk_00;
|
||||
/* 0x04 */ unk_D_800AE4E8_004 unk_04;
|
||||
/* 0x08 */ unk_D_800AE4E8_004 unk_08;
|
||||
} unk_D_800AE4E8; // size = 0xC
|
||||
|
||||
extern u32 D_80073650[];
|
||||
|
||||
extern s16 D_800AE4E0;
|
||||
|
||||
112
src/26820.h
112
src/26820.h
@@ -30,6 +30,116 @@ typedef struct unk_func_800281D4 {
|
||||
/* 0x10 */ char unk_10[16];
|
||||
} unk_func_800281D4; // size >= 0x20
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_1_000_000 {
|
||||
/* 0x00 */ u8 unk_00;
|
||||
/* 0x01 */ u8 unk_01;
|
||||
/* 0x02 */ char unk02[0xC];
|
||||
/* 0x0E */ s16 unk_0E;
|
||||
} unk_D_800AE4E8_004_1_000_000; // size >= 0x10
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_1_000 {
|
||||
/* 0x000 */ unk_D_800AE4E8_004_1_000_000 unk_000;
|
||||
/* 0x010 */ unk_D_800AE4E8_004_1_000_010 unk_010[1];
|
||||
/* 0x047 */ char unk047[0x119];
|
||||
} unk_D_800AE4E8_004_1_000; // size = 0x160
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_1 {
|
||||
/* 0x0000 */ unk_D_800AE4E8_004_1_000 unk_0000[4][10];
|
||||
} unk_D_800AE4E8_004_1; // size = 0x3700
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_2_1EA0 {
|
||||
/* 0x00 */ u8 unk_00;
|
||||
/* 0x02 */ u16 unk_02;
|
||||
/* 0x04 */ unk_func_8002A728 unk_04;
|
||||
/* 0x0C */ unk_func_80027FA0 unk_0C[1];
|
||||
/* 0x14 */ char unk14[0xA];
|
||||
/* 0x1E */ u8 unk_1E;
|
||||
/* 0x1F */ char unk1F[0x9];
|
||||
} unk_D_800AE4E8_004_2_1EA0; // size = 0x28
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_2_0DC0_002 {
|
||||
/* 0x00 */ u8 unk_00;
|
||||
/* 0x01 */ u8 unk_01;
|
||||
/* 0x02 */ u16 unk_02;
|
||||
/* 0x04 */ char unk_04[11];
|
||||
/* 0x0F */ char unk_0F[11];
|
||||
} unk_D_800AE4E8_004_2_0DC0_002; // size = 0x1A
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_2_0DC0 {
|
||||
/* 0x000 */ u8 unk_000;
|
||||
/* 0x001 */ char unk001[0x1];
|
||||
/* 0x002 */ unk_D_800AE4E8_004_2_0DC0_002 unk_002[1];
|
||||
/* 0x01C */ char unk01C[0xF44];
|
||||
} unk_D_800AE4E8_004_2_0DC0; // size = 0xF60
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_2_1D20 {
|
||||
/* 0x000 */ u8 unk_000;
|
||||
/* 0x001 */ char unk001[0x17F];
|
||||
} unk_D_800AE4E8_004_2_1D20; // size = 0x180
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_2_1EC8_0002 {
|
||||
/* 0x00 */ char unk00[0x8C];
|
||||
} unk_D_800AE4E8_004_2_1EC8_0002; // size = 0x8C
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_2_1EC8 {
|
||||
/* 0x0000 */ u8 unk_0000;
|
||||
/* 0x0001 */ char unk0001[0x1];
|
||||
/* 0x0002 */ unk_D_800AE4E8_004_2_1EC8_0002 unk_0002[1];
|
||||
/* 0x008E */ char unk008E[0x132A];
|
||||
} unk_D_800AE4E8_004_2_1EC8; // size = 0x13B8
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_2_3280 {
|
||||
/* 0x0000 */ u8 unk_0000;
|
||||
/* 0x0001 */ char unk0001[0x1];
|
||||
/* 0x0002 */ unk_D_800AE4E8_004_2_1EC8_0002 unk_0002[1];
|
||||
/* 0x008E */ char unk008E[0xAF6];
|
||||
} unk_D_800AE4E8_004_2_3280; // size = 0xB84
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_2 {
|
||||
/* 0x0000 */ char unk0000[0xDC0];
|
||||
/* 0x0DC0 */ unk_D_800AE4E8_004_2_0DC0 unk_0DC0;
|
||||
/* 0x1D20 */ unk_D_800AE4E8_004_2_1D20 unk_1D20;
|
||||
/* 0x1EA0 */ unk_D_800AE4E8_004_2_1EA0 unk_1EA0;
|
||||
/* 0x1EC8 */ unk_D_800AE4E8_004_2_1EC8 unk_1EC8;
|
||||
/* 0x3280 */ unk_D_800AE4E8_004_2_3280 unk_3280;
|
||||
/* 0x3E04 */ char unk3E04[0x17C];
|
||||
} unk_D_800AE4E8_004_2; // size = 0x3F80
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_3_0000 {
|
||||
/* 0x0000 */ unk_D_800AE4E8_004_1_000_000 unk_000;
|
||||
/* 0x0010 */ unk_D_800AE4E8_004_1_000_010 unk_010[1];
|
||||
/* 0x0047 */ char unk010[0x421];
|
||||
} unk_D_800AE4E8_004_3_0000; // size = 0x468
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_3_34E0_010 {
|
||||
/* 0x00 */ u8 unk_00;
|
||||
/* 0x01 */ u8 unk_01;
|
||||
} unk_D_800AE4E8_004_3_34E0_010; // size = 0x2
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_3_34E0 {
|
||||
/* 0x0000 */ unk_D_800AE4E8_004_1_000_000 unk_00;
|
||||
/* 0x0000 */ unk_D_800AE4E8_004_3_34E0_010 unk_10[1];
|
||||
/* 0x0012 */ char unk12[0xCE];
|
||||
} unk_D_800AE4E8_004_3_34E0; // size = 0xE0
|
||||
|
||||
typedef struct unk_D_800AE4E8_004_3 {
|
||||
/* 0x0000 */ unk_D_800AE4E8_004_3_0000 unk_0000[12];
|
||||
/* 0x34E0 */ unk_D_800AE4E8_004_3_34E0 unk_34E0[4];
|
||||
/* 0x3860 */ char unk_3860[0x20];
|
||||
} unk_D_800AE4E8_004_3; // size = 0x3880
|
||||
|
||||
typedef union unk_D_800AE4E8_004 {
|
||||
unk_D_800AE4E8_004_1* unk1;
|
||||
unk_D_800AE4E8_004_2* unk2;
|
||||
unk_D_800AE4E8_004_3* unk3;
|
||||
} unk_D_800AE4E8_004;
|
||||
|
||||
typedef struct unk_D_800AE4E8 {
|
||||
/* 0x00 */ s32 unk_00;
|
||||
/* 0x04 */ unk_D_800AE4E8_004 unk_04;
|
||||
/* 0x08 */ unk_D_800AE4E8_004 unk_08;
|
||||
} unk_D_800AE4E8; // size = 0xC
|
||||
|
||||
void func_80025C20(UNUSED MainPoolBlock* arg0, u32 arg1);
|
||||
u16 func_80025C80(u8* arg0, s32 arg1);
|
||||
s32 func_80025CBC(u8* arg0, s32 arg1);
|
||||
@@ -56,6 +166,7 @@ s32 func_80027108(s32 arg0);
|
||||
s32 func_80027164(s32, s32);
|
||||
s32 func_80027184(s32, s32);
|
||||
void func_800272BC(s32, s32, char*);
|
||||
void func_80027430(s32, s32, s32, char*, u16);
|
||||
s16 func_800275E0(s32 arg0, s32 arg1);
|
||||
void func_800276F0(s32, s32, s32);
|
||||
s32 func_8002797C(s32 arg0, s32 arg1, s32 arg2, void* arg3);
|
||||
@@ -64,6 +175,7 @@ void func_80027F24(unk_func_8002A728* arg0);
|
||||
void func_80027F40(unk_func_8002A728* arg0);
|
||||
void func_80027FA0(unk_func_80027FA0* arg0, s16 arg1);
|
||||
void func_80028070(u16* arg0);
|
||||
s32 func_800280C4(void);
|
||||
void func_800280D4(u8 arg0);
|
||||
s32 func_8002816C(void);
|
||||
void func_8002817C(u8, u8);
|
||||
|
||||
@@ -33,8 +33,7 @@ s16 D_8780FA48;
|
||||
|
||||
static s32 pad_D_8780FA4C;
|
||||
|
||||
s16 D_8780FA50;
|
||||
s16 D_8780FA52[2][4];
|
||||
s16 D_8780FA50[9];
|
||||
s16 D_8780FA68[4];
|
||||
|
||||
void func_87800020(void) {
|
||||
|
||||
@@ -22,6 +22,7 @@ extern s16 D_8780FA38;
|
||||
extern s16 D_8780FA3A;
|
||||
extern s16 D_8780FA40[4];
|
||||
extern s16 D_8780FA48;
|
||||
extern s16 D_8780FA50[9];
|
||||
extern s16 D_8780FA68[4];
|
||||
extern u32* D_8780FA70;
|
||||
extern u16 D_8780FC92;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "fragment22.h"
|
||||
#include "src/1CF30.h"
|
||||
#include "src/20330.h"
|
||||
#include "src/232C0.h"
|
||||
#include "src/26820.h"
|
||||
#include "src/29BA0.h"
|
||||
#include "src/2E110.h"
|
||||
|
||||
@@ -1204,7 +1204,8 @@ s32 func_8820938C(unk_func_8820BE14_02C_070* arg0, s32 arg1, s32 arg2) {
|
||||
|
||||
func_8001F324(D_88217E3C.r, D_88217E3C.g, D_88217E3C.b, D_88217E3C.a);
|
||||
func_8001EBE0(8, 0);
|
||||
func_8001F1E8(arg1 + 8, arg2 + 8, func_8002D7C0(NULL, 0, D_88224FB8, arg0->unk_002C->unk_000[0].unk_00.unk_00 - 1));
|
||||
func_8001F1E8(arg1 + 8, arg2 + 8,
|
||||
func_8002D7C0(NULL, 0, D_88224FB8, arg0->unk_002C->unk_000[0].unk_00.unk_00 - 1));
|
||||
|
||||
func_8001F1E8(arg1 + 0x44, arg2 + 0x24, "%3d", arg0->unk_002C->unk_000[0].unk_26);
|
||||
func_8001F1E8(arg1 + 0x46, arg2 + 0x54, "%3d", arg0->unk_002C->unk_000[0].unk_28);
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#include "src/1CF30.h"
|
||||
#include "src/20330.h"
|
||||
#include "src/22630.h"
|
||||
#include "src/232C0.h"
|
||||
#include "src/26820.h"
|
||||
#include "src/29BA0.h"
|
||||
#include "src/2D340.h"
|
||||
|
||||
@@ -912,7 +912,8 @@ void func_88316A58(unk_func_8830867C_02C_144* arg0, s32 arg1) {
|
||||
for (x = 0; x < var_s4->unk_10.unk_08; x++, var_s0++) {
|
||||
func_80022F24(&var_s0->unk_00->unk_08, 1, temp_s3);
|
||||
if ((var_s2->unk_00 == 0x20) || (var_s2->unk_00 == 0x21)) {
|
||||
if ((var_s0->unk_00->unk_08.unk_00.unk_00 > 0) && (var_s0->unk_00->unk_08.unk_00.unk_00 < 0x98)) {
|
||||
if ((var_s0->unk_00->unk_08.unk_00.unk_00 > 0) &&
|
||||
(var_s0->unk_00->unk_08.unk_00.unk_00 < 0x98)) {
|
||||
func_800256F4(var_s2->unk_04, var_s0->unk_00->unk_08.unk_00.unk_00, 3);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "fragment29.h"
|
||||
#include "src/1CF30.h"
|
||||
#include "src/232C0.h"
|
||||
#include "src/2D340.h"
|
||||
#include "src/2E110.h"
|
||||
#include "src/2E460.h"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "fragment3.h"
|
||||
#include "src/19840.h"
|
||||
#include "src/1C720.h"
|
||||
#include "src/12D80.h"
|
||||
#include "src/memory.h"
|
||||
|
||||
static unk_func_8790002C* D_87906120;
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "src/20330.h"
|
||||
#include "src/20470.h"
|
||||
#include "src/22630.h"
|
||||
#include "src/232C0.h"
|
||||
#include "src/26820.h"
|
||||
#include "src/29BA0.h"
|
||||
#include "src/2E110.h"
|
||||
|
||||
@@ -2,8 +2,186 @@
|
||||
#define _FRAGMENT39_H_
|
||||
|
||||
#include "global.h"
|
||||
#include "6BC0.h"
|
||||
|
||||
typedef struct unk_D_82508B00 {
|
||||
/* 0x00 */ u16 unk_00;
|
||||
/* 0x02 */ u16 unk_02;
|
||||
/* 0x04 */ u16 unk_04;
|
||||
/* 0x06 */ u16 unk_06;
|
||||
/* 0x08 */ u16 unk_08;
|
||||
/* 0x0A */ s16 unk_0A;
|
||||
} unk_D_82508B00; // size = 0xC
|
||||
|
||||
typedef struct unk_D_8250A288 {
|
||||
/* 0x00 */ s16 unk_00;
|
||||
/* 0x02 */ s16 unk_02;
|
||||
/* 0x04 */ s16 unk_04;
|
||||
/* 0x06 */ s16 unk_06;
|
||||
/* 0x08 */ s16 unk_08;
|
||||
} unk_D_8250A288; // size >= 0xA
|
||||
|
||||
typedef struct unk_D_82508B30_03C {
|
||||
/* 0x00 */ char unk00[0x1];
|
||||
/* 0x01 */ u8 unk_01;
|
||||
/* 0x02 */ char unk02[0x12];
|
||||
/* 0x14 */ s32 unk_14;
|
||||
/* 0x18 */ char unk18[0x6];
|
||||
/* 0x1E */ s16 unk_1E;
|
||||
/* 0x20 */ s16 unk_20;
|
||||
/* 0x22 */ s16 unk_22;
|
||||
/* 0x24 */ Vec3f unk_24;
|
||||
/* 0x30 */ Vec3f unk_30;
|
||||
} unk_D_82508B30_03C; // size >= 0x3C
|
||||
|
||||
typedef struct unk_D_8250A228 {
|
||||
/* 0x00 */ s16 unk_00;
|
||||
/* 0x02 */ s16 unk_02;
|
||||
/* 0x04 */ s16 unk_04;
|
||||
/* 0x06 */ u16 unk_06;
|
||||
/* 0x08 */ s16 unk_08;
|
||||
/* 0x08 */ s16 unk_0A;
|
||||
/* 0x0C */ s16 unk_0C;
|
||||
/* 0x0E */ s16 unk_0E[4];
|
||||
/* 0x16 */ char unk16[0x16];
|
||||
/* 0x2C */ struct unk_D_8250A228* unk_2C;
|
||||
/* 0x30 */ struct unk_D_8250A228* unk_30;
|
||||
/* 0x34 */ struct unk_D_8250A228* unk_34;
|
||||
/* 0x38 */ unk_D_80068BB0* unk_38;
|
||||
/* 0x3C */ unk_D_82508B30_03C unk_3C;
|
||||
} unk_D_8250A228; // size >= 0x78
|
||||
|
||||
typedef struct unk_D_82508B30 {
|
||||
/* 0x000 */ s16 unk_000;
|
||||
/* 0x002 */ u16 unk_002;
|
||||
/* 0x004 */ s16 unk_004;
|
||||
/* 0x004 */ u16 unk_006;
|
||||
/* 0x008 */ s16 unk_008;
|
||||
/* 0x00A */ s16 unk_00A;
|
||||
/* 0x00C */ s16 unk_00C;
|
||||
/* 0x00E */ s16 unk_00E[4];
|
||||
/* 0x018 */ f32 unk_018;
|
||||
/* 0x01C */ f32 unk_01C;
|
||||
/* 0x020 */ Vec3f unk_020;
|
||||
/* 0x02C */ unk_D_8250A228* unk_02C;
|
||||
/* 0x030 */ unk_D_8250A228* unk_030;
|
||||
/* 0x034 */ s32 unk_034;
|
||||
/* 0x034 */ s32 unk_038;
|
||||
/* 0x03C */ unk_D_82508B30_03C unk_03C;
|
||||
/* 0x078 */ char unk078[0x12C];
|
||||
} unk_D_82508B30; // size = 0x1A4
|
||||
|
||||
typedef struct unk_D_8250A308 {
|
||||
/* 0x000 */ unk_D_86002F58_004_000 unk_000;
|
||||
/* 0x168 */ s16 unk_168;
|
||||
/* 0x16A */ s16 unk_16A;
|
||||
/* 0x16C */ s16 unk_16C;
|
||||
/* 0x16E */ s16 unk_16E;
|
||||
/* 0x170 */ s16 unk_170;
|
||||
} unk_D_8250A308; // size = 0x174
|
||||
|
||||
typedef struct unk_D_8250A480 {
|
||||
/* 0x00 */ s16 unk_00;
|
||||
/* 0x02 */ s16 unk_02;
|
||||
/* 0x04 */ s16 unk_04;
|
||||
/* 0x06 */ s16 unk_06;
|
||||
/* 0x08 */ s16 unk_08;
|
||||
/* 0x0A */ s16 unk_0A;
|
||||
/* 0x0A */ s16 unk_0C;
|
||||
/* 0x10 */ f32 unk_10;
|
||||
/* 0x14 */ char** unk_14;
|
||||
} unk_D_8250A480; // size = 0x18
|
||||
|
||||
typedef struct unk_D_8250A498 {
|
||||
/* 0x00 */ s16 unk_00;
|
||||
/* 0x02 */ s16 unk_02;
|
||||
/* 0x04 */ s16 unk_04;
|
||||
/* 0x06 */ s16 unk_06;
|
||||
/* 0x08 */ s16 unk_08;
|
||||
/* 0x0A */ s16 unk_0A;
|
||||
/* 0x0C */ s16 unk_0C;
|
||||
/* 0x0E */ s16 unk_0E;
|
||||
/* 0x10 */ s16 unk_10;
|
||||
/* 0x12 */ s16 unk_12;
|
||||
/* 0x14 */ char** unk_14;
|
||||
} unk_D_8250A498; // size = 0x18
|
||||
|
||||
extern unk_D_800AC870* D_8250A304;
|
||||
|
||||
s32 func_82500020(s32 arg0, GraphNode* arg1);
|
||||
s32 func_825001B4(s32 arg0, GraphNode* arg1);
|
||||
s32 func_82500388(s32 arg0, GraphNode* arg1);
|
||||
s32 func_8250042C(s32 arg0, GraphNode* arg1);
|
||||
void func_82500804(void);
|
||||
void func_8250088C(unk_D_86002F58_004_000* a0);
|
||||
s32 func_82500BD8(s32 arg0, GraphNode* arg1);
|
||||
void func_82500C98(void);
|
||||
void func_82500D14(void);
|
||||
void func_82500EE8(void);
|
||||
s32 func_82500F20(void);
|
||||
s32 func_82500F94(s32 arg0);
|
||||
s32 func_82500FD0(s16 arg0, s32 arg1);
|
||||
void func_82501034(void);
|
||||
void func_82501064(unk_D_82508B30* arg0);
|
||||
void func_825010A8(unk_D_82508B30* arg0);
|
||||
void func_825014B0(unk_D_82508B30* arg0);
|
||||
unk_D_8250A228* func_825017F0(void);
|
||||
unk_D_8250A228* func_8250182C(s16 arg0, s16 arg1, GraphNode* arg2);
|
||||
void func_82501AE4(unk_D_8250A228* arg0, unk_D_8250A228* arg1);
|
||||
void func_82501B04(unk_D_8250A228* arg0, unk_D_8250A228* arg1);
|
||||
void func_82501B18(unk_D_8250A228* arg0, s16 arg1);
|
||||
void func_82501C88(unk_D_8250A228* arg0, s16 arg1, s32 arg2);
|
||||
s32 func_82501CBC(unk_D_8250A228* arg0, s16 arg1);
|
||||
void func_82501D08(unk_D_82508B30* arg0);
|
||||
s32 func_82501D70(unk_D_8250A228* arg0, s16 arg1);
|
||||
s32 func_82501DC8(unk_D_82508B30* arg0);
|
||||
void func_82501ED0(void);
|
||||
void func_825023D4(void);
|
||||
void func_82502400(void);
|
||||
void func_8250244C(s16 arg0, s16 arg1);
|
||||
void func_825024C4(s16 arg0, s16 arg1);
|
||||
void func_8250281C(void);
|
||||
void func_82502BB0(void);
|
||||
void func_82502C78(void);
|
||||
void func_82502F44(void);
|
||||
void func_82502FAC(void);
|
||||
void func_82503020(void);
|
||||
void func_825031FC(void);
|
||||
void func_825032BC(void);
|
||||
void func_82503574(void);
|
||||
void func_825039AC(void);
|
||||
s32 func_82503C50(s16* arg0, s16 arg1);
|
||||
s32 func_82503F00(s16* arg0, s16 arg1);
|
||||
void func_8250416C(void);
|
||||
void func_825042A4(void);
|
||||
void func_82504370(s16 arg0, s16 arg1);
|
||||
void func_825045C0(void);
|
||||
s32 func_825046AC(s32 arg0, s32 arg1);
|
||||
|
||||
void func_82504820(char** arg0);
|
||||
s32 func_82504838(void);
|
||||
void func_82504844(s16 arg0);
|
||||
void func_82504930(unk_D_8250A480* arg0);
|
||||
void func_82504A08(unk_D_8250A480* arg0);
|
||||
void func_82504A68(unk_D_8250A480* arg0);
|
||||
void func_82504B38(void);
|
||||
void func_82504BB4(s16 arg0, s16 arg1, s16 arg2, s16 arg3, u8 arg4, u8 arg5, u8 arg6, u8 arg7);
|
||||
void func_825053B4(s16 arg0, s16 arg1, s8* arg2, f32 arg3, s16 arg4);
|
||||
void func_825054F4(void);
|
||||
void func_82505720(char** arg0);
|
||||
void func_825057A0(void);
|
||||
void func_825057A8(s16 arg0);
|
||||
void func_82505874(s16 arg0, s16 arg1);
|
||||
void func_82505998(unk_D_8250A498* arg0);
|
||||
void func_82505A70(unk_D_8250A498* arg0);
|
||||
void func_82505AB8(unk_D_8250A498* arg0);
|
||||
void func_82505B94(void);
|
||||
void func_82505C10(void);
|
||||
|
||||
void func_82505FA0(void);
|
||||
void func_82505FC8(s16);
|
||||
void func_82505FE0(s16);
|
||||
s16 func_825060E0(void);
|
||||
|
||||
#endif // _FRAGMENT39_H_
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,40 +1,362 @@
|
||||
#include "global.h"
|
||||
#include "fragment39.h"
|
||||
#include "src/1CF30.h"
|
||||
#include "src/2E110.h"
|
||||
#include "src/fragments/2/fragment2.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/39/fragment39_2804C0/func_82504820.s")
|
||||
static unk_D_8250A480 D_8250A480;
|
||||
static unk_D_8250A498 D_8250A498;
|
||||
static char* D_8250A4B0[9];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/39/fragment39_2804C0/func_82504838.s")
|
||||
void func_82504820(char** arg0) {
|
||||
D_8250A480.unk_00 = 0;
|
||||
D_8250A480.unk_02 = 0;
|
||||
D_8250A480.unk_14 = arg0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/39/fragment39_2804C0/func_82504844.s")
|
||||
s32 func_82504838(void) {
|
||||
return D_8250A480.unk_00;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/39/fragment39_2804C0/func_82504930.s")
|
||||
void func_82504844(s16 arg0) {
|
||||
unk_D_8250A480* ptr = &D_8250A480;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/39/fragment39_2804C0/func_82504A08.s")
|
||||
ptr->unk_00 = arg0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/39/fragment39_2804C0/func_82504A68.s")
|
||||
switch (ptr->unk_00) {
|
||||
case 0:
|
||||
ptr->unk_02 = 0;
|
||||
ptr->unk_0C = 0;
|
||||
ptr->unk_10 = 0.0f;
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/39/fragment39_2804C0/func_82504B38.s")
|
||||
case 1:
|
||||
ptr->unk_02 = 0xA;
|
||||
ptr->unk_04 = -0xF8;
|
||||
ptr->unk_06 = 0x5A;
|
||||
ptr->unk_08 = 0x280;
|
||||
ptr->unk_0A = 0x15E;
|
||||
ptr->unk_10 = 0.0f;
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/39/fragment39_2804C0/func_82504BB4.s")
|
||||
case 2:
|
||||
ptr->unk_02 = 0x12C;
|
||||
ptr->unk_04 = 0xBC;
|
||||
ptr->unk_08 = 0x5C;
|
||||
ptr->unk_0C = 0;
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/39/fragment39_2804C0/func_825053B4.s")
|
||||
case 3:
|
||||
ptr->unk_02 = 0xA;
|
||||
ptr->unk_10 = 0.0f;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/39/fragment39_2804C0/func_825054F4.s")
|
||||
void func_82504930(unk_D_8250A480* arg0) {
|
||||
arg0->unk_02--;
|
||||
arg0->unk_04 = ((arg0->unk_02 * -0x1B4) / 10) + 0xBC;
|
||||
arg0->unk_08 = ((arg0->unk_02 * 0x224) / 10) + 0x5C;
|
||||
if (arg0->unk_02 <= 0) {
|
||||
func_82504844(2);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/39/fragment39_2804C0/func_82505720.s")
|
||||
void func_82504A08(unk_D_8250A480* arg0) {
|
||||
arg0->unk_02 = 0x12C;
|
||||
arg0->unk_10 = 0.0f;
|
||||
if (arg0->unk_02 <= 0) {
|
||||
arg0->unk_0C += 0x1000;
|
||||
arg0->unk_10 += 0.05f;
|
||||
if (arg0->unk_10 > 4.0f) {
|
||||
arg0->unk_10 = 4.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_82504A68(unk_D_8250A480* arg0) {
|
||||
arg0->unk_02--;
|
||||
arg0->unk_04 = ((arg0->unk_02 * -0x1C4) / 10) + 0x280;
|
||||
arg0->unk_08 = ((arg0->unk_02 * 0x224) / 10) - 0x1C8;
|
||||
if (arg0->unk_02 <= 0) {
|
||||
func_82504844(0);
|
||||
}
|
||||
}
|
||||
|
||||
void func_82504B38(void) {
|
||||
unk_D_8250A480* ptr = &D_8250A480;
|
||||
|
||||
if (ptr->unk_00 != 0) {
|
||||
switch (ptr->unk_00) {
|
||||
case 1:
|
||||
func_82504930(ptr);
|
||||
break;
|
||||
case 2:
|
||||
func_82504A08(ptr);
|
||||
break;
|
||||
case 3:
|
||||
func_82504A68(ptr);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_82504BB4(s16 arg0, s16 arg1, s16 arg2, s16 arg3, u8 arg4, u8 arg5, u8 arg6, u8 arg7) {
|
||||
s16 sp48;
|
||||
s16 temp_s0_32;
|
||||
s16 var_s2;
|
||||
s16 var_s3;
|
||||
|
||||
if (arg2 >= 0x20) {
|
||||
var_s3 = 0x10;
|
||||
} else {
|
||||
var_s3 = arg2 / 2;
|
||||
}
|
||||
|
||||
if (arg3 >= 0x20) {
|
||||
var_s2 = 0x10;
|
||||
} else {
|
||||
var_s2 = arg3 / 2;
|
||||
}
|
||||
|
||||
sp48 = arg2 - (var_s3 * 2);
|
||||
temp_s0_32 = arg3 - (var_s2 * 2);
|
||||
|
||||
gSPDisplayList(gDisplayListHead++, D_8006F518);
|
||||
gDPSetEnvColor(gDisplayListHead++, arg4, arg5, arg6, arg7);
|
||||
gDPLoadTextureBlock_4b(gDisplayListHead++, D_30CD490, G_IM_FMT_I, 16, 16, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD);
|
||||
|
||||
func_8001C330(arg0, arg1, var_s3, var_s2, 0, 0, 0x4000 / var_s3, 0x4000 / var_s2, 0);
|
||||
|
||||
gDPLoadTextureBlock_4b(gDisplayListHead++, D_30CD510, G_IM_FMT_I, 16, 16, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD);
|
||||
|
||||
func_8001C330((arg0 + arg2) - var_s3, arg1, var_s3, var_s2, 0, 0, 0x4000 / var_s3, 0x4000 / var_s2, 0);
|
||||
|
||||
gDPLoadTextureBlock_4b(gDisplayListHead++, D_30CD390, G_IM_FMT_I, 16, 16, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD);
|
||||
|
||||
func_8001C330(arg0, (arg1 + arg3) - var_s2, var_s3, var_s2, 0, 0, 0x4000 / var_s3, 0x4000 / var_s2, 0);
|
||||
|
||||
gDPLoadTextureBlock_4b(gDisplayListHead++, D_30CD410, G_IM_FMT_I, 16, 16, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD);
|
||||
|
||||
func_8001C330((arg0 + arg2) - var_s3, (arg1 + arg3) - var_s2, var_s3, var_s2, 0, 0, 0x4000 / var_s3,
|
||||
0x4000 / var_s2, 0);
|
||||
|
||||
gSPDisplayList(gDisplayListHead++, D_8006F498);
|
||||
|
||||
if ((sp48 > 0) && (temp_s0_32 > 0)) {
|
||||
func_8001C604(arg0 + var_s3, arg1, sp48, var_s2, arg4, arg5, arg6, arg7);
|
||||
func_8001C604(arg0, arg1 + var_s3, arg2, temp_s0_32, arg4, arg5, arg6, arg7);
|
||||
func_8001C604(arg0 + var_s3, arg1 + var_s3 + temp_s0_32, sp48, var_s2, arg4, arg5, arg6, arg7);
|
||||
} else if (sp48 > 0) {
|
||||
func_8001C604(arg0 + var_s3, arg1, sp48, arg3, arg4, arg5, arg6, arg7);
|
||||
} else if (temp_s0_32 > 0) {
|
||||
func_8001C604(arg0, arg1 + var_s2, arg2, temp_s0_32, arg4, arg5, arg6, arg7);
|
||||
}
|
||||
|
||||
gSPDisplayList(gDisplayListHead++, D_8006F630);
|
||||
}
|
||||
|
||||
void func_825053B4(s16 arg0, s16 arg1, s8* arg2, f32 arg3, s16 arg4) {
|
||||
s16 var_s2;
|
||||
s8* var_v1;
|
||||
s32 i;
|
||||
char sp50[4];
|
||||
s16 tmp;
|
||||
|
||||
var_s2 = 0;
|
||||
while (*arg2) {
|
||||
var_v1 = sp50;
|
||||
if (*arg2 < 0) {
|
||||
for (i = 0; i < 2; i++) {
|
||||
*var_v1++ = *arg2++;
|
||||
}
|
||||
*var_v1 = '\x00';
|
||||
} else {
|
||||
*var_v1++ = *arg2++;
|
||||
*var_v1++ = 0;
|
||||
}
|
||||
|
||||
tmp = SINS(arg4 + var_s2) * arg3;
|
||||
func_8001F1E8(arg0, arg1 + tmp, sp50);
|
||||
var_s2 += 0x3000;
|
||||
arg0 += 0x18;
|
||||
}
|
||||
}
|
||||
|
||||
void func_825054F4(void) {
|
||||
UNUSED s32 pad;
|
||||
unk_D_8250A480* ptr = &D_8250A480;
|
||||
char* sp2C = func_8002D7C0(NULL, 0, ptr->unk_14, 0);
|
||||
char* sp28 = func_8002D7C0(NULL, 0, ptr->unk_14, 1);
|
||||
|
||||
if (ptr->unk_00 != 0) {
|
||||
func_82504BB4(ptr->unk_04, ptr->unk_06, 0xF8, 0x2C, 0x1E, 0x1E, 0x82, 0x80);
|
||||
func_82504BB4(ptr->unk_08, ptr->unk_0A, 0x1C8, 0x2C, 0x64, 0, 0x50, 0x80);
|
||||
func_8001F3F4();
|
||||
func_8001EBE0(0x10, 0);
|
||||
func_8001F324(0xFF, 0xFF, 0xFF, 0xFF);
|
||||
if (ptr->unk_10 <= 0.0f) {
|
||||
func_8001F1E8((ptr->unk_04 - (func_8001F5B0(0, 0, sp2C) / 2)) + 0x7C, ptr->unk_06 + 0xA, sp2C);
|
||||
func_8001F1E8((ptr->unk_08 - (func_8001F5B0(0, 0, sp28) / 2)) + 0xE4, ptr->unk_0A + 0xA, sp28);
|
||||
} else {
|
||||
func_825053B4(ptr->unk_04 + 0x18, ptr->unk_06 + 0xA, sp2C, ptr->unk_10, ptr->unk_0C);
|
||||
func_825053B4(ptr->unk_08 + 0x18, ptr->unk_0A + 0xA, sp28, ptr->unk_10, ptr->unk_0C);
|
||||
}
|
||||
func_8001F444();
|
||||
}
|
||||
}
|
||||
|
||||
void func_82505720(char** arg0) {
|
||||
s32 i;
|
||||
|
||||
D_8250A498.unk_00 = 0;
|
||||
D_8250A498.unk_02 = 0;
|
||||
D_8250A498.unk_14 = arg0;
|
||||
|
||||
for (i = 0; i < 9; i++) {
|
||||
D_8250A4B0[i] = func_8002D7C0(NULL, 0, arg0, i + 7);
|
||||
}
|
||||
}
|
||||
|
||||
void func_825057A0(void) {
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/39/fragment39_2804C0/func_825057A8.s")
|
||||
void func_825057A8(s16 arg0) {
|
||||
unk_D_8250A498* ptr = &D_8250A498;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/39/fragment39_2804C0/func_82505874.s")
|
||||
if (ptr->unk_12 != ptr->unk_10) {
|
||||
ptr->unk_10 = ptr->unk_12;
|
||||
ptr->unk_0C = ptr->unk_0E;
|
||||
ptr->unk_04 = ptr->unk_06;
|
||||
}
|
||||
ptr->unk_12 = arg0;
|
||||
ptr->unk_0E = func_8001F5B0(0, 0, D_8250A4B0[ptr->unk_12], arg0) + 0x30;
|
||||
ptr->unk_06 = (0x280 - ptr->unk_0E) / 2;
|
||||
ptr->unk_02 = 5;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/39/fragment39_2804C0/func_82505998.s")
|
||||
void func_82505874(s16 arg0, s16 arg1) {
|
||||
unk_D_8250A498* ptr = &D_8250A498;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/39/fragment39_2804C0/func_82505A70.s")
|
||||
ptr->unk_00 = arg0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/39/fragment39_2804C0/func_82505AB8.s")
|
||||
switch (ptr->unk_00) {
|
||||
case 0:
|
||||
ptr->unk_02 = 0;
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/39/fragment39_2804C0/func_82505B94.s")
|
||||
case 1:
|
||||
ptr->unk_02 = 0xA;
|
||||
ptr->unk_10 = ptr->unk_12 = arg1;
|
||||
ptr->unk_0C = ptr->unk_0E = func_8001F5B0(0, 0, D_8250A4B0[ptr->unk_12], arg1) + 0x30;
|
||||
ptr->unk_04 = ptr->unk_06 = (0x280 - ptr->unk_0C) / 2;
|
||||
ptr->unk_08 = -0x2C;
|
||||
ptr->unk_0A = 0x1E0;
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/39/fragment39_2804C0/func_82505C10.s")
|
||||
case 2:
|
||||
ptr->unk_08 = 0x3C;
|
||||
break;
|
||||
|
||||
case 3:
|
||||
ptr->unk_02 = 0xA;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void func_82505998(unk_D_8250A498* arg0) {
|
||||
arg0->unk_02--;
|
||||
arg0->unk_08 = ((arg0->unk_02 * -0x68) / 10) + 0x3C;
|
||||
arg0->unk_0A = ((arg0->unk_02 * 0x56) / 10) + 0x18A;
|
||||
if (arg0->unk_02 <= 0) {
|
||||
func_82505874(2, -1);
|
||||
}
|
||||
}
|
||||
|
||||
void func_82505A70(unk_D_8250A498* arg0) {
|
||||
if (arg0->unk_10 != arg0->unk_12) {
|
||||
arg0->unk_02--;
|
||||
if (arg0->unk_02 <= 0) {
|
||||
arg0->unk_10 = arg0->unk_12;
|
||||
arg0->unk_0C = arg0->unk_0E;
|
||||
arg0->unk_04 = arg0->unk_06;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_82505AB8(unk_D_8250A498* arg0) {
|
||||
arg0->unk_02--;
|
||||
arg0->unk_08 = ((arg0->unk_02 * 0x68) / 10) - 0x2C;
|
||||
arg0->unk_0A = ((arg0->unk_02 * -0x56) / 10) + 0x1E0;
|
||||
if (arg0->unk_02 <= 0) {
|
||||
func_82505874(0, -1);
|
||||
}
|
||||
}
|
||||
|
||||
void func_82505B94(void) {
|
||||
unk_D_8250A498* ptr = &D_8250A498;
|
||||
|
||||
if (ptr->unk_00 != 0) {
|
||||
switch (ptr->unk_00) {
|
||||
case 1:
|
||||
func_82505998(ptr);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_82505A70(ptr);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_82505AB8(ptr);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_82505C10(void) {
|
||||
UNUSED s32 pad;
|
||||
unk_D_8250A498* ptr = &D_8250A498;
|
||||
char* sp3C;
|
||||
s16 tmp;
|
||||
char* sp34 = func_8002D7C0(NULL, 0, ptr->unk_14, 0x10);
|
||||
|
||||
if (ptr->unk_00 != 0) {
|
||||
if (ptr->unk_10 == ptr->unk_12) {
|
||||
func_82504BB4(ptr->unk_04, ptr->unk_08, ptr->unk_0C, 0x2C, 0x1E, 0x1E, 0x82, 0x80);
|
||||
} else {
|
||||
tmp = (ptr->unk_02 << 7) / 5;
|
||||
func_82504BB4(ptr->unk_04, ptr->unk_08, ptr->unk_0C, 0x2C, 0x1E, 0x1E, 0x82, tmp);
|
||||
tmp = ((-ptr->unk_02 * 0x80) + 0x280) / 5;
|
||||
func_82504BB4(ptr->unk_06, ptr->unk_08, ptr->unk_0E, 0x2C, 0x1E, 0x1E, 0x82, tmp);
|
||||
}
|
||||
|
||||
if (D_8780FA48 == -1) {
|
||||
func_82504BB4(0x98, ptr->unk_0A, 0x140, 0x2C, 0x64, 0, 0x50, 0x80);
|
||||
}
|
||||
|
||||
func_8001F3F4();
|
||||
func_8001EBE0(0x10, 0);
|
||||
sp3C = D_8250A4B0[ptr->unk_10];
|
||||
if (ptr->unk_10 == ptr->unk_12) {
|
||||
func_8001F324(0xFF, 0xFF, 0xFF, 0xFF);
|
||||
func_8001F1E8(ptr->unk_04 + 0x18, ptr->unk_08 + 0xA, sp3C);
|
||||
} else {
|
||||
tmp = (ptr->unk_02 * 0xFF) / 5;
|
||||
func_8001F324(0xFF, 0xFF, 0xFF, tmp);
|
||||
func_8001F1E8(ptr->unk_04 + 0x18, ptr->unk_08 + 0xA, sp3C);
|
||||
sp3C = D_8250A4B0[ptr->unk_12];
|
||||
tmp = ((5 - ptr->unk_02) * 0xFF) / 5;
|
||||
func_8001F324(0xFF, 0xFF, 0xFF, tmp);
|
||||
func_8001F1E8(ptr->unk_06 + 0x18, ptr->unk_08 + 0xA, sp3C);
|
||||
}
|
||||
|
||||
if (D_8780FA48 == -1) {
|
||||
func_8001F324(0xFF, 0xFF, 0xFF, 0xFF);
|
||||
func_8001F1E8(0x140 - (func_878013D4(D_8250A304, sp34) / 2), ptr->unk_0A + 0xA, sp34);
|
||||
}
|
||||
func_8001F444();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,73 @@
|
||||
#include "global.h"
|
||||
#include "fragment39.h"
|
||||
#include "src/fragments/2/fragment2.h"
|
||||
#include "26820.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/39/fragment39_281C40/func_82505FA0.s")
|
||||
void func_82505FA0(void) {
|
||||
D_8780FA28 = func_800280C4() & 0xFF;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/39/fragment39_281C40/func_82505FC8.s")
|
||||
void func_82505FC8(s16 arg0) {
|
||||
D_87806338 = arg0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/39/fragment39_281C40/func_82505FE0.s")
|
||||
void func_82505FE0(s16 arg0) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/39/fragment39_281C40/func_825060E0.s")
|
||||
for (i = 0; i < 4; i++) {
|
||||
D_8780FA68[i] = 0;
|
||||
}
|
||||
|
||||
switch (arg0) {
|
||||
case 0:
|
||||
D_87806338 = -1;
|
||||
D_8780FA2A = 0;
|
||||
D_8780FA2C = 0;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
D_8780FA30[i] = 1;
|
||||
}
|
||||
|
||||
D_8780FA38 = 1;
|
||||
D_8780FA3A = 3;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
D_8780FA40[i] = 0;
|
||||
}
|
||||
|
||||
D_8780FA48 = 0;
|
||||
// clang-format off
|
||||
for (i = 0; i < 9; i++) { D_8780FA50[i] = 0; }
|
||||
// clang-format on
|
||||
break;
|
||||
|
||||
case 1:
|
||||
case 4:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
s16 func_825060E0(void) {
|
||||
u32 var_a2;
|
||||
s32 i;
|
||||
s16 sp24[9];
|
||||
|
||||
var_a2 = 0;
|
||||
|
||||
for (i = 0; i < 9; i++) {
|
||||
if (D_8780FA50[i] == 0) {
|
||||
sp24[var_a2++] = i;
|
||||
}
|
||||
}
|
||||
|
||||
if (var_a2 == 0) {
|
||||
var_a2 = 9;
|
||||
|
||||
for (i = 0; i < 9; i++) {
|
||||
D_8780FA50[i] = 0;
|
||||
sp24[i] = i;
|
||||
}
|
||||
}
|
||||
|
||||
return sp24[func_878001E8(var_a2)];
|
||||
}
|
||||
|
||||
@@ -1564,11 +1564,12 @@
|
||||
- [0x27BCC0, c, fragments/39/fragment39_27BCC0]
|
||||
- [0x2804C0, c, fragments/39/fragment39_2804C0]
|
||||
- [0x281C40, c, fragments/39/fragment39_281C40]
|
||||
- [0x281E50, data, fragments/39/fragment39_data]
|
||||
- [0x2846C0, rodata, fragments/39/fragment39_rodata_2846C0]
|
||||
- [0x284780, rodata, fragments/39/fragment39_rodata_284780]
|
||||
- [0x281E50, .data, fragments/39/fragment39_27BCC0]
|
||||
- [0x2846C0, .rodata, fragments/39/fragment39_27BCC0]
|
||||
- [0x284780, .rodata, fragments/39/fragment39_2804C0]
|
||||
|
||||
- {vram: 0x82508AF0, type: bss, name: fragments/39/fragment39_bss}
|
||||
- {vram: 0x82508AF0, type: .bss, name: fragments/39/fragment39_27BCC0}
|
||||
- {vram: 0x8250A480, type: .bss, name: fragments/39/fragment39_2804C0}
|
||||
|
||||
- name: fragment39_relocs
|
||||
type: code
|
||||
|
||||
Reference in New Issue
Block a user