Merge pull request #165 from Kelebek1/fragment24
Some checks failed
C/C++ CI / build (push) Has been cancelled

fragment24
This commit is contained in:
Revo
2024-11-24 10:01:25 -05:00
committed by GitHub
27 changed files with 9978 additions and 509 deletions

View File

@@ -115,6 +115,12 @@ extern u8 D_4001638[];
extern u8 D_4001680[];
extern u8 D_40016C8[];
extern u8 D_4001710[];
extern u8 D_4004A00[];
extern u8 D_4005570[];
extern u8 D_4001010[];
extern u8 D_4001C90[];
extern u8 D_4001FB8[];
extern u8 D_4006AB8[];
extern u8 D_800818E0[0x20];
@@ -148,7 +154,9 @@ extern struct unk_D_86002F58_004_000* D_8006F09C;
typedef struct unk_D_8006FF00 {
/* 0x00 */ char unk_00[0x4];
/* 0x04 */ char* name;
/* 0x08 */ char unk_08[0x8];
/* 0x08 */ char unk_08[0x4];
/* 0x0C */ u8 unk_0C;
/* 0x0D */ char unk_0D[0x3];
/* 0x10 */ s16 unk_10;
/* 0x12 */ s16 unk_12;
/* 0x14 */ char unk_14[0x8];
@@ -227,5 +235,6 @@ typedef struct unk_D_70B10 {
} unk_D_70B10; // size = 0x20
extern unk_func_88500020 D_800758E0;
extern unk_func_88500020 D_800758F0;
#endif

View File

@@ -369,6 +369,10 @@ D_4002D88 = 0x4002D88;
D_4003010 = 0x4003010;
D_4003298 = 0x4003298;
D_4003520 = 0x4003520;
D_4001010 = 0x4001010;
D_4001C90 = 0x4001C90;
D_4001FB8 = 0x4001FB8;
D_4006AB8 = 0x4006AB8;
D_88217C20 = 0x88217C20; // size:0x4
D_88217C24 = 0x88217C24; // size:0x4
D_88217C28 = 0x88217C28; // size:0x4

View File

@@ -5,7 +5,7 @@
typedef struct unk_func_88201DA0_034_008 {
/* 0x00 */ char unk00[0x4];
} unk_func_88201DA0_034_008; // size >= 1
} unk_func_88201DA0_034_008; // size >= 0x4
void func_8001B058(void);
void func_8001B0DC(unk_func_88201DA0_034_008*, s32, s32);

View File

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

8
src/225A0.h Normal file
View File

@@ -0,0 +1,8 @@
#ifndef _225A0_H_
#define _225A0_H_
#include "global.h"
u32 func_800219FC(s32);
#endif // _225A0_H_

View File

@@ -15,14 +15,17 @@ typedef enum {
} PokemonRomType;
typedef struct unk_D_80070F84 {
/* 0x00 */ char unk00[0x5];
/* 0x00 */ u8 unk_00;
/* 0x04 */ char unk01[0x4];
/* 0x05 */ u8 unk_05;
/* 0x06 */ u8 unk_06;
/* 0x07 */ u8 unk_07;
/* 0x08 */ u8 unk_08;
/* 0x09 */ u8 unk_09;
/* 0x0A */ u8 unk_0A;
/* 0x0B */ char unk0B[0x8];
/* 0x0B */ char unk0B[0x4];
/* 0x0F */ u8 unk_0F[1];
/* 0x10 */ char unk10[0x3];
/* 0x13 */ u8 unk_13;
/* 0x14 */ char unk14[0x3];
} unk_D_80070F84; // size = 0x17
@@ -116,12 +119,13 @@ u32 func_800224B8(s32 arg0, u16 arg1);
u16 func_800226C0(s32 arg0, u32 arg1);
void func_80022734(unk_func_8820BE14_sp*);
void func_800228B0(unk_func_8820BE14_sp*);
s8 func_80022A28(s32);
u8 func_80022A38(s32 arg0);
u8 func_80022A60(s32 arg0);
unk_func_80022C28_ret* func_80022C28(s32, s32, s32, s32);
unk_func_80022C28_ret* func_80022CC0(s32, s32, s32, s32, char*, s32);
void func_80022D24(unk_func_80022C28_ret*);
void func_80022D8C(unk_func_80022C28_ret*);
s32 func_80022D24(unk_func_80022C28_ret*);
s32 func_80022D8C(unk_func_80022C28_ret*);
s32 func_80022E18(unk_func_80026268_arg0*, s32, unk_func_80022C28_ret*);
s32 func_80022F24(unk_func_88205880_00D0*, s32, unk_func_80022C28_ret*);
void func_80023068(void);

View File

