summaryrefslogtreecommitdiff
path: root/arm9
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2020-09-02 15:17:31 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2020-09-02 15:17:31 -0400
commit2fce2765829380a244a84b5ccf6f08086f820c9a (patch)
tree7fa145091f674904db22774494f93ebd62aefde3 /arm9
parentf6a2e70835d549685d6a6ebf6b861c7582234878 (diff)
Decompile seal_case
Diffstat (limited to 'arm9')
-rw-r--r--arm9/arm9.lsf2
-rw-r--r--arm9/asm/scrcmd.s6
-rw-r--r--arm9/asm/scrcmd_12.s4
-rw-r--r--arm9/asm/scrcmd_4.s2
-rw-r--r--arm9/asm/scrcmd_8.s4
-rw-r--r--arm9/asm/unk_02029C58.s102
-rw-r--r--arm9/asm/unk_02060CCC.s4
-rw-r--r--arm9/asm/unk_0206E2F0.s2
-rw-r--r--arm9/asm/unk_0206F3FC.s4
-rw-r--r--arm9/asm/unk_02079C70.s4
-rw-r--r--arm9/asm/unk_020859C0.s265
-rw-r--r--arm9/asm/unk_02088F0C.s12
-rw-r--r--arm9/global.inc44
-rw-r--r--arm9/modules/06/asm/module_06.s2
-rw-r--r--arm9/modules/07/asm/module_07.s4
-rw-r--r--arm9/modules/08/asm/module_08.s28
-rw-r--r--arm9/modules/09/asm/module_09.s10
-rw-r--r--arm9/modules/11/asm/module_11_thumb1.s4
-rw-r--r--arm9/modules/11/asm/module_11_thumb2.s2
-rw-r--r--arm9/modules/14/asm/module_14.s12
-rw-r--r--arm9/modules/15/asm/module_15.s2
-rw-r--r--arm9/modules/18/asm/module_18.s6
-rw-r--r--arm9/modules/62/asm/module_62.s22
-rw-r--r--arm9/modules/67/asm/module_67.s8
-rw-r--r--arm9/modules/68/asm/module_68.s4
-rw-r--r--arm9/modules/75/asm/module_75.s4
-rw-r--r--arm9/modules/80/asm/module_80.s2
-rw-r--r--arm9/src/mail_message.c6
-rw-r--r--arm9/src/pokemon.c4
-rw-r--r--arm9/src/save_arrays.c8
-rw-r--r--arm9/src/script_buffers.c21
-rw-r--r--arm9/src/seal_case.c59
-rw-r--r--arm9/src/unk_020139D8.c106
33 files changed, 408 insertions, 361 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf
index 6abd904a..274f2ccd 100644
--- a/arm9/arm9.lsf
+++ b/arm9/arm9.lsf
@@ -104,7 +104,7 @@ Static arm9
Object unk_02028980.o
Object unk_02029A84.o
Object unk_02029AE0.o
- Object unk_02029C58.o
+ Object seal_case.o
Object unk_02029CEC.o
Object igt.o
Object unk_02029EC4.o
diff --git a/arm9/asm/scrcmd.s b/arm9/asm/scrcmd.s
index affbe1c1..2f0cb3ef 100644
--- a/arm9/asm/scrcmd.s
+++ b/arm9/asm/scrcmd.s
@@ -3863,7 +3863,7 @@ FUN_0203B7F0: ; 0x0203B7F0
add r4, r0, #0x0
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_02029C80
+ bl Sav2_SealCase_get
bl FUN_02029E0C
strh r0, [r4, #0x0]
mov r0, #0x0
@@ -3892,7 +3892,7 @@ FUN_0203B81C: ; 0x0203B81C
add r4, r0, #0x0
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_02029C80
+ bl Sav2_SealCase_get
add r1, r6, #0x0
bl FUN_02029E2C
strh r0, [r4, #0x0]
@@ -3921,7 +3921,7 @@ FUN_0203B85C: ; 0x0203B85C
add r4, r0, #0x0
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_02029C80
+ bl Sav2_SealCase_get
lsl r2, r4, #0x10
add r1, r6, #0x0
asr r2, r2, #0x10
diff --git a/arm9/asm/scrcmd_12.s b/arm9/asm/scrcmd_12.s
index a434a5cb..cc011b0f 100644
--- a/arm9/asm/scrcmd_12.s
+++ b/arm9/asm/scrcmd_12.s
@@ -985,7 +985,7 @@ FUN_020434B0: ; 0x020434B0
b _020434E2
_020434CA:
ldr r0, [r5, #0xc]
- bl FUN_02029C80
+ bl Sav2_SealCase_get
add r1, r4, #0x0
mov r2, #0x1
bl FUN_02029DD4
@@ -1017,7 +1017,7 @@ FUN_020434E8: ; 0x020434E8
pop {r3-r5, pc}
_02043502:
ldr r0, [r5, #0xc]
- bl FUN_02029C80
+ bl Sav2_SealCase_get
add r1, r4, #0x0
mov r2, #0x1
bl FUN_02029D44
diff --git a/arm9/asm/scrcmd_4.s b/arm9/asm/scrcmd_4.s
index 14d6ef99..3bad9d50 100644
--- a/arm9/asm/scrcmd_4.s
+++ b/arm9/asm/scrcmd_4.s
@@ -1308,6 +1308,6 @@ FUN_02041174: ; 0x02041174
str r1, [r4, #0x8]
ldrb r1, [r2, #0x0]
ldr r0, [r0, #0x0]
- bl FUN_0200B7A8
+ bl ScrStrBufs_UpperFirstChar
mov r0, #0x0
pop {r4, pc}
diff --git a/arm9/asm/scrcmd_8.s b/arm9/asm/scrcmd_8.s
index 84b2eb30..fbb5b223 100644
--- a/arm9/asm/scrcmd_8.s
+++ b/arm9/asm/scrcmd_8.s
@@ -110,7 +110,7 @@ _02041CF2:
ldr r0, [r6, #0x0]
add r1, r7, #0x0
add r2, r5, #0x0
- bl FUN_0200B708
+ bl BufferEasyChatWord
b _02041E38
_02041D28:
add r0, r4, #0x0
@@ -133,7 +133,7 @@ _02041D28:
ldr r0, [r6, #0x0]
add r1, r7, #0x0
add r2, r5, #0x0
- bl FUN_0200B708
+ bl BufferEasyChatWord
b _02041E38
_02041D5E:
mov r1, #0x0
diff --git a/arm9/asm/unk_02029C58.s b/arm9/asm/unk_02029C58.s
deleted file mode 100644
index bc21a139..00000000
--- a/arm9/asm/unk_02029C58.s
+++ /dev/null
@@ -1,102 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- thumb_func_start FUN_02029C58
-FUN_02029C58: ; 0x02029C58
- mov r0, #0x17
- lsl r0, r0, #0x4
- bx lr
- .balign 4
-
- thumb_func_start FUN_02029C60
-FUN_02029C60: ; 0x02029C60
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02029C58
- add r2, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x0
- bl MI_CpuFill8
- pop {r4, pc}
-
- thumb_func_start FUN_02029C74
-FUN_02029C74: ; 0x02029C74
- ldr r3, _02029C7C ; =MI_CpuCopy8
- mov r2, #0x18
- bx r3
- nop
-_02029C7C: .word MI_CpuCopy8
-
- thumb_func_start FUN_02029C80
-FUN_02029C80: ; 0x02029C80
- ldr r3, _02029C88 ; =SavArray_get
- mov r1, #0x15
- bx r3
- nop
-_02029C88: .word SavArray_get
-
- thumb_func_start FUN_02029C8C
-FUN_02029C8C: ; 0x02029C8C
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0xc
- blt _02029C9A
- bl ErrorHandling
-_02029C9A:
- mov r0, #0x18
- mul r0, r4
- add r0, r5, r0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02029CA4
-FUN_02029CA4: ; 0x02029CA4
- push {r4-r6, lr}
- add r6, r2, #0x0
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r6, #0xc
- blt _02029CB4
- bl ErrorHandling
-_02029CB4:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02029C8C
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02029C74
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02029CC8
-FUN_02029CC8: ; 0x02029CC8
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x8
- blt _02029CD6
- bl ErrorHandling
-_02029CD6:
- lsl r0, r4, #0x1
- add r0, r4, r0
- add r0, r5, r0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02029CE0
-FUN_02029CE0: ; 0x02029CE0
- ldrb r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02029CE4
-FUN_02029CE4: ; 0x02029CE4
- ldrb r0, [r0, #0x1]
- bx lr
-
- thumb_func_start FUN_02029CE8
-FUN_02029CE8: ; 0x02029CE8
- ldrb r0, [r0, #0x2]
- bx lr
diff --git a/arm9/asm/unk_02060CCC.s b/arm9/asm/unk_02060CCC.s
index 3265d601..44e19c06 100644
--- a/arm9/asm/unk_02060CCC.s
+++ b/arm9/asm/unk_02060CCC.s
@@ -2783,7 +2783,7 @@ _0206211E:
ldr r1, [r1, #0xc]
ldr r2, [sp, #0xc]
mov r3, #0x0
- bl FUN_0200B708
+ bl BufferEasyChatWord
mov r0, #0x0
str r0, [sp, #0x0]
ldr r1, [sp, #0x4]
@@ -2791,7 +2791,7 @@ _0206211E:
ldr r1, [r1, #0xc]
ldr r2, [sp, #0xc]
mov r3, #0x1
- bl FUN_0200B708
+ bl BufferEasyChatWord
ldr r0, [sp, #0x8]
mov r1, #0x2
add r2, r4, #0x0
diff --git a/arm9/asm/unk_0206E2F0.s b/arm9/asm/unk_0206E2F0.s
index 6741fd51..ab6068fc 100644
--- a/arm9/asm/unk_0206E2F0.s
+++ b/arm9/asm/unk_0206E2F0.s
@@ -134,7 +134,7 @@ FUN_0206E39C: ; 0x0206E39C
thumb_func_start FUN_0206E3A8
FUN_0206E3A8: ; 0x0206E3A8
push {r4-r6, lr}
- bl FUN_02029C80
+ bl Sav2_SealCase_get
add r6, r0, #0x0
mov r5, #0x0
mov r4, #0x1
diff --git a/arm9/asm/unk_0206F3FC.s b/arm9/asm/unk_0206F3FC.s
index 212030cc..d2024491 100644
--- a/arm9/asm/unk_0206F3FC.s
+++ b/arm9/asm/unk_0206F3FC.s
@@ -1005,7 +1005,7 @@ _0206FAFC:
bl DestroyMsgData
ldr r0, _0206FB50 ; =0x00000698
ldr r0, [r6, r0]
- bl FUN_0200B990
+ bl MessagePrinter_delete
mov r0, #0x6a
lsl r0, r0, #0x4
ldr r0, [r6, r0]
@@ -1438,7 +1438,7 @@ _0206FEC2:
mov r0, #0xf
mov r1, #0xe
mov r3, #0xc
- bl FUN_0200B870
+ bl MessagePrinter_new
ldr r1, _0206FF64 ; =0x00000698
str r0, [r6, r1]
mov r0, #0xc
diff --git a/arm9/asm/unk_02079C70.s b/arm9/asm/unk_02079C70.s
index 33c0a040..8bace89f 100644
--- a/arm9/asm/unk_02079C70.s
+++ b/arm9/asm/unk_02079C70.s
@@ -664,7 +664,7 @@ FUN_0207A1A0: ; 0x0207A1A0
mov r0, #0x1
mov r1, #0x2
mov r3, #0x13
- bl FUN_0200B870
+ bl MessagePrinter_new
mov r1, #0x67
lsl r1, r1, #0x4
str r0, [r4, r1]
@@ -742,7 +742,7 @@ FUN_0207A264: ; 0x0207A264
mov r0, #0x67
lsl r0, r0, #0x4
ldr r0, [r4, r0]
- bl FUN_0200B990
+ bl MessagePrinter_delete
ldr r0, _0207A2D0 ; =0x0000067C
ldr r0, [r4, r0]
bl ScrStrBufs_delete
diff --git a/arm9/asm/unk_020859C0.s b/arm9/asm/unk_020859C0.s
index 7b65b9e5..846e5336 100644
--- a/arm9/asm/unk_020859C0.s
+++ b/arm9/asm/unk_020859C0.s
@@ -11,77 +11,168 @@ UNK_020FCAD8: ; 0x020FCAD8
.global UNK_020FCAE8
UNK_020FCAE8: ; 0x020FCAE8
- .byte 0xB8, 0x00
-
- .global UNK_020FCAEA
-UNK_020FCAEA: ; 0x020FCAEA
- .byte 0x00, 0x25
-
- .global UNK_020FCAEC
-UNK_020FCAEC: ; 0x020FCAEC
- .byte 0x25
-
- .global UNK_020FCAED
-UNK_020FCAED: ; 0x020FCAED
- .byte 0x00
-
- .global UNK_020FCAEE
-UNK_020FCAEE: ; 0x020FCAEE
- .byte 0xE7, 0x03
-
- .global UNK_020FCAF0
-UNK_020FCAF0: ; 0x020FCAF0
- .byte 0x00, 0x00, 0xB9, 0x00, 0x01, 0x25, 0x25, 0x00, 0x32, 0x00, 0x00, 0x00, 0xBA, 0x00, 0x02, 0x25
- .byte 0x26, 0x00, 0x32, 0x00, 0x01, 0x00, 0xBB, 0x00, 0x03, 0x25, 0x27, 0x00, 0x32, 0x00, 0x02, 0x00
- .byte 0xBC, 0x00, 0x04, 0x25, 0x28, 0x00, 0x32, 0x00, 0x03, 0x00, 0xBD, 0x00, 0x05, 0x25, 0x29, 0x00
- .byte 0x64, 0x00, 0x04, 0x00, 0xBE, 0x00, 0x06, 0x25, 0x2A, 0x00, 0x64, 0x00, 0x05, 0x00, 0xC0, 0x00
- .byte 0x07, 0x25, 0x2B, 0x00, 0x32, 0x00, 0x06, 0x00, 0xBF, 0x00, 0x08, 0x25, 0x2C, 0x00, 0x32, 0x00
- .byte 0x07, 0x00, 0xC2, 0x00, 0x09, 0x25, 0x2D, 0x00, 0x32, 0x00, 0x08, 0x00, 0xC1, 0x00, 0x0A, 0x25
- .byte 0x2E, 0x00, 0x32, 0x00, 0x09, 0x00, 0xC4, 0x00, 0x0B, 0x25, 0x2F, 0x00, 0x64, 0x00, 0x0A, 0x00
- .byte 0xC3, 0x00, 0x0C, 0x25, 0x30, 0x00, 0x64, 0x00, 0x0B, 0x00, 0xC5, 0x00, 0x0D, 0x25, 0x31, 0x00
- .byte 0x64, 0x00, 0x0C, 0x00, 0xC6, 0x00, 0x0E, 0x25, 0x32, 0x00, 0x64, 0x00, 0x0D, 0x00, 0xC7, 0x00
- .byte 0x0F, 0x25, 0x33, 0x00, 0x64, 0x00, 0x0E, 0x00, 0xC8, 0x00, 0x4D, 0x25, 0x34, 0x00, 0x64, 0x00
- .byte 0x0F, 0x00, 0xC9, 0x00, 0x10, 0x25, 0x39, 0x00, 0x64, 0x00, 0x10, 0x00, 0xCA, 0x00, 0x11, 0x25
- .byte 0x3A, 0x00, 0x64, 0x00, 0x11, 0x00, 0xCB, 0x00, 0x12, 0x25, 0x3B, 0x00, 0x64, 0x00, 0x12, 0x00
- .byte 0xCC, 0x00, 0x13, 0x25, 0x3C, 0x00, 0x64, 0x00, 0x13, 0x00, 0xCD, 0x00, 0x14, 0x25, 0x35, 0x00
- .byte 0x64, 0x00, 0x14, 0x00, 0xCE, 0x00, 0x15, 0x25, 0x36, 0x00, 0x64, 0x00, 0x15, 0x00, 0xCF, 0x00
- .byte 0x16, 0x25, 0x37, 0x00, 0x64, 0x00, 0x16, 0x00, 0xD0, 0x00, 0x17, 0x25, 0x38, 0x00, 0x64, 0x00
- .byte 0x17, 0x00, 0xD1, 0x00, 0x18, 0x25, 0x3D, 0x00, 0x32, 0x00, 0x18, 0x00, 0xD2, 0x00, 0x19, 0x25
- .byte 0x3E, 0x00, 0x32, 0x00, 0x19, 0x00, 0xD3, 0x00, 0x1A, 0x25, 0x3F, 0x00, 0x32, 0x00, 0x1A, 0x00
- .byte 0xD4, 0x00, 0x1B, 0x25, 0x40, 0x00, 0x32, 0x00, 0x1B, 0x00, 0xD6, 0x00, 0x1C, 0x25, 0x41, 0x00
- .byte 0x32, 0x00, 0x1C, 0x00, 0xD5, 0x00, 0x1D, 0x25, 0x42, 0x00, 0x32, 0x00, 0x1D, 0x00, 0xD8, 0x00
- .byte 0x1E, 0x25, 0x43, 0x00, 0x32, 0x00, 0x1E, 0x00, 0xD7, 0x00, 0x1F, 0x25, 0x44, 0x00, 0x32, 0x00
- .byte 0x1F, 0x00, 0xD9, 0x00, 0x20, 0x25, 0x45, 0x00, 0x32, 0x00, 0x20, 0x00, 0xDA, 0x00, 0x21, 0x25
- .byte 0x46, 0x00, 0x32, 0x00, 0x21, 0x00, 0xDB, 0x00, 0x22, 0x25, 0x47, 0x00, 0x64, 0x00, 0x22, 0x00
- .byte 0xDC, 0x00, 0x23, 0x25, 0x48, 0x00, 0x64, 0x00, 0x23, 0x00, 0xDD, 0x00, 0x24, 0x25, 0x49, 0x00
- .byte 0x32, 0x00, 0x24, 0x00, 0xDE, 0x00, 0x25, 0x25, 0x4A, 0x00, 0x32, 0x00, 0x25, 0x00, 0xDF, 0x00
- .byte 0x26, 0x25, 0x4B, 0x00, 0x32, 0x00, 0x26, 0x00, 0xE0, 0x00, 0x27, 0x25, 0x4C, 0x00, 0x32, 0x00
- .byte 0x27, 0x00, 0xE1, 0x00, 0x28, 0x25, 0x4D, 0x00, 0x32, 0x00, 0x28, 0x00, 0xE2, 0x00, 0x29, 0x25
- .byte 0x4E, 0x00, 0x32, 0x00, 0x29, 0x00, 0xE3, 0x00, 0x2A, 0x25, 0x4F, 0x00, 0x32, 0x00, 0x2A, 0x00
- .byte 0xE4, 0x00, 0x2B, 0x25, 0x50, 0x00, 0x32, 0x00, 0x2B, 0x00, 0xE5, 0x00, 0x2C, 0x25, 0x51, 0x00
- .byte 0x32, 0x00, 0x2C, 0x00, 0xE6, 0x00, 0x2D, 0x25, 0x52, 0x00, 0x32, 0x00, 0x2D, 0x00, 0xE7, 0x00
- .byte 0x2E, 0x25, 0x53, 0x00, 0x32, 0x00, 0x2E, 0x00, 0xE8, 0x00, 0x2F, 0x25, 0x54, 0x00, 0x32, 0x00
- .byte 0x2F, 0x00, 0xE9, 0x00, 0x30, 0x25, 0x55, 0x00, 0x32, 0x00, 0x30, 0x00, 0xEA, 0x00, 0x31, 0x25
- .byte 0x56, 0x01, 0x00, 0x00, 0x00, 0x00, 0xEB, 0x00, 0x32, 0x25, 0x57, 0x01, 0x00, 0x00, 0x00, 0x00
- .byte 0xEC, 0x00, 0x33, 0x25, 0x58, 0x01, 0x00, 0x00, 0x00, 0x00, 0xED, 0x00, 0x34, 0x25, 0x59, 0x01
- .byte 0x00, 0x00, 0x00, 0x00, 0xEE, 0x00, 0x35, 0x25, 0x5A, 0x01, 0x00, 0x00, 0x00, 0x00, 0xEF, 0x00
- .byte 0x36, 0x25, 0x5B, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x37, 0x25, 0x5C, 0x01, 0x00, 0x00
- .byte 0x00, 0x00, 0xF1, 0x00, 0x38, 0x25, 0x5D, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x39, 0x25
- .byte 0x5E, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF3, 0x00, 0x3A, 0x25, 0x5F, 0x01, 0x00, 0x00, 0x00, 0x00
- .byte 0xF4, 0x00, 0x3B, 0x25, 0x60, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF5, 0x00, 0x3C, 0x25, 0x61, 0x01
- .byte 0x00, 0x00, 0x00, 0x00, 0xF6, 0x00, 0x3D, 0x25, 0x62, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF7, 0x00
- .byte 0x3E, 0x25, 0x63, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x3F, 0x25, 0x64, 0x01, 0x00, 0x00
- .byte 0x00, 0x00, 0xF9, 0x00, 0x40, 0x25, 0x65, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x41, 0x25
- .byte 0x66, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFB, 0x00, 0x42, 0x25, 0x67, 0x01, 0x00, 0x00, 0x00, 0x00
- .byte 0xFC, 0x00, 0x43, 0x25, 0x68, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x44, 0x25, 0x69, 0x01
- .byte 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x45, 0x25, 0x6A, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
- .byte 0x46, 0x25, 0x6B, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x47, 0x25, 0x6C, 0x01, 0x00, 0x00
- .byte 0x00, 0x00, 0x01, 0x01, 0x48, 0x25, 0x6D, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x49, 0x25
- .byte 0x6E, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x4A, 0x25, 0x6F, 0x01, 0x00, 0x00, 0x00, 0x00
- .byte 0x04, 0x01, 0x4B, 0x25, 0x70, 0x01, 0x00, 0x00, 0x00, 0x00, 0x05, 0x01, 0x4C, 0x25, 0x71, 0x01
- .byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x01, 0x4E, 0x25, 0x72, 0x00, 0x00, 0x00, 0x31, 0x00, 0x07, 0x01
- .byte 0x4F, 0x25, 0x73, 0x00, 0x00, 0x00, 0x32, 0x00, 0x08, 0x01, 0x50, 0x25, 0x74, 0x00, 0x00, 0x00
- .byte 0x33, 0x00, 0x00, 0x00
+ .short 0x00B8
+ .byte 0x00, 0x25, 0x25, 0x00, 0xE7, 0x03, 0x00, 0x00
+ .short 0x00B9
+ .byte 0x01, 0x25, 0x25, 0x00, 0x32, 0x00, 0x00, 0x00
+ .short 0x00BA
+ .byte 0x02, 0x25, 0x26, 0x00, 0x32, 0x00, 0x01, 0x00
+ .short 0x00BB
+ .byte 0x03, 0x25, 0x27, 0x00, 0x32, 0x00, 0x02, 0x00
+ .short 0x00BC
+ .byte 0x04, 0x25, 0x28, 0x00, 0x32, 0x00, 0x03, 0x00
+ .short 0x00BD
+ .byte 0x05, 0x25, 0x29, 0x00, 0x64, 0x00, 0x04, 0x00
+ .short 0x00BE
+ .byte 0x06, 0x25, 0x2A, 0x00, 0x64, 0x00, 0x05, 0x00
+ .short 0x00C0
+ .byte 0x07, 0x25, 0x2B, 0x00, 0x32, 0x00, 0x06, 0x00
+ .short 0x00BF
+ .byte 0x08, 0x25, 0x2C, 0x00, 0x32, 0x00, 0x07, 0x00
+ .short 0x00C2
+ .byte 0x09, 0x25, 0x2D, 0x00, 0x32, 0x00, 0x08, 0x00
+ .short 0x00C1
+ .byte 0x0A, 0x25, 0x2E, 0x00, 0x32, 0x00, 0x09, 0x00
+ .short 0x00C4
+ .byte 0x0B, 0x25, 0x2F, 0x00, 0x64, 0x00, 0x0A, 0x00
+ .short 0x00C3
+ .byte 0x0C, 0x25, 0x30, 0x00, 0x64, 0x00, 0x0B, 0x00
+ .short 0x00C5
+ .byte 0x0D, 0x25, 0x31, 0x00, 0x64, 0x00, 0x0C, 0x00
+ .short 0x00C6
+ .byte 0x0E, 0x25, 0x32, 0x00, 0x64, 0x00, 0x0D, 0x00
+ .short 0x00C7
+ .byte 0x0F, 0x25, 0x33, 0x00, 0x64, 0x00, 0x0E, 0x00
+ .short 0x00C8
+ .byte 0x4D, 0x25, 0x34, 0x00, 0x64, 0x00, 0x0F, 0x00
+ .short 0x00C9
+ .byte 0x10, 0x25, 0x39, 0x00, 0x64, 0x00, 0x10, 0x00
+ .short 0x00CA
+ .byte 0x11, 0x25, 0x3A, 0x00, 0x64, 0x00, 0x11, 0x00
+ .short 0x00CB
+ .byte 0x12, 0x25, 0x3B, 0x00, 0x64, 0x00, 0x12, 0x00
+ .short 0x00CC
+ .byte 0x13, 0x25, 0x3C, 0x00, 0x64, 0x00, 0x13, 0x00
+ .short 0x00CD
+ .byte 0x14, 0x25, 0x35, 0x00, 0x64, 0x00, 0x14, 0x00
+ .short 0x00CE
+ .byte 0x15, 0x25, 0x36, 0x00, 0x64, 0x00, 0x15, 0x00
+ .short 0x00CF
+ .byte 0x16, 0x25, 0x37, 0x00, 0x64, 0x00, 0x16, 0x00
+ .short 0x00D0
+ .byte 0x17, 0x25, 0x38, 0x00, 0x64, 0x00, 0x17, 0x00
+ .short 0x00D1
+ .byte 0x18, 0x25, 0x3D, 0x00, 0x32, 0x00, 0x18, 0x00
+ .short 0x00D2
+ .byte 0x19, 0x25, 0x3E, 0x00, 0x32, 0x00, 0x19, 0x00
+ .short 0x00D3
+ .byte 0x1A, 0x25, 0x3F, 0x00, 0x32, 0x00, 0x1A, 0x00
+ .short 0x00D4
+ .byte 0x1B, 0x25, 0x40, 0x00, 0x32, 0x00, 0x1B, 0x00
+ .short 0x00D6
+ .byte 0x1C, 0x25, 0x41, 0x00, 0x32, 0x00, 0x1C, 0x00
+ .short 0x00D5
+ .byte 0x1D, 0x25, 0x42, 0x00, 0x32, 0x00, 0x1D, 0x00
+ .short 0x00D8
+ .byte 0x1E, 0x25, 0x43, 0x00, 0x32, 0x00, 0x1E, 0x00
+ .short 0x00D7
+ .byte 0x1F, 0x25, 0x44, 0x00, 0x32, 0x00, 0x1F, 0x00
+ .short 0x00D9
+ .byte 0x20, 0x25, 0x45, 0x00, 0x32, 0x00, 0x20, 0x00
+ .short 0x00DA
+ .byte 0x21, 0x25, 0x46, 0x00, 0x32, 0x00, 0x21, 0x00
+ .short 0x00DB
+ .byte 0x22, 0x25, 0x47, 0x00, 0x64, 0x00, 0x22, 0x00
+ .short 0x00DC
+ .byte 0x23, 0x25, 0x48, 0x00, 0x64, 0x00, 0x23, 0x00
+ .short 0x00DD
+ .byte 0x24, 0x25, 0x49, 0x00, 0x32, 0x00, 0x24, 0x00
+ .short 0x00DE
+ .byte 0x25, 0x25, 0x4A, 0x00, 0x32, 0x00, 0x25, 0x00
+ .short 0x00DF
+ .byte 0x26, 0x25, 0x4B, 0x00, 0x32, 0x00, 0x26, 0x00
+ .short 0x00E0
+ .byte 0x27, 0x25, 0x4C, 0x00, 0x32, 0x00, 0x27, 0x00
+ .short 0x00E1
+ .byte 0x28, 0x25, 0x4D, 0x00, 0x32, 0x00, 0x28, 0x00
+ .short 0x00E2
+ .byte 0x29, 0x25, 0x4E, 0x00, 0x32, 0x00, 0x29, 0x00
+ .short 0x00E3
+ .byte 0x2A, 0x25, 0x4F, 0x00, 0x32, 0x00, 0x2A, 0x00
+ .short 0x00E4
+ .byte 0x2B, 0x25, 0x50, 0x00, 0x32, 0x00, 0x2B, 0x00
+ .short 0x00E5
+ .byte 0x2C, 0x25, 0x51, 0x00, 0x32, 0x00, 0x2C, 0x00
+ .short 0x00E6
+ .byte 0x2D, 0x25, 0x52, 0x00, 0x32, 0x00, 0x2D, 0x00
+ .short 0x00E7
+ .byte 0x2E, 0x25, 0x53, 0x00, 0x32, 0x00, 0x2E, 0x00
+ .short 0x00E8
+ .byte 0x2F, 0x25, 0x54, 0x00, 0x32, 0x00, 0x2F, 0x00
+ .short 0x00E9
+ .byte 0x30, 0x25, 0x55, 0x00, 0x32, 0x00, 0x30, 0x00
+ .short 0x00EA
+ .byte 0x31, 0x25, 0x56, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00EB
+ .byte 0x32, 0x25, 0x57, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00EC
+ .byte 0x33, 0x25, 0x58, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00ED
+ .byte 0x34, 0x25, 0x59, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00EE
+ .byte 0x35, 0x25, 0x5A, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00EF
+ .byte 0x36, 0x25, 0x5B, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00F0
+ .byte 0x37, 0x25, 0x5C, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00F1
+ .byte 0x38, 0x25, 0x5D, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00F2
+ .byte 0x39, 0x25, 0x5E, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00F3
+ .byte 0x3A, 0x25, 0x5F, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00F4
+ .byte 0x3B, 0x25, 0x60, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00F5
+ .byte 0x3C, 0x25, 0x61, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00F6
+ .byte 0x3D, 0x25, 0x62, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00F7
+ .byte 0x3E, 0x25, 0x63, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00F8
+ .byte 0x3F, 0x25, 0x64, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00F9
+ .byte 0x40, 0x25, 0x65, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00FA
+ .byte 0x41, 0x25, 0x66, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00FB
+ .byte 0x42, 0x25, 0x67, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00FC
+ .byte 0x43, 0x25, 0x68, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00FD
+ .byte 0x44, 0x25, 0x69, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00FE
+ .byte 0x45, 0x25, 0x6A, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00FF
+ .byte 0x46, 0x25, 0x6B, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x0100
+ .byte 0x47, 0x25, 0x6C, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x0101
+ .byte 0x48, 0x25, 0x6D, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x0102
+ .byte 0x49, 0x25, 0x6E, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x0103
+ .byte 0x4A, 0x25, 0x6F, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x0104
+ .byte 0x4B, 0x25, 0x70, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x0105
+ .byte 0x4C, 0x25, 0x71, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x0106
+ .byte 0x4E, 0x25, 0x72, 0x00, 0x00, 0x00, 0x31, 0x00
+ .short 0x0107
+ .byte 0x4F, 0x25, 0x73, 0x00, 0x00, 0x00, 0x32, 0x00
+ .short 0x0108
+ .byte 0x50, 0x25, 0x74, 0x00, 0x00, 0x00, 0x33, 0x00
.text
@@ -160,7 +251,7 @@ _02085A60:
ldr r0, [r4, #0x0]
add r1, r6, #0x0
ldr r0, [r0, #0x20]
- bl FUN_02029C8C
+ bl SealCase_GetCapsuleI
str r7, [r5, #0x4]
str r0, [r5, #0x8]
add r6, r6, #0x1
@@ -565,7 +656,7 @@ _02085DDC:
add r0, r5, #0x0
bl FUN_0204AF3C
ldr r0, [r6, #0x10]
- bl FUN_02029C80
+ bl Sav2_SealCase_get
str r0, [r7, #0x20]
add r0, r7, #0x0
mov r1, #0x0
@@ -679,7 +770,7 @@ _02085EA6:
ldr r1, [sp, #0x8]
ldr r0, [r7, #0x20]
sub r1, r1, #0x1
- bl FUN_02029C8C
+ bl SealCase_GetCapsuleI
add r2, r0, #0x0
add r0, r5, #0x0
mov r1, #0xaa
@@ -687,10 +778,10 @@ _02085EA6:
ldr r1, [sp, #0x8]
ldr r0, [r7, #0x20]
sub r1, r1, #0x1
- bl FUN_02029C8C
+ bl SealCase_GetCapsuleI
mov r1, #0x0
- bl FUN_02029CC8
- bl FUN_02029CE0
+ bl Capsule_GetSealI
+ bl Seal_GetId
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl FUN_02085FD0
@@ -807,12 +898,12 @@ _02085FDE:
mov r0, #0xa
add r1, r4, #0x0
mul r1, r0
- ldr r0, _02085FF0 ; =UNK_020FCAEA
+ ldr r0, _02085FF0 ; =UNK_020FCAE8 + 2
ldrb r0, [r0, r1]
pop {r4, pc}
nop
_02085FEC: .word 0x0000032A
-_02085FF0: .word UNK_020FCAEA
+_02085FF0: .word UNK_020FCAE8 + 2
thumb_func_start FUN_02085FF4
FUN_02085FF4: ; 0x02085FF4
@@ -826,12 +917,12 @@ _02086002:
mov r0, #0xa
add r1, r4, #0x0
mul r1, r0
- ldr r0, _02086014 ; =UNK_020FCAEC
+ ldr r0, _02086014 ; =UNK_020FCAE8 + 4
ldrb r0, [r0, r1]
pop {r4, pc}
nop
_02086010: .word 0x0000032A
-_02086014: .word UNK_020FCAEC
+_02086014: .word UNK_020FCAE8 + 4
thumb_func_start FUN_02086018
FUN_02086018: ; 0x02086018
@@ -845,12 +936,12 @@ _02086026:
mov r0, #0xa
add r1, r4, #0x0
mul r1, r0
- ldr r0, _02086038 ; =UNK_020FCAED
+ ldr r0, _02086038 ; =UNK_020FCAE8 + 5
ldrb r0, [r0, r1]
pop {r4, pc}
nop
_02086034: .word 0x0000032A
-_02086038: .word UNK_020FCAED
+_02086038: .word UNK_020FCAE8 + 5
thumb_func_start FUN_0208603C
FUN_0208603C: ; 0x0208603C
@@ -864,12 +955,12 @@ _0208604A:
mov r0, #0xa
add r1, r4, #0x0
mul r1, r0
- ldr r0, _0208605C ; =UNK_020FCAEE
+ ldr r0, _0208605C ; =UNK_020FCAE8 + 6
ldrh r0, [r0, r1]
pop {r4, pc}
nop
_02086058: .word 0x0000032A
-_0208605C: .word UNK_020FCAEE
+_0208605C: .word UNK_020FCAE8 + 6
thumb_func_start FUN_02086060
FUN_02086060: ; 0x02086060
@@ -883,9 +974,9 @@ _0208606E:
mov r0, #0xa
add r1, r4, #0x0
mul r1, r0
- ldr r0, _02086080 ; =UNK_020FCAF0
+ ldr r0, _02086080 ; =UNK_020FCAE8 + 8
ldrb r0, [r0, r1]
pop {r4, pc}
nop
_0208607C: .word 0x0000032A
-_02086080: .word UNK_020FCAF0
+_02086080: .word UNK_020FCAE8 + 8
diff --git a/arm9/asm/unk_02088F0C.s b/arm9/asm/unk_02088F0C.s
index 1c3bc9f2..aab23503 100644
--- a/arm9/asm/unk_02088F0C.s
+++ b/arm9/asm/unk_02088F0C.s
@@ -552,7 +552,7 @@ FUN_02088F0C: ; 0x02088F0C
add r4, r0, #0x0
add r0, r6, #0x0
str r5, [r4, #0x0]
- bl FUN_020139D8
+ bl EasyChatManager_new
str r0, [r4, #0x4]
mov r3, #0x0
ldr r0, _02088F48 ; =0x0000189E
@@ -579,7 +579,7 @@ FUN_02088F4C: ; 0x02088F4C
add r4, r0, #0x0
beq _02088F5E
ldr r0, [r4, #0x4]
- bl FUN_02013A10
+ bl EasyChatManager_delete
add r0, r4, #0x0
bl FreeToHeap
_02088F5E:
@@ -730,7 +730,7 @@ FUN_02089050: ; 0x02089050
str r0, [sp, #0xc]
ldr r0, _020890BC ; =0x00000189
mov r1, #0x0
- bl FUN_02013A9C
+ bl GetECWordIndexByPair
str r0, [sp, #0x8]
mov r7, #0x0
ldr r0, [sp, #0x4]
@@ -789,7 +789,7 @@ FUN_020890C4: ; 0x020890C4
str r0, [sp, #0x10]
ldr r0, _02089144 ; =0x00000186
mov r1, #0x0
- bl FUN_02013A9C
+ bl GetECWordIndexByPair
add r6, r0, #0x0
add r0, r6, #0x5
lsl r0, r0, #0x10
@@ -1070,7 +1070,7 @@ FUN_020892CC: ; 0x020892CC
add r1, #0x68
ldrh r1, [r1, #0x0]
add r2, r3, #0x0
- bl FUN_02013A30
+ bl EasyChatManager_ReadWordIntoString
pop {r4, pc}
.balign 4
@@ -1112,7 +1112,7 @@ FUN_02089310: ; 0x02089310
add r1, r0, #0x0
ldr r0, [r5, #0x4]
add r2, r4, #0x0
- bl FUN_02013A30
+ bl EasyChatManager_ReadWordIntoString
_02089330:
pop {r4-r6, pc}
nop
diff --git a/arm9/global.inc b/arm9/global.inc
index fa50aacb..9cf7312a 100644
--- a/arm9/global.inc
+++ b/arm9/global.inc
@@ -567,8 +567,8 @@
.extern BufferTrainerClassName
.extern BufferTrainerClassNameWithArticle
.extern BufferTrainerClassName2
-.extern FUN_0200B10C
-.extern FUN_0200B144
+.extern BufferTrainerName
+.extern BufferTrainerNameFromDataStruct
.extern BufferUndergroundItemName
.extern BufferUndergroundItemNameWithArticle
.extern BufferUndergroundTrapName
@@ -594,13 +594,13 @@
.extern BufferFashionName
.extern BufferFashionNameWithArticle
.extern BufferContestBackgroundName
-.extern FUN_0200B708
+.extern BufferEasyChatWord
.extern BufferMonthNameAbbr
-.extern FUN_0200B7A8
+.extern ScrStrBufs_UpperFirstChar
.extern StringExpandPlaceholders
-.extern FUN_0200B84C
-.extern FUN_0200B870
-.extern FUN_0200B990
+.extern ScrStrBufs_ResetBuffers
+.extern MessagePrinter_new
+.extern MessagePrinter_delete
.extern FUN_0200B9A8
.extern FUN_0200B9EC
.extern FUN_0200BA78
@@ -903,11 +903,11 @@
.extern MailMsg_SetMsgBankAndNum
.extern MailMsg_SetFieldI
.extern MailMsg_SetTrailingFieldsEmpty
-.extern FUN_020139D8
-.extern FUN_02013A10
-.extern FUN_02013A30
-.extern FUN_02013A58
-.extern FUN_02013A9C
+.extern EasyChatManager_new
+.extern EasyChatManager_delete
+.extern EasyChatManager_ReadWordIntoString
+.extern GetECWordIntoStringByIndex
+.extern GetECWordIndexByPair
.extern FUN_02013B28
.extern FUN_02013B2C
.extern FUN_02013B5C
@@ -1959,16 +1959,16 @@
.extern FUN_02029B90
.extern FUN_02029C00
.extern FUN_02029C08
-.extern FUN_02029C58
-.extern FUN_02029C60
-.extern FUN_02029C74
-.extern FUN_02029C80
-.extern FUN_02029C8C
-.extern FUN_02029CA4
-.extern FUN_02029CC8
-.extern FUN_02029CE0
-.extern FUN_02029CE4
-.extern FUN_02029CE8
+.extern Sav2_SealCase_sizeof
+.extern Sav2_SealCase_init
+.extern CapsuleArray_copy
+.extern Sav2_SealCase_get
+.extern SealCase_GetCapsuleI
+.extern SealCase_SetCapsuleI
+.extern Capsule_GetSealI
+.extern Seal_GetId
+.extern Seal_GetXCoord
+.extern Seal_GetYCoord
.extern FUN_02029CEC
.extern FUN_02029CF4
.extern FUN_02029CF8
diff --git a/arm9/modules/06/asm/module_06.s b/arm9/modules/06/asm/module_06.s
index 02bc8f52..1337a593 100644
--- a/arm9/modules/06/asm/module_06.s
+++ b/arm9/modules/06/asm/module_06.s
@@ -8177,7 +8177,7 @@ _0223D456:
str r0, [r4, r1]
b _0223D472
_0223D468:
- bl FUN_02029C80
+ bl Sav2_SealCase_get
mov r1, #0x21
lsl r1, r1, #4
str r0, [r4, r1]
diff --git a/arm9/modules/07/asm/module_07.s b/arm9/modules/07/asm/module_07.s
index 05283e3d..1a91192a 100644
--- a/arm9/modules/07/asm/module_07.s
+++ b/arm9/modules/07/asm/module_07.s
@@ -4972,7 +4972,7 @@ MOD07_0221469C: ; 0x0221469C
mov r0, #0xf
mov r1, #0xe
mov r2, #0
- bl FUN_0200B870
+ bl MessagePrinter_new
str r0, [sp, #0xc]
ldr r0, [r6]
ldr r0, [r0, #0x24]
@@ -5008,7 +5008,7 @@ _022146F6:
ldr r0, [sp, #0x10]
bl DestroyMsgData
ldr r0, [sp, #0xc]
- bl FUN_0200B990
+ bl MessagePrinter_delete
ldr r0, [sp, #8]
bl ScrStrBufs_delete
add sp, #0x14
diff --git a/arm9/modules/08/asm/module_08.s b/arm9/modules/08/asm/module_08.s
index bd4cc319..b6af83a9 100644
--- a/arm9/modules/08/asm/module_08.s
+++ b/arm9/modules/08/asm/module_08.s
@@ -45124,10 +45124,10 @@ _022282DC:
_022282F8:
ldr r0, [sp, #0x14]
add r1, r5, #0
- bl FUN_02029CC8
+ bl Capsule_GetSealI
add r7, r0, #0
beq _02228360
- bl FUN_02029CE0
+ bl Seal_GetId
cmp r0, #0
beq _02228360
cmp r0, #0x51
@@ -45193,10 +45193,10 @@ _02228376:
_02228384:
ldr r0, [sp, #0x18]
add r1, r5, #0
- bl FUN_02029CC8
+ bl Capsule_GetSealI
add r7, r0, #0
beq _022283EC
- bl FUN_02029CE0
+ bl Seal_GetId
cmp r0, #0
beq _022283EC
cmp r0, #0x51
@@ -45262,10 +45262,10 @@ _02228402:
_02228410:
ldr r0, [sp, #0x1c]
add r1, r5, #0
- bl FUN_02029CC8
+ bl Capsule_GetSealI
add r7, r0, #0
beq _02228478
- bl FUN_02029CE0
+ bl Seal_GetId
cmp r0, #0
beq _02228478
cmp r0, #0x51
@@ -45331,10 +45331,10 @@ _0222848E:
_0222849C:
ldr r0, [sp, #0x20]
add r1, r5, #0
- bl FUN_02029CC8
+ bl Capsule_GetSealI
add r7, r0, #0
beq _02228504
- bl FUN_02029CE0
+ bl Seal_GetId
cmp r0, #0
beq _02228504
cmp r0, #0x51
@@ -45765,13 +45765,13 @@ MOD08_022287C4: ; 0x022287C4
add r1, sp, #0
bl MOD08_02228710
ldr r0, [r4, #0x14]
- bl FUN_02029CE0
+ bl Seal_GetId
bl FUN_02086018
ldr r0, [r4, #0x14]
- bl FUN_02029CE4
+ bl Seal_GetXCoord
add r6, r0, #0
ldr r0, [r4, #0x14]
- bl FUN_02029CE8
+ bl Seal_GetYCoord
sub r6, #0xbe
lsl r1, r6, #0x10
asr r3, r1, #0x10
@@ -49049,10 +49049,10 @@ MOD08_0222A02C: ; 0x0222A02C
MOD08_0222A058: ; 0x0222A058
push {r3, r4, r5, lr}
add r5, r0, #0
- bl FUN_02029CE4
+ bl Seal_GetXCoord
add r4, r0, #0
add r0, r5, #0
- bl FUN_02029CE8
+ bl Seal_GetYCoord
add r1, r0, #0
add r0, r4, #0
mov r2, #0xbe
@@ -49077,7 +49077,7 @@ _0222A084:
sub r1, r1, #1
bne _0222A084
add r0, r4, #0
- bl FUN_02029CE0
+ bl Seal_GetId
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl FUN_02086018
diff --git a/arm9/modules/09/asm/module_09.s b/arm9/modules/09/asm/module_09.s
index 59100716..e98eadea 100644
--- a/arm9/modules/09/asm/module_09.s
+++ b/arm9/modules/09/asm/module_09.s
@@ -2368,7 +2368,7 @@ MOD09_02213138: ; 0x02213138
mov r0, #0xf
ldr r3, [r3, #0xc]
mov r1, #0xe
- bl FUN_0200B870
+ bl MessagePrinter_new
ldr r1, _02213184 ; =0x00001FA4
str r0, [r4, r1]
ldr r0, [r4]
@@ -2399,7 +2399,7 @@ MOD09_02213190: ; 0x02213190
bl DestroyMsgData
ldr r0, _022131BC ; =0x00001FA4
ldr r0, [r4, r0]
- bl FUN_0200B990
+ bl MessagePrinter_delete
ldr r0, _022131C0 ; =0x00001FAC
ldr r0, [r4, r0]
bl ScrStrBufs_delete
@@ -3474,7 +3474,7 @@ MOD09_022139D4: ; 0x022139D4
ldr r0, _02213B74 ; =0x00001FAC
mov r1, #0
ldr r0, [r5, r0]
- bl FUN_0200B144
+ bl BufferTrainerNameFromDataStruct
ldr r1, _02213B74 ; =0x00001FAC
add r2, r4, #0
ldr r0, [r5, r1]
@@ -14095,7 +14095,7 @@ MOD09_022192A4: ; 0x022192A4
ldr r3, [r3, #0xc]
mov r1, #0xe
mov r2, #0
- bl FUN_0200B870
+ bl MessagePrinter_new
str r0, [r4, #0xc]
ldr r0, [r4]
ldr r0, [r0, #0xc]
@@ -14117,7 +14117,7 @@ MOD09_022192E4: ; 0x022192E4
ldr r0, [r4, #0x10]
bl DestroyMsgData
ldr r0, [r4, #0xc]
- bl FUN_0200B990
+ bl MessagePrinter_delete
ldr r0, [r4, #0x14]
bl ScrStrBufs_delete
ldr r0, [r4, #0x18]
diff --git a/arm9/modules/11/asm/module_11_thumb1.s b/arm9/modules/11/asm/module_11_thumb1.s
index bbcb304d..30ee9995 100644
--- a/arm9/modules/11/asm/module_11_thumb1.s
+++ b/arm9/modules/11/asm/module_11_thumb1.s
@@ -706,7 +706,7 @@ MOD11_0222DB50: ; 0x0222DB50
mov r1, #1
mov r2, #0xf
mov r3, #5
- bl FUN_0200B870
+ bl MessagePrinter_new
mov r1, #0x6a
lsl r1, r1, #2
str r0, [r4, r1]
@@ -1369,7 +1369,7 @@ _0222E1AC:
mov r0, #0x6a
lsl r0, r0, #2
ldr r0, [r4, r0]
- bl FUN_0200B990
+ bl MessagePrinter_delete
mov r0, #2
bl FUN_02002CF8
ldr r0, [r4, #0x1c]
diff --git a/arm9/modules/11/asm/module_11_thumb2.s b/arm9/modules/11/asm/module_11_thumb2.s
index 6b184294..46816d64 100644
--- a/arm9/modules/11/asm/module_11_thumb2.s
+++ b/arm9/modules/11/asm/module_11_thumb2.s
@@ -6200,7 +6200,7 @@ MOD11_022321C4: ; 0x022321C4
add r2, r0, #0
ldr r0, [r5, #0x14]
add r1, r4, #0
- bl FUN_0200B144
+ bl BufferTrainerNameFromDataStruct
pop {r3, r4, r5, pc}
thumb_func_start MOD11_022321DC
diff --git a/arm9/modules/14/asm/module_14.s b/arm9/modules/14/asm/module_14.s
index 53969b45..ae226da3 100644
--- a/arm9/modules/14/asm/module_14.s
+++ b/arm9/modules/14/asm/module_14.s
@@ -19435,13 +19435,13 @@ _021E0DAC:
mov r1, #6
mov r2, #0xf
mov r3, #0xa
- bl FUN_0200B870
+ bl MessagePrinter_new
str r0, [r5, #0x18]
mov r0, #1
mov r1, #2
mov r2, #0xf
mov r3, #0xa
- bl FUN_0200B870
+ bl MessagePrinter_new
str r0, [r5, #0x1c]
mov r0, #0xa
add r3, r5, #0
@@ -19516,12 +19516,12 @@ _021E0E72:
ldr r0, [r5, #0x18]
cmp r0, #0
beq _021E0E7C
- bl FUN_0200B990
+ bl MessagePrinter_delete
_021E0E7C:
ldr r0, [r5, #0x1c]
cmp r0, #0
beq _021E0E86
- bl FUN_0200B990
+ bl MessagePrinter_delete
_021E0E86:
ldr r0, [r5, #0x44]
cmp r0, #0
@@ -21555,7 +21555,7 @@ _021E1DBC:
mov r1, #0xd
mov r2, #4
mov r3, #0xa
- bl FUN_0200B870
+ bl MessagePrinter_new
str r0, [r5, #0x44]
mov r0, #0x7d
lsl r0, r0, #2
@@ -21687,7 +21687,7 @@ _021E1F58:
ldr r0, [r5, #0x44]
cmp r0, #0
beq _021E1F62
- bl FUN_0200B990
+ bl MessagePrinter_delete
_021E1F62:
ldr r0, _021E1F94 ; =0x00004BFC
ldr r0, [r5, r0]
diff --git a/arm9/modules/15/asm/module_15.s b/arm9/modules/15/asm/module_15.s
index d8172549..6c23c898 100644
--- a/arm9/modules/15/asm/module_15.s
+++ b/arm9/modules/15/asm/module_15.s
@@ -5154,7 +5154,7 @@ MOD15_021D9C58: ; 0x021D9C58
bl MOD15_021D9C08
ldr r1, [r5, #0x4c]
add r0, r6, #0
- bl FUN_02013A58
+ bl GetECWordIntoStringByIndex
ldr r1, [r5, #0x4c]
mov r0, #1
mov r2, #0
diff --git a/arm9/modules/18/asm/module_18.s b/arm9/modules/18/asm/module_18.s
index 081a836b..b611c883 100644
--- a/arm9/modules/18/asm/module_18.s
+++ b/arm9/modules/18/asm/module_18.s
@@ -7720,7 +7720,7 @@ _0223D212:
bl BufferUndergroundItemNameWithArticle
add r0, r5, #0
mov r1, #2
- bl FUN_0200B7A8
+ bl ScrStrBufs_UpperFirstChar
bl MOD18_0223D638
bl MOD18_0224DBB4
mov r1, #0x5f
@@ -42040,11 +42040,11 @@ MOD18_0224DF40: ; 0x0224DF40
thumb_func_start MOD18_0224DF54
MOD18_0224DF54: ; 0x0224DF54
- ldr r3, _0224DF5C ; =FUN_0200B7A8
+ ldr r3, _0224DF5C ; =ScrStrBufs_UpperFirstChar
ldr r0, [r0, #0x28]
bx r3
nop
-_0224DF5C: .word FUN_0200B7A8
+_0224DF5C: .word ScrStrBufs_UpperFirstChar
thumb_func_end MOD18_0224DF54
thumb_func_start MOD18_0224DF60
diff --git a/arm9/modules/62/asm/module_62.s b/arm9/modules/62/asm/module_62.s
index 73025559..76088322 100644
--- a/arm9/modules/62/asm/module_62.s
+++ b/arm9/modules/62/asm/module_62.s
@@ -952,7 +952,7 @@ _0222DC90:
ldr r0, [r0, #0x20]
ldr r2, [r7, r2]
add r1, sp, #0
- bl FUN_02029CA4
+ bl SealCase_SetCapsuleI
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
@@ -3017,18 +3017,18 @@ _0222EC9A:
add r7, #8
ldr r0, [r7, r6]
add r1, sp, #0x10
- bl FUN_02029C74
+ bl CapsuleArray_copy
add r0, r5, #0
str r0, [sp, #4]
add r0, #8
str r0, [sp, #4]
ldr r0, [r0, r4]
ldr r1, [r7, r6]
- bl FUN_02029C74
+ bl CapsuleArray_copy
ldr r1, [sp, #4]
add r0, sp, #0x10
ldr r1, [r1, r4]
- bl FUN_02029C74
+ bl CapsuleArray_copy
add r0, r5, #0
bl MOD62_0222EC28
add sp, #0x28
@@ -4363,14 +4363,14 @@ MOD62_0222F778: ; 0x0222F778
mov r0, #0xf1
lsl r0, r0, #2
ldr r0, [r1, r0]
- ldr r3, _0222F78C ; =FUN_02029C74
+ ldr r3, _0222F78C ; =CapsuleArray_copy
lsl r0, r0, #3
add r0, r1, r0
ldr r0, [r0, #8]
add r1, #0x68
bx r3
.align 2, 0
-_0222F78C: .word FUN_02029C74
+_0222F78C: .word CapsuleArray_copy
thumb_func_end MOD62_0222F778
thumb_func_start MOD62_0222F790
@@ -4379,14 +4379,14 @@ MOD62_0222F790: ; 0x0222F790
add r2, r0, #0
lsl r1, r1, #2
ldr r1, [r2, r1]
- ldr r3, _0222F7A4 ; =FUN_02029C74
+ ldr r3, _0222F7A4 ; =CapsuleArray_copy
lsl r1, r1, #3
add r1, r2, r1
add r0, #0x68
ldr r1, [r1, #8]
bx r3
.align 2, 0
-_0222F7A4: .word FUN_02029C74
+_0222F7A4: .word CapsuleArray_copy
thumb_func_end MOD62_0222F790
thumb_func_start MOD62_0222F7A8
@@ -4512,8 +4512,8 @@ MOD62_0222F870: ; 0x0222F870
_0222F87A:
add r0, r6, #0
add r1, r4, #0
- bl FUN_02029CC8
- bl FUN_02029CE0
+ bl Capsule_GetSealI
+ bl Seal_GetId
cmp r0, #0
beq _0222F88C
add r5, r5, #1
@@ -6516,7 +6516,7 @@ _02230860:
add r0, r2, r0
ldr r5, [r0, #4]
ldr r0, [r2, #0x20]
- bl FUN_02029C8C
+ bl SealCase_GetCapsuleI
add r2, r0, #0
add r0, r5, #0
mov r1, #0xaa
diff --git a/arm9/modules/67/asm/module_67.s b/arm9/modules/67/asm/module_67.s
index d71a7476..a72ccebc 100644
--- a/arm9/modules/67/asm/module_67.s
+++ b/arm9/modules/67/asm/module_67.s
@@ -1742,7 +1742,7 @@ _021D828A:
mov r1, #1
lsl r2, r2, #0x10
lsr r2, r2, #0x11
- bl FUN_0200B10C
+ bl BufferTrainerName
_021D82BA:
cmp r5, #0xe
bhi _021D82CA
@@ -2302,7 +2302,7 @@ MOD67_021D86DC: ; 0x021D86DC
ldrh r2, [r4, #4]
ldr r0, [r5, #0x54]
mov r1, #1
- bl FUN_0200B10C
+ bl BufferTrainerName
ldr r0, [r5, #0x54]
ldr r1, [r5, #0x58]
add r2, r7, #0
@@ -2343,7 +2343,7 @@ MOD67_021D873C: ; 0x021D873C
ldrh r2, [r4, #4]
ldr r0, [r5, #0x54]
mov r1, #0
- bl FUN_0200B10C
+ bl BufferTrainerName
ldr r0, [r5, #0x54]
ldr r1, [r5, #0x58]
add r2, r7, #0
@@ -2384,7 +2384,7 @@ MOD67_021D8790: ; 0x021D8790
ldrh r2, [r4, #4]
ldr r0, [r5, #0x54]
mov r1, #0
- bl FUN_0200B10C
+ bl BufferTrainerName
ldr r0, [r5, #0x54]
ldr r1, [r5, #0x58]
add r2, r7, #0
diff --git a/arm9/modules/68/asm/module_68.s b/arm9/modules/68/asm/module_68.s
index c201069e..dfab7ef8 100644
--- a/arm9/modules/68/asm/module_68.s
+++ b/arm9/modules/68/asm/module_68.s
@@ -441,7 +441,7 @@ MOD68_021D7870: ; 0x021D7870
mov r1, #2
mov r2, #0
mov r3, #0x24
- bl FUN_0200B870
+ bl MessagePrinter_new
add r1, r4, #0
add r1, #0xcc
str r0, [r1]
@@ -464,7 +464,7 @@ MOD68_021D78A8: ; 0x021D78A8
add r0, r4, #0
add r0, #0xcc
ldr r0, [r0]
- bl FUN_0200B990
+ bl MessagePrinter_delete
add r4, #0xc8
ldr r0, [r4]
bl ScrStrBufs_delete
diff --git a/arm9/modules/75/asm/module_75.s b/arm9/modules/75/asm/module_75.s
index f6d498ce..63f45d1d 100644
--- a/arm9/modules/75/asm/module_75.s
+++ b/arm9/modules/75/asm/module_75.s
@@ -446,7 +446,7 @@ MOD75_021E6F00: ; 0x021E6F00
mov r0, #0x11
lsl r0, r0, #4
ldr r0, [r4, r0]
- bl FUN_0200B990
+ bl MessagePrinter_delete
mov r0, #0x46
lsl r0, r0, #2
ldr r0, [r4, r0]
@@ -946,7 +946,7 @@ MOD75_021E737C: ; 0x021E737C
mov r1, #2
mov r2, #0
mov r3, #6
- bl FUN_0200B870
+ bl MessagePrinter_new
mov r1, #0x11
lsl r1, r1, #4
str r0, [r4, r1]
diff --git a/arm9/modules/80/asm/module_80.s b/arm9/modules/80/asm/module_80.s
index 667a4ae1..29a329f0 100644
--- a/arm9/modules/80/asm/module_80.s
+++ b/arm9/modules/80/asm/module_80.s
@@ -5624,7 +5624,7 @@ MOD80_0223022C: ; 0x0223022C
str r0, [r5, r1]
sub r1, #0x1c
ldr r0, [r5, r1]
- bl FUN_0200B84C
+ bl ScrStrBufs_ResetBuffers
ldr r0, _022302B4 ; =0x0000011E
ldrb r2, [r4, r0]
cmp r2, #0
diff --git a/arm9/src/mail_message.c b/arm9/src/mail_message.c
index 4d1b75c6..a5837d89 100644
--- a/arm9/src/mail_message.c
+++ b/arm9/src/mail_message.c
@@ -16,7 +16,7 @@ struct UnkStruct_020ED556
u16 unk_8;
};
-extern u16 FUN_02013A9C(s16 bank, u16 num);
+extern u16 GetECWordIndexByPair(s16 bank, u16 num);
const u16 UNK_020ED54C[] = {
397,
@@ -68,9 +68,9 @@ void MailMsg_init_fromTemplate(struct MailMessage * mailMsg, u32 a1)
MailMsg_init_withBank(mailMsg, UNK_020ED556[a1].unk_0);
mailMsg->msg_no = UNK_020ED556[a1].unk_1;
if (UNK_020ED556[a1].unk_2 != -1)
- mailMsg->fields[0] = FUN_02013A9C(UNK_020ED556[a1].unk_2, UNK_020ED556[a1].unk_4);
+ mailMsg->fields[0] = GetECWordIndexByPair(UNK_020ED556[a1].unk_2, UNK_020ED556[a1].unk_4);
if (UNK_020ED556[a1].unk_6 != -1)
- mailMsg->fields[1] = FUN_02013A9C(UNK_020ED556[a1].unk_6, UNK_020ED556[a1].unk_8);
+ mailMsg->fields[1] = GetECWordIndexByPair(UNK_020ED556[a1].unk_6, UNK_020ED556[a1].unk_8);
}
}
diff --git a/arm9/src/pokemon.c b/arm9/src/pokemon.c
index 7fe8191a..b3e53d1a 100644
--- a/arm9/src/pokemon.c
+++ b/arm9/src/pokemon.c
@@ -565,7 +565,7 @@ u32 GetMonDataInternal(struct Pokemon * pokemon, int attr, void * dest)
Mail_copy(&pokemon->party.mail, dest);
return 1;
case MON_DATA_SEAL_COORDS:
- FUN_02029C74(&pokemon->party.sealCoords, dest);
+ CapsuleArray_copy(&pokemon->party.sealCoords, dest);
return 1;
default:
return GetBoxMonDataInternal(&pokemon->box, attr, dest);
@@ -1053,7 +1053,7 @@ void SetMonDataInternal(struct Pokemon * pokemon, int attr, void * value)
Mail_copy((const struct Mail *)value, &pokemon->party.mail);
break;
case MON_DATA_SEAL_COORDS:
- FUN_02029C74((CapsuleArray *)value, &pokemon->party.sealCoords);
+ CapsuleArray_copy((CapsuleArray *)value, &pokemon->party.sealCoords);
break;
default:
SetBoxMonDataInternal(&pokemon->box, attr, value);
diff --git a/arm9/src/save_arrays.c b/arm9/src/save_arrays.c
index 43e83403..397f1f69 100644
--- a/arm9/src/save_arrays.c
+++ b/arm9/src/save_arrays.c
@@ -12,6 +12,8 @@
#include "unk_020254B8.h"
#include "daycare.h"
#include "pokedex.h"
+#include "seal.h"
+#include "unk_020139D8.h"
extern u32 FUN_0202AC20(void);
extern u32 FUN_02034D7C(void);
@@ -24,7 +26,6 @@ extern u32 FUN_02028054(void);
extern u32 FUN_02028980(void);
extern u32 FUN_02029A84(void);
extern u32 FUN_02029FB0(void);
-extern u32 FUN_02029C58(void);
extern u32 FUN_02029EC4(void);
extern u32 FUN_0202A89C(void);
extern u32 FUN_0202A8F4(void);
@@ -36,7 +37,6 @@ extern u32 FUN_020281E0(void);
extern u32 FUN_02029AE0(void);
extern u32 FUN_0202BE98(void);
extern u32 FUN_0202C0E0(void);
-extern u32 FUN_02013B28(void);
extern void FUN_0202AC28(void *);
extern void FUN_02034D98(void *);
extern void FUN_02024E6C(void *);
@@ -48,7 +48,6 @@ extern void FUN_0202805C(void *);
extern void FUN_02028994(void *);
extern void FUN_02029A8C(void *);
extern void FUN_02029FB8(void *);
-extern void FUN_02029C60(void *);
extern void FUN_02029ECC(void *);
extern void FUN_0202A8A4(void *);
extern void FUN_0202A8F8(void *);
@@ -60,7 +59,6 @@ extern void FUN_020281E8(void *);
extern void FUN_02029AE8(void *);
extern void FUN_0202BEA0(void *);
extern void FUN_0202C0E4(void *);
-extern void FUN_02013B2C(void *);
const struct SaveChunkHeader UNK_020EE6E0[] = {
{ 0, 32, (SAVSIZEFN)Sav2_HOF_sizeof, (SAVINITFN)Sav2_HOF_init },
@@ -89,7 +87,7 @@ const struct SaveChunkHeader UNK_020EE700[] = {
{ 18, 0, (SAVSIZEFN)FUN_02028980, (SAVINITFN)FUN_02028994 },
{ 19, 0, (SAVSIZEFN)FUN_02029A84, (SAVINITFN)FUN_02029A8C },
{ 20, 0, (SAVSIZEFN)FUN_02029FB0, (SAVINITFN)FUN_02029FB8 },
- { 21, 0, (SAVSIZEFN)FUN_02029C58, (SAVINITFN)FUN_02029C60 },
+ { 21, 0, (SAVSIZEFN)Sav2_SealCase_sizeof, (SAVINITFN)Sav2_SealCase_init },
{ 22, 0, (SAVSIZEFN)FUN_02029EC4, (SAVINITFN)FUN_02029ECC },
{ 23, 0, (SAVSIZEFN)FUN_0202A89C, (SAVINITFN)FUN_0202A8A4 },
{ 24, 0, (SAVSIZEFN)FUN_0202A8F4, (SAVINITFN)FUN_0202A8F8 },
diff --git a/arm9/src/script_buffers.c b/arm9/src/script_buffers.c
index c29feed3..10ec9094 100644
--- a/arm9/src/script_buffers.c
+++ b/arm9/src/script_buffers.c
@@ -9,6 +9,7 @@
#include "unk_020286F8.h"
#include "filesystem.h"
#include "unk_0201B8B8.h"
+#include "trainer_data.h"
#include "script_buffers.h"
#pragma thumb on
@@ -16,7 +17,7 @@
extern void * FUN_02024EC0(struct SaveBlock2 * sav2);
extern u16 * FUN_02024EE8(void *);
extern u32 GetCityNamesMsgdataIdByCountry(u32);
-extern void FUN_02013A58(u32 a0, struct String * a1);
+extern void GetECWordIntoStringByIndex(u32 a0, struct String * a1);
extern void FUN_02022048(struct String * dest, const struct String * src);
extern void StrAddChar(struct String * str, u16 val);
extern void * FUN_02006BB0(NarcId, s32, s32, struct UnkStruct_0200B870_sub **, u32);
@@ -374,7 +375,7 @@ void BufferTrainerClassName2(struct ScrStrBufs * mgr, u32 idx, struct Trainer *
}
}
-void FUN_0200B10C(struct ScrStrBufs * mgr, u32 idx, u32 msgno)
+void BufferTrainerName(struct ScrStrBufs * mgr, u32 idx, u32 msgno)
{
struct MsgData * msgData = NewMsgDataFromNarc(1, NARC_MSGDATA_MSG, 559, mgr->heap_id);
if (msgData != NULL)
@@ -385,9 +386,9 @@ void FUN_0200B10C(struct ScrStrBufs * mgr, u32 idx, u32 msgno)
}
}
-void FUN_0200B144(struct ScrStrBufs * mgr, u32 idx, void * unk_struct)
+void BufferTrainerNameFromDataStruct(struct ScrStrBufs * mgr, u32 idx, struct TrainerDataLoaded * trdata)
{
- CopyU16ArrayToString(mgr->tmpbuf, (u16 *)((char *)unk_struct + 20));
+ CopyU16ArrayToString(mgr->tmpbuf, trdata->name);
SetStringAsPlaceholder(mgr, idx, mgr->tmpbuf, NULL);
}
@@ -587,7 +588,7 @@ void BufferCityName(struct ScrStrBufs * mgr, u32 idx, u32 a2, u32 a3)
void FUN_0200B518(struct ScrStrBufs * mgr, u32 idx, u32 a2)
{
- FUN_02013A58(a2, mgr->tmpbuf);
+ GetECWordIntoStringByIndex(a2, mgr->tmpbuf);
SetStringAsPlaceholder(mgr, idx, mgr->tmpbuf, NULL);
}
@@ -684,7 +685,7 @@ void BufferContestBackgroundName(struct ScrStrBufs * mgr, u32 idx, u32 bg)
}
}
-void FUN_0200B708(struct ScrStrBufs * mgr, struct SaveBlock2 * sav2, u32 r5, u32 idx, u32 sp28)
+void BufferEasyChatWord(struct ScrStrBufs * mgr, struct SaveBlock2 * sav2, u32 r5, u32 idx, u32 sp28)
{
void * r6 = FUN_0202881C(sav2);
u8 sp10 = FUN_020287F8(r6, r5);
@@ -708,7 +709,7 @@ void BufferMonthNameAbbr(struct ScrStrBufs * mgr, u32 idx, u32 month)
}
}
-void FUN_0200B7A8(struct ScrStrBufs * mgr, u32 idx)
+void ScrStrBufs_UpperFirstChar(struct ScrStrBufs * mgr, u32 idx)
{
StrUpperFirstChar(mgr->array[idx].msg);
}
@@ -741,13 +742,13 @@ void StringExpandPlaceholders(struct ScrStrBufs * mgr, struct String * dest, str
}
}
-void FUN_0200B84C(struct ScrStrBufs * mgr)
+void ScrStrBufs_ResetBuffers(struct ScrStrBufs * mgr)
{
for (int i = 0; i < mgr->count; i++)
StringSetEmpty(mgr->array[i].msg);
}
-struct UnkStruct_0200B870 * FUN_0200B870(u32 r5, u32 r6, u32 sp4, u32 r4)
+struct UnkStruct_0200B870 * MessagePrinter_new(u32 r5, u32 r6, u32 sp4, u32 r4)
{
struct UnkStruct_0200B870 * sp8 = AllocFromHeap(r4, sizeof(struct UnkStruct_0200B870));
if (sp8 != NULL)
@@ -793,7 +794,7 @@ struct UnkStruct_0200B870 * FUN_0200B870(u32 r5, u32 r6, u32 sp4, u32 r4)
return sp8;
}
-void FUN_0200B990(struct UnkStruct_0200B870 * a0)
+void MessagePrinter_delete(struct UnkStruct_0200B870 * a0)
{
if (a0 != NULL)
{
diff --git a/arm9/src/seal_case.c b/arm9/src/seal_case.c
new file mode 100644
index 00000000..b1359a02
--- /dev/null
+++ b/arm9/src/seal_case.c
@@ -0,0 +1,59 @@
+#include "global.h"
+#include "save_block_2.h"
+#include "MI_memory.h"
+#include "seal.h"
+
+#pragma thumb on
+
+u32 Sav2_SealCase_sizeof(void)
+{
+ return sizeof(struct SealCase);
+}
+
+void Sav2_SealCase_init(struct SealCase * sealCase)
+{
+ MI_CpuClear8(sealCase, Sav2_SealCase_sizeof());
+}
+
+void CapsuleArray_copy(const CapsuleArray * a0, CapsuleArray * a1)
+{
+ MI_CpuCopy8(a0, a1, sizeof(CapsuleArray));
+}
+
+struct SealCase * Sav2_SealCase_get(struct SaveBlock2 * sav2)
+{
+ return (struct SealCase *)SavArray_get(sav2, 21);
+}
+
+CapsuleArray * SealCase_GetCapsuleI(struct SealCase * sealCase, s32 idx)
+{
+ GF_ASSERT(idx < 12);
+ return &sealCase->coords[idx];
+}
+
+void SealCase_SetCapsuleI(struct SealCase * sealCase, const CapsuleArray * src, s32 idx)
+{
+ GF_ASSERT(idx < 12);
+ CapsuleArray_copy(src, SealCase_GetCapsuleI(sealCase, idx));
+}
+
+Coords8 * Capsule_GetSealI(CapsuleArray * a0, s32 a1)
+{
+ GF_ASSERT(a1 < 8);
+ return &(*a0)[a1];
+}
+
+s32 Seal_GetId(Coords8 * a0)
+{
+ return (*a0)[0];
+}
+
+s32 Seal_GetXCoord(Coords8 * a0)
+{
+ return (*a0)[1];
+}
+
+s32 Seal_GetYCoord(Coords8 * a0)
+{
+ return (*a0)[2];
+}
diff --git a/arm9/src/unk_020139D8.c b/arm9/src/unk_020139D8.c
index 82c96ea9..796190b2 100644
--- a/arm9/src/unk_020139D8.c
+++ b/arm9/src/unk_020139D8.c
@@ -7,7 +7,7 @@
#pragma thumb on
-const u8 UNK_020ED5B4[][2] = {
+const u8 sNarcLanguages[][2] = {
{ LANGUAGE_JAPANESE, 0 },
{ LANGUAGE_ENGLISH, 1 },
{ LANGUAGE_FRENCH, 2 },
@@ -16,32 +16,32 @@ const u8 UNK_020ED5B4[][2] = {
{ LANGUAGE_SPANISH, 5 },
};
-const u16 UNK_020ED5C0[] = {
- 362,
- 589,
- 565,
- 553,
- 388,
- 389,
- 390,
- 391,
- 392,
- 393,
- 394
+const u16 sNarcMsgBanks[] = {
+ 362, // Species names
+ 589, // Move names
+ 565, // Type names
+ 553, // Ability names
+ 388, // Trainer
+ 389, // People
+ 390, // Greetings
+ 391, // Lifestyle
+ 392, // Feelings
+ 393, // Tough words
+ 394 // Union
};
-const u16 UNK_020ED5D6[] = {
- 496,
- 468,
- 18,
- 124,
- 38,
- 38,
- 107,
- 104,
- 47,
- 32,
- 23
+const u16 sNarcMsgCounts[] = {
+ 496, // Species names
+ 468, // Move names
+ 18, // Type names
+ 124, // Ability names
+ 38, // Trainer
+ 38, // People
+ 107, // Greetings
+ 104, // Lifestyle
+ 47, // Feelings
+ 32, // Tough words
+ 23 // Union
};
const u16 UNK_020ED580[] = { 0x04C0, 0x04F0 };
@@ -76,19 +76,19 @@ const struct UnkStruct_020ED5EC
{ UNK_020ED594, NELEMS(UNK_020ED594) },
};
-struct UnkStruct_020139D8 * FUN_020139D8(u32 heap_id)
+struct UnkStruct_020139D8 * EasyChatManager_new(u32 heap_id)
{
struct UnkStruct_020139D8 * ret = (struct UnkStruct_020139D8 *)AllocFromHeap(heap_id, sizeof(struct UnkStruct_020139D8));
s32 i;
for (i = 0; i < 11; i++)
{
ret->heap_id = heap_id; // inadvertently inside the loop
- ret->msgDatas[i] = NewMsgDataFromNarc(1, NARC_MSGDATA_MSG, UNK_020ED5C0[i], heap_id);
+ ret->msgDatas[i] = NewMsgDataFromNarc(1, NARC_MSGDATA_MSG, sNarcMsgBanks[i], heap_id);
}
return ret;
}
-void FUN_02013A10(struct UnkStruct_020139D8 * unk)
+void EasyChatManager_delete(struct UnkStruct_020139D8 * unk)
{
s32 i;
for (i = 0; i < 11; i++)
@@ -98,61 +98,61 @@ void FUN_02013A10(struct UnkStruct_020139D8 * unk)
FreeToHeap(unk);
}
-void FUN_02013A30(struct UnkStruct_020139D8 * unk, u16 a1, struct String * str)
+void EasyChatManager_ReadWordIntoString(struct UnkStruct_020139D8 * unk, u16 wordIdx, struct String * str)
{
- s32 sp4;
- s32 sp0;
- FUN_02013AEC(a1, &sp4, &sp0);
- ReadMsgDataIntoString(unk->msgDatas[sp4], (u32)sp0, str);
+ s32 msgBank;
+ s32 msgNo;
+ GetCategoryAndMsgNoByECWordIdx(wordIdx, &msgBank, &msgNo);
+ ReadMsgDataIntoString(unk->msgDatas[msgBank], (u32)msgNo, str);
}
-void FUN_02013A58(u16 a0, struct String * a1)
+void GetECWordIntoStringByIndex(u16 wordIdx, struct String * a1)
{
- s32 sp8;
- s32 sp4;
- if (a0 != 0xFFFF)
+ s32 msgBank;
+ s32 msgNo;
+ if (wordIdx != 0xFFFF)
{
- FUN_02013AEC(a0, &sp8, &sp4);
- sp8 = UNK_020ED5C0[sp8];
- ReadMsgData_NewNarc_ExistingString(NARC_MSGDATA_MSG, (u32)sp8, (u32)sp4, 0, a1);
+ GetCategoryAndMsgNoByECWordIdx(wordIdx, &msgBank, &msgNo);
+ msgBank = sNarcMsgBanks[msgBank];
+ ReadMsgData_NewNarc_ExistingString(NARC_MSGDATA_MSG, (u32)msgBank, (u32)msgNo, 0, a1);
}
else
StringSetEmpty(a1);
}
-u16 FUN_02013A9C(u16 a0, u16 a1)
+u16 GetECWordIndexByPair(u16 msgBank, u16 msgNo)
{
u32 i;
u16 k;
u16 j;
for (i = 0; i < 11; i++)
{
- if (a0 == UNK_020ED5C0[i])
+ if (msgBank == sNarcMsgBanks[i])
{
for (j = 0, k = 0; j < i; j++)
- k += UNK_020ED5D6[j];
- return (u16)(k + a1);
+ k += sNarcMsgCounts[j];
+ return (u16)(k + msgNo);
}
}
return 0xFFFF;
}
-void FUN_02013AEC(u32 a0, s32 * a1, s32 * a2)
+void GetCategoryAndMsgNoByECWordIdx(u32 wordIdx, s32 * msgBank_p, s32 * msgNo_p)
{
s32 i;
s32 j;
u32 r3;
- r3 = a0 & 0xFFF;
+ r3 = wordIdx & 0xFFF;
j = 0;
- for (i = 0; i < NELEMS(UNK_020ED5D6); i++)
+ for (i = 0; i < NELEMS(sNarcMsgCounts); i++)
{
- j += UNK_020ED5D6[i];
+ j += sNarcMsgCounts[i];
if (r3 < j)
{
- *a1 = i;
- *a2 = (s32)(r3 - (j - UNK_020ED5D6[i]));
+ *msgBank_p = i;
+ *msgNo_p = (s32)(r3 - (j - sNarcMsgCounts[i]));
return;
}
}
@@ -170,9 +170,9 @@ void FUN_02013B2C(struct UnkStruct_02013B28 * unk)
unk->unk_4 = 0;
for (i = 0; i < 6; i++)
{
- if (UNK_020ED5B4[i][0] == GAME_LANGUAGE)
+ if (sNarcLanguages[i][0] == GAME_LANGUAGE)
{
- FUN_02013C18(unk, UNK_020ED5B4[i][1]);
+ FUN_02013C18(unk, sNarcLanguages[i][1]);
break;
}
}
@@ -233,7 +233,7 @@ u16 FUN_02013BE4(u16 a0)
s32 i;
u16 skip = 0;
for (i = 0; i < 9; i++)
- skip += UNK_020ED5D6[i];
+ skip += sNarcMsgCounts[i];
return (u16)(skip + a0);
}