summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortgsm <doodrabbit@hotmail.com>2021-03-17 00:33:05 -0400
committertgsm <doodrabbit@hotmail.com>2021-03-17 00:33:05 -0400
commitb80100f71232394f72f2a278ff30c78e46b3ffd4 (patch)
treee505a33e7979de96eb375b16b4f10e14425c1f83
parenta70ceda94c9daac7c1576dcf6c9b82c24e8167b0 (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.inc4
-rw-r--r--arm9/modules/59/asm/mod59_021D74E0_asm.s2
-rw-r--r--arm9/src/script_buffers.c2
-rw-r--r--arm9/src/trainer_data.c2
-rw-r--r--arm9/src/unk_02024E64.c38
-rw-r--r--include/unk_02024E64.h27
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