Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fragment39 #174

Merged
merged 1 commit into from
Mar 16, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 55 additions & 1 deletion include/variables.h
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,61 @@ extern u8 D_20068A0[];
extern u8 D_2006920[];
extern u8 D_20069A0[];
extern u8 D_2002000[];
extern u8 D_30C1290[];
extern u8 D_0302EE00[];
extern u8 D_03034580[];
extern u8 D_03039D00[];
extern u8 D_0303F480[];
extern u8 D_03044C00[];
extern u8 D_0304A380[];
extern u8 D_0304FB00[];
extern u8 D_03055280[];
extern u8 D_0305AA00[];
extern u8 D_03060180[];
extern u8 D_03065900[];
extern u8 D_03069528[];
extern u8 D_0306D150[];
extern u8 D_03070D78[];
extern u8 D_030749A0[];
extern u8 D_030785C8[];
extern u8 D_0307C1F0[];
extern u8 D_0307FE18[];
extern u8 D_03083A40[];
extern u8 D_03087668[];
extern u8 D_0300BB80[];
extern u8 D_03017700[];
extern u8 D_3023280[];
extern u8 D_0308B290[];
extern u8 D_0308D290[];
extern u8 D_0308F290[];
extern u8 D_03091290[];
extern u8 D_03093290[];
extern u8 D_03095290[];
extern u8 D_03097290[];
extern u8 D_03099290[];
extern u8 D_0309B290[];
extern u8 D_0309D290[];
extern u8 D_0309F290[];
extern u8 D_030A1290[];
extern u8 D_030A3290[];
extern u8 D_030A5290[];
extern u8 D_030A7290[];
extern u8 D_030A9290[];
extern u8 D_030AB290[];
extern u8 D_030AD290[];
extern u8 D_030AF290[];
extern u8 D_030B1290[];
extern u8 D_030B3290[];
extern u8 D_030B5290[];
extern u8 D_030B7290[];
extern u8 D_030B9290[];
extern u8 D_030BB290[];
extern u8 D_030BD290[];
extern u8 D_030BF290[];
extern u8 D_30CD390[];
extern u8 D_30CD410[];
extern u8 D_30CD490[];
extern u8 D_30CD510[];

extern u8 D_800818E0[0x20];

Expand Down Expand Up @@ -308,7 +363,6 @@ extern unk_D_800A7440 D_800A7440;

extern struct unk_D_86002F58_004_000_000 D_800AC840;
extern struct unk_D_86002F58_004_000_000 D_800AC858;
extern struct unk_D_86002F58_004_000* D_8006F09C;

