Skip to content

Commit 8978211

Browse files
committed
fragment24
1 parent 0f28ab4 commit 8978211

27 files changed

+9852
-383
lines changed

include/variables.h

+10-1
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,12 @@ extern u8 D_4001638[];
115115
extern u8 D_4001680[];
116116
extern u8 D_40016C8[];
117117
extern u8 D_4001710[];
118+
extern u8 D_4004A00[];
119+
extern u8 D_4005570[];
120+
extern u8 D_4001010[];
121+
extern u8 D_4001C90[];
122+
extern u8 D_4001FB8[];
123+
extern u8 D_4006AB8[];
118124

119125
extern u8 D_800818E0[0x20];
120126

@@ -148,7 +154,9 @@ extern struct unk_D_86002F58_004_000* D_8006F09C;
148154
typedef struct unk_D_8006FF00 {
149155
/* 0x00 */ char unk_00[0x4];
150156
/* 0x04 */ char* name;
151-
/* 0x08 */ char unk_08[0x8];
157+
/* 0x08 */ char unk_08[0x4];
158+
/* 0x0C */ u8 unk_0C;
159+
/* 0x0D */ char unk_0D[0x3];
152160
/* 0x10 */ s16 unk_10;
153161
/* 0x12 */ s16 unk_12;
154162
/* 0x14 */ char unk_14[0x8];
@@ -227,5 +235,6 @@ typedef struct unk_D_70B10 {
227235
} unk_D_70B10; // size = 0x20
228236

229237
extern unk_func_88500020 D_800758E0;
238+
extern unk_func_88500020 D_800758F0;
230239

231240
#endif

linker_scripts/us/symbol_addrs.txt

+4
Original file line numberDiff line numberDiff line change
@@ -369,6 +369,10 @@ D_4002D88 = 0x4002D88;
369369
D_4003010 = 0x4003010;
370370
D_4003298 = 0x4003298;
371371
D_4003520 = 0x4003520;
372+
D_4001010 = 0x4001010;
373+
D_4001C90 = 0x4001C90;
374+
D_4001FB8 = 0x4001FB8;
375+
D_4006AB8 = 0x4006AB8;
372376
D_88217C20 = 0x88217C20; // size:0x4
373377
D_88217C24 = 0x88217C24; // size:0x4
374378
D_88217C28 = 0x88217C28; // size:0x4

src/1AB70.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
typedef struct unk_func_88201DA0_034_008 {
77
/* 0x00 */ char unk00[0x4];
8-
} unk_func_88201DA0_034_008; // size >= 1
8+
} unk_func_88201DA0_034_008; // size >= 0x4
99

1010
void func_8001B058(void);
1111
void func_8001B0DC(unk_func_88201DA0_034_008*, s32, s32);

src/225A0.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include "global.h"
1+
#include "225A0.h"
22

33
#pragma GLOBAL_ASM("asm/us/nonmatchings/225A0/func_800219A0.s")
44

src/225A0.h

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#ifndef _225A0_H_
2+
#define _225A0_H_
3+
4+
#include "global.h"
5+
6+
u32 func_800219FC(s32);
7+
8+
#endif // _225A0_H_

src/22630.h

+8-4
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,17 @@ typedef enum {
1515
} PokemonRomType;
1616

1717
typedef struct unk_D_80070F84 {
18-
/* 0x00 */ char unk00[0x5];
18+
/* 0x00 */ u8 unk_00;
19+
/* 0x04 */ char unk01[0x4];
1920
/* 0x05 */ u8 unk_05;
2021
/* 0x06 */ u8 unk_06;
2122
/* 0x07 */ u8 unk_07;
2223
/* 0x08 */ u8 unk_08;
2324
/* 0x09 */ u8 unk_09;
2425
/* 0x0A */ u8 unk_0A;
25-
/* 0x0B */ char unk0B[0x8];
26+
/* 0x0B */ char unk0B[0x4];
27+
/* 0x0F */ u8 unk_0F[1];
28+
/* 0x10 */ char unk10[0x3];
2629
/* 0x13 */ u8 unk_13;
2730
/* 0x14 */ char unk14[0x3];
2831
} unk_D_80070F84; // size = 0x17
@@ -116,12 +119,13 @@ u32 func_800224B8(s32 arg0, u16 arg1);
116119
u16 func_800226C0(s32 arg0, u32 arg1);
117120
void func_80022734(unk_func_8820BE14_sp*);
118121
void func_800228B0(unk_func_8820BE14_sp*);
122+
s8 func_80022A28(s32);
119123
u8 func_80022A38(s32 arg0);
120124
u8 func_80022A60(s32 arg0);
121125
unk_func_80022C28_ret* func_80022C28(s32, s32, s32, s32);
122126
unk_func_80022C28_ret* func_80022CC0(s32, s32, s32, s32, char*, s32);
123-
void func_80022D24(unk_func_80022C28_ret*);
124-
void func_80022D8C(unk_func_80022C28_ret*);
127+
s32 func_80022D24(unk_func_80022C28_ret*);
128+
s32 func_80022D8C(unk_func_80022C28_ret*);
125129
s32 func_80022E18(unk_func_80026268_arg0*, s32, unk_func_80022C28_ret*);
126130
s32 func_80022F24(unk_func_88205880_00D0*, s32, unk_func_80022C28_ret*);
127131
void func_80023068(void);

