mirror of
https://github.com/pret/pokestadium.git
synced 2026-08-23 02:55:21 -05:00
rename: 6 MonName string helpers in src/22630.{c,h}
Stadium-specific Pokemon name string codec (with 'P' terminator
and ']' marker for player name).
func_80021A90 → DecodeMonName decode Stadium format → ASCII
func_80021B5C → DecodeMonNameSafe void wrapper for DecodeMonName
func_80021B7C → EncodeMonName encode ASCII → Stadium format
func_80021C20 → EncodeMonNameSafe char* wrapper for EncodeMonName
func_80021C40 → DecodePaddedMonName decode 10-byte padded Stadium name
func_80021C80 → CopyMonName strcpy + null term
Touches many call sites across src/fragments/{33,41,47,57,61}/* and
src/{2C1C0,232C0,22630,26820}.c. The string codec uses two
256-byte tables (D_80073030 decode / D_80073130 encode) for the
EUC-JP-like Pokemon name encoding.
Still matching: md5 ed1378bc… (verified by `make`)
This commit is contained in:
20
src/22630.c
20
src/22630.c
@@ -27,7 +27,7 @@ void WriteBE24(u8* arg0, s32 arg1) {
|
||||
arg0[2] = (arg1) & 0xFF;
|
||||
}
|
||||
|
||||
char* func_80021A90(char* arg0, char* arg1) {
|
||||
char* DecodeMonName(char* arg0, char* arg1) {
|
||||
extern s8 D_80073030[];
|
||||
|
||||
char* sp34 = arg0;
|
||||
@@ -49,11 +49,11 @@ char* func_80021A90(char* arg0, char* arg1) {
|
||||
return sp34;
|
||||
}
|
||||
|
||||
void func_80021B5C(char* arg0, char* arg1) {
|
||||
func_80021A90(arg0, arg1);
|
||||
void DecodeMonNameSafe(char* arg0, char* arg1) {
|
||||
DecodeMonName(arg0, arg1);
|
||||
}
|
||||
|
||||
char* func_80021B7C(char* arg0, char* arg1) {
|
||||
char* EncodeMonName(char* arg0, char* arg1) {
|
||||
extern u8 D_80073130[];
|
||||
|
||||
char* sp1C = arg0;
|
||||
@@ -72,27 +72,27 @@ char* func_80021B7C(char* arg0, char* arg1) {
|
||||
return sp1C;
|
||||
}
|
||||
|
||||
char* func_80021C20(char* arg0, char* arg1) {
|
||||
return func_80021B7C(arg0, arg1);
|
||||
char* EncodeMonNameSafe(char* arg0, char* arg1) {
|
||||
return EncodeMonName(arg0, arg1);
|
||||
}
|
||||
|
||||
char* func_80021C40(char* arg0, char* arg1) {
|
||||
char* DecodePaddedMonName(char* arg0, char* arg1) {
|
||||
char sp1C[11];
|
||||
|
||||
_bcopy(arg1, sp1C, 0xA);
|
||||
|
||||
sp1C[10] = 'P';
|
||||
|
||||
return func_80021A90(arg0, sp1C);
|
||||
return DecodeMonName(arg0, sp1C);
|
||||
}
|
||||
|
||||
char* func_80021C80(char* arg0, char* arg1) {
|
||||
char* CopyMonName(char* arg0, char* arg1) {
|
||||
HAL_Strcpy(arg0, arg1);
|
||||
return arg0;
|
||||
}
|
||||
|
||||
char* func_80021CA4(char* arg0, s32 arg1) {
|
||||
func_80021C80(arg0, (char*)*(u32*)D_8006FEE8[arg1]);
|
||||
CopyMonName(arg0, (char*)*(u32*)D_8006FEE8[arg1]);
|
||||
return arg0;
|
||||
}
|
||||
|
||||
|
||||
12
src/22630.h
12
src/22630.h
@@ -214,12 +214,12 @@ u16 ReadBE16(u8* arg0);
|
||||
u32 ReadBE24(u8* arg0);
|
||||
void WriteBE16(u8* arg0, s32 arg1);
|
||||
void WriteBE24(u8* arg0, s32 arg1);
|
||||
char* func_80021A90(char* arg0, char* arg1);
|
||||
void func_80021B5C(char* arg0, char* arg1);
|
||||
char* func_80021B7C(char* arg0, char* arg1);
|
||||
char* func_80021C20(char* arg0, char* arg1);
|
||||
char* func_80021C40(char* arg0, char* arg1);
|
||||
char* func_80021C80(char* arg0, char* arg1);
|
||||
char* DecodeMonName(char* arg0, char* arg1);
|
||||
void DecodeMonNameSafe(char* arg0, char* arg1);
|
||||
char* EncodeMonName(char* arg0, char* arg1);
|
||||
char* EncodeMonNameSafe(char* arg0, char* arg1);
|
||||
char* DecodePaddedMonName(char* arg0, char* arg1);
|
||||
char* CopyMonName(char* arg0, char* arg1);
|
||||
char* func_80021CA4(char* arg0, s32 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);
|
||||
|
||||
30
src/232C0.c
30
src/232C0.c
@@ -68,7 +68,7 @@ void func_800228B0(unk_func_80026268_arg0* arg0) {
|
||||
UNUSED s32 pad;
|
||||
char sp18[11];
|
||||
|
||||
func_80021B7C(&sp18, &arg0->unk_3B);
|
||||
EncodeMonName(&sp18, &arg0->unk_3B);
|
||||
_bcopy(&sp18, arg0->unk_46, 0xB);
|
||||
}
|
||||
|
||||
@@ -81,8 +81,8 @@ s32 func_800228F0(unk_func_800228F0* arg0, u16 arg1) {
|
||||
arg0->unk_00 = sp24.unk_00;
|
||||
arg0->unk_01 = sp24.unk_01;
|
||||
arg0->unk_02 = sp24.unk_02;
|
||||
func_80021C40(arg0->unk_04, &sp24.unk_04[0]);
|
||||
func_80021C40(arg0->unk_14, &sp24.unk_04[0xB]);
|
||||
DecodePaddedMonName(arg0->unk_04, &sp24.unk_04[0]);
|
||||
DecodePaddedMonName(arg0->unk_14, &sp24.unk_04[0xB]);
|
||||
var_v1 = 1;
|
||||
}
|
||||
return var_v1;
|
||||
@@ -98,8 +98,8 @@ void func_80022978(unk_func_80026268_arg0* arg0, s16 arg1, u8 arg2) {
|
||||
}
|
||||
sp24.unk_01 = arg0->unk_24;
|
||||
sp24.unk_02 = arg0->unk_0E;
|
||||
func_80021B7C(sp24.unk_04, arg0->unk_30);
|
||||
func_80021B7C(sp24.unk_0F, arg0->unk_3B);
|
||||
EncodeMonName(sp24.unk_04, arg0->unk_30);
|
||||
EncodeMonName(sp24.unk_0F, arg0->unk_3B);
|
||||
func_80027C24(0x13, 0, arg0->unk_00.unk_00 - 1, &sp24);
|
||||
}
|
||||
|
||||
@@ -936,15 +936,15 @@ void func_80024624(unk_func_80026268_arg0* arg0, s32 arg1, s32 arg2) {
|
||||
arg0->unk_25 = 0;
|
||||
|
||||
_bcopy(ptr2->unk_110[arg2], arg0->unk_46, 0xB);
|
||||
func_80021C40(arg0->unk_30, ptr2->unk_152[arg2]);
|
||||
func_80021C40(arg0->unk_3B, ptr2->unk_110[arg2]);
|
||||
DecodePaddedMonName(arg0->unk_30, ptr2->unk_152[arg2]);
|
||||
DecodePaddedMonName(arg0->unk_3B, ptr2->unk_110[arg2]);
|
||||
}
|
||||
|
||||
void func_800246F8(unk_func_88205880_00D0* arg0, s32 arg1, s32 arg2) {
|
||||
unk_D_800AC910_050_9AC* sp24 = &D_800AC910[arg1].unk_50->unk_9AC;
|
||||
|
||||
func_80022010(arg0, &sp24->unk_008[arg2]);
|
||||
func_80021B7C(sp24->unk_152[arg2], arg0->unk_000[0].unk_30);
|
||||
EncodeMonName(sp24->unk_152[arg2], arg0->unk_000[0].unk_30);
|
||||
_bcopy(arg0->unk_000[0].unk_46, sp24->unk_110[arg2], 0xB);
|
||||
sp24->unk_001[arg2] = sp24->unk_008[arg2].unk_00.unk_00;
|
||||
}
|
||||
@@ -961,8 +961,8 @@ void func_800247C4(unk_func_80026268_arg0* arg0, s32 arg1, s32 arg2, s32 arg3) {
|
||||
arg0->unk_25 = 0;
|
||||
|
||||
_bcopy(sp2C->unk_2AA[arg3], arg0->unk_46, 0xB);
|
||||
func_80021C40(arg0->unk_30, sp2C->unk_386[arg3]);
|
||||
func_80021C40(arg0->unk_3B, sp2C->unk_2AA[arg3]);
|
||||
DecodePaddedMonName(arg0->unk_30, sp2C->unk_386[arg3]);
|
||||
DecodePaddedMonName(arg0->unk_3B, sp2C->unk_2AA[arg3]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -972,7 +972,7 @@ void func_80024884(unk_func_88205880_00D0* arg0, s32 arg1, s32 arg2, s32 arg3) {
|
||||
if (sp2C != NULL) {
|
||||
arg0->unk_000[0].unk_04 = arg0->unk_000[0].unk_24;
|
||||
func_80021F04(arg0->unk_000, &sp2C->unk_016[arg3]);
|
||||
func_80021C20(sp2C->unk_386[arg3], arg0->unk_000[0].unk_30);
|
||||
EncodeMonNameSafe(sp2C->unk_386[arg3], arg0->unk_000[0].unk_30);
|
||||
_bcopy(arg0->unk_000[0].unk_46, sp2C->unk_2AA[arg3], 0xB);
|
||||
sp2C->unk_000.unk_001[arg3] = sp2C->unk_016[arg3].unk_00;
|
||||
}
|
||||
@@ -1266,28 +1266,28 @@ char* func_800251B0(s32 arg0, char* arg1) {
|
||||
if (!(D_800AC910[arg0].unk_00 & 1)) {
|
||||
return NULL;
|
||||
}
|
||||
return func_80021C40(arg1, &D_800AC910[arg0].unk_50->unk_018);
|
||||
return DecodePaddedMonName(arg1, &D_800AC910[arg0].unk_50->unk_018);
|
||||
}
|
||||
|
||||
char* func_80025210(s32 arg0, char* arg1) {
|
||||
if (!(D_800AC910[arg0].unk_00 & 1)) {
|
||||
return NULL;
|
||||
}
|
||||
return func_80021B7C(&D_800AC910[arg0].unk_50->unk_018, arg1);
|
||||
return EncodeMonName(&D_800AC910[arg0].unk_50->unk_018, arg1);
|
||||
}
|
||||
|
||||
char* func_8002526C(s32 arg0, char* arg1) {
|
||||
if (!(D_800AC910[arg0].unk_00 & 1)) {
|
||||
return NULL;
|
||||
}
|
||||
return func_80021C40(arg1, &D_800AC910[arg0].unk_50->unk_076);
|
||||
return DecodePaddedMonName(arg1, &D_800AC910[arg0].unk_50->unk_076);
|
||||
}
|
||||
|
||||
char* func_800252CC(s32 arg0, char* arg1) {
|
||||
if (!(D_800AC910[arg0].unk_00 & 1)) {
|
||||
return NULL;
|
||||
}
|
||||
return func_80021B7C(&D_800AC910[arg0].unk_50->unk_076, arg1);
|
||||
return EncodeMonName(&D_800AC910[arg0].unk_50->unk_076, arg1);
|
||||
}
|
||||
|
||||
s32 func_80025328(s32 arg0) {
|
||||
|
||||
14
src/26820.c
14
src/26820.c
@@ -190,15 +190,15 @@ void func_80026268(unk_func_80026268_arg0* arg0, unk_D_800AE4E8_004_1_000_010* a
|
||||
arg0->unk_25 = 0;
|
||||
|
||||
_bcopy(arg1->unk_2C, arg0->unk_46, 0xB);
|
||||
func_80021C40(arg0->unk_30, arg1->unk_21);
|
||||
func_80021C40(arg0->unk_3B, arg1->unk_2C);
|
||||
DecodePaddedMonName(arg0->unk_30, arg1->unk_21);
|
||||
DecodePaddedMonName(arg0->unk_3B, arg1->unk_2C);
|
||||
}
|
||||
|
||||
void func_800262DC(unk_func_80026268_arg0* arg0, unk_D_800AE4E8_004_1_000_010* arg1) {
|
||||
arg0->unk_04 = arg0->unk_24;
|
||||
|
||||
func_80021F04(arg0, &arg1->unk_00);
|
||||
func_80021B7C(arg1->unk_21, arg0->unk_30);
|
||||
EncodeMonName(arg1->unk_21, arg0->unk_30);
|
||||
|
||||
_bcopy(arg0->unk_46, arg1->unk_2C, 0xB);
|
||||
}
|
||||
@@ -653,7 +653,7 @@ char* func_800272BC(s32 arg0, s32 arg1, char* arg2) {
|
||||
}
|
||||
|
||||
if (var_a1 != NULL) {
|
||||
sp1C = func_80021A90(arg2, var_a1);
|
||||
sp1C = DecodeMonName(arg2, var_a1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -679,7 +679,7 @@ void func_80027430(s32 arg0, s32 arg1, s32 arg2, char* arg3, u16 arg4) {
|
||||
}
|
||||
|
||||
if (arg3 != NULL) {
|
||||
func_80021B7C(&temp_v0->unk_000.unk_01, arg3);
|
||||
EncodeMonName(&temp_v0->unk_000.unk_01, arg3);
|
||||
}
|
||||
|
||||
func_800264DC(arg0, arg1, 3);
|
||||
@@ -692,7 +692,7 @@ void func_80027430(s32 arg0, s32 arg1, s32 arg2, char* arg3, u16 arg4) {
|
||||
}
|
||||
|
||||
if (arg3 != NULL) {
|
||||
func_80021B7C(&temp_v0_2->unk_000.unk_01, arg3);
|
||||
EncodeMonName(&temp_v0_2->unk_000.unk_01, arg3);
|
||||
}
|
||||
|
||||
func_800264DC(arg0, arg1, 3);
|
||||
@@ -705,7 +705,7 @@ void func_80027430(s32 arg0, s32 arg1, s32 arg2, char* arg3, u16 arg4) {
|
||||
}
|
||||
|
||||
if (arg3 != NULL) {
|
||||
func_80021B7C(&temp_v0_3->unk_00.unk_01, arg3);
|
||||
EncodeMonName(&temp_v0_3->unk_00.unk_01, arg3);
|
||||
}
|
||||
|
||||
func_800264DC(arg0, arg1, 3);
|
||||
|
||||
@@ -536,7 +536,7 @@ void func_8002C538(void) {
|
||||
sp20.unk_0E = D_800AE540.unk_1194[0].unk_08[0]->unk_018;
|
||||
|
||||
_bcopy(D_800AE540.unk_11E4[0], &sp20.unk_05, 8);
|
||||
func_80021C20(&sp20.unk_10, &D_800AE540.unk_1194[0].unk_08[0]->unk_008);
|
||||
EncodeMonNameSafe(&sp20.unk_10, &D_800AE540.unk_1194[0].unk_08[0]->unk_008);
|
||||
func_800281D4(&sp20, sp1C->unk_028, sp1C->unk_002);
|
||||
func_80026684(0x15, 0);
|
||||
}
|
||||
@@ -560,7 +560,7 @@ s32 func_8002C5E8(void) {
|
||||
D_800AE540.unk_11F0 = sp250.unk_0D;
|
||||
tmp = sp250.unk_0E;
|
||||
|
||||
func_80021B5C(sp44, sp250.unk_10);
|
||||
DecodeMonNameSafe(sp44, sp250.unk_10);
|
||||
func_8002B840(0, func_8002B700(0, tmp, sp44, sp44));
|
||||
func_8002B840(1, func_8002B700(-1, tmp, "COM", func_8002311C(3)));
|
||||
|
||||
|
||||
@@ -566,7 +566,7 @@ void func_81302548(void) {
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
func_80025040(i, &sp48);
|
||||
func_80021B5C(D_81303FA8[i].unk_08, sp48.unk_02);
|
||||
DecodeMonNameSafe(D_81303FA8[i].unk_08, sp48.unk_02);
|
||||
D_81303FA8[i].unk_06 = sp48.unk_00;
|
||||
D_81303FA8[i].unk_01 = func_80024F68(i);
|
||||
D_81303FA8[i].unk_00 = func_80024F00(i);
|
||||
|
||||
@@ -285,7 +285,7 @@ void func_82F00734(void) {
|
||||
for (i = 0, ptr = &D_82F14450[0]; i < 4; i++, ptr++) {
|
||||
func_80025040(i, &sp40);
|
||||
func_80023AF8(i);
|
||||
func_80021B5C(ptr->unk_08, sp40.unk_02);
|
||||
DecodeMonNameSafe(ptr->unk_08, sp40.unk_02);
|
||||
ptr->unk_06 = sp40.unk_00;
|
||||
ptr->unk_01 = func_80024F68(i);
|
||||
ptr->unk_00 = func_80024F00(i);
|
||||
|
||||
@@ -408,7 +408,7 @@ s32 func_82F0D64C(s16 arg0, s8* arg1) {
|
||||
char sp20[64];
|
||||
|
||||
sp64 = 1;
|
||||
func_80021C80(sp20, func_82F00020(arg0));
|
||||
CopyMonName(sp20, func_82F00020(arg0));
|
||||
|
||||
var_v1 = sp20;
|
||||
while (*var_v1 != '\x00') {
|
||||
@@ -433,7 +433,7 @@ void func_82F0D6D0(s16 arg0, unk_func_80026268_arg0* arg1) {
|
||||
|
||||
if (sp2E != 0) {
|
||||
if (func_82F0D64C(sp2E, arg1->unk_30) != 0) {
|
||||
func_80021C80(arg1->unk_30, func_82F00020(arg1->unk_00.unk_00));
|
||||
CopyMonName(arg1->unk_30, func_82F00020(arg1->unk_00.unk_00));
|
||||
}
|
||||
func_80022338(arg1);
|
||||
func_800256F4(arg0, arg1->unk_00.unk_00, 3);
|
||||
|
||||
@@ -319,7 +319,7 @@ void func_83800CB0(void) {
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
func_80025040(i, &sp48);
|
||||
func_80021A90(D_83806778[i].unk_06, &sp48.unk_02);
|
||||
DecodeMonName(D_83806778[i].unk_06, &sp48.unk_02);
|
||||
D_83806778[i].unk_04 = sp48.unk_00;
|
||||
D_83806778[i].unk_01 = func_80024F68(i);
|
||||
D_83806778[i].unk_00 = func_80024F00(i);
|
||||
|
||||
@@ -2745,7 +2745,7 @@ void func_82D06AB0(void) {
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
func_80025040(i, &sp48);
|
||||
func_80021A90(&D_82D0AB38[i].unk_08, &sp48.unk_02);
|
||||
DecodeMonName(&D_82D0AB38[i].unk_08, &sp48.unk_02);
|
||||
D_82D0AB38[i].unk_06 = sp48.unk_00;
|
||||
D_82D0AB38[i].unk_01 = func_80024F68(i);
|
||||
D_82D0AB38[i].unk_00 = func_80024F00(i);
|
||||
|
||||
@@ -636,7 +636,7 @@ void func_84202D18(unk_D_8423D3D8* arg0, s16 arg1) {
|
||||
|
||||
if (arg1 < 4) {
|
||||
func_80025040(arg1, &sp38);
|
||||
func_80021A90(sp50, sp38.unk_02);
|
||||
DecodeMonName(sp50, sp38.unk_02);
|
||||
var_v1 = sp38.unk_00;
|
||||
} else {
|
||||
HAL_Strcpy(sp50, func_8002311C(1));
|
||||
@@ -923,7 +923,7 @@ void func_842037AC(void) {
|
||||
func_80023D60(temp_v0);
|
||||
func_80024208(temp_v0);
|
||||
func_80025040(temp_v0, &sp60);
|
||||
func_80021A90(sp74, sp60.unk_02);
|
||||
DecodeMonName(sp74, sp60.unk_02);
|
||||
var_s1 = sp60.unk_00;
|
||||
} else {
|
||||
HAL_Strcpy(sp74, func_8002311C(1));
|
||||
|
||||
@@ -749,7 +749,7 @@ void func_84205B3C(void) {
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
func_80025040(i, &sp48);
|
||||
func_80021A90(D_8423E518[i].unk_06, sp48.unk_02);
|
||||
DecodeMonName(D_8423E518[i].unk_06, sp48.unk_02);
|
||||
D_8423E518[i].unk_04 = sp48.unk_00;
|
||||
D_8423E518[i].unk_01 = func_80024F68(i);
|
||||
D_8423E518[i].unk_00 = func_80024F00(i);
|
||||
|
||||
Reference in New Issue
Block a user