typedef struct unk_D_8006FF00 {
/* 0x00 */ u8 unk_00;
Expand Down
58 changes: 57 additions & 1 deletion linker_scripts/us/symbol_addrs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -507,4 +507,60 @@ D_2006920 = 0x2006920;
D_20069A0 = 0x20069A0;
D_2002000 = 0x2002000;
D_8006FEE8 = 0x8006FEE8; // size:0xC type:char
D_800AC910 = 0x800AC910; // size:0x58
D_800AC910 = 0x800AC910; // size:0x58
D_82508B00 = 0x82508B00; // size:0x30
D_30C1290 = 0x30C1290;
D_0302EE00 = 0x0302EE00;
D_03034580 = 0x03034580;
D_03039D00 = 0x03039D00;
D_0303F480 = 0x0303F480;
D_03044C00 = 0x03044C00;
D_0304A380 = 0x0304A380;
D_0304FB00 = 0x0304FB00;
D_03055280 = 0x03055280;
D_0305AA00 = 0x0305AA00;
D_03060180 = 0x03060180;
D_03065900 = 0x03065900;
D_03069528 = 0x03069528;
D_0306D150 = 0x0306D150;
D_03070D78 = 0x03070D78;
D_030749A0 = 0x030749A0;
D_030785C8 = 0x030785C8;
D_0307C1F0 = 0x0307C1F0;
D_0307FE18 = 0x0307FE18;
D_03083A40 = 0x03083A40;
D_03087668 = 0x03087668;
D_0300BB80 = 0x0300BB80;
D_03017700 = 0x03017700;
D_3023280 = 0x3023280;
D_0308B290 = 0x0308B290;
D_0308D290 = 0x0308D290;
D_0308F290 = 0x0308F290;
D_03091290 = 0x03091290;
D_03093290 = 0x03093290;
D_03095290 = 0x03095290;
D_03097290 = 0x03097290;
D_03099290 = 0x03099290;
D_0309B290 = 0x0309B290;
D_0309D290 = 0x0309D290;
D_0309F290 = 0x0309F290;
D_030A1290 = 0x030A1290;
D_030A3290 = 0x030A3290;
D_030A5290 = 0x030A5290;
D_030A7290 = 0x030A7290;
D_030A9290 = 0x030A9290;
D_030AB290 = 0x030AB290;
D_030AD290 = 0x030AD290;
D_030AF290 = 0x030AF290;
D_030B1290 = 0x030B1290;
D_030B3290 = 0x030B3290;
D_030B5290 = 0x030B5290;
D_030B7290 = 0x030B7290;
D_030B9290 = 0x030B9290;
D_030BB290 = 0x030BB290;
D_030BF290 = 0x030BF290;
D_30CD390 = 0x30CD390;
D_30CD410 = 0x30CD410;
D_30CD490 = 0x30CD490;
D_30CD510 = 0x30CD510;
D_8250A288 = 0x8250A288; // size:0xA
58 changes: 57 additions & 1 deletion linker_scripts/us/undefined_syms.ld
Original file line number Diff line number Diff line change
Expand Up @@ -121,4 +121,60 @@ D_03001F98 = 0x03001F98;
D_03002F60 = 0x03002F60;
D_03003F28 = 0x03003F28;
D_3000000 = 0x3000000;
D_3000000_2 = 0x3000000;
D_3000000_2 = 0x3000000;
D_30C1290 = 0x30C1290;
D_0302EE00 = 0x0302EE00;
D_03034580 = 0x03034580;
D_03039D00 = 0x03039D00;
D_0303F480 = 0x0303F480;
D_03044C00 = 0x03044C00;
D_0304A380 = 0x0304A380;
D_0304FB00 = 0x0304FB00;
D_03055280 = 0x03055280;
D_0305AA00 = 0x0305AA00;
D_03060180 = 0x03060180;
D_03065900 = 0x03065900;
D_03069528 = 0x03069528;
D_0306D150 = 0x0306D150;
D_03070D78 = 0x03070D78;
D_030749A0 = 0x030749A0;
D_030785C8 = 0x030785C8;
D_0307C1F0 = 0x0307C1F0;
D_0307FE18 = 0x0307FE18;
D_03083A40 = 0x03083A40;
D_03087668 = 0x03087668;
D_0300BB80 = 0x0300BB80;
D_03017700 = 0x03017700;
D_3023280 = 0x3023280;
D_0308B290 = 0x0308B290;
D_0308D290 = 0x0308D290;
D_0308F290 = 0x0308F290;
D_03091290 = 0x03091290;
D_03093290 = 0x03093290;
D_03095290 = 0x03095290;
D_03097290 = 0x03097290;
D_03099290 = 0x03099290;
D_0309B290 = 0x0309B290;
D_0309D290 = 0x0309D290;
D_0309F290 = 0x0309F290;
D_030A1290 = 0x030A1290;
D_030A3290 = 0x030A3290;
D_030A5290 = 0x030A5290;
D_030A7290 = 0x030A7290;
D_030A9290 = 0x030A9290;
D_030AB290 = 0x030AB290;
D_030AD290 = 0x030AD290;
D_030AF290 = 0x030AF290;
D_030B1290 = 0x030B1290;
D_030B3290 = 0x030B3290;
D_030B5290 = 0x030B5290;
D_030B7290 = 0x030B7290;
D_030B9290 = 0x030B9290;
D_030BB290 = 0x030BB290;
D_030BF290 = 0x030BF290;
D_30CD390 = 0x30CD390;
D_30CD410 = 0x30CD410;
D_30CD490 = 0x30CD490;
D_30CD510 = 0x30CD510;
D_8250A288 = 0x8250A288;
D_030BD290 = 0x030BD290;
1 change: 1 addition & 0 deletions src/1C720.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
#include "19840.h"
#include "dp_intro.h"
#include "hal_libc.h"
#include "src/12D80.h"

void func_8001BB20(void) {
func_8001103C(0, &D_800AC840);
Expand Down
31 changes: 25 additions & 6 deletions src/22630.c
Original file line number Diff line number Diff line change
Expand Up @@ -99,15 +99,21 @@ char* func_80021CA4(char* arg0, s32 arg1) {
return arg0;
}

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

if ((arg0 > 0) && (arg0 < 0x54)) {
HAL_Strcpy(arg1, D_80072EE0[arg0 - 1]);
} else if ((arg0 >= 0xC4) && (arg0 < 0xC9)) {
sprintf(arg1, "ひでんマシン%02d", arg0 - 0xC3, arg0);
sprintf(arg1, D_0007CCA0, arg0 - 0xC3, arg0);
} else if ((arg0 >= 0xC9) && (arg0 < 0xFF)) {
sprintf(arg1, "わざマシン%02d", arg0 - 0xC8, arg0);
sprintf(arg1, D_0007CCB4, arg0 - 0xC8, arg0);
} else {
HAL_Strcpy(arg1, D_80072EE0[6]);
}
Expand Down Expand Up @@ -198,7 +204,8 @@ u16 func_80022084(u16 arg0) {
return i;
}

#pragma GLOBAL_ASM("asm/us/nonmatchings/22630/func_800220C4.s")
void func_800220C4(void) {
}

u16 func_800220CC(s32 arg0, u16 arg1) {
u16 sp6;
Expand Down Expand Up @@ -228,7 +235,7 @@ u16 func_800220CC(s32 arg0, u16 arg1) {
return sp6;
}

u32 func_80022170(s32 arg0, s32 arg1, u16 arg2, u16 arg3, s32 arg4) {
u32 func_80022170(s32 arg0, s32 arg1, u16 arg2, u16 arg3, u16 arg4) {
u16 sp1C;
u16 sp24;
u16 sp22;
Expand Down Expand Up @@ -280,7 +287,19 @@ void func_80022338(unk_func_80026268_arg0* arg0) {
arg0->unk_2E = func_80022170(5, arg0->unk_00.unk_00, arg0->unk_1C, arg0->unk_24, arg0->unk_1E);
}

#pragma GLOBAL_ASM("asm/us/nonmatchings/22630/func_8002240C.s")
u16 func_8002240C(s32 arg0, s32 arg1, u16 arg2, u16 arg3, u16 arg4) {
s32 i;
s32 tmp;

for (i = 1; i < 0xFFFF; i += 2) {
tmp = func_80022170(arg0, arg1, i + 2, arg3, arg4);
if (arg2 < tmp) {
break;
}
}

return i;
}

u32 func_800224B8(s32 arg0, u16 arg1) {
u32 sp4;
Expand Down
16 changes: 11 additions & 5 deletions src/22630.h
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ typedef struct unk_D_800AC910_050_9AC {
/* 0x008 */ unk_D_800AC910_050_9AC_008 unk_008[6];
/* 0x110 */ char unk_110[6][11];
/* 0x152 */ char unk_152[6][11];
} unk_D_800AC910_050_9AC; // size >= 0x160
} unk_D_800AC910_050_9AC; // size = 0x194

typedef struct unk_D_800AC910_050_B40_000 {
/* 0x000 */ u8 unk_000;
Expand Down Expand Up @@ -116,7 +116,9 @@ typedef struct unk_D_800AC910_050 {
/* 0x037 */ char unk037[0x12];
/* 0x049 */ u8 unk_049;
/* 0x04A */ unk_func_80026268_arg0_000 unk_04A[1];
/* 0x04C */ char unk04C[0x39];
/* 0x04C */ char unk04C[0x2A];
/* 0x076 */ u8 unk_076;
/* 0x077 */ char unk077[0xE];
/* 0x085 */ u8 unk_085;
/* 0x086 */ char unk086[0x4];
/* 0x08A */ u8 unk_08A;
Expand All @@ -125,7 +127,9 @@ typedef struct unk_D_800AC910_050 {
/* 0x267 */ unk_func_80026268_arg0_000 unk_267[1];
/* 0x269 */ char unk269[0x63];
/* 0x2CC */ s8 unk_2CC;
/* 0x2CD */ char unk2CD[0x1AA];
/* 0x2CD */ char unk2CD[0x174];
/* 0x441 */ u8 unk_441;
/* 0x442 */ char unk442[0x35];
/* 0x477 */ s8 unk_477;
/* 0x478 */ char unk478[0xA5];
/* 0x51D */ s8 unk_51D;
Expand Down Expand Up @@ -183,15 +187,17 @@ char* func_80021C20(char* arg0, char* arg1);
char* func_80021C40(char* arg0, char* arg1);
char* func_80021C80(char* arg0, char* arg1);
char* func_80021CA4(char* arg0, s32 arg1);
char* func_80021CE0(s32 arg0, s8* arg1);
char* func_80021CE0(s32 arg0, char* arg1);
void func_80021D9C(unk_func_80026268_arg0* arg0, unk_D_800AE4E8_004_1_000_010_000* arg1);
void func_80021E90(unk_func_80026268_arg0* arg0, unk_D_800AC910_050_9AC_008* arg1);
void func_80021F04(unk_func_80026268_arg0* arg0, unk_D_800AE4E8_004_1_000_010_000* arg1);
void func_80022010(unk_func_88205880_00D0* arg0, unk_D_800AC910_050_9AC_008* arg1);
u16 func_80022084(u16 arg0);
void func_800220C4(void);
u16 func_800220CC(s32 arg0, u16 arg1);
u32 func_80022170(s32 arg0, s32 arg1, u16 arg2, u16 arg3, s32 arg4);
u32 func_80022170(s32 arg0, s32 arg1, u16 arg2, u16 arg3, u16 arg4);
void func_80022338(unk_func_80026268_arg0* arg0);
u16 func_8002240C(s32 arg0, s32 arg1, u16 arg2, u16 arg3, u16 arg4);
u32 func_800224B8(s32 arg0, u16 arg1);

#endif // _6BC0_H_
Loading