Skip to content

Commit 11ccc80

Browse files
authoredMar 16, 2025··
fragment39 (#174)
1 parent c1eb1ab commit 11ccc80

24 files changed

+3710
-233
lines changed
 

‎include/variables.h

+55-1
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,61 @@ extern u8 D_20068A0[];
280280
extern u8 D_2006920[];
281281
extern u8 D_20069A0[];
282282
extern u8 D_2002000[];
283+
extern u8 D_30C1290[];
284+
extern u8 D_0302EE00[];
285+
extern u8 D_03034580[];
286+
extern u8 D_03039D00[];
287+
extern u8 D_0303F480[];
288+
extern u8 D_03044C00[];
289+
extern u8 D_0304A380[];
290+
extern u8 D_0304FB00[];
291+
extern u8 D_03055280[];
292+
extern u8 D_0305AA00[];
293+
extern u8 D_03060180[];
294+
extern u8 D_03065900[];
295+
extern u8 D_03069528[];
296+
extern u8 D_0306D150[];
297+
extern u8 D_03070D78[];
298+
extern u8 D_030749A0[];
299+
extern u8 D_030785C8[];
300+
extern u8 D_0307C1F0[];
301+
extern u8 D_0307FE18[];
302+
extern u8 D_03083A40[];
303+
extern u8 D_03087668[];
304+
extern u8 D_0300BB80[];
305+
extern u8 D_03017700[];
306+
extern u8 D_3023280[];
307+
extern u8 D_0308B290[];
308+
extern u8 D_0308D290[];
309+
extern u8 D_0308F290[];
310+
extern u8 D_03091290[];
311+
extern u8 D_03093290[];
312+
extern u8 D_03095290[];
313+
extern u8 D_03097290[];
314+
extern u8 D_03099290[];
315+
extern u8 D_0309B290[];
316+
extern u8 D_0309D290[];
317+
extern u8 D_0309F290[];
318+
extern u8 D_030A1290[];
319+
extern u8 D_030A3290[];
320+
extern u8 D_030A5290[];
321+
extern u8 D_030A7290[];
322+
extern u8 D_030A9290[];
323+
extern u8 D_030AB290[];
324+
extern u8 D_030AD290[];
325+
extern u8 D_030AF290[];
326+
extern u8 D_030B1290[];
327+
extern u8 D_030B3290[];
328+
extern u8 D_030B5290[];
329+
extern u8 D_030B7290[];
330+
extern u8 D_030B9290[];
331+
extern u8 D_030BB290[];
332+
extern u8 D_030BD290[];
333+
extern u8 D_030BF290[];
334+
extern u8 D_30CD390[];
335+
extern u8 D_30CD410[];
336+
extern u8 D_30CD490[];
337+
extern u8 D_30CD510[];
283338

284339
extern u8 D_800818E0[0x20];
285340

@@ -308,7 +363,6 @@ extern unk_D_800A7440 D_800A7440;
308363

309364
extern struct unk_D_86002F58_004_000_000 D_800AC840;
310365
extern struct unk_D_86002F58_004_000_000 D_800AC858;
311-
extern struct unk_D_86002F58_004_000* D_8006F09C;
312366

313367
typedef struct unk_D_8006FF00 {
314368
/* 0x00 */ u8 unk_00;

‎linker_scripts/us/symbol_addrs.txt

+57-1
Original file line numberDiff line numberDiff line change
@@ -507,4 +507,60 @@ D_2006920 = 0x2006920;
507507
D_20069A0 = 0x20069A0;
508508
D_2002000 = 0x2002000;
509509
D_8006FEE8 = 0x8006FEE8; // size:0xC type:char
510-
D_800AC910 = 0x800AC910; // size:0x58
510+
D_800AC910 = 0x800AC910; // size:0x58
511+
D_82508B00 = 0x82508B00; // size:0x30
512+
D_30C1290 = 0x30C1290;
513+
D_0302EE00 = 0x0302EE00;
514+
D_03034580 = 0x03034580;
515+
D_03039D00 = 0x03039D00;
516+
D_0303F480 = 0x0303F480;
517+
D_03044C00 = 0x03044C00;
518+
D_0304A380 = 0x0304A380;
519+
D_0304FB00 = 0x0304FB00;
520+
D_03055280 = 0x03055280;
521+
D_0305AA00 = 0x0305AA00;
522+
D_03060180 = 0x03060180;
523+
D_03065900 = 0x03065900;
524+
D_03069528 = 0x03069528;
525+
D_0306D150 = 0x0306D150;
526+
D_03070D78 = 0x03070D78;
527+
D_030749A0 = 0x030749A0;
528+
D_030785C8 = 0x030785C8;
529+
D_0307C1F0 = 0x0307C1F0;
530+
D_0307FE18 = 0x0307FE18;
531+
D_03083A40 = 0x03083A40;
532+
D_03087668 = 0x03087668;
533+
D_0300BB80 = 0x0300BB80;
534+
D_03017700 = 0x03017700;
535+
D_3023280 = 0x3023280;
536+
D_0308B290 = 0x0308B290;
537+
D_0308D290 = 0x0308D290;
538+
D_0308F290 = 0x0308F290;
539+
D_03091290 = 0x03091290;
540+
D_03093290 = 0x03093290;
541+
D_03095290 = 0x03095290;
542+
D_03097290 = 0x03097290;
543+
D_03099290 = 0x03099290;
544+
D_0309B290 = 0x0309B290;
545+
D_0309D290 = 0x0309D290;
546+
D_0309F290 = 0x0309F290;
547+
D_030A1290 = 0x030A1290;
548+
D_030A3290 = 0x030A3290;
549+
D_030A5290 = 0x030A5290;
550+
D_030A7290 = 0x030A7290;
551+
D_030A9290 = 0x030A9290;
552+
D_030AB290 = 0x030AB290;
553+
D_030AD290 = 0x030AD290;
554+
D_030AF290 = 0x030AF290;
555+
D_030B1290 = 0x030B1290;
556+
D_030B3290 = 0x030B3290;
557+
D_030B5290 = 0x030B5290;
558+
D_030B7290 = 0x030B7290;
559+
D_030B9290 = 0x030B9290;
560+
D_030BB290 = 0x030BB290;
561+
D_030BF290 = 0x030BF290;
562+
D_30CD390 = 0x30CD390;
563+
D_30CD410 = 0x30CD410;
564+
D_30CD490 = 0x30CD490;
565+
D_30CD510 = 0x30CD510;
566+
D_8250A288 = 0x8250A288; // size:0xA

‎linker_scripts/us/undefined_syms.ld

+57-1
Original file line numberDiff line numberDiff line change
@@ -121,4 +121,60 @@ D_03001F98 = 0x03001F98;
121121
D_03002F60 = 0x03002F60;
122122
D_03003F28 = 0x03003F28;
123123
D_3000000 = 0x3000000;
124-
D_3000000_2 = 0x3000000;
124+
D_3000000_2 = 0x3000000;
125+
D_30C1290 = 0x30C1290;
126+
D_0302EE00 = 0x0302EE00;
127+
D_03034580 = 0x03034580;
128+
D_03039D00 = 0x03039D00;
129+
D_0303F480 = 0x0303F480;
130+
D_03044C00 = 0x03044C00;
131+
D_0304A380 = 0x0304A380;
132+
D_0304FB00 = 0x0304FB00;
133+
D_03055280 = 0x03055280;
134+
D_0305AA00 = 0x0305AA00;
135+
D_03060180 = 0x03060180;
136+
D_03065900 = 0x03065900;
137+
D_03069528 = 0x03069528;
138+
D_0306D150 = 0x0306D150;
139+
D_03070D78 = 0x03070D78;
140+
D_030749A0 = 0x030749A0;
141+
D_030785C8 = 0x030785C8;
142+
D_0307C1F0 = 0x0307C1F0;
143+
D_0307FE18 = 0x0307FE18;
144+
D_03083A40 = 0x03083A40;
145+
D_03087668 = 0x03087668;
146+
D_0300BB80 = 0x0300BB80;
147+
D_03017700 = 0x03017700;
148+
D_3023280 = 0x3023280;
149+
D_0308B290 = 0x0308B290;
150+
D_0308D290 = 0x0308D290;
151+
D_0308F290 = 0x0308F290;
152+
D_03091290 = 0x03091290;
153+
D_03093290 = 0x03093290;
154+
D_03095290 = 0x03095290;
155+
D_03097290 = 0x03097290;
156+
D_03099290 = 0x03099290;
157+
D_0309B290 = 0x0309B290;
158+
D_0309D290 = 0x0309D290;
159+
D_0309F290 = 0x0309F290;
160+
D_030A1290 = 0x030A1290;
161+
D_030A3290 = 0x030A3290;
162+
D_030A5290 = 0x030A5290;
163+
D_030A7290 = 0x030A7290;
164+
D_030A9290 = 0x030A9290;
165+
D_030AB290 = 0x030AB290;
166+
D_030AD290 = 0x030AD290;
167+
D_030AF290 = 0x030AF290;
168+
D_030B1290 = 0x030B1290;
169+
D_030B3290 = 0x030B3290;
170+
D_030B5290 = 0x030B5290;
171+
D_030B7290 = 0x030B7290;
172+
D_030B9290 = 0x030B9290;
173+
D_030BB290 = 0x030BB290;
174+
D_030BF290 = 0x030BF290;
175+
D_30CD390 = 0x30CD390;
176+
D_30CD410 = 0x30CD410;
177+
D_30CD490 = 0x30CD490;
178+
D_30CD510 = 0x30CD510;
179+
D_8250A288 = 0x8250A288;
180+
D_030BD290 = 0x030BD290;

‎src/1C720.c

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include "19840.h"
1010
#include "dp_intro.h"
1111
#include "hal_libc.h"
12+
#include "src/12D80.h"
1213

1314
void func_8001BB20(void) {
1415
func_8001103C(0, &D_800AC840);

‎src/22630.c

+25-6
Original file line numberDiff line numberDiff line change
@@ -99,15 +99,21 @@ char* func_80021CA4(char* arg0, s32 arg1) {
9999
return arg0;
100100
}
101101

102-
char* func_80021CE0(s32 arg0, s8* arg1) {
102+
char* func_80021CE0(s32 arg0, char* arg1) {
103103
extern char* D_80072EE0[];
104+
// "ひでんマシン%02d"
105+
static const char D_0007CCA0[] = { 0xA4, 0xD2, 0xA4, 0xC7, 0xA4, 0xF3, 0xA5, 0xDE, 0xA5, 0xB7,
106+
0xA5, 0xF3, 0x25, 0x30, 0x32, 0x64, 0x00, 0x00, 0x00, 0x00 };
107+
// "わざマシン%02d"
108+
static const char D_0007CCB4[] = { 0xA4, 0xEF, 0xA4, 0xB6, 0xA5, 0xDE, 0xA5, 0xB7,
109+
0xA5, 0xF3, 0x25, 0x30, 0x32, 0x64, 0x00, 0x00 };
104110

105111
if ((arg0 > 0) && (arg0 < 0x54)) {
106112
HAL_Strcpy(arg1, D_80072EE0[arg0 - 1]);
107113
} else if ((arg0 >= 0xC4) && (arg0 < 0xC9)) {
108-
sprintf(arg1, "ひでんマシン%02d", arg0 - 0xC3, arg0);
114+
sprintf(arg1, D_0007CCA0, arg0 - 0xC3, arg0);
109115
} else if ((arg0 >= 0xC9) && (arg0 < 0xFF)) {
110-
sprintf(arg1, "わざマシン%02d", arg0 - 0xC8, arg0);
116+
sprintf(arg1, D_0007CCB4, arg0 - 0xC8, arg0);
111117
} else {
112118
HAL_Strcpy(arg1, D_80072EE0[6]);
113119
}
@@ -198,7 +204,8 @@ u16 func_80022084(u16 arg0) {
198204
return i;
199205
}
200206

201-
#pragma GLOBAL_ASM("asm/us/nonmatchings/22630/func_800220C4.s")
207+
void func_800220C4(void) {
208+
}
202209

203210
u16 func_800220CC(s32 arg0, u16 arg1) {
204211
u16 sp6;
@@ -228,7 +235,7 @@ u16 func_800220CC(s32 arg0, u16 arg1) {
228235
return sp6;
229236
}
230237

231-
u32 func_80022170(s32 arg0, s32 arg1, u16 arg2, u16 arg3, s32 arg4) {
238+
u32 func_80022170(s32 arg0, s32 arg1, u16 arg2, u16 arg3, u16 arg4) {
232239
u16 sp1C;
233240
u16 sp24;
234241
u16 sp22;
@@ -280,7 +287,19 @@ void func_80022338(unk_func_80026268_arg0* arg0) {
280287
arg0->unk_2E = func_80022170(5, arg0->unk_00.unk_00, arg0->unk_1C, arg0->unk_24, arg0->unk_1E);
281288
}
282289

283-
#pragma GLOBAL_ASM("asm/us/nonmatchings/22630/func_8002240C.s")
290+
u16 func_8002240C(s32 arg0, s32 arg1, u16 arg2, u16 arg3, u16 arg4) {
291+
s32 i;
292+
s32 tmp;
293+
294+
for (i = 1; i < 0xFFFF; i += 2) {
295+
tmp = func_80022170(arg0, arg1, i + 2, arg3, arg4);
296+
if (arg2 < tmp) {
297+
break;
298+
}
299+
}
300+
301+
return i;
302+
}
284303

285304
u32 func_800224B8(s32 arg0, u16 arg1) {
286305
u32 sp4;

‎src/22630.h

+11-5
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ typedef struct unk_D_800AC910_050_9AC {
8080
/* 0x008 */ unk_D_800AC910_050_9AC_008 unk_008[6];
8181
/* 0x110 */ char unk_110[6][11];
8282
/* 0x152 */ char unk_152[6][11];
83-
} unk_D_800AC910_050_9AC; // size >= 0x160
83+
} unk_D_800AC910_050_9AC; // size = 0x194
8484

8585
typedef struct unk_D_800AC910_050_B40_000 {
8686
/* 0x000 */ u8 unk_000;
@@ -116,7 +116,9 @@ typedef struct unk_D_800AC910_050 {
116116
/* 0x037 */ char unk037[0x12];
117117
/* 0x049 */ u8 unk_049;
118118
/* 0x04A */ unk_func_80026268_arg0_000 unk_04A[1];
119-
/* 0x04C */ char unk04C[0x39];
119+
/* 0x04C */ char unk04C[0x2A];
120+
/* 0x076 */ u8 unk_076;
121+
/* 0x077 */ char unk077[0xE];
120122
/* 0x085 */ u8 unk_085;
121123
/* 0x086 */ char unk086[0x4];
122124
/* 0x08A */ u8 unk_08A;
@@ -125,7 +127,9 @@ typedef struct unk_D_800AC910_050 {
125127
/* 0x267 */ unk_func_80026268_arg0_000 unk_267[1];
126128
/* 0x269 */ char unk269[0x63];
127129
/* 0x2CC */ s8 unk_2CC;
128-
/* 0x2CD */ char unk2CD[0x1AA];
130+
/* 0x2CD */ char unk2CD[0x174];
131+
/* 0x441 */ u8 unk_441;
132+
/* 0x442 */ char unk442[0x35];
129133
/* 0x477 */ s8 unk_477;
130134
/* 0x478 */ char unk478[0xA5];
131135
/* 0x51D */ s8 unk_51D;
@@ -183,15 +187,17 @@ char* func_80021C20(char* arg0, char* arg1);
183187
char* func_80021C40(char* arg0, char* arg1);
184188
char* func_80021C80(char* arg0, char* arg1);
185189
char* func_80021CA4(char* arg0, s32 arg1);
186-
char* func_80021CE0(s32 arg0, s8* arg1);
190+
char* func_80021CE0(s32 arg0, char* arg1);
187191
void func_80021D9C(unk_func_80026268_arg0* arg0, unk_D_800AE4E8_004_1_000_010_000* arg1);
188192
void func_80021E90(unk_func_80026268_arg0* arg0, unk_D_800AC910_050_9AC_008* arg1);
189193
void func_80021F04(unk_func_80026268_arg0* arg0, unk_D_800AE4E8_004_1_000_010_000* arg1);
190194
void func_80022010(unk_func_88205880_00D0* arg0, unk_D_800AC910_050_9AC_008* arg1);
191195
u16 func_80022084(u16 arg0);
196+
void func_800220C4(void);
192197
u16 func_800220CC(s32 arg0, u16 arg1);
193-
u32 func_80022170(s32 arg0, s32 arg1, u16 arg2, u16 arg3, s32 arg4);
198+
u32 func_80022170(s32 arg0, s32 arg1, u16 arg2, u16 arg3, u16 arg4);
194199
void func_80022338(unk_func_80026268_arg0* arg0);
200+
u16 func_8002240C(s32 arg0, s32 arg1, u16 arg2, u16 arg3, u16 arg4);
195201
u32 func_800224B8(s32 arg0, u16 arg1);
196202

197203
#endif // _6BC0_H_

0 commit comments

Comments
 (0)
Please sign in to comment.