src/2D340.h

+89-1
Original file line numberDiff line numberDiff line change
@@ -44,20 +44,108 @@ typedef struct unk_func_8820BE14_06C_000 {
4444
/* 0x04 */ unk_func_88200FA0_030_038 unk_04;
4545
} unk_func_8820BE14_06C_000; // size = 0x10
4646

47+
typedef struct unk_func_8820BE14_06C_000_alt {
48+
/* 0x00 */ s32 unk_00;
49+
/* 0x04 */ unk_func_88200FA0_030_038 unk_04;
50+
/* 0x10 */ unk_func_88205880_A030 unk_10;
51+
} unk_func_8820BE14_06C_000_alt; // size = 0x1C
52+
4753
typedef struct unk_func_8820BE14_06C {
4854
/* 0x00 */ unk_func_8820BE14_06C_000* unk_00;
4955
/* 0x04 */ s32 unk_04;
5056
/* 0x08 */ s32 unk_08;
5157
/* 0x0C */ s32 unk_0C;
5258
} unk_func_8820BE14_06C; // size = 0x10
5359

54-
void func_8002C740(s8*, unk_func_88201DA0_034*, s32, s32, s32);
60+
typedef struct unk_func_8830867C_02C_0CC_000_000_000 {
61+
/* 0x00 */ char unk00[0x8];
62+
/* 0x08 */ s32 unk_08;
63+
} unk_func_8830867C_02C_0CC_000_000_000; // size >= 0xC
64+
65+
typedef struct unk_func_8830867C_02C_0CC_000_000_010_000_000 {
66+
/* 0x00 */ struct unk_func_8830867C_02C_0CC_000_000* unk_00;
67+
/* 0x04 */ s32 unk_04;
68+
/* 0x08 */ unk_func_80026268_arg0 unk_08;
69+
} unk_func_8830867C_02C_0CC_000_000_010_000_000; // size >= 0x5C
70+
71+
typedef struct unk_func_8830867C_02C_0CC_000_000_010_000 {
72+
/* 0x00 */ unk_func_8830867C_02C_0CC_000_000_010_000_000* unk_00;
73+
} unk_func_8830867C_02C_0CC_000_000_010_000; // size >= 0x4
74+
75+
typedef struct unk_func_8830867C_02C_0CC_000_000_010 {
76+
/* 0x00 */ unk_func_8830867C_02C_0CC_000_000_010_000* unk_00;
77+
/* 0x04 */ char unk04[0x4];
78+
/* 0x08 */ s32 unk_08;
79+
} unk_func_8830867C_02C_0CC_000_000_010; // size = 0xC
80+
81+
typedef struct unk_func_8830867C_02C_0CC_000_000 {
82+
/* 0x00 */ unk_func_8830867C_02C_0CC_000_000_000* unk_00;
83+
/* 0x04 */ s32 unk_04;
84+
/* 0x08 */ s32 unk_08;
85+
/* 0x0C */ s32 unk_0C;
86+
/* 0x10 */ unk_func_8830867C_02C_0CC_000_000_010 unk_10;
87+
} unk_func_8830867C_02C_0CC_000_000; // size = 0x1C
88+
89+
typedef struct unk_func_8830867C_02C_0CC_000_008 {
90+
/* 0x00 */ u8 unk_00;
91+
/* 0x01 */ char unk01[0x1];
92+
/* 0x02 */ u16 unk_02;
93+
/* 0x04 */ char unk04[0x5];
94+
/* 0x09 */ u8 unk_09[4];
95+
/* 0x0D */ char unk0D[0x3];
96+
/* 0x10 */ u8 unk_10;
97+
/* 0x11 */ u8 unk_11;
98+
/* 0x12 */ char unk12[0x2];
99+
/* 0x14 */ u16 unk_14;
100+
/* 0x16 */ u16 unk_16;
101+
/* 0x18 */ u16 unk_18;
102+
/* 0x1A */ u16 unk_1A;
103+
/* 0x1C */ u16 unk_1C;
104+
/* 0x1E */ u16 unk_1E;
105+
/* 0x20 */ u8 unk_20[4];
106+
/* 0x24 */ u8 unk_24;
107+
/* 0x26 */ u16 unk_26;
108+
/* 0x28 */ u16 unk_28;
109+
/* 0x2A */ u16 unk_2A;
110+
/* 0x2C */ u16 unk_2C;
111+
/* 0x2E */ u16 unk_2E;
112+
} unk_func_8830867C_02C_0CC_000_008; // size = 0x30
113+
114+
typedef struct unk_func_8830867C_02C_0CC_000 {
115+
/* 0x00 */ unk_func_8830867C_02C_0CC_000_000* unk_00;
116+
/* 0x04 */ s32 unk_04;
117+
/* 0x08 */ unk_func_8830867C_02C_0CC_000_008 unk_08;
118+
/* 0x38 */ char unk_38[4];
119+
/* 0x3C */ char unk3C[0x20];
120+
} unk_func_8830867C_02C_0CC_000; // size = 0x5C
121+
122+
typedef struct unk_func_8830867C_02C_0CC {
123+
/* 0x00 */ unk_func_8830867C_02C_0CC_000** unk_00;
124+
/* 0x04 */ s32 unk_04;
125+
/* 0x08 */ s32 unk_08;
126+
} unk_func_8830867C_02C_0CC; // size = 0xC
127+
128+
typedef struct unk_func_8830867C_04C_030_02C_000_000_00C {
129+
/* 0x00 */ s32 unk_00;
130+
/* 0x04 */ char unk04[0x4];
131+
/* 0x08 */ s32 unk_08;
132+
} unk_func_8830867C_04C_030_02C_000_000_00C; // size >= 0xC
133+
134+
typedef void (*func_func_8002D1AC)();
135+
typedef s32 (*unk_D_8831A1F8)(s32, s32);
136+
137+
void func_8002C740(unk_func_88201DA0_038*, unk_func_88201DA0_034*, s32, s32, s32);
55138
void func_8002C758(unk_func_8820BE14_06C*, s32, s32, MemoryPool*);
56139
void func_8002C88C(unk_func_8820BE14_06C*, u8*, s32);
57140
void func_8002C990(unk_func_8820BE14_06C*, s32);
141+
s32 func_8002CB58(unk_func_8830867C_04C_030_02C_000_000_00C*, s32);
58142
void func_8002CBC0(unk_func_88200FA0_030_038*, s32, MemoryPool*);
59143
void func_8002CBB0(unk_func_88205880_A030*, void*, s32, s32);
60144
void func_8002CC2C(unk_func_88200FA0_030_038*, char*, s32);
145+
void func_8002CC80(unk_func_8830867C_02C_0CC*, s32);
146+
void func_8002D180(unk_func_8830867C_02C_0CC*, unk_D_8831A1F8);
147+
void func_8002D1AC(unk_func_8830867C_02C_0CC*, unk_func_8830867C_02C_0CC*, func_func_8002D1AC, s32*);
148+
s32 func_8002D348(u8*, u8*);
61149
void func_8002D3F0(f32*);
62150
Color_RGBA8 func_8002D444(Color_RGBA8, f32);
63151

