diff options
author | tgsm <doodrabbit@hotmail.com> | 2021-03-17 00:33:05 -0400 |
---|---|---|
committer | tgsm <doodrabbit@hotmail.com> | 2021-03-17 00:33:05 -0400 |
commit | b80100f71232394f72f2a278ff30c78e46b3ffd4 (patch) | |
tree | e505a33e7979de96eb375b16b4f10e14425c1f83 | |
parent | a70ceda94c9daac7c1576dcf6c9b82c24e8167b0 (diff) |
unk_02024E64: use a struct for storing information
Also add a missing include guard and name a couple of functions.
-rw-r--r-- | arm9/global.inc | 4 | ||||
-rw-r--r-- | arm9/modules/59/asm/mod59_021D74E0_asm.s | 2 | ||||
-rw-r--r-- | arm9/src/script_buffers.c | 2 | ||||
-rw-r--r-- | arm9/src/trainer_data.c | 2 | ||||
-rw-r--r-- | arm9/src/unk_02024E64.c | 38 | ||||
-rw-r--r-- | include/unk_02024E64.h | 27 |
6 files changed, 44 insertions, 31 deletions
diff --git a/arm9/global.inc b/arm9/global.inc index d816d92a..7c53db63 100644 --- a/arm9/global.inc +++ b/arm9/global.inc @@ -1582,8 +1582,8 @@ .extern FUN_02024EC0 .extern FUN_02024ECC .extern FUN_02024ED8 -.extern FUN_02024EE8 -.extern FUN_02024EF4 +.extern GetRivalNamePtr +.extern RivalsNameToU16Array .extern FUN_02024F0C .extern FUN_02024F18 .extern Options_new diff --git a/arm9/modules/59/asm/mod59_021D74E0_asm.s b/arm9/modules/59/asm/mod59_021D74E0_asm.s index cd947e57..447b763f 100644 --- a/arm9/modules/59/asm/mod59_021D74E0_asm.s +++ b/arm9/modules/59/asm/mod59_021D74E0_asm.s @@ -181,7 +181,7 @@ MOD59_021D76C0: ; 0x021D76C0 bl FUN_02024EB4 ldr r1, [r4, #0x74] ldr r1, [r1, #0x18] - bl FUN_02024EF4 + bl RivalsNameToU16Array ldr r0, [r4, #0x70] bl FUN_02077AC4 ldr r0, [r4, #0x74] diff --git a/arm9/src/script_buffers.c b/arm9/src/script_buffers.c index 293c0bac..e9a55051 100644 --- a/arm9/src/script_buffers.c +++ b/arm9/src/script_buffers.c @@ -130,7 +130,7 @@ void BufferPlayersName(struct ScrStrBufs * mgr, u32 idx, struct PlayerData * dat void BufferRivalsName(struct ScrStrBufs * mgr, u32 idx, struct SaveBlock2 * sav2) { - u16 * name = FUN_02024EE8(FUN_02024EC0(sav2)); + u16 * name = GetRivalNamePtr(FUN_02024EC0(sav2)); CopyU16ArrayToString(mgr->tmpbuf, name); SetStringAsPlaceholder(mgr, idx, mgr->tmpbuf, NULL); } diff --git a/arm9/src/trainer_data.c b/arm9/src/trainer_data.c index a797956c..f161b302 100644 --- a/arm9/src/trainer_data.c +++ b/arm9/src/trainer_data.c @@ -22,7 +22,7 @@ void EnemyTrainerSet_Init(struct BattleSetupStruct * enemies, struct SaveBlock2 // FIXME: String formatting in files/msgdata/msg/narc_0559.txt is abnormal. msgData = NewMsgDataFromNarc(1, NARC_MSGDATA_MSG, 559, heap_id); - rivalName = FUN_02024EE8(FUN_02024EC0(sav2)); + rivalName = GetRivalNamePtr(FUN_02024EC0(sav2)); for (i = 0; i < 4; i++) { if (enemies->trainer_idxs[i] != 0) diff --git a/arm9/src/unk_02024E64.c b/arm9/src/unk_02024E64.c index fc596418..d8682531 100644 --- a/arm9/src/unk_02024E64.c +++ b/arm9/src/unk_02024E64.c @@ -5,22 +5,22 @@ extern void FUN_02025484(void *param0); THUMB_FUNC u32 FUN_02024E64() { - return 0x74C; + return sizeof(struct UnkStruct_02024E64); } -THUMB_FUNC void FUN_02024E6C(void *param0) +THUMB_FUNC void FUN_02024E6C(struct UnkStruct_02024E64 *param0) { - MIi_CpuClearFast(0, param0, 0x74C); + MIi_CpuClearFast(0, param0, sizeof(struct UnkStruct_02024E64)); - FUN_020250A4(param0); + FUN_020250A4(param0->unk0); - FUN_02025484(param0 + (7 << 8)); + FUN_02025484(param0->unk700); - MIi_CpuClear16(0xFFFF, param0 + 0x724, 8); - MIi_CpuClear16(0xFFFF, param0 + 0x734, 0xb); + MIi_CpuClear16(0xFFFF, param0->rival_name_buf, sizeof(param0->rival_name_buf) / sizeof(u16)); + MIi_CpuClear16(0xFFFF, param0->unk734, sizeof(param0->unk734) / sizeof(u16)); } -THUMB_FUNC void *FUN_02024EB4(struct SaveBlock2 *sav2) +THUMB_FUNC struct UnkStruct_02024E64 *FUN_02024EB4(struct SaveBlock2 *sav2) { return SavArray_get(sav2, 0xa); } @@ -30,33 +30,33 @@ THUMB_FUNC void *FUN_02024EC0(struct SaveBlock2 *sav2) return FUN_02022634(sav2, 0xa); } -THUMB_FUNC void *FUN_02024ECC(struct SaveBlock2 *sav2) +THUMB_FUNC struct UnkStruct_02024E64 *FUN_02024ECC(struct SaveBlock2 *sav2) { return SavArray_get(sav2, 0xa); } THUMB_FUNC void *FUN_02024ED8(struct SaveBlock2 *sav2) { - void *res = SavArray_get(sav2, 0xa); - return res + (7 << 8); + struct UnkStruct_02024E64 *res = SavArray_get(sav2, 0xa); + return res->unk700; } -THUMB_FUNC u16 *FUN_02024EE8(void *buf) +THUMB_FUNC u16 *GetRivalNamePtr(struct UnkStruct_02024E64 *unk) { - return buf + 0x724; + return unk->rival_name_buf; } -THUMB_FUNC void FUN_02024EF4(u16 *buf, struct String *str) +THUMB_FUNC void RivalsNameToU16Array(struct UnkStruct_02024E64 *unk, struct String *str) { - CopyStringToU16Array(str, buf + 0x392, 8); + CopyStringToU16Array(str, unk->rival_name_buf, sizeof(unk->rival_name_buf) / sizeof(u16)); } -THUMB_FUNC u16 *FUN_02024F0C(void *buf) +THUMB_FUNC u16 *FUN_02024F0C(struct UnkStruct_02024E64 *unk) { - return buf + 0x734; + return unk->unk734; } -THUMB_FUNC void FUN_02024F18(u16 *buf, struct String *str) +THUMB_FUNC void FUN_02024F18(struct UnkStruct_02024E64 *unk, struct String *str) { - CopyStringToU16Array(str, buf + 0x39A, 0xb); + CopyStringToU16Array(str, unk->unk734, sizeof(unk->unk734) / sizeof(u16)); } diff --git a/include/unk_02024E64.h b/include/unk_02024E64.h index b5cfaa6e..ed1bd447 100644 --- a/include/unk_02024E64.h +++ b/include/unk_02024E64.h @@ -1,15 +1,28 @@ +#ifndef POKEDIAMOND_UNK_02024E64_H +#define POKEDIAMOND_UNK_02024E64_H + #include "global.h" #include "MI_memory.h" #include "save_block_2.h" #include "string16.h" +struct UnkStruct_02024E64 { + u8 unk0[0xE][0x80]; + u8 unk700[0x24]; + u16 rival_name_buf[0x8]; + u16 unk734[0xB]; + u8 unk74A[2]; // might be padding +}; + THUMB_FUNC u32 FUN_02024E64(); -THUMB_FUNC void FUN_02024E6C(void *param0); -THUMB_FUNC void *FUN_02024EB4(struct SaveBlock2 *sav2); +THUMB_FUNC void FUN_02024E6C(struct UnkStruct_02024E64 *param0); +THUMB_FUNC struct UnkStruct_02024E64 *FUN_02024EB4(struct SaveBlock2 *sav2); THUMB_FUNC void *FUN_02024EC0(struct SaveBlock2 *sav2); -THUMB_FUNC void *FUN_02024ECC(struct SaveBlock2 *sav2); +THUMB_FUNC struct UnkStruct_02024E64 *FUN_02024ECC(struct SaveBlock2 *sav2); THUMB_FUNC void *FUN_02024ED8(struct SaveBlock2 *sav2); -THUMB_FUNC u16 *FUN_02024EE8(void *buf); -THUMB_FUNC void FUN_02024EF4(u16 *buf, struct String *str); -THUMB_FUNC u16 *FUN_02024F0C(void *buf); -THUMB_FUNC void FUN_02024F18(u16 *buf, struct String *str); +THUMB_FUNC u16 *GetRivalNamePtr(struct UnkStruct_02024E64 *unk); +THUMB_FUNC void RivalsNameToU16Array(struct UnkStruct_02024E64 *unk, struct String *str); +THUMB_FUNC u16 *FUN_02024F0C(struct UnkStruct_02024E64 *unk); +THUMB_FUNC void FUN_02024F18(struct UnkStruct_02024E64 *unk, struct String *str); + +#endif |