diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2020-09-02 15:17:31 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2020-09-02 15:17:31 -0400 |
commit | 2fce2765829380a244a84b5ccf6f08086f820c9a (patch) | |
tree | 7fa145091f674904db22774494f93ebd62aefde3 /arm9 | |
parent | f6a2e70835d549685d6a6ebf6b861c7582234878 (diff) |
Decompile seal_case
Diffstat (limited to 'arm9')
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); } |