src/2E110.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ void func_8002D5D4(u32 arg0, char* arg1) {
2828
}
2929
}
3030

31-
void func_8002D600(u32 arg0, s32 arg1) {
31+
void func_8002D600(u32 arg0, char* arg1) {
3232
if ((arg0 != 0) && (arg0 < 0xA)) {
3333
D_800AF744[arg0] = arg1;
3434
}

src/2E110.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
void func_8002D510(void);
77
char** func_8002D5AC(s32 file_number);
88
void func_8002D5D4(u32 arg0, char* arg1);
9-
void func_8002D600(u32 arg0, s32 arg1);
9+
void func_8002D600(u32 arg0, char* arg1);
1010
void func_8002D628(char* arg0, u32 arg1, s8* arg2);
1111
char* func_8002D7C0(char* arg0, s32 arg1, char** arg2, u32 file_number);
1212
s32 func_8002D80C(s8* arg0);

src/2E460.h

+25-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33

44
#include "global.h"
55

6+
typedef struct unk_func_8002D860 {
7+
/* 0x00 */ char unk00[0x8];
8+
/* 0x08 */ s32 unk_08;
9+
} unk_func_8002D860; // size >= 0xC
10+
611
typedef struct ret_func_8002ED08 {
712
/* 0x00 */ u8 unk_00[12];
813
} ret_func_8002ED08; // size = 0xC
@@ -15,15 +20,34 @@ typedef struct unk_func_8820E99C_030_030 {
1520
/* 0x10 */ s32 unk_10;
1621
} unk_func_8820E99C_030_030; // size = 0x14
1722

23+
typedef struct unk_D_80072B00 {
24+
/* 0x00 */ char unk00[5];
25+
/* 0x05 */ u8 unk_05;
26+
} unk_D_80072B00; // size = 0x6
27+
28+
typedef struct unk_func_8830867C_044_038_030 {
29+
/* 0x00 */ s32 unk_00;
30+
/* 0x04 */ s32 unk_04;
31+
/* 0x08 */ s32 unk_08;
32+
/* 0x0C */ s32 unk_0C;
33+
/* 0x10 */ s32 unk_10;
34+
} unk_func_8830867C_044_038_030; // size = 0x14
35+
36+
void func_8002D860(unk_func_8002D860*, s32);
1837
void func_8002D8C8(unk_func_88500020*, s32, s32);
38+
s32 func_8002DF68(unk_func_8830867C_044_038_030*, s32);
1939
s32 func_8002EC08(s32);
2040
s32 func_8002ECDC(s32);
2141
s32 func_8002E0F4(unk_func_8820E99C_030_030*);
42+
void func_8002E5A0(s32, s32, s32, s32);
2243
void func_8002E8E4(s32, s32, s32, s32);
44+
unk_D_80072B00* func_8002ED40(s32);
2345
s32 func_8002EE1C(s32, s32, s32);
2446
void func_8002EE78(void);
2547
void func_8002EEA8(OSMesg);
26-
ret_func_8002ED08* func_8002ED08(u8);
48+
ret_func_8002ED08* func_8002ED08(s32);
49+
s32 func_8002ED78(u8*, s32);
50+
s32 func_8002EDEC(s32);
2751
void func_8002EF18(s32*);
2852
void func_8002EF44(void);
2953
s32 func_8002F1C0(u8);

src/fragments/22/fragment22.c

+3-3
Original file line numberDiff line numberDiff line change
@@ -2798,7 +2798,7 @@ void func_88001300(unk_func_88001300* arg0, s32 arg1, s32 arg2, s32 arg3, u8* ar
27982798
arg0->unk_38 = mem_pool_alloc(arg6, sizeof(unk_func_88001300_038));
27992799
((func88502274)Memmap_GetFragmentVaddr(func_88502274))(arg0->unk_38, 0, 0, temp_s0->unk_14.unk_00,
28002800
temp_s0->unk_14.unk_02);
2801-
arg0->unk_38->unk_28 |= 0x200;
2801+
arg0->unk_38->unk_00.unk_28 |= 0x200;
28022802
((func8850068C)Memmap_GetFragmentVaddr(func_8850068C))(temp_s0, arg0->unk_38);
28032803

28042804
sp5C = mem_pool_alloc(arg6, sizeof(unk_func_88001300_000));
@@ -3017,7 +3017,7 @@ void func_8800233C(unk_func_88001300* arg0) {
30173017
func_8002EEA8(NULL);
30183018
}
30193019

3020-
arg0->unk_38->unk_28 |= 0x201;
3020+
arg0->unk_38->unk_00.unk_28 |= 0x201;
30213021

30223022
for (i = 0; i < 8; i++) {
30233023
func_8002EEA8(NULL);
@@ -3027,7 +3027,7 @@ void func_8800233C(unk_func_88001300* arg0) {
30273027
temp_s0 = Memmap_GetFragmentVaddr(func_88506074); temp_s0(arg0->unk_34, func_8002D7C0(NULL, 0, D_88016CF4, 6));
30283028
// clang-format on
30293029
} else {
3030-
arg0->unk_38->unk_28 |= 0x201;
3030+
arg0->unk_38->unk_00.unk_28 |= 0x201;
30313031
func_88001258(arg0);
30323032
}
30333033
} else {

src/fragments/23/fragment23.h

+1
Original file line numberDiff line numberDiff line change
@@ -700,6 +700,7 @@ void func_88216000(unk_func_8820BE14_02C_038* arg0, s32 arg1, s32 arg2);
700700
s32 func_882169D4(unk_func_8820BE14_02C_038* arg0, Controller* arg1);
701701
void func_88216F18(unk_func_8820BE14_02C_038* arg0, s32 arg1);
702702
void func_88217018(unk_func_8820BE14_02C_038* arg0, unk_func_8820BE14_06C_000* arg1, u32 arg2);
703+
void func_88217060(unk_func_8820BE14_02C_038*, s32*, s32);
703704
void func_882170A8(unk_func_882170A8* arg0, s32 arg1, s32 arg2, unk_func_8820BE14_02C_038* arg3, s32 arg4);
704705
void func_8821711C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
705706
s32 func_8821738C(unk_func_882170A8* arg0, s32 arg1, s32 arg2);

src/fragments/23/fragment23_1A8800.c

+10-10
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ void func_88200290(unk_func_88503298* arg0, s32 arg1, s32 arg2, MemoryPool* arg3
4141

4242
arg0->unk_2C = mem_pool_alloc(arg3, sizeof(unk_func_88001300_038));
4343
((func88502274)Memmap_GetFragmentVaddr(func_88502274))(arg0->unk_2C, 0, 0, var_s1, 0x68);
44-
arg0->unk_2C->unk_28 |= 0x200;
45-
arg0->unk_2C->unk_28 |= 0x400;
46-
arg0->unk_2C->unk_28 &= ~1;
44+
arg0->unk_2C->unk_00.unk_28 |= 0x200;
45+
arg0->unk_2C->unk_00.unk_28 |= 0x400;
46+
arg0->unk_2C->unk_00.unk_28 &= ~1;
4747
((func8850068C)Memmap_GetFragmentVaddr(func_8850068C))(arg0, arg0->unk_2C);
4848

4949
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
9595

9696
arg0->unk_2C = mem_pool_alloc(arg4, sizeof(unk_func_88001300_038));
9797
((func88502274)Memmap_GetFragmentVaddr(func_88502274))(arg0->unk_2C, 0, 0, var_s2, 0xA4);
98-
arg0->unk_2C->unk_28 |= 0x200;
99-
arg0->unk_2C->unk_28 |= 0x400;
100-
arg0->unk_2C->unk_28 &= ~1;
98+
arg0->unk_2C->unk_00.unk_28 |= 0x200;
99+
arg0->unk_2C->unk_00.unk_28 |= 0x400;
100+
arg0->unk_2C->unk_00.unk_28 &= ~1;
101101
((func8850068C)Memmap_GetFragmentVaddr(func_8850068C))(arg0, arg0->unk_2C);
102102

103103
sp6C = mem_pool_alloc(arg4, sizeof(unk_func_8850B254));
@@ -159,7 +159,7 @@ s32 func_88200A30(unk_func_88200FA0_030* arg0, Controller* arg1) {
159159
if ((sp1C & 1) && (sp1C & 8)) {
160160
func_88200968(arg0, arg0->unk_30->unk_38);
161161
}
162-
} else if (!(arg0->unk_2C->unk_28 & 1)) {
162+
} else if (!(arg0->unk_2C->unk_00.unk_28 & 1)) {
163163
sp1C = 2;
164164
} else {
165165
sp1C = 1;
@@ -168,14 +168,14 @@ s32 func_88200A30(unk_func_88200FA0_030* arg0, Controller* arg1) {
168168
}
169169

170170
void func_88200ACC(unk_func_88200FA0_030* arg0) {
171-
arg0->unk_2C->unk_28 |= 1;
172-
arg0->unk_34->unk_2C->unk_28 |= 1;
171+
arg0->unk_2C->unk_00.unk_28 |= 1;
172+
arg0->unk_34->unk_2C->unk_00.unk_28 |= 1;
173173
}
174174

175175
void func_88200AF4(unk_func_88200FA0_030* arg0) {
176176
arg0->unk_2C->unk_2C = 0xB;
177177
arg0->unk_34->unk_2C->unk_2C = 0xB;
178-
while (arg0->unk_2C->unk_28 & 1) {
178+
while (arg0->unk_2C->unk_00.unk_28 & 1) {
179179
func_8002EEA8(NULL);
180180
}
181181
}

0 commit comments

Comments
 (0)