@@ -44,6 +44,12 @@ typedef struct unk_func_8820BE14_06C_000 {
/* 0x04 */ unk_func_88200FA0_030_038 unk_04;
} unk_func_8820BE14_06C_000; // size = 0x10
typedef struct unk_func_8820BE14_06C_000_alt {
/* 0x00 */ s32 unk_00;
/* 0x04 */ unk_func_88200FA0_030_038 unk_04;
/* 0x10 */ unk_func_88205880_A030 unk_10;
} unk_func_8820BE14_06C_000_alt; // size = 0x1C
typedef struct unk_func_8820BE14_06C {
/* 0x00 */ unk_func_8820BE14_06C_000* unk_00;
/* 0x04 */ s32 unk_04;
@@ -51,13 +57,95 @@ typedef struct unk_func_8820BE14_06C {
/* 0x0C */ s32 unk_0C;
} unk_func_8820BE14_06C; // size = 0x10
void func_8002C740(s8*, unk_func_88201DA0_034*, s32, s32, s32);
typedef struct unk_func_8830867C_02C_0CC_000_000_000 {
/* 0x00 */ char unk00[0x8];
/* 0x08 */ s32 unk_08;
} unk_func_8830867C_02C_0CC_000_000_000; // size >= 0xC
typedef struct unk_func_8830867C_02C_0CC_000_000_010_000_000 {
/* 0x00 */ struct unk_func_8830867C_02C_0CC_000_000* unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ unk_func_80026268_arg0 unk_08;
} unk_func_8830867C_02C_0CC_000_000_010_000_000; // size >= 0x5C
typedef struct unk_func_8830867C_02C_0CC_000_000_010_000 {
/* 0x00 */ unk_func_8830867C_02C_0CC_000_000_010_000_000* unk_00;
} unk_func_8830867C_02C_0CC_000_000_010_000; // size >= 0x4
typedef struct unk_func_8830867C_02C_0CC_000_000_010 {
/* 0x00 */ unk_func_8830867C_02C_0CC_000_000_010_000* unk_00;
/* 0x04 */ char unk04[0x4];
/* 0x08 */ s32 unk_08;
} unk_func_8830867C_02C_0CC_000_000_010; // size = 0xC
typedef struct unk_func_8830867C_02C_0CC_000_000 {
/* 0x00 */ unk_func_8830867C_02C_0CC_000_000_000* unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ s32 unk_08;
/* 0x0C */ s32 unk_0C;
/* 0x10 */ unk_func_8830867C_02C_0CC_000_000_010 unk_10;
} unk_func_8830867C_02C_0CC_000_000; // size = 0x1C
typedef struct unk_func_8830867C_02C_0CC_000_008 {
/* 0x00 */ u8 unk_00;
/* 0x01 */ char unk01[0x1];
/* 0x02 */ u16 unk_02;
/* 0x04 */ char unk04[0x5];
/* 0x09 */ u8 unk_09[4];
/* 0x0D */ char unk0D[0x3];
/* 0x10 */ u8 unk_10;
/* 0x11 */ u8 unk_11;
/* 0x12 */ char unk12[0x2];
/* 0x14 */ u16 unk_14;
/* 0x16 */ u16 unk_16;
/* 0x18 */ u16 unk_18;
/* 0x1A */ u16 unk_1A;
/* 0x1C */ u16 unk_1C;
/* 0x1E */ u16 unk_1E;
/* 0x20 */ u8 unk_20[4];
/* 0x24 */ u8 unk_24;
/* 0x26 */ u16 unk_26;
/* 0x28 */ u16 unk_28;
/* 0x2A */ u16 unk_2A;
/* 0x2C */ u16 unk_2C;
/* 0x2E */ u16 unk_2E;
} unk_func_8830867C_02C_0CC_000_008; // size = 0x30
typedef struct unk_func_8830867C_02C_0CC_000 {
/* 0x00 */ unk_func_8830867C_02C_0CC_000_000* unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ unk_func_8830867C_02C_0CC_000_008 unk_08;
/* 0x38 */ char unk_38[4];
/* 0x3C */ char unk3C[0x20];
} unk_func_8830867C_02C_0CC_000; // size = 0x5C
typedef struct unk_func_8830867C_02C_0CC {
/* 0x00 */ unk_func_8830867C_02C_0CC_000** unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ s32 unk_08;
} unk_func_8830867C_02C_0CC; // size = 0xC
typedef struct unk_func_8830867C_04C_030_02C_000_000_00C {
/* 0x00 */ s32 unk_00;
/* 0x04 */ char unk04[0x4];
/* 0x08 */ s32 unk_08;
} unk_func_8830867C_04C_030_02C_000_000_00C; // size >= 0xC
typedef void (*func_func_8002D1AC)();
typedef s32 (*unk_D_8831A1F8)(s32, s32);
void func_8002C740(unk_func_88201DA0_038*, unk_func_88201DA0_034*, s32, s32, s32);
void func_8002C758(unk_func_8820BE14_06C*, s32, s32, MemoryPool*);
void func_8002C88C(unk_func_8820BE14_06C*, u8*, s32);
void func_8002C990(unk_func_8820BE14_06C*, s32);
s32 func_8002CB58(unk_func_8830867C_04C_030_02C_000_000_00C*, s32);
void func_8002CBC0(unk_func_88200FA0_030_038*, s32, MemoryPool*);
void func_8002CBB0(unk_func_88205880_A030*, void*, s32, s32);
void func_8002CC2C(unk_func_88200FA0_030_038*, char*, s32);
void func_8002CC80(unk_func_8830867C_02C_0CC*, s32);
void func_8002D180(unk_func_8830867C_02C_0CC*, unk_D_8831A1F8);
void func_8002D1AC(unk_func_8830867C_02C_0CC*, unk_func_8830867C_02C_0CC*, func_func_8002D1AC, s32*);
s32 func_8002D348(u8*, u8*);
void func_8002D3F0(f32*);
Color_RGBA8 func_8002D444(Color_RGBA8, f32);

View File

@@ -28,7 +28,7 @@ void func_8002D5D4(u32 arg0, char* arg1) {
}
}
void func_8002D600(u32 arg0, s32 arg1) {
void func_8002D600(u32 arg0, char* arg1) {
if ((arg0 != 0) && (arg0 < 0xA)) {
D_800AF744[arg0] = arg1;
}

View File

@@ -6,7 +6,7 @@
void func_8002D510(void);
char** func_8002D5AC(s32 file_number);
void func_8002D5D4(u32 arg0, char* arg1);
void func_8002D600(u32 arg0, s32 arg1);
void func_8002D600(u32 arg0, char* arg1);
void func_8002D628(char* arg0, u32 arg1, s8* arg2);
char* func_8002D7C0(char* arg0, s32 arg1, char** arg2, u32 file_number);
s32 func_8002D80C(s8* arg0);

View File

@@ -3,6 +3,11 @@
#include "global.h"
typedef struct unk_func_8002D860 {
/* 0x00 */ char unk00[0x8];
/* 0x08 */ s32 unk_08;
} unk_func_8002D860; // size >= 0xC
typedef struct ret_func_8002ED08 {
/* 0x00 */ u8 unk_00[12];
} ret_func_8002ED08; // size = 0xC
@@ -15,15 +20,34 @@ typedef struct unk_func_8820E99C_030_030 {
/* 0x10 */ s32 unk_10;
} unk_func_8820E99C_030_030; // size = 0x14
typedef struct unk_D_80072B00 {
/* 0x00 */ char unk00[5];
/* 0x05 */ u8 unk_05;
} unk_D_80072B00; // size = 0x6
typedef struct unk_func_8830867C_044_038_030 {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ s32 unk_08;
/* 0x0C */ s32 unk_0C;
/* 0x10 */ s32 unk_10;
} unk_func_8830867C_044_038_030; // size = 0x14
void func_8002D860(unk_func_8002D860*, s32);
void func_8002D8C8(unk_func_88500020*, s32, s32);
s32 func_8002DF68(unk_func_8830867C_044_038_030*, s32);
s32 func_8002EC08(s32);
s32 func_8002ECDC(s32);
s32 func_8002E0F4(unk_func_8820E99C_030_030*);
void func_8002E5A0(s32, s32, s32, s32);
void func_8002E8E4(s32, s32, s32, s32);
unk_D_80072B00* func_8002ED40(s32);
s32 func_8002EE1C(s32, s32, s32);
void func_8002EE78(void);
void func_8002EEA8(OSMesg);
ret_func_8002ED08* func_8002ED08(u8);
ret_func_8002ED08* func_8002ED08(s32);
s32 func_8002ED78(u8*, s32);
s32 func_8002EDEC(s32);
void func_8002EF18(s32*);
void func_8002EF44(void);
s32 func_8002F1C0(u8);

View File

@@ -2798,7 +2798,7 @@ void func_88001300(unk_func_88001300* arg0, s32 arg1, s32 arg2, s32 arg3, u8* ar
arg0->unk_38 = mem_pool_alloc(arg6, sizeof(unk_func_88001300_038));
((func88502274)Memmap_GetFragmentVaddr(func_88502274))(arg0->unk_38, 0, 0, temp_s0->unk_14.unk_00,
temp_s0->unk_14.unk_02);
arg0->unk_38->unk_28 |= 0x200;
arg0->unk_38->unk_00.unk_28 |= 0x200;
((func8850068C)Memmap_GetFragmentVaddr(func_8850068C))(temp_s0, arg0->unk_38);
sp5C = mem_pool_alloc(arg6, sizeof(unk_func_88001300_000));
@@ -3017,7 +3017,7 @@ void func_8800233C(unk_func_88001300* arg0) {
func_8002EEA8(NULL);
}
arg0->unk_38->unk_28 |= 0x201;
arg0->unk_38->unk_00.unk_28 |= 0x201;
for (i = 0; i < 8; i++) {
func_8002EEA8(NULL);
@@ -3027,7 +3027,7 @@ void func_8800233C(unk_func_88001300* arg0) {
temp_s0 = Memmap_GetFragmentVaddr(func_88506074); temp_s0(arg0->unk_34, func_8002D7C0(NULL, 0, D_88016CF4, 6));
// clang-format on
} else {
arg0->unk_38->unk_28 |= 0x201;
arg0->unk_38->unk_00.unk_28 |= 0x201;
func_88001258(arg0);
}
} else {

View File

@@ -700,6 +700,7 @@ void func_88216000(unk_func_8820BE14_02C_038* arg0, s32 arg1, s32 arg2);
s32 func_882169D4(unk_func_8820BE14_02C_038* arg0, Controller* arg1);
void func_88216F18(unk_func_8820BE14_02C_038* arg0, s32 arg1);
void func_88217018(unk_func_8820BE14_02C_038* arg0, unk_func_8820BE14_06C_000* arg1, u32 arg2);
void func_88217060(unk_func_8820BE14_02C_038*, s32*, s32);
void func_882170A8(unk_func_882170A8* arg0, s32 arg1, s32 arg2, unk_func_8820BE14_02C_038* arg3, s32 arg4);
void func_8821711C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
s32 func_8821738C(unk_func_882170A8* arg0, s32 arg1, s32 arg2);

View File

@@ -41,9 +41,9 @@ void func_88200290(unk_func_88503298* arg0, s32 arg1, s32 arg2, MemoryPool* arg3
arg0->unk_2C = mem_pool_alloc(arg3, sizeof(unk_func_88001300_038));
((func88502274)Memmap_GetFragmentVaddr(func_88502274))(arg0->unk_2C, 0, 0, var_s1, 0x68);
arg0->unk_2C->unk_28 |= 0x200;
arg0->unk_2C->unk_28 |= 0x400;
arg0->unk_2C->unk_28 &= ~1;
arg0->unk_2C->unk_00.unk_28 |= 0x200;
arg0->unk_2C->unk_00.unk_28 |= 0x400;
arg0->unk_2C->unk_00.unk_28 &= ~1;
((func8850068C)Memmap_GetFragmentVaddr(func_8850068C))(arg0, arg0->unk_2C);
temp_s0 = mem_pool_alloc(arg3, sizeof(unk_func_885012A4));
@@ -95,9 +95,9 @@ void func_882004C8(unk_func_88200FA0_030* arg0, s32 arg1, s32 arg2, unk_func_880
arg0->unk_2C = mem_pool_alloc(arg4, sizeof(unk_func_88001300_038));
((func88502274)Memmap_GetFragmentVaddr(func_88502274))(arg0->unk_2C, 0, 0, var_s2, 0xA4);
arg0->unk_2C->unk_28 |= 0x200;
arg0->unk_2C->unk_28 |= 0x400;
arg0->unk_2C->unk_28 &= ~1;
arg0->unk_2C->unk_00.unk_28 |= 0x200;
arg0->unk_2C->unk_00.unk_28 |= 0x400;
arg0->unk_2C->unk_00.unk_28 &= ~1;
((func8850068C)Memmap_GetFragmentVaddr(func_8850068C))(arg0, arg0->unk_2C);
sp6C = mem_pool_alloc(arg4, sizeof(unk_func_8850B254));
@@ -159,7 +159,7 @@ s32 func_88200A30(unk_func_88200FA0_030* arg0, Controller* arg1) {
if ((sp1C & 1) && (sp1C & 8)) {
func_88200968(arg0, arg0->unk_30->unk_38);
}
} else if (!(arg0->unk_2C->unk_28 & 1)) {
} else if (!(arg0->unk_2C->unk_00.unk_28 & 1)) {
sp1C = 2;
} else {
sp1C = 1;
@@ -168,14 +168,14 @@ s32 func_88200A30(unk_func_88200FA0_030* arg0, Controller* arg1) {
}
void func_88200ACC(unk_func_88200FA0_030* arg0) {
arg0->unk_2C->unk_28 |= 1;
arg0->unk_34->unk_2C->unk_28 |= 1;
arg0->unk_2C->unk_00.unk_28 |= 1;
arg0->unk_34->unk_2C->unk_00.unk_28 |= 1;
}
void func_88200AF4(unk_func_88200FA0_030* arg0) {
arg0->unk_2C->unk_2C = 0xB;
arg0->unk_34->unk_2C->unk_2C = 0xB;
while (arg0->unk_2C->unk_28 & 1) {
while (arg0->unk_2C->unk_00.unk_28 & 1) {
func_8002EEA8(NULL);
}
}

View File

@@ -124,13 +124,14 @@ void func_88201DA0(unk_func_88201DA0* arg0, s32 arg1, s32 arg2, unk_func_8800130
arg0->unk_2C = mem_pool_alloc(arg6, sizeof(unk_func_88001300_038));
((func88502274)Memmap_GetFragmentVaddr(func_88502274))(arg0->unk_2C, 0, 0, 0x212, 0x148);
arg0->unk_2C->unk_28 |= 0x200;
arg0->unk_2C->unk_28 |= 0x400;
arg0->unk_2C->unk_28 &= ~1;
arg0->unk_2C->unk_00.unk_28 |= 0x200;
arg0->unk_2C->unk_00.unk_28 |= 0x400;
arg0->unk_2C->unk_00.unk_28 &= ~1;
((func8850068C)Memmap_GetFragmentVaddr(func_8850068C))(arg0, arg0->unk_2C);
arg0->unk_58 = mem_pool_alloc(arg6, sizeof(unk_func_8850182C));
((func8850182C)Memmap_GetFragmentVaddr(func_8850182C))(arg0->unk_58, 0, 0, arg0->unk_2C->unk_14, 0x1C, D_88217C30);
((func8850182C)Memmap_GetFragmentVaddr(func_8850182C))(arg0->unk_58, 0, 0, arg0->unk_2C->unk_00.unk_14.unk_00, 0x1C,
D_88217C30);
((func8850068C)Memmap_GetFragmentVaddr(func_8850068C))(arg0->unk_2C, arg0->unk_58);
arg0->unk_50 = mem_pool_alloc(arg6, sizeof(unk_func_8850878C));
@@ -163,7 +164,8 @@ void func_88202054(unk_func_88201DA0* arg0, u32 arg1, u32 arg2) {
sprintf(&arg0->unk_54[strlen(arg0->unk_54)], " No.%d", arg2 + 1);
arg0->unk_50->unk_00.unk_10.unk_00 =
(arg0->unk_2C->unk_14 - func_8001F5B0(arg0->unk_50->unk_2C, arg0->unk_50->unk_38, arg0->unk_54)) / 2;
(arg0->unk_2C->unk_00.unk_14.unk_00 - func_8001F5B0(arg0->unk_50->unk_2C, arg0->unk_50->unk_38, arg0->unk_54)) /
2;
arg0->unk_58->unk_2C = D_88217C38[arg1 - 1];
}
@@ -804,7 +806,7 @@ void func_88203ED8(unk_func_88203ED8* arg0, s32 arg1, s32 arg2, unk_func_8820588
arg0->unk_2C = mem_pool_alloc(arg8, sizeof(unk_func_88001300_038));
((func88502274)Memmap_GetFragmentVaddr(func_88502274))(arg0->unk_2C, 0, 0, 0x228, 0x172);
arg0->unk_2C->unk_28 |= 0x400;
arg0->unk_2C->unk_00.unk_28 |= 0x400;
((func8850068C)Memmap_GetFragmentVaddr(func_8850068C))(arg0, arg0->unk_2C);
sp98 = mem_pool_alloc(arg8, sizeof(unk_func_885012A4));
@@ -1529,7 +1531,7 @@ void func_88205E94(unk_func_88205880* arg0) {
func_8001F738(gPlayer1Controller);
func_882057B4(arg0->unk_002C, gPlayer1Controller);
while (arg0->unk_002C->unk_2C->unk_28 & 1) {
while (arg0->unk_002C->unk_2C->unk_00.unk_28 & 1) {
func_8002EEA8(NULL);
}

View File

@@ -288,9 +288,9 @@ void func_88206A20(unk_func_8820BE14_02C_078_034* arg0, s32 arg1, s32 arg2, Memo
arg0->unk_2C = mem_pool_alloc(arg3, sizeof(unk_func_88001300_038));
((func88502274)Memmap_GetFragmentVaddr(func_88502274))(arg0->unk_2C, 0, 0, sp4C, 0x120);
arg0->unk_2C->unk_28 |= 0x200;
arg0->unk_2C->unk_28 |= 0x400;
arg0->unk_2C->unk_28 &= ~1;
arg0->unk_2C->unk_00.unk_28 |= 0x200;
arg0->unk_2C->unk_00.unk_28 |= 0x400;
arg0->unk_2C->unk_00.unk_28 &= ~1;
((func8850068C)Memmap_GetFragmentVaddr(func_8850068C))(arg0, arg0->unk_2C);
@@ -338,9 +338,9 @@ void func_88206C4C(unk_func_8820BE14_02C_078* arg0, s32 arg1, s32 arg2, s32 arg3
arg0->unk_2C = mem_pool_alloc(arg6, sizeof(unk_func_88001300_038));
((func88502274)Memmap_GetFragmentVaddr(func_88502274))(arg0->unk_2C, 0, 0, sp48, 0x54);
arg0->unk_2C->unk_28 |= 0x200;
arg0->unk_2C->unk_28 |= 0x400;
arg0->unk_2C->unk_28 &= ~1;
arg0->unk_2C->unk_00.unk_28 |= 0x200;
arg0->unk_2C->unk_00.unk_28 |= 0x400;
arg0->unk_2C->unk_00.unk_28 &= ~1;
((func8850068C)Memmap_GetFragmentVaddr(func_8850068C))(&arg0->unk_00, arg0->unk_2C);
@@ -404,9 +404,9 @@ s32 func_88206F44(unk_func_8820BE14_02C_078* arg0, Controller* arg1) {
&arg0->unk_38.unk_00[arg0->unk_30->unk_38]);
if (arg0->unk_4C != 0) {
arg0->unk_34->unk_00.unk_10.unk_00 = -arg0->unk_34->unk_2C->unk_14;
arg0->unk_34->unk_00.unk_10.unk_00 = -arg0->unk_34->unk_2C->unk_00.unk_14.unk_00;
} else {
arg0->unk_34->unk_00.unk_10.unk_00 = arg0->unk_2C->unk_14;
arg0->unk_34->unk_00.unk_10.unk_00 = arg0->unk_2C->unk_00.unk_14.unk_00;
}
arg0->unk_34->unk_00.unk_10.unk_02 = 8;
@@ -1415,7 +1415,7 @@ void func_88209B54(unk_func_8820BE14_02C* arg0, s32 arg1, s32 arg2, unk_func_882
arg0->unk_2C = mem_pool_alloc(argA, sizeof(unk_func_88001300_038));
((func88502274)Memmap_GetFragmentVaddr(func_88502274))(arg0->unk_2C, 0, 0, 0x228, 0x160);
arg0->unk_2C->unk_28 |= 0x400;
arg0->unk_2C->unk_00.unk_28 |= 0x400;
((func8850068C)Memmap_GetFragmentVaddr(func_8850068C))(arg0, arg0->unk_2C);
temp_s0 = mem_pool_alloc(argA, sizeof(unk_func_88001300_02C));
@@ -2473,7 +2473,7 @@ void func_8820C510(unk_func_8820BE14* arg0) {
void func_8820C5BC(unk_func_8820BE14* arg0) {
s32 sp24 = func_8820AFC4(arg0->unk_2C, gPlayer1Controller);
while (arg0->unk_2C->unk_2C->unk_28 & 1) {
while (arg0->unk_2C->unk_2C->unk_00.unk_28 & 1) {
func_8002EEA8(0);
}
@@ -2494,7 +2494,7 @@ void func_8820C63C(unk_func_8820BE14* arg0) {
sp24 = func_8820AFC4(arg0->unk_2C, gPlayer1Controller);
while (arg0->unk_2C->unk_2C->unk_28 & 1) {
while (arg0->unk_2C->unk_2C->unk_00.unk_28 & 1) {
func_8002EEA8(NULL);
}

View File

@@ -186,9 +186,9 @@ void func_8820D0F4(unk_func_8821421C_034* arg0, s32 arg1, s32 arg2, MemoryPool*
arg0->unk_2C = mem_pool_alloc(arg3, sizeof(unk_func_88001300_038));
((func88502274)Memmap_GetFragmentVaddr(func_88502274))(arg0->unk_2C, 0, 0, 0x100, 0x3C);
arg0->unk_2C->unk_28 |= 0x200;
arg0->unk_2C->unk_28 |= 0x400;
arg0->unk_2C->unk_28 &= ~1;
arg0->unk_2C->unk_00.unk_28 |= 0x200;
arg0->unk_2C->unk_00.unk_28 |= 0x400;
arg0->unk_2C->unk_00.unk_28 &= ~1;
((func8850068C)Memmap_GetFragmentVaddr(func_8850068C))(arg0, arg0->unk_2C);
@@ -372,9 +372,9 @@ void func_8820D9B8(unk_func_8821421C_02C_070* arg0, s32 arg1, s32 arg2, s32 arg3
arg0->unk_2C = mem_pool_alloc(arg7, sizeof(unk_func_88001300_038));
((func88502274)Memmap_GetFragmentVaddr(func_88502274))(arg0->unk_2C, 0, 0, sp4C, arg5 * 0x1C);
arg0->unk_2C->unk_28 |= 0x200;
arg0->unk_2C->unk_28 |= 0x400;
arg0->unk_2C->unk_28 &= ~1;
arg0->unk_2C->unk_00.unk_28 |= 0x200;
arg0->unk_2C->unk_00.unk_28 |= 0x400;
arg0->unk_2C->unk_00.unk_28 &= ~1;
((func8850068C)Memmap_GetFragmentVaddr(func_8850068C))(arg0, arg0->unk_2C);
@@ -716,9 +716,9 @@ void func_8820E99C(unk_func_8820E99C* arg0, s32 arg1, s32 arg2, MemoryPool* arg3
arg0->unk_2C = mem_pool_alloc(arg3, sizeof(unk_func_88001300_038));
((func88502274)Memmap_GetFragmentVaddr(func_88502274))(arg0->unk_2C, 0, 0, sp40, 0x28);
arg0->unk_2C->unk_28 |= 0x200;
arg0->unk_2C->unk_28 |= 0x400;
arg0->unk_2C->unk_28 &= ~1;
arg0->unk_2C->unk_00.unk_28 |= 0x200;
arg0->unk_2C->unk_00.unk_28 |= 0x400;
arg0->unk_2C->unk_00.unk_28 &= ~1;
((func8850068C)Memmap_GetFragmentVaddr(func_8850068C))(arg0, arg0->unk_2C);
@@ -977,9 +977,9 @@ void func_8820F3B8(unk_func_8821421C_038* arg0, s32 arg1, s32 arg2, unk_func_880
arg0->unk_44 = mem_pool_alloc(arg5, sizeof(unk_func_88001300_038));
((func88502274)Memmap_GetFragmentVaddr(func_88502274))(arg0->unk_44, 0, 0, 0x228, 0x162);
arg0->unk_44->unk_28 |= 0x200;
arg0->unk_44->unk_28 |= 0x400;
arg0->unk_44->unk_28 &= ~1;
arg0->unk_44->unk_00.unk_28 |= 0x200;
arg0->unk_44->unk_00.unk_28 |= 0x400;
arg0->unk_44->unk_00.unk_28 &= ~1;
((func8850068C)Memmap_GetFragmentVaddr(func_8850068C))(arg0, arg0->unk_44);
@@ -1488,14 +1488,14 @@ void func_88210B38(unk_func_8821421C_02C_06C_02C* arg0, s32 arg1) {
(!(&arg0->unk_2C[0]->unk_00.unk_00))) {}
if (var_v1 == 0xC4) {
var_v1 -= arg0->unk_34->unk_2C->unk_16;
var_v1 -= arg0->unk_34->unk_2C->unk_00.unk_14.unk_02;
var_v1 -= 4;
} else {
var_v1 += 0x20;
}
arg0->unk_34->unk_00.unk_10.unk_00 =
0xD3 + (arg0->unk_2C[0]->unk_00.unk_00.unk_10.unk_00 - arg0->unk_34->unk_2C->unk_14);
0xD3 + (arg0->unk_2C[0]->unk_00.unk_00.unk_10.unk_00 - arg0->unk_34->unk_2C->unk_00.unk_14.unk_00);
arg0->unk_34->unk_00.unk_10.unk_02 = arg0->unk_2C[0]->unk_00.unk_00.unk_10.unk_02 + var_v1 & 0xFFFF;
func_8820EC68(arg0->unk_34);
@@ -1996,7 +1996,7 @@ s32 func_882118CC(unk_func_8821421C_02C_06C_02C* arg0, Controller* arg1) {
case 1:
if (sp2C & 2) {
if (arg0->unk_34->unk_2C->unk_28 & 1) {
if (arg0->unk_34->unk_2C->unk_00.unk_28 & 1) {
func_88210BFC(arg0, 4);
} else {
func_88210BFC(arg0, 0);
@@ -2006,7 +2006,7 @@ s32 func_882118CC(unk_func_8821421C_02C_06C_02C* arg0, Controller* arg1) {
} else if (sp2C & 4) {
func_80048B90(0x18);
arg0->unk_2C[0]->unk_00.unk_34[arg0->unk_2C[0]->unk_00.unk_38] |= 0x100;
if (arg0->unk_34->unk_2C->unk_28 & 1) {
if (arg0->unk_34->unk_2C->unk_00.unk_28 & 1) {
func_8820EC9C(arg0->unk_34);
}
func_88211380(arg0, arg1);
@@ -2268,7 +2268,7 @@ void func_882121E0(unk_func_8821421C_02C* arg0, s32 arg1, s32 arg2, unk_func_882
arg0->unk_2C = mem_pool_alloc(argB, sizeof(unk_func_88001300_038));
((func88502274)Memmap_GetFragmentVaddr(func_88502274))(arg0->unk_2C, 0, 0, 0x228, 0x162);
arg0->unk_2C->unk_28 |= 0x400;
arg0->unk_2C->unk_00.unk_28 |= 0x400;
((func8850068C)Memmap_GetFragmentVaddr(func_8850068C))(arg0, arg0->unk_2C);
spC8 = mem_pool_alloc(argB, sizeof(unk_func_885012A4));
@@ -3005,7 +3005,7 @@ void func_88214720(unk_func_8821421C* arg0) {
void func_882147BC(unk_func_8821421C* arg0) {
s32 sp24 = func_88213618(arg0->unk_2C, gPlayer1Controller);
while (arg0->unk_2C->unk_2C->unk_28 & 1) {
while (arg0->unk_2C->unk_2C->unk_00.unk_28 & 1) {
func_8002EEA8(0);
}

View File

@@ -626,7 +626,11 @@ void func_88217018(unk_func_8820BE14_02C_038* arg0, unk_func_8820BE14_06C_000* a
((func88506EE4)Memmap_GetFragmentVaddr(func_88506EE4))(arg0, &arg1->unk_04);
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/23/fragment23_1BCF10/func_88217060.s")
void func_88217060(unk_func_8820BE14_02C_038* arg0, s32* arg1, s32 arg2) {
arg0->unk_88 = arg1;
arg0->unk_8C = arg2;
((func88506F50)Memmap_GetFragmentVaddr(func_88506F50))(arg0, arg1 + 1);
}
void func_882170A8(unk_func_882170A8* arg0, s32 arg1, s32 arg2, unk_func_8820BE14_02C_038* arg3, s32 arg4) {
((func885007CC)Memmap_GetFragmentVaddr(func_885007CC))(arg0, sizeof(unk_func_882170A8));

View File

@@ -0,0 +1,881 @@
#ifndef _FRAGMENT24_H_
#define _FRAGMENT24_H_
#include "global.h"
#include "src/fragments/25/fragment25.h"
#include "src/fragments/26/fragment26.h"
#include "src/fragments/29/fragment29.h"
#include "src/2E460.h"
typedef struct unk_func_8830867C_02C_04C_018 {
/* 0x00 */ char unk00[0x8];
/* 0x08 */ unk_func_88001300_000* unk_08;
/* 0x0C */ unk_func_88001300_000* unk_0C;
/* 0x10 */ unk_func_88001300_000* unk_10;
/* 0x14 */ unk_func_88001300_000* unk_14;
/* 0x18 */ unk_func_88001300_000* unk_18;
/* 0x1C */ unk_func_88001300_000* unk_1C;
} unk_func_8830867C_02C_04C_018; // size >= 0x20
typedef struct unk_func_8830867C_02C_04C {
/* 0x00 */ char unk00[0xC];
/* 0x00 */ unk_func_88001300_03C_00C* unk_0C;
/* 0x10 */ unk_func_88001300_03C_010 unk_10;
/* 0x14 */ unk_func_88001300_03C_014 unk_14;
/* 0x18 */ unk_func_8830867C_02C_04C_018* unk_18;
/* 0x1C */ unk_func_88001300_03C_01C* unk_1C;
/* 0x20 */ s32 unk_20;
/* 0x24 */ s32 unk_24;
/* 0x28 */ s32 unk_28;
/* 0x2C */ s32 unk_2C;
/* 0x30 */ char unk30[0x8];
/* 0x38 */ s16 unk_38;
/* 0x3A */ s16 unk_3A;
/* 0x3C */ s16 unk_3C;
/* 0x3E */ s16 unk_3E;
} unk_func_8830867C_02C_04C; // size = 0x40
typedef struct unk_func_8830867C_02C_050 {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ struct unk_func_8830867C_02C* unk_2C;
} unk_func_8830867C_02C_050; // size = 0x30
typedef struct unk_func_8830867C_02C_0B4_030 {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ char unk2C[0xC];
/* 0x38 */ s32 unk_38;
/* 0x3C */ char unk3C[0x18];
} unk_func_8830867C_02C_0B4_030; // size = 0x54
typedef struct unk_func_8830867C_02C_0B4 {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ unk_func_88001300_038* unk_2C;
/* 0x30 */ unk_func_8830867C_02C_0B4_030* unk_30;
/* 0x34 */ unk_func_88200FA0_030_038 unk_34;
} unk_func_8830867C_02C_0B4; // size = 0x40
typedef struct unk_func_8830867C_02C_0C0 {
/* 0x00 */ unk_func_882173EC unk_00;
/* 0x38 */ s32 unk_38;
} unk_func_8830867C_02C_0C0; // size = 0x3C
typedef struct unk_func_8830867C_034_03C_038_02C_000 {
/* 0x00 */ char unk00[0x8];
/* 0x08 */ s32 unk_08;
/* 0x0C */ char unk0C[0x10];
} unk_func_8830867C_034_03C_038_02C_000; // size = 0x1C
typedef struct unk_func_8830867C_034_03C_038_02C {
/* 0x00 */ unk_func_8830867C_034_03C_038_02C_000* unk_00;
/* 0x04 */ char unk04[0x4];
/* 0x08 */ s32 unk_08;
} unk_func_8830867C_034_03C_038_02C; // size >= 0xC
// Seems to be >= 0x58 in other places?
typedef struct unk_func_8830867C_02C_144_000 {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ char unk08[0x4];
/* 0x0C */ unk_func_8830867C_02C_0CC_000_000* unk_0C;
/* 0x10 */ char unk10[0x4];
/* 0x14 */ s32 unk_14;
/* 0x18 */ char unk18[0x8];
} unk_func_8830867C_02C_144_000; // size = 0x20
typedef struct unk_func_8830867C_02C_144_000_alt {
/* 0x00 */ char unk00[0x2C];
/* 0x2C */ unk_func_8830867C_034_03C_038_02C unk_2C;
/* 0x38 */ char unk_38[0x14];
/* 0x4C */ unk_func_8830867C_034_03C_038_02C unk_4C;
} unk_func_8830867C_02C_144_000_alt; // size >= 0x58
typedef struct unk_func_8830867C_02C_144 {
/* 0x00 */ unk_func_8830867C_02C_144_000* unk_00;
/* 0x04 */ char unk04[0x4];
/* 0x08 */ s32 unk_08;
} unk_func_8830867C_02C_144; // size >= 0xC
typedef struct unk_func_8830867C_02C_154 {
/* 0x00 */ u8 unk_00;
/* 0x01 */ u8 unk_01;
/* 0x02 */ u8 unk_02;
/* 0x04 */ s32 unk_04;
/* 0x08 */ s32 unk_08;
/* 0x0C */ u8* unk_0C;
/* 0x10 */ s32 unk_10;
/* 0x14 */ s32 unk_14;
/* 0x18 */ char unk18[0x4];
} unk_func_8830867C_02C_154; // size = 0x1C
typedef struct unk_func_8830867C_02C_1A8 {
/* 0x00 */ u8* unk_00;
/* 0x04 */ unk_func_8830867C_02C_154* unk_04;
/* 0x08 */ s32 unk_08;
/* 0x0C */ s32 unk_0C;
} unk_func_8830867C_02C_1A8; // size = 0x10
typedef struct unk_func_8830867C_030_03C_034 {
/* 0x00 */ u16 unk_00;
/* 0x02 */ u16 unk_02;
/* 0x04 */ char unk04[0x2];
/* 0x06 */ u16 unk_06;
/* 0x08 */ char unk08[0x2];
/* 0x0A */ u16 unk_0A;
} unk_func_8830867C_030_03C_034; // size >= 0xC
typedef struct unk_func_8830867C_030 {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ unk_func_88001300_038* unk_2C;
/* 0x30 */ unk_func_88001300_000_010 unk_30;
/* 0x34 */ unk_func_88001300_000_010 unk_34;
/* 0x38 */ unk_func_885012A4* unk_38;
/* 0x3C */ unk_func_88200FA0_030_030_1CEA00* unk_3C;
/* 0x40 */ unk_func_8830867C_02C_0CC unk_40;
/* 0x4C */ s32 unk_4C;
/* 0x50 */ s32 unk_50;
} unk_func_8830867C_030; // size = 0x54
typedef struct unk_func_8830867C_034_034 {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ char unk2C[0x4];
/* 0x30 */ s32 unk_30;
} unk_func_8830867C_034_034; // size = 0x34
typedef struct unk_func_8830867C_034_03C_038 {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ unk_func_8830867C_034_03C_038_02C* unk_2C;
/* 0x30 */ char unk30[0x4];
/* 0x34 */ u16* unk_34;
/* 0x38 */ s32 unk_38;
/* 0x3C */ char unk3C[0x8];
/* 0x44 */ unk_func_88001300_000* unk_44;
/* 0x48 */ char unk48[0xC];
} unk_func_8830867C_034_03C_038; // size = 0x54
typedef struct unk_func_8830867C_034_03C {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ unk_func_88001300_038* unk_2C;
/* 0x30 */ unk_func_88500994* unk_30;
/* 0x34 */ unk_func_88500994* unk_34;
/* 0x38 */ unk_func_8830867C_034_03C_038* unk_38[2];
/* 0x40 */ char unk40[0x4];
} unk_func_8830867C_034_03C; // size = 0x44
typedef struct unk_func_8830867C_034 {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ unk_func_88001300_038* unk_2C;
/* 0x30 */ unk_func_88200FA0_030_030_1CEA00* unk_30;
/* 0x34 */ unk_func_8830867C_034_034* unk_34;
/* 0x38 */ unk_func_8830867C_034_038* unk_38;
/* 0x3C */ unk_func_8830867C_034_03C* unk_3C;
/* 0x40 */ unk_func_8850878C* unk_40;
} unk_func_8830867C_034; // size = 0x44
typedef struct unk_func_8830867C_038_034 {
/* 0x00 */ char** unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ s32 unk_08;
} unk_func_8830867C_038_034; // size = 0xC
typedef struct unk_func_8830867C_038 {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ unk_func_88001300_038* unk_2C;
/* 0x30 */ unk_func_88200FA0_030_030_1CEA00* unk_30;
/* 0x34 */ unk_func_8830867C_038_034 unk_34;
/* 0x40 */ unk_func_88001300_038* unk_40;
} unk_func_8830867C_038; // size = 0x44
typedef struct unk_func_8830867C_03C_030 {
/* 0x00 */ unk_func_8850878C* unk_00;
/* 0x00 */ s32 unk_04;
} unk_func_8830867C_03C_030; // size = 0x8
typedef struct unk_func_8830867C_03C {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ unk_func_88001300_038* unk_2C;
/* 0x30 */ unk_func_8830867C_03C_030 unk_30[2];
/* 0x40 */ unk_func_8850878C* unk_40;
/* 0x44 */ unk_func_8850878C* unk_44;
/* 0x48 */ unk_func_88001300_000* unk_48;
/* 0x4C */ unk_func_8830867C_03C_04C* unk_4C;
/* 0x50 */ unk_func_88001300_03C* unk_50;
/* 0x54 */ unk_func_8821421C_038_034* unk_54;
/* 0x58 */ unk_func_8830867C_03C_058 unk_58[15];
/* 0xD0 */ unk_func_8830867C_03C_0D0 unk_D0;
/* 0xE0 */ u16 unk_E0;
} unk_func_8830867C_03C; // size = 0xE4
typedef struct unk_func_8830867C_040_030 {
/* 0x00 */ unk_func_8850878C* unk_00;
/* 0x04 */ u8* unk_04;
} unk_func_8830867C_040_030; // size = 0x8
typedef struct unk_func_8830867C_040 {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ unk_func_88001300_038* unk_2C;
/* 0x30 */ unk_func_8830867C_040_030 unk_30[4];
/* 0x50 */ unk_func_8850878C* unk_50;
/* 0x54 */ unk_func_8850878C* unk_54;
/* 0x58 */ unk_func_88001300_000* unk_58;
/* 0x5C */ unk_func_8830867C_040_05C* unk_5C;
/* 0x60 */ unk_func_88001300_03C* unk_60;
/* 0x64 */ unk_func_8821421C_038_034* unk_64;
/* 0x68 */ unk_func_88205880_A030 unk_68;
/* 0x74 */ u16 unk_74;
} unk_func_8830867C_040; // size = 0x78
typedef struct unk_func_8830867C_044_038 {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ char unk2C[0x4];
/* 0x30 */ unk_func_8830867C_044_038_030 unk_30;
/* 0x44 */ unk_func_8820E99C_030_044* unk_44;
} unk_func_8830867C_044_038; // size = 0x48
typedef struct unk_func_8830867C_044 {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ unk_func_88001300_038* unk_2C;
/* 0x30 */ unk_func_8850878C* unk_30;
/* 0x34 */ unk_func_88001300_000* unk_34;
/* 0x38 */ unk_func_8830867C_044_038* unk_38;
/* 0x3C */ unk_func_8830867C_044_038* unk_3C;
/* 0x40 */ unk_func_8830867C_044_040* unk_40;
/* 0x44 */ unk_func_88001300_03C* unk_44;
} unk_func_8830867C_044; // size = 0x48
typedef struct unk_func_8830867C_048_04C {
/* 0x00 */ char unk00[0x1C];
/* 0x1C */ s32 unk_1C;
/* 0x20 */ char unk20[0x4];
} unk_func_8830867C_048_04C; // size = 0x24
typedef struct unk_func_8830867C_048 {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ unk_func_88001300_038* unk_2C;
/* 0x30 */ unk_func_88001300_038* unk_30;
/* 0x34 */ unk_func_88200FA0_030_030_1CEA00* unk_34;
/* 0x38 */ unk_func_88200FA0_030_030_1CEA00* unk_38[2];
/* 0x40 */ unk_func_88500994* unk_40;
/* 0x44 */ unk_func_88500994* unk_44;
/* 0x48 */ unk_func_8830867C_048_048* unk_48;
/* 0x4C */ unk_func_8830867C_048_04C* unk_4C;
/* 0x50 */ char unk_50[0x80];
} unk_func_8830867C_048; // size = 0xD0
typedef struct unk_func_8830867C_04C_030_02C_000_000 {
/* 0x00 */ u8 unk_00;
/* 0x01 */ u8 unk_01;
/* 0x02 */ char unk02[0x6];
/* 0x08 */ s32 unk_08;
/* 0x0C */ unk_func_8830867C_04C_030_02C_000_000_00C unk_0C;
} unk_func_8830867C_04C_030_02C_000_000; // size >= 0x18
typedef struct unk_func_8830867C_04C_030_02C_000 {
/* 0x00 */ unk_func_8830867C_04C_030_02C_000_000* unk_00[1];
} unk_func_8830867C_04C_030_02C_000; // size >= 0x8
typedef struct unk_func_8830867C_04C_030_02C {
/* 0x00 */ unk_func_8830867C_04C_030_02C_000* unk_00;
/* 0x04 */ char unk04[0x4];
/* 0x08 */ s32 unk_08;
} unk_func_8830867C_04C_030_02C; // size >= 0xC
typedef struct unk_func_8830867C_04C_030 {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ unk_func_8830867C_04C_030_02C* unk_2C;
/* 0x30 */ char unk30[0x4];
/* 0x34 */ u16* unk_34;
/* 0x38 */ s32 unk_38;
/* 0x3C */ char unk3C[0x2];
/* 0x3E */ s16 unk_3E;
/* 0x40 */ char unk40[0x18];
/* 0x58 */ s32 unk_58;
/* 0x5C */ char unk5C[0x14];
} unk_func_8830867C_04C_030; // size = 0x70
typedef void (*unk_func_8830867C_04C_078_030_040)();
typedef struct unk_func_8830867C_04C_078_030 {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ void* unk_2C;
/* 0x30 */ s32 unk_30;
/* 0x34 */ u16* unk_34;
/* 0x38 */ s32 unk_38;
/* 0x3C */ s16 unk_3C;
/* 0x3E */ s16 unk_3E;
/* 0x40 */ unk_func_8830867C_04C_078_030_040 unk_40;
/* 0x44 */ unk_func_88001300_03C_01C* unk_44;
/* 0x48 */ s16 unk_48;
/* 0x4A */ s16 unk_4A;
/* 0x4C */ s16 unk_4C;
/* 0x4E */ s16 unk_4E;
/* 0x50 */ s16 unk_50;
/* 0x52 */ s16 unk_52;
} unk_func_8830867C_04C_078_030; // size = 0x54
typedef struct unk_func_8830867C_04C_078_044 {
/* 0x00 */ unk_func_88201DA0_034* unk_00;
/* 0x04 */ s32 unk_04;
} unk_func_8830867C_04C_078_044; // size = 0x8
typedef struct unk_func_8830867C_04C_078 {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ unk_func_88001300_038* unk_2C;
/* 0x30 */ unk_func_8830867C_04C_078_030* unk_30;
/* 0x34 */ unk_func_88201DA0_038 unk_34;
/* 0x44 */ unk_func_8830867C_04C_078_044 unk_44[1];
/* 0x4C */ char unk4C[0x18];
} unk_func_8830867C_04C_078; // size = 0x64
typedef struct unk_func_8830867C_04C_02C {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ s32 unk_2C;
/* 0x30 */ s32 unk_30;
} unk_func_8830867C_04C_02C; // size = 0x34
typedef struct unk_func_8830867C_04C {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ unk_func_8830867C_04C_02C* unk_2C;
/* 0x30 */ unk_func_8830867C_04C_030* unk_30;
/* 0x34 */ unk_func_88500994* unk_34;
/* 0x38 */ char unk_38[4];
/* 0x3C */ char unk3C[0x3C];
/* 0x78 */ unk_func_8830867C_04C_078* unk_78;
/* 0x7C */ unk_func_8830867C_030* unk_7C;
/* 0x80 */ unk_func_8830867C_04C_080* unk_80;
/* 0x84 */ s32 unk_84;
/* 0x88 */ unk_func_80026268_arg0* unk_88; // maybe unk_func_8830867C_02C_0CC_000_008
/* 0x8C */ s32 unk_8C;
/* 0x90 */ unk_func_88503298* unk_90;
} unk_func_8830867C_04C; // size = 0x94
typedef struct unk_func_8830867C_02C_C54_014 {
/* 0x00 */ s32 unk_00;
/* 0x04 */ u8 unk_04[2];
} unk_func_8830867C_02C_C54_014; // size >= 0x8
typedef struct unk_func_8830867C_02C_C54_01C {
/* 0x00 */ s32 unk_00;
/* 0x04 */ u8 unk_04[2];
} unk_func_8830867C_02C_C54_01C; // size >= 0x8
typedef struct unk_func_8830867C_02C_C54_024 {
/* 0x00 */ u8 unk_00[4];
/* 0x04 */ s32 unk_04;
} unk_func_8830867C_02C_C54_024; // size >= 0x8
typedef struct unk_func_8830867C_02C_C54 {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ u8 unk_08;
/* 0x09 */ u8 unk_09;
/* 0x0C */ s32 unk_0C;
/* 0x10 */ s32 unk_10;
/* 0x14 */ unk_func_8830867C_02C_C54_014 unk_14;
/* 0x1C */ unk_func_8830867C_02C_C54_01C unk_1C;
/* 0x24 */ unk_func_8830867C_02C_C54_024 unk_24;
/* 0x2C */ u8 unk_2C;
} unk_func_8830867C_02C_C54; // size = 0x30
typedef struct unk_func_8830867C_054 {
/* 0x00 */ s16 unk_00;
/* 0x02 */ s16 unk_02;
/* 0x04 */ MemoryPool* unk_04;
/* 0x08 */ unk_func_88001300_000* unk_08;
/* 0x0C */ s32 unk_0C;
/* 0x10 */ s32 unk_10;
} unk_func_8830867C_054; // size >= 0x14
typedef struct unk_func_8830867C_02C_0E4 {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ s32 unk_08;
/* 0x0C */ unk_func_8820BE14_06C unk_0C;
/* 0x1C */ s32 unk_1C;
} unk_func_8830867C_02C_0E4; // size = 0x20
typedef struct unk_func_8830867C_02C_0DC {
/* 0x00 */ s32* unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ s32 unk_08;
/* 0x0C */ char unk0C[0xC];
/* 0x18 */ s32 unk_18;
/* 0x1C */ char unk1C[0xC];
/* 0x28 */ s32 unk_28;
} unk_func_8830867C_02C_0DC; // size >= 0x2C
typedef struct unk_func_8830867C_02C {
/* 0x000 */ unk_func_88001300_000 unk_000;
/* 0x02C */ unk_func_88001300_038* unk_02C;
/* 0x030 */ unk_func_8850B254* unk_030;
/* 0x034 */ unk_func_8830867C_02C_034* unk_034;
/* 0x038 */ unk_func_88500994* unk_038;
/* 0x03C */ unk_func_88200FA0_030_038 unk_03C;
/* 0x048 */ unk_func_8830867C_02C_048* unk_048;
/* 0x04C */ unk_func_8830867C_02C_04C* unk_04C;
/* 0x050 */ unk_func_8830867C_02C_050* unk_050;
/* 0x054 */ unk_func_88001300_000* unk_054;
/* 0x058 */ unk_func_88001300_000* unk_058;
/* 0x05C */ unk_func_88001300_000* unk_05C;
/* 0x060 */ unk_func_88001300_000* unk_060;
/* 0x064 */ unk_func_88001300_000* unk_064;
/* 0x068 */ unk_func_88001300_000* unk_068;
/* 0x06C */ unk_func_88001300_000* unk_06C;
/* 0x070 */ unk_func_88001300_000* unk_070;
/* 0x074 */ unk_func_88001300_000* unk_074;
/* 0x078 */ unk_func_88001300_000* unk_078;
/* 0x07C */ unk_func_88001300_000* unk_07C;
/* 0x080 */ unk_func_88001300_000* unk_080;
/* 0x084 */ unk_func_88001300_000* unk_084;
/* 0x088 */ unk_func_88001300_000* unk_088;
/* 0x08C */ unk_func_8830867C_030* unk_08C;
/* 0x090 */ unk_func_88509F48* unk_090;
/* 0x094 */ unk_func_8830867C_034* unk_094;
/* 0x098 */ unk_func_8830867C_038* unk_098;
/* 0x09C */ unk_func_8830867C_03C* unk_09C;
/* 0x0A0 */ unk_func_8830867C_040* unk_0A0;
/* 0x0A4 */ unk_func_8830867C_044* unk_0A4;
/* 0x0A8 */ unk_func_8830867C_048* unk_0A8;
/* 0x0AC */ unk_func_8830867C_04C* unk_0AC;
/* 0x0B0 */ unk_func_889000C4* unk_0B0;
/* 0x0B4 */ unk_func_8830867C_02C_0B4* unk_0B4;
/* 0x0B8 */ unk_func_8850CD44* unk_0B8;
/* 0x0BC */ unk_func_882173EC* unk_0BC;
/* 0x0C0 */ unk_func_8830867C_02C_0C0* unk_0C0;
/* 0x0C4 */ unk_func_882173EC* unk_0C4;
/* 0x0C8 */ unk_func_882173EC* unk_0C8;
/* 0x0CC */ unk_func_88200FA0_030_038 unk_0CC;
/* 0x0D8 */ s32 unk_0D8;
/* 0x0DC */ unk_func_8830867C_02C_0DC* unk_0DC;
/* 0x0E0 */ s32 unk_0E0;
/* 0x0E4 */ unk_func_8830867C_02C_0E4 unk_0E4[3];
/* 0x144 */ unk_func_8830867C_02C_144 unk_144;
/* 0x150 */ char unk150[0x4];
/* 0x154 */ unk_func_8830867C_02C_154 unk_154[3];
/* 0x1A8 */ unk_func_8830867C_02C_1A8 unk_1A8[3];
/* 0x1D8 */ char unk1D8[0xA70];
/* 0xC48 */ unk_func_88200FA0_030_038 unk_C48;
/* 0xC54 */ unk_func_8830867C_02C_C54 unk_C54;
/* 0xC84 */ unk_func_8830867C_02C_C54 unk_C84;
/* 0xCB4 */ s32 unk_CB4;
/* 0xCB8 */ s32 unk_CB8;
/* 0xCBC */ s32 unk_CBC;
/* 0xCC0 */ s32 unk_CC0;
/* 0xCC4 */ s32 unk_CC4;
/* 0xCC8 */ s32 unk_CC8;
/* 0xCCC */ unk_func_8850878C* unk_CCC;
/* 0xCD0 */ s32 unk_CD0;
/* 0xCD4 */ s32* unk_CD4;
/* 0xCD8 */ FragmentEntry unk_CD8;
/* 0xCDC */ unk_func_8830867C_054* unk_CDC;
} unk_func_8830867C_02C; // size = 0xCE0
typedef struct unk_func_8830867C {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ unk_func_8830867C_02C* unk_2C;
/* 0x30 */ unk_func_8830867C_030* unk_30;
/* 0x34 */ unk_func_8830867C_034* unk_34;
/* 0x38 */ unk_func_8830867C_038* unk_38;
/* 0x3C */ unk_func_8830867C_03C* unk_3C;
/* 0x40 */ unk_func_8830867C_040* unk_40;
/* 0x44 */ unk_func_8830867C_044* unk_44;
/* 0x48 */ unk_func_8830867C_048* unk_48;
/* 0x4C */ unk_func_8830867C_04C* unk_4C;
/* 0x50 */ unk_func_889000C4* unk_50;
/* 0x54 */ unk_func_8830867C_054 unk_54;
/* 0x68 */ unk_func_88001300_000* unk_68;
/* 0x6C */ s32 unk_6C;
/* 0x70 */ char** unk_70;
/* 0x74 */ char** unk_74;
/* 0x78 */ char** unk_78;
/* 0x7C */ char** unk_7C;
/* 0x80 */ char** unk_80;
/* 0x84 */ char** unk_84;
/* 0x88 */ char** unk_88;
} unk_func_8830867C; // size = 0x8C
typedef struct unk_func_88302D98 {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ unk_func_8830867C_02C* unk_2C;
} unk_func_88302D98; // size = 0x30
typedef struct unk_func_88304850_arg2 {
/* 0x00 */ s32* unk_00;
/* 0x04 */ char unk04[4];
/* 0x08 */ u8 unk_08;
/* 0x09 */ char unk09[0xD];
/* 0x16 */ s16 unk_16;
/* 0x18 */ char unk18[0x14];
/* 0x2C */ u8 unk_2C;
/* 0x2E */ s16 unk_2E;
/* 0x30 */ s16 unk_30;
/* 0x32 */ s16 unk_32;
/* 0x34 */ s16 unk_34;
/* 0x36 */ s16 unk_36;
/* 0x38 */ char unk_38[4];
/* 0x3C */ char unk3C[0x4];
/* 0x40 */ char unk_40[3];
/* 0x43 */ char unk_43[1];
} unk_func_88304850_arg2; // size >= 0x44
typedef struct unk_func_88309C38_arg2_004 {
/* 0x00 */ s32 unk_00;
/* 0x04 */ Color_RGBA8 unk_04;
} unk_func_88309C38_arg2_004; // size >= 0x8
typedef struct unk_func_88309C38_arg2_00C {
/* 0x00 */ char unk00[0x14];
/* 0x14 */ s32 unk_14;
/* 0x18 */ s32 unk_18;
} unk_func_88309C38_arg2_00C; // size >= 0x1C
typedef struct unk_func_88309C38_arg2 {
/* 0x00 */ u8 unk_00;
/* 0x01 */ u8 unk_01;
/* 0x04 */ unk_func_88309C38_arg2_004* unk_04;
/* 0x08 */ char unk08[0x4];
/* 0x0C */ unk_func_88309C38_arg2_00C* unk_0C;
/* 0x10 */ char unk10[0x4];
/* 0x14 */ s32 unk_14;
/* 0x18 */ s32 unk_18;
} unk_func_88309C38_arg2; // size >= 0x1C
typedef struct unk_func_88309160_arg2 {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ char unk08[0x4];
/* 0x0C */ unk_func_88309C38_arg2_00C* unk_0C;
/* 0x10 */ char unk10[0x4];
/* 0x14 */ s32 unk_14;
/* 0x18 */ s32 unk_18;
} unk_func_88309160_arg2; // size >= 0x1C
typedef struct unk_func_88310CA4_arg2 {
/* 0x00 */ u8* unk_00;
/* 0x04 */ u8* unk_04;
/* 0x08 */ char unk08[0x4];
/* 0x0C */ unk_func_88309C38_arg2_00C* unk_0C;
/* 0x10 */ char unk10[0x4];
/* 0x14 */ s32 unk_14;
/* 0x18 */ s32 unk_18;
} unk_func_88310CA4_arg2; // size >= 0x1C
typedef struct unk_func_88310B70 {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ unk_func_8830867C_04C_030* unk_2C;
/* 0x30 */ unk_func_8850878C* unk_30;
} unk_func_88310B70; // size = 0x34
typedef struct unk_func_88313894_020 {
/* 0x00 */ char unk00[0xC];
/* 0x0C */ unk_func_8830867C_02C_0CC_000_000* unk_0C;
/* 0x10 */ char unk10[0x4];
/* 0x14 */ s32 unk_14;
/* 0x18 */ char unk18[0x4];
/* 0x1C */ s32 unk_1C;
} unk_func_88313894_020; // size = 0x20
typedef struct unk_func_88316128 {
/* 0x00 */ char unk00[0x8];
/* 0x08 */ u8 unk_08;
/* 0x09 */ char unk09[0xD];
/* 0x16 */ u16 unk_16;
/* 0x18 */ char unk18[0x14];
/* 0x2C */ u8 unk_2C;
/* 0x2E */ u16 unk_2E;
/* 0x30 */ u16 unk_30;
/* 0x32 */ u16 unk_32;
/* 0x34 */ u16 unk_34;
/* 0x36 */ u16 unk_36;
/* 0x38 */ u8 unk_38;
/* 0x39 */ char unk39[0xA];
/* 0x43 */ u8 unk_43;
} unk_func_88316128; // size >= 0x44
extern char** D_8831A4C0;
extern char** D_8831A4C4;
extern char** D_8831A4C8;
extern char** D_8831A4CC;
extern char** D_8831A4D0;
extern char** D_8831A4D4;
extern char** D_8831A4D8;
extern Color_RGBA8 D_8831727C;
extern Color_RGBA8 D_88317280;
extern Color_RGBA8 D_88317284;
extern u32 D_883176D8[];
extern u32 D_88317920[];
extern u32 D_88317F28[];
extern u32 D_88318530[];
extern u32 D_883186E8[];
extern u32 D_88318898[];
extern u32 D_883198A0[];
extern unk_D_8831A1F8 D_8831A1F8[];
void func_88300020(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
s32 func_88300090(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
void func_883003E4(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
s32 func_88300454(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
void func_88300640(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
s32 func_883006B0(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
void func_8830089C(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
s32 func_8830090C(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
void func_88300AF8(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
s32 func_88300B68(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
void func_88300D54(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
s32 func_88300DC4(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
void func_88300FB0(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
s32 func_88301020(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
void func_8830133C(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
s32 func_883013AC(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
void func_883018D8(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
s32 func_88301948(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
void func_88301B34(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
s32 func_88301BA4(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
void func_88301D90(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
s32 func_88301E00(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
void func_88301FB8(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
s32 func_88302028(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
void func_88302214(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
s32 func_88302284(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
void func_88302470(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
s32 func_883024E0(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
s32 func_88302748(unk_func_8830867C_02C_050* arg0, s32 arg1, s32 arg2);
void func_8830290C(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
s32 func_88302968(unk_func_88001300_000* arg0, s32 arg1, s32 arg2);
void func_88302BB4(unk_func_8830867C_02C* arg0, MemoryPool* arg1);
void func_88302C18(unk_func_8830867C_02C* arg0);
void func_88302C7C(unk_func_8830867C_02C* arg0, MemoryPool* arg1);
void func_88302D98(unk_func_88302D98* arg0, s32 arg1, s32 arg2, unk_func_8830867C_02C* arg3);
s32 func_88302E04(unk_func_88302D98* arg0, s32 arg1, s32 arg2);
void func_88303520(unk_func_8830867C_02C* arg0);
void func_88304350(s32 arg0, s32 arg1, s32 arg2, u8* arg3, s32 arg4);
void func_88304490(s32 arg0, s32 arg1, s32 arg2, u8* arg3, s32 arg4);
void func_883045C0(s32 arg0, s32 arg1, s32 arg2, unk_func_88304850_arg2* arg3);
void func_88304608(s32 arg0, s32 arg1, s8* arg2, s32 arg3);
void func_88304680(s32 arg0, s32 arg1, char* arg2, s32 arg3);
void func_88304718(s32 arg0, s32 arg1, char* arg2, s32 arg3, u8* arg4);
s32 func_883047CC(unk_func_8830867C_02C* arg0, unk_func_88304850_arg2* arg1);
void func_88304850(s32 arg0, s32 arg1, unk_func_88304850_arg2* arg2, s32 arg3, s32 arg4,
unk_func_8830867C_02C_034* arg5);
void func_883050CC(unk_func_8830867C_02C* arg0);
void func_88305168(unk_func_8830867C_02C* arg0);
void func_883051B0(unk_func_8830867C_02C* arg0);
void func_883051F8(unk_func_8830867C_02C* arg0);
s32 func_88305220(unk_func_8830867C_02C* arg0, s32 arg1);
void func_88305230(unk_func_8830867C_02C* arg0, s32 arg1);
void func_88305240(unk_func_8830867C_02C* arg0, s32 arg1);
s32 func_88305254(unk_func_8830867C_02C* arg0, s32 arg1);
void func_88305268(unk_func_8830867C_02C* arg0, s32 arg1);
void func_88305270(unk_func_8830867C_02C* arg0);
s32 func_88305458(unk_func_8830867C_02C* arg0);
s32 func_883054DC(unk_func_8830867C_02C_0CC* arg0, unk_func_8830867C_02C_0CC_000* arg1);
void func_88305520(unk_func_8830867C_02C* arg0, unk_func_8830867C_02C_0CC_000* arg1, Controller* arg2);
void func_883057F4(unk_func_8830867C_02C_0CC_000_000* arg0);
void func_88305830(unk_func_8830867C_02C* arg0, unk_func_8830867C_02C_0CC_000* arg1, s32 arg2, s32 arg3);
void func_88305C7C(unk_func_8830867C_02C_0CC_000_008* arg0, s32 arg1);
void func_88305CDC(unk_func_8830867C_02C_0CC_000* arg0, unk_func_8830867C_04C_030_02C_000* arg1, s32 arg2);
void func_88305D7C(unk_func_8830867C_02C* arg0, s32 arg1);
s32 func_88305DA8(unk_func_8830867C_02C* arg0, Controller* arg1);
void func_88305DF4(unk_func_8830867C_02C* arg0, Controller* arg1);
void func_88305F28(unk_func_8830867C_02C* arg0);
s32 func_88306544(unk_func_8830867C_02C* arg0, Controller* arg1);
s32 func_8830681C(unk_func_8830867C_02C* arg0, Controller* arg1);
s32 func_88306C70(unk_func_8830867C_02C* arg0, unk_func_88001300_000* arg1, s32 arg2, Controller* arg3);
u32 func_88306F90(unk_func_8830867C_02C* arg0);
void func_88306FE4(void);
void func_88306FEC(unk_func_8830867C_02C_048* arg0, unk_func_8830867C_02C* arg1);
void func_88307038(unk_func_8830867C_02C* arg0, s32 arg1);
void func_88307110(unk_func_8830867C_02C* arg0);
s32 func_88307250(unk_func_8830867C_02C* arg0);
s32 func_88307264(unk_func_8830867C_02C* arg0, Controller* arg1, s32 arg2);
void func_883073E8(unk_func_8830867C_02C* arg0, s32 arg1);
void func_88307478(unk_func_8830867C_02C_048* arg0);
void func_883074D4(unk_func_8830867C_02C_048* arg0, Controller* arg1);
s32 func_8830757C(unk_func_8830867C_02C_048* arg0, Controller* arg1);
s32 func_88307628(unk_func_8830867C_02C_048* arg0, Controller* arg1);
s32 func_8830772C(unk_func_8830867C_02C_048* arg0, Controller* arg1, s32 arg2);
s32 func_88307C2C(unk_func_8830867C_02C_048* arg0, Controller* arg1, s32 arg2);
s32 func_8830858C(unk_func_8830867C_02C_048* arg0, Controller* arg1);
void func_88308D60(unk_func_8830867C* arg0);
void func_88308DFC(unk_func_8830867C* arg0);
s32 func_88308E84(UNUSED s32 arg0, UNUSED s32 arg1);
void func_883092C8(unk_func_8830867C_04C_078* arg0, s32 arg1, s32 arg2, MemoryPool* arg3);
void func_883094CC(unk_func_8830867C_04C_078* arg0, unk_func_80026268_arg0* arg1);
void func_88309614(unk_func_8830867C_04C_078* arg0);
void func_883096BC(unk_func_8830867C_04C_078* arg0);
s32 func_88309728(unk_func_8830867C_04C_078* arg0, Controller* arg1);
void func_88309774(unk_func_8830867C_04C_078* arg0);
void func_883097D4(unk_func_8830867C_04C_078* arg0);
void func_883097E4(void);
s32 func_883097EC(unk_func_8830867C_034_03C_038_02C_000* arg0);
void func_88309808(void);
void func_88309810(unk_func_8830867C_034_03C* arg0);
void func_883098D0(unk_func_8830867C_034_03C* arg0, s32 arg1);
void func_88309960(unk_func_8830867C_034_03C* arg0);
void func_883099D8(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
s32 func_88309DC8(void);
void func_88309E28(unk_func_8830867C_034_03C* arg0, s32 arg1, s32 arg2, s32 arg3, MemoryPool* arg4);
s32 func_8830A474(unk_func_8830867C_034_03C* arg0, Controller* arg1);
void func_8830A520(unk_func_8830867C_034_03C* arg0, s32 arg1);
void func_8830A578(unk_func_8830867C_034_034* arg0, s32 arg1, s32 arg2, s32 arg3);
s32 func_8830A5E4(unk_func_8830867C_034_034* arg0, s32 arg1, s32 arg2);
s32 func_8830A840(unk_func_8830867C_02C_144_000* arg0);
void func_8830A88C(unk_func_8830867C_034* arg0, unk_func_8830867C_034_03C* arg1);
void func_8830A928(unk_func_8830867C_034* arg0);
void func_8830A9D8(unk_func_8830867C_034* arg0);
void func_8830AAA4(unk_func_8830867C_034* arg0, s32 arg1);
s32 func_8830AC0C(void);
void func_8830ACA0(unk_func_8830867C_034* arg0, s32 arg1, s32 arg2, unk_func_88001300_000* arg3, MemoryPool* arg4);
void func_8830B2EC(unk_func_8830867C_034* arg0, unk_func_8830867C_02C_144* arg1);
void func_8830B354(unk_func_8830867C_034* arg0, s32 arg1);
s32 func_8830B380(unk_func_8830867C_034* arg0, Controller* arg1);
void func_8830B404(unk_func_8830867C_034_038* arg0, unk_func_8830867C_034* arg1);
s32 func_8830B450(unk_func_8830867C_034_038* arg0, Controller* arg1);
void func_8830B8A0(unk_func_8830867C_034* arg0);
void func_8830B938(unk_func_8830867C_034* arg0);
s32 func_8830B954(unk_func_8830867C_034* arg0, Controller* arg1);
void func_8830BA1C(s32 arg0, s32 arg1, char* arg2, s32 arg3, s32 arg4);
void func_8830BAC4(unk_func_8830867C_030* arg0, unk_func_88001300_000* arg1, MemoryPool* arg2);
void func_8830BCE8(unk_func_8830867C_030* arg0, char** arg1, s32 arg2);
void func_8830BE3C(unk_func_8830867C_030* arg0);
void func_8830BF30(unk_func_8830867C_030* arg0, s32 arg1);
s32 func_8830BF5C(unk_func_8830867C_030* arg0, Controller* arg1);
void func_8830BFE0(unk_func_8830867C_030* arg0, s32 arg1);
void func_8830C048(unk_func_8830867C_030* arg0);
u32 func_8830C058(unk_func_8830867C_030* arg0, Controller* arg1, s32 arg2);
void func_8830C150(s32 arg0, s32 arg1, char* arg2, s32 arg3, s32 arg4);
void func_8830C218(unk_func_8830867C_038* arg0, s32 arg1, s32 arg2, unk_func_88001300_000* arg3, MemoryPool* arg4);
void func_8830CD4C(unk_func_8830867C_038* arg0, s32 arg1);
s32 func_8830CE00(unk_func_8830867C_038* arg0, Controller* arg1);
s32 func_8830CE84(unk_func_8830867C_038* arg0, Controller* arg1);
void func_8830CF88(unk_func_8830867C_044_038* arg0);
void func_8830CFBC(unk_func_8830867C_044_038* arg0, s32 arg1, s32 arg2, MemoryPool* arg3);
void func_8830D0B4(unk_func_8830867C_044_038* arg0, s32 arg1);
s32 func_8830D11C(unk_func_8830867C_044_038* arg0, s32 arg1, s32 arg2);
s32 func_8830D268(unk_func_8830867C_044_038* arg0, Controller* arg1);
void func_8830D2F8(unk_func_8830867C_044* arg0, s32 arg1, s32 arg2, unk_func_88001300_000* arg3, MemoryPool* arg4);
void func_8830DAB8(unk_func_8830867C_044* arg0, s32 arg1, s32 arg2, s32 arg3);
void func_8830DBE0(unk_func_8830867C_044* arg0, s32 arg1);
s32 func_8830DC0C(unk_func_8830867C_044* arg0, Controller* arg1);
s32 func_8830DC58(unk_func_8830867C_044* arg0, Controller* arg1);
void func_8830DD8C(unk_func_8830867C_044_040* arg0, unk_func_8830867C_044* arg1);
s32 func_8830DDD8(unk_func_8830867C_044_040* arg0, Controller* arg1);
void func_8830E4A4(unk_func_8830867C_03C* arg0, unk_func_8850878C* arg1, char* arg2);
void func_8830E504(unk_func_8830867C_03C* arg0, s32 arg1, s32 arg2, unk_func_88001300_000* arg3, MemoryPool* arg4);
void func_8830EE58(unk_func_8830867C_03C* arg0, unk_func_8830867C_02C_C54_01C* arg1);
void func_8830F05C(unk_func_8830867C_03C* arg0, unk_func_8830867C_02C_C54_01C* arg1);
void func_8830F09C(unk_func_8830867C_03C* arg0, s32 arg1);
s32 func_8830F0C8(unk_func_8830867C_03C* arg0, Controller* arg1);
s32 func_8830F114(unk_func_8830867C_03C* arg0, Controller* arg1);
void func_8830F254(unk_func_8830867C_03C_04C* arg0, unk_func_8830867C_03C* arg1);
s32 func_8830F2A0(unk_func_8830867C_03C_04C* arg0, Controller* arg1);
void func_8830FA10(void);
void func_8830FA18(void);
void func_8830FA20(unk_func_8830867C_040* arg0, unk_func_8850878C* arg1, char* arg2);
void func_8830FA80(unk_func_8830867C_040* arg0, s32 arg1, s32 arg2, unk_func_88001300_000* arg3, MemoryPool* arg4);
void func_883103CC(unk_func_8830867C_040* arg0, unk_func_8830867C_02C_C54_024* arg1);
void func_883105D4(unk_func_8830867C_040* arg0, unk_func_8830867C_02C_C54_024* arg1);
void func_88310650(unk_func_8830867C_040* arg0, s32 arg1);
s32 func_8831067C(unk_func_8830867C_040* arg0, Controller* arg1);
s32 func_883106C8(unk_func_8830867C_040* arg0, Controller* arg1);
void func_88310808(unk_func_8830867C_040_05C* arg0, unk_func_8830867C_040* arg1);
s32 func_88310854(unk_func_8830867C_040_05C* arg0, Controller* arg1);
void func_88310B70(unk_func_88310B70* arg0, s32 arg1, s32 arg2, unk_func_8830867C_04C_030* arg3, MemoryPool* arg4);
s32 func_88310C38(unk_func_88310B70* arg0);
void func_883112B0(unk_func_8830867C_04C* arg0, s32 arg1, s32 arg2, unk_func_88001300_000* arg3, MemoryPool* arg4);
s32 func_88311C64(s32 arg0, s32 arg1);
s32 func_88311D6C(s32 arg0, unk_func_8830867C_02C_0CC_000_008* arg1);
s32 func_88311E28(unk_func_8830867C_02C_0CC_000_008* arg0);
s32 func_88311EB4(s32 arg0, unk_func_8830867C_02C_0CC_000_008* arg1);
void func_88311F70(unk_func_8830867C_04C* arg0, unk_func_88200FA0_030_038* arg1);
void func_88312018(unk_func_8830867C_04C* arg0, unk_func_80026268_arg0* arg1);
void func_88312020(unk_func_8830867C_04C* arg0);
void func_88312108(unk_func_8830867C_04C* arg0);
void func_88312188(unk_func_8830867C_04C* arg0, s32 arg1);
void func_883121F0(unk_func_8830867C_04C* arg0, s32 arg1);
s32 func_8831221C(unk_func_8830867C_04C* arg0, s32* arg1);
void func_88312298(unk_func_8830867C_04C_080* arg0, unk_func_8830867C_04C* arg1);
s32 func_883122E4(unk_func_8830867C_04C_080* arg0);
s32 func_8831239C(unk_func_8830867C_04C_080* arg0);
void func_8831247C(unk_func_8830867C_04C_080* arg0);
s32 func_883125B4(unk_func_8830867C_04C_080* arg0, Controller* arg1);
s32 func_8831286C(unk_func_8830867C_04C* arg0, Controller* arg1);
void func_883128B8(unk_func_8830867C_04C* arg0);
void func_883128FC(unk_func_8830867C_04C* arg0);
s32 func_88312998(unk_func_8830867C_04C* arg0, Controller* arg1);
void func_88312B10(s32 arg0, s32 arg1, unk_func_88309160_arg2* arg2, s32 arg3, s32 arg4, unk_func_88200FA0_030_030_1CEA00* arg5);
void func_88312C7C(s32 arg0, s32 arg1, unk_func_88309160_arg2* arg2, s32 arg3, s32 arg4, unk_func_88200FA0_030_030_1CEA00* arg5);
void func_88312D7C(unk_func_8830867C_048* arg0, s32 arg1, s32 arg2, unk_func_88001300_000* arg3, MemoryPool* arg4);
void func_88313740(unk_func_8830867C_048* arg0, unk_func_8830867C_02C_144* arg1);
void func_883137C4(unk_func_88200FA0_030_030_1CEA00* arg0, unk_func_8830867C_02C_0CC_000* arg1, unk_func_88313894_020* arg2);
void func_88313894(unk_func_8830867C_048* arg0, unk_func_8830867C_02C_0CC_000* arg1);
void func_88313950(char* arg0, s32 arg1, s32 arg2);
void func_883139E8(unk_func_8830867C_048* arg0, s32 arg1, s32 arg2);
void func_88313A34(unk_func_8830867C_048* arg0);
void func_88313A94(unk_func_8830867C_048* arg0);
void func_88313B4C(unk_func_8830867C_048* arg0);
void func_88313B64(unk_func_8830867C_048* arg0, s32 arg1);
s32 func_88313B90(unk_func_8830867C_048* arg0, Controller* arg1);
void func_88313C24(unk_func_8830867C_048_048* arg0, unk_func_8830867C_048* arg1);
s32 func_88313C70(unk_func_8830867C_048_048* arg0, Controller* arg1);
s32 func_88313E50(unk_func_8830867C_048* arg0, Controller* arg1);
void func_88313F24(s32 arg0, s32 arg1, s8* arg2, s32 arg3);
void func_88313FA0(unk_func_8830867C_02C_0B4* arg0, s32 arg1, s32 arg2, MemoryPool* arg3);
s32 func_883142F4(unk_func_8830867C_02C_0B4* arg0, Controller* arg1);
s32 func_88314340(unk_func_8830867C_02C_0B4* arg0, Controller* arg1);
void func_88314484(unk_func_882173EC* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
s32 func_88314518(unk_func_882173EC* arg0);
s32 func_88314574(unk_func_882173EC* arg0, s32 arg1, s32 arg2);
void func_88314920(unk_func_882173EC* arg0, s32 arg1, s32 arg2, unk_func_88001300_000_010 arg3);
void func_88314950(unk_func_8830867C_02C_0C0* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
s32 func_883149E4(unk_func_8830867C_02C_0C0* arg0);
s32 func_88314A38(unk_func_8830867C_02C_0C0* arg0, s32 arg1, s32 arg2);
void func_883151B8(unk_func_8830867C_02C_0C0* arg0, s32 arg1, s32 arg2, s32 arg3, unk_func_88001300_000_010 arg4);
void func_883151E8(unk_func_882173EC* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
s32 func_8831527C(unk_func_882173EC* arg0);
s32 func_883152D0(unk_func_882173EC* arg0, s32 arg1, s32 arg2);
void func_883156B8(unk_func_882173EC* arg0, char* arg1, char* arg2, unk_func_88001300_000_010 arg3);
void func_883156E8(unk_func_882173EC* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
s32 func_8831577C(unk_func_882173EC* arg0);
void func_883157D0(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6);
s32 func_88315A6C(unk_func_882173EC* arg0, s32 arg1, s32 arg2);
void func_88315C98(unk_func_882173EC* arg0, s32 arg1, s32 arg2, unk_func_88001300_000_010 arg3);
s32 func_88315CD0(unk_func_88316128*, unk_func_88316128*);
s32 func_88315D48(unk_func_88316128*, unk_func_88316128*);
s32 func_88315D8C(unk_func_88316128*, unk_func_88316128*);
s32 func_88315DD0(unk_func_88316128*, unk_func_88316128*);
s32 func_88315E14(unk_func_88316128*, unk_func_88316128*);
s32 func_88315E58(unk_func_88316128*, unk_func_88316128*);
s32 func_88315E9C(unk_func_88316128*, unk_func_88316128*);
s32 func_88315EE0(unk_func_88316128*, unk_func_88316128*);
s32 func_88315F24(unk_func_88316128*, unk_func_88316128*);
s32 func_88315F68(unk_func_88316128*, unk_func_88316128*);
s32 func_88315FAC(unk_func_88316128*, unk_func_88316128*);
s32 func_88315FF0(unk_func_88316128*, unk_func_88316128*);
s32 func_88316034(unk_func_88316128*, unk_func_88316128*);
s32 func_88316078(unk_func_88316128*, unk_func_88316128*);
s32 func_883160BC(unk_func_8830867C_02C_0CC*, unk_func_8830867C_02C_0CC*);
s32 func_883160DC(unk_func_88316128* arg0, unk_func_88316128* arg1);
s32 func_88316128(unk_func_88316128*, unk_func_88316128*);
s32 func_88316174(unk_func_8830867C_02C_0CC*, unk_func_8830867C_02C_0CC*);
s32 func_883161D0(unk_func_8830867C_02C_0CC*, unk_func_8830867C_02C_0CC*);
int func_88316214(unk_func_8830867C_02C_0CC* arg0, u8* arg1);
s32 func_88316240(unk_func_8830867C_02C_0CC* arg0, unk_func_8830867C_02C_C54_01C* arg1);
s32 func_88316304(unk_func_8830867C_02C_0CC* arg0, unk_func_8830867C_02C_C54_024* arg1);
s32 func_883163A4(unk_func_8830867C_02C_0CC* arg0, s32* arg1);
s32 func_883163B8(unk_func_8830867C_02C_0CC* arg0, unk_func_8830867C_02C_C54_014* arg1);
s32 func_88316480(unk_func_88316128* arg0, u8* arg1);
void func_883164C0(unk_func_8830867C_02C_0E4*, s32, s32, MemoryPool*);
void func_883166A0(unk_func_8830867C_02C_144*);
void func_883167CC(unk_func_88200FA0_030_038*, unk_func_8830867C_02C_144*);
s32 func_883168B4(unk_func_8830867C_02C_144*);
void func_88316A58(unk_func_8830867C_02C_144*, s32);
void func_88316BEC(unk_func_8830867C_02C_154*, MemoryPool* arg1);
void func_88316D5C(unk_func_8830867C_02C_154*);
void func_88316DB8(unk_func_8830867C_02C_154*);
void func_88316F98(unk_func_88200FA0_030_038*, unk_func_8830867C_02C_1A8*, unk_func_8830867C_02C_154*, s32, s32);
void func_88317144(unk_func_8830867C_04C_030_02C_000*);
#endif // _FRAGMENT24_H_

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -9,8 +9,8 @@ typedef struct unk_D_88400138 {
/* 0x08 */ Color_RGBA8 unk_08;
} unk_D_88400138; // size = 0xC
typedef unk_D_88400138* (*func884000C4)(u8);
typedef unk_D_88400138* (*func884000C4)(s32);
unk_D_88400138* func_884000C4(u8);
unk_D_88400138* func_884000C4(s32);
#endif // _FRAGMENT25_H_

View File

@@ -8,6 +8,7 @@
#include "src/29BA0.h"
#include "src/1AB70.h"
#include "src/2D340.h"
#include "src/fragments/25/fragment25.h"
struct unk_func_88001300;
struct unk_func_88001300_000;
@@ -51,8 +52,7 @@ typedef struct unk_func_88001300_02C {
} unk_func_88001300_02C; // size = 0x30
typedef struct unk_func_88001300_030 {
/* 0x00 */ unk_func_88001300_000_000 unk_00;
/* 0x0C */ char unk0C[0x20];
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ Color_RGBA8_u32 unk_2C;
/* 0x30 */ s32 unk_30;
/* 0x34 */ s32 unk_34;
@@ -60,14 +60,7 @@ typedef struct unk_func_88001300_030 {
} unk_func_88001300_030; // size = 0x3C
typedef struct unk_func_88001300_038 {
/* 0x00 */ u8* unk_00[1];
/* 0x04 */ char unk04[0x8];
/* 0x0C */ s32 unk_0C;
/* 0x10 */ char unk10[0x4];
/* 0x14 */ s16 unk_14;
/* 0x16 */ s16 unk_16;
/* 0x18 */ char unk18[0x10];
/* 0x28 */ u16 unk_28;
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ s32 unk_2C;
/* 0x30 */ s32 unk_30;
} unk_func_88001300_038; // size = 0x34
@@ -107,9 +100,13 @@ typedef struct unk_func_88001300_03C {
/* 0x1C */ unk_func_88001300_03C_01C* unk_1C;
/* 0x20 */ s32 unk_20;
/* 0x24 */ s32 unk_24;
/* 0x28 */ char unk28[0x4];
/* 0x28 */ s32 unk_28;
/* 0x2C */ s32 unk_2C;
/* 0x30 */ char unk30[0x10];
/* 0x30 */ char unk30[0x8];
/* 0x38 */ s16 unk_38;
/* 0x3A */ s16 unk_3A;
/* 0x3C */ s16 unk_3C;
/* 0x3E */ s16 unk_3E;
} unk_func_88001300_03C; // size = 0x40
typedef struct unk_func_88001300 {
@@ -228,6 +225,25 @@ typedef struct unk_func_88200FA0_030_030_1AE680 {
/* 0x52 */ s16 unk_52;
} unk_func_88200FA0_030_030_1AE680; // size = 0x54
// Copy of above with unk_2C changed just for fragment24_1CEA00
typedef struct unk_func_88200FA0_030_030_1CEA00 {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ unk_func_8830867C_02C_0CC* unk_2C;
/* 0x30 */ s32 unk_30;
/* 0x34 */ u16* unk_34;
/* 0x38 */ s32 unk_38;
/* 0x3C */ s16 unk_3C;
/* 0x3E */ s16 unk_3E;
/* 0x40 */ unk_func_88200FA0_030_030_040 unk_40;
/* 0x44 */ unk_func_88001300_03C_01C* unk_44;
/* 0x48 */ s16 unk_48;
/* 0x4A */ s16 unk_4A;
/* 0x4C */ s16 unk_4C;
/* 0x4E */ s16 unk_4E;
/* 0x50 */ s16 unk_50;
/* 0x52 */ s16 unk_52;
} unk_func_88200FA0_030_030_1CEA00; // size = 0x54
typedef struct unk_func_8850182C {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ Color_RGBA8 unk_2C;
@@ -235,7 +251,7 @@ typedef struct unk_func_8850182C {
typedef struct unk_func_889000C4 {
/* 0x00 */ unk_func_88001300_000 unk_00;
/* 0x2C */ void* unk_2C;
/* 0x2C */ unk_func_88001300_000* unk_2C;
/* 0x30 */ void* unk_30;
/* 0x34 */ unk_func_88200FA0_030_038 unk_34;
/* 0x40 */ void* unk_40;
@@ -354,7 +370,6 @@ typedef struct unk_func_882025E0_1A9780 {
/* 0x3C */ unk_func_882025E0_03C unk_3C[5];
} unk_func_882025E0_1A9780; // size = 0x78
typedef s32 (*unk_func_88203ED8_064_010)(struct unk_func_88203ED8_064*, Controller*);
typedef void (*unk_func_88203ED8_064_014)(struct unk_func_88203ED8_064*);
@@ -503,6 +518,124 @@ typedef struct unk_func_8820E99C_030_044 {
/* 0x30 */ s32 unk_30;
} unk_func_8820E99C_030_044; // size = 0x34
struct unk_func_8830867C_02C;
typedef struct unk_func_8830867C_02C_034 {
/* 0x00 */ unk_func_88200FA0_030_030_1CEA00 unk_00;
/* 0x54 */ s16 unk_54;
/* 0x58 */ s32 unk_58;
/* 0x5C */ s32 unk_5C;
/* 0x60 */ char unk60[0xC];
/* 0x6C */ s32 unk_6C;
/* 0x70 */ struct unk_func_8830867C_02C* unk_70;
} unk_func_8830867C_02C_034; // size = 0x74
typedef s32 (*unk_func_8830867C_02C_048_010)(struct unk_func_8830867C_02C_048*, Controller*);
typedef void (*unk_func_8830867C_02C_048_014)(struct unk_func_8830867C_02C_048*, s32);
typedef struct unk_func_8830867C_02C_048 {
/* 0x00 */ char unk00[0x4];
/* 0x04 */ struct unk_func_8830867C_02C_048* unk_04;
/* 0x08 */ struct unk_func_8830867C_02C_048* unk_08;
/* 0x0C */ char unk0C[0x4];
/* 0x10 */ unk_func_8830867C_02C_048_010 unk_10;
/* 0x14 */ unk_func_8830867C_02C_048_014 unk_14;
/* 0x18 */ char unk18[0x4];
/* 0x1C */ s32 unk_1C;
/* 0x20 */ s32 unk_20;
/* 0x24 */ struct unk_func_8830867C_02C* unk_24;
} unk_func_8830867C_02C_048; // size = 0x28
typedef struct unk_func_8830867C_034_038 {
/* 0x00 */ char unk00[0x4];
/* 0x04 */ struct unk_func_8830867C_034_038* unk_04;
/* 0x08 */ struct unk_func_8830867C_034_038* unk_08;
/* 0x0C */ char unk0C[0x4];
/* 0x10 */ unk_func_8830867C_02C_048_010 unk_10;
/* 0x14 */ unk_func_8830867C_02C_048_014 unk_14;
/* 0x18 */ char unk18[0x4];
/* 0x1C */ s32 unk_1C;
/* 0x20 */ s32 unk_20;
/* 0x24 */ struct unk_func_8830867C_034* unk_24;
} unk_func_8830867C_034_038; // size = 0x28
typedef struct unk_func_8830867C_044_040 {
/* 0x00 */ char unk00[0x4];
/* 0x04 */ struct unk_func_8830867C_034_038* unk_04;
/* 0x08 */ struct unk_func_8830867C_034_038* unk_08;
/* 0x0C */ char unk0C[0x4];
/* 0x10 */ unk_func_8830867C_02C_048_010 unk_10;
/* 0x14 */ unk_func_8830867C_02C_048_014 unk_14;
/* 0x18 */ char unk18[0x4];
/* 0x1C */ s32 unk_1C;
/* 0x20 */ s32 unk_20;
/* 0x24 */ struct unk_func_8830867C_044* unk_24;
} unk_func_8830867C_044_040; // size = 0x28
typedef struct unk_func_8830867C_03C_058 {
/* 0x00 */ s32 unk_00;
/* 0x04 */ unk_D_88400138* unk_04;
} unk_func_8830867C_03C_058; // size = 0x8
typedef struct unk_func_8830867C_03C_0D0 {
/* 0x00 */ unk_func_8830867C_03C_058** unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ s32 unk_08;
/* 0x0C */ s32 unk_0C;
} unk_func_8830867C_03C_0D0; // size = 0x10
typedef struct unk_func_8830867C_03C_04C {
/* 0x00 */ char unk00[0x4];
/* 0x04 */ struct unk_func_8830867C_03C_04C* unk_04;
/* 0x08 */ struct unk_func_8830867C_03C_04C* unk_08;
/* 0x0C */ char unk0C[0x4];
/* 0x10 */ unk_func_8830867C_02C_048_010 unk_10;
/* 0x14 */ unk_func_8830867C_02C_048_014 unk_14;
/* 0x18 */ char unk18[0x4];
/* 0x1C */ s32 unk_1C;
/* 0x20 */ s32 unk_20;
/* 0x24 */ struct unk_func_8830867C_03C* unk_24;
} unk_func_8830867C_03C_04C; // size = 0x28
typedef struct unk_func_8830867C_040_05C {
/* 0x00 */ char unk00[0x4];
/* 0x04 */ struct unk_func_8830867C_040_05C* unk_04;
/* 0x08 */ struct unk_func_8830867C_040_05C* unk_08;
/* 0x0C */ char unk0C[0x4];
/* 0x10 */ unk_func_8830867C_02C_048_010 unk_10;
/* 0x14 */ unk_func_8830867C_02C_048_014 unk_14;
/* 0x18 */ char unk18[0x4];
/* 0x1C */ s32 unk_1C;
/* 0x20 */ s32 unk_20;
/* 0x24 */ struct unk_func_8830867C_040* unk_24;
} unk_func_8830867C_040_05C; // size = 0x28
typedef struct unk_func_8830867C_04C_080 {
/* 0x00 */ char unk00[0x4];
/* 0x04 */ struct unk_func_8830867C_04C_080* unk_04;
/* 0x08 */ struct unk_func_8830867C_04C_080* unk_08;
/* 0x0C */ char unk0C[0x4];
/* 0x10 */ unk_func_8830867C_02C_048_010 unk_10;
/* 0x14 */ unk_func_8830867C_02C_048_014 unk_14;
/* 0x18 */ char unk18[0x4];
/* 0x1C */ s32 unk_1C;
/* 0x20 */ s32 unk_20;
/* 0x24 */ struct unk_func_8830867C_04C* unk_24;
} unk_func_8830867C_04C_080; // size = 0x28
typedef struct unk_func_8830867C_048_048 {
/* 0x00 */ char unk00[0x4];
/* 0x04 */ struct unk_func_8830867C_048_048* unk_04;
/* 0x08 */ struct unk_func_8830867C_048_048* unk_08;
/* 0x0C */ char unk0C[0x4];
/* 0x10 */ unk_func_8830867C_02C_048_010 unk_10;
/* 0x14 */ unk_func_8830867C_02C_048_014 unk_14;
/* 0x18 */ char unk18[0x4];
/* 0x1C */ s32 unk_1C;
/* 0x20 */ s32 unk_20;
/* 0x24 */ struct unk_func_8830867C_048* unk_24;
} unk_func_8830867C_048_048; // size = 0x28
typedef void (*func88500020)(unk_func_88500020*, s32, s32);
typedef void (*func88500668)(unk_func_882025E0*, s32);
typedef void (*func8850068C)(unk_func_88001300_000_000*, unk_func_88001300_000_000*);
@@ -532,6 +665,7 @@ typedef void (*func88506074)(unk_func_88001300_034*, char*);
typedef void (*func885060BC)(unk_func_88200FA0_030_030*, s32, s32, unk_func_88200FA0_030_030_040, s32, s32, s32, s32, MemoryPool*);
typedef void (*func88506238)(unk_func_88200FA0_030_030*, s32, MemoryPool*);
typedef void (*func8850628C)(unk_func_88200FA0_030_030*);
typedef void (*func8850633C)(unk_func_88200FA0_030_030_1CEA00*, unk_func_8830867C_02C_0CC*);
typedef void (*func88506384)(unk_func_88200FA0_030_030*, unk_func_88200FA0_030_038*, MemoryPool*);
typedef void (*func885063B8)(unk_func_88200FA0_030_030*, unk_func_88201DA0_038*);
typedef void (*func88506404)(unk_func_88200FA0_030_030*, u8*, MemoryPool*);
@@ -539,11 +673,14 @@ typedef void (*func88506BFC)(unk_func_88200FA0_030_030*, s32);
typedef void (*func88506CE4)(unk_func_88200FA0_030_030*);
typedef void (*func88506DCC)(unk_func_8821421C_038_034*, s32, s32, void (*)(), s32, s32, s32, MemoryPool*);
typedef void (*func88506EE4)(unk_func_8820BE14_02C_038*, unk_func_88200FA0_030_038*);
typedef void (*func88506F1C)(unk_func_8830867C_02C_034*, unk_func_88200FA0_030_038*, MemoryPool*);
typedef void (*func88506F50)(unk_func_8821421C_038_034*, unk_func_8821421C_038_050**);
typedef void (*func88506F8C)(unk_func_8821421C_038_034*, unk_func_8830867C_03C_0D0*, MemoryPool*);
typedef void (*func88506FC0)(unk_func_8820BE14_02C_038*);
typedef void (*func88506FE0)(unk_func_8820BE14_02C_038*);
typedef void (*func88507AE4)(unk_func_8820BE14_02C_038*, s32);
typedef void (*func88507B80)(unk_func_8820BE14_02C_038*, s32);
typedef void (*func88507C0C)(unk_func_8830867C_02C_034*, s32, s32);
typedef void (*func88507CC4)(unk_func_8820BE14_02C_038*, unk_func_88205880_00D0*);
typedef void (*func88507CEC)(unk_func_8820BE14_02C_038*);
typedef void (*func88507D4C)(unk_func_88507D4C*, s32, s32, s32, s32, unk_func_8820BE14_02C_038*);
@@ -568,7 +705,9 @@ typedef void (*func8850C064)(unk_func_88203ED8_064*, s32);
typedef void (*func8850C284)(unk_func_88001300_03C*, s32, s32, MemoryPool*);
typedef void (*func8850CAB4)(unk_func_88001300_03C*);
typedef void (*func8850CB48)(unk_func_88001300_03C*, s32);
typedef void (*func8850CBA8)(unk_func_8830867C_02C_048*);
typedef void (*func8850CC74)(unk_func_88001300_000*, unk_func_88001300_000*);
typedef void (*func8850CD24)(unk_func_8830867C_02C_048*, s32);
typedef void (*func8850CD44)(unk_func_8850CD44*, s32, MemoryPool*);
typedef void (*func8850CF00)(unk_func_8850CD44*, s32);
@@ -581,7 +720,7 @@ void func_88500828(unk_func_88001300_000*, s32, s32);
void func_885008C4(unk_func_88001300_000*);
void func_8850093C(s32, s32);
void func_88500994(unk_func_88500994*, s32, s32);
void func_88500A3C(unk_func_88500994*, unk_func_8850878C*);
void func_88500A3C(unk_func_88001300_000*, unk_func_88001300_000*);
void func_88500A6C(unk_func_88500994*, s32);
void func_88500E34(unk_func_88500E34*, s32, s32, s32, s32, u8*);
void func_88500EE4(unk_func_88500EE4*, s32, s32, s32, s32, u8*, Color_RGBA8, Color_RGBA8);
@@ -602,6 +741,7 @@ void func_88506074(unk_func_88001300_034* arg0, char* arg1);
void func_885060BC(unk_func_88200FA0_030_030*, s32, s32, unk_func_88200FA0_030_030_040, s32, s32, s32, s32, MemoryPool*);
void func_88506238(unk_func_88200FA0_030_030*, s32, MemoryPool*);
void func_8850628C(unk_func_88200FA0_030_030*);
void func_8850633C(unk_func_88200FA0_030_030_1CEA00*, unk_func_8830867C_02C_0CC*);
void func_88506384(unk_func_88200FA0_030_030*, unk_func_88200FA0_030_038*, MemoryPool*);
void func_885063B8(unk_func_88200FA0_030_030*, unk_func_88201DA0_038*);
void func_88506404(unk_func_88200FA0_030_030*, u8*, MemoryPool*);
@@ -609,11 +749,14 @@ void func_88506BFC(unk_func_88200FA0_030_030*, s32);
void func_88506CE4(unk_func_88200FA0_030_030*);
void func_88506DCC(unk_func_8821421C_038_034*, s32, s32, void (*)(), s32, s32, s32, MemoryPool*);
void func_88506EE4(unk_func_8820BE14_02C_038*, unk_func_88200FA0_030_038*);
void func_88506F1C(unk_func_8830867C_02C_034*, unk_func_88200FA0_030_038*, MemoryPool*);
void func_88506F50(unk_func_8821421C_038_034*, unk_func_8821421C_038_050**);
void func_88506F8C(unk_func_8821421C_038_034*, unk_func_8830867C_03C_0D0*, MemoryPool*);
void func_88506FC0(unk_func_8820BE14_02C_038*);
void func_88506FE0(unk_func_8820BE14_02C_038*);
void func_88507AE4(unk_func_8820BE14_02C_038*, s32);
void func_88507B80(unk_func_8820BE14_02C_038*, s32);
void func_88507C0C(unk_func_8830867C_02C_034*, s32, s32);
void func_88507CC4(unk_func_8820BE14_02C_038*, unk_func_88205880_00D0*);
void func_88507CEC(unk_func_8820BE14_02C_038*);
void func_88507D4C(unk_func_88507D4C*, s32, s32, s32, s32, unk_func_8820BE14_02C_038*);
@@ -637,8 +780,10 @@ void func_8850BFB0(unk_func_88203ED8_064*);
void func_8850C064(unk_func_88203ED8_064*, s32);
void func_8850C284(unk_func_88001300_03C*, s32, s32, MemoryPool*);
void func_8850CAB4(unk_func_88001300_03C*);
void func_8850CB48(unk_func_88001300_03C*, s32, s32);
void func_8850CB48(unk_func_88001300_03C*, s32);
void func_8850CBA8(unk_func_8830867C_02C_048*);
void func_8850CC74(unk_func_88001300_000*, unk_func_88001300_000*);
void func_8850CD24(unk_func_8830867C_02C_048*, s32);
void func_8850CD44(unk_func_8850CD44*, s32, MemoryPool*);
void func_8850CF00(unk_func_8850CD44*, s32);

View File

@@ -46,7 +46,7 @@ MainPool* mem_pool_init(MainPool* pool, s32 size) {
/**
* Allocate from a memory pool. Return NULL if there is not enough space.
*/
void* mem_pool_alloc(MainPool* node, s32 size) {
void* mem_pool_alloc(MemoryPool* node, s32 size) {
struct MemoryBlock* freeBlock;
void* addr;
@@ -54,7 +54,7 @@ void* mem_pool_alloc(MainPool* node, s32 size) {
addr = NULL;
size = ALIGN4(size) + sizeof(struct MemoryBlock);
freeBlock = (struct MemoryBlock*)&node->end;
freeBlock = &node->freeList;
while (freeBlock->next != NULL) {
if (freeBlock->next->size >= size) {

View File

@@ -70,7 +70,7 @@ MainPool*main_pool_get_pool(void);
// memory.c
MemoryPool *mem_pool_try_init(u32 size, s32 side);
MainPool* mem_pool_init(MainPool* pool, s32 size);
void *mem_pool_alloc(MainPool* node, s32 size);
void *mem_pool_alloc(MemoryPool* node, s32 size);
void mem_pool_free(MemoryPool* pool, void* addr);
void *func_80002D10(u32 size, s32 side);

View File

@@ -572,17 +572,28 @@ def dump_data(offset, struct, counts):
return out
if name in STRUCTS:
out += indent + "{ "
#print(STRUCTS[name])
for member in STRUCTS[name]["data"]:
if member["type"] in STRUCTS:
out = output_struct(data, member["type"], out, offset + member["offset"], indent)
if len(member["counts"]) > 0:
out += "{ "
for count in member["counts"]:
for i in range(count):
if member["type"] in STRUCTS:
out = output_struct(data, member["type"], out, offset + member["offset"], indent + (" " * i))
else:
base_size = BASE_TYPES[member["type"]]
out = output_type(member["type"], base_size, offset + member["offset"] + (i * base_size), out)
out += "}, "
else:
#print(member)
out = output_type(member["type"], member["size"], offset + member["offset"], out)
if member["type"] in STRUCTS:
out = output_struct(data, member["type"], out, offset + member["offset"], indent)
else:
out = output_type(member["type"], member["size"], offset + member["offset"], out)
if len(STRUCTS[name]["data"]) <= 4:
out = out[:-2]

View File

@@ -1146,18 +1146,18 @@
- [0x1B4EA0, c, fragments/23/fragment23_1B4EA0]
- [0x1BCF10, c, fragments/23/fragment23_1BCF10]
- [0x1C0160, c, fragments/23/fragment23_882181B0]
- [0x1C0160, .data, fragments/23/fragment23_1A8800] # fragment23_1A8800
- [0x1C0190, .data, fragments/23/fragment23_1A9780] # fragment23_1A9780
- [0x1C0280, .data, fragments/23/fragment23_1AE680] # fragment23_1AE680
- [0x1C0540, .data, fragments/23/fragment23_1B4EA0] # fragment23_1B4EA0
- [0x1C0720, .data, fragments/23/fragment23_882181B0] # fragment23_882181B0
- [0x1CD3C0, .rodata, fragments/23/fragment23_1A9780] # fragment23_1A9780
- [0x1C0160, .data, fragments/23/fragment23_1A8800]
- [0x1C0190, .data, fragments/23/fragment23_1A9780]
- [0x1C0280, .data, fragments/23/fragment23_1AE680]
- [0x1C0540, .data, fragments/23/fragment23_1B4EA0]
- [0x1C0720, .data, fragments/23/fragment23_882181B0]
- [0x1CD3C0, .rodata, fragments/23/fragment23_1A9780]
- [0x1CD400, .rodata, fragments/23/fragment23_1AE680]
- [0x1CD470, .rodata, fragments/23/fragment23_1B4EA0]
- {vram: 0x88224F90, type: .bss, name: fragments/23/fragment23_1A8800} # fragment23_1A8800
- {vram: 0x88224FA0, type: .bss, name: fragments/23/fragment23_1A9780} # fragment23_1A9780
- {vram: 0x88224FC0, type: .bss, name: fragments/23/fragment23_1B4EA0} # fragment23_1B4EA0
- {vram: 0x88224F90, type: .bss, name: fragments/23/fragment23_1A8800}
- {vram: 0x88224FA0, type: .bss, name: fragments/23/fragment23_1A9780}
- {vram: 0x88224FC0, type: .bss, name: fragments/23/fragment23_1B4EA0}
- name: fragment23_relocs
type: code
@@ -1176,12 +1176,15 @@
subsegments:
- [0x1CE9E0, textbin, fragments/24/fragment24_header]
- [0x1CEA00, c, fragments/24/fragment24_1CEA00]
- [0x1D7B40, c, fragments/24/fragment24_1D7B40]
- [0x1E46B0, c, fragments/24/fragment24_1E46B0]
- [0x1E5BB0, data, fragments/24/fragment24_data]
- [0x1E8C40, rodata, fragments/24/fragment24_rodata_1E8C40]
- [0x1E8DB0, rodata, fragments/24/fragment24_rodata_1E8DB0]
- [0x1E5BB0, .data, fragments/24/fragment24_1CEA00]
- [0x1E5D40, .data, fragments/24/fragment24_1D7B40]
- [0x1E60B0, .data, fragments/24/fragment24_1E46B0]
- [0x1E8C40, .rodata, fragments/24/fragment24_1CEA00]
- [0x1E8DB0, .rodata, fragments/24/fragment24_1D7B40]
- {vram: 0x8831A4C0, type: bss, name: fragments/24/fragment24_bss}
- {vram: 0x8831A4C0, type: .bss, name: fragments/24/fragment24_1CEA00}
- name: fragment24_relocs
type: code