From a7f68a191fcdeaffdca6b37f7ab8d9348097eaa8 Mon Sep 17 00:00:00 2001 From: AnonymousRandomPerson Date: Sat, 30 Dec 2023 17:21:49 -0600 Subject: [PATCH] Cleaned up JP ARM9 diffs --- asm/include/main_02054C24.inc | 1 + asm/main_0200C4CC.s | 298 +++++++++++++--------------------- asm/main_02054C24.s | 8 + asm/main_02075600.s | 84 +++++----- 4 files changed, 165 insertions(+), 226 deletions(-) diff --git a/asm/include/main_02054C24.inc b/asm/include/main_02054C24.inc index dafec8dc..586d962c 100644 --- a/asm/include/main_02054C24.inc +++ b/asm/include/main_02054C24.inc @@ -489,6 +489,7 @@ .public sub_020205F8 .public sub_02024934 .public sub_020251F0 +.public sub_02025304_JP .public sub_0202568C .public sub_02025888 .public sub_02025AD8 diff --git a/asm/main_0200C4CC.s b/asm/main_0200C4CC.s index c39ad2c3..de708327 100644 --- a/asm/main_0200C4CC.s +++ b/asm/main_0200C4CC.s @@ -32225,41 +32225,82 @@ _020252FC: #endif arm_func_end StrcpyName +#ifdef JAPAN + arm_func_start sub_02025304_JP +sub_02025304_JP: ; 0x02025304 + stmdb sp!, {r4, r5, r6, lr} + mov lr, #0 + ldr r2, _02025368 ; =0x020B112C + b _02025350 +_02025314: + mov r5, lr + ldr r4, [r2, #4] + b _0202533C +_02025320: + cmp r6, r3 + ldreqb ip, [r1, #1] + ldreqb r3, [r4, #1] + cmpeq ip, r3 + beq _02025348 + add r4, r4, #2 + add r5, r5, #1 +_0202533C: + ldrb r3, [r4] + cmp r3, #0 + bne _02025320 +_02025348: + strb r5, [r0], #1 + add r1, r1, #2 +_02025350: + ldrb r6, [r1] + cmp r6, #0 + bne _02025314 + mov r1, #0 + strb r1, [r0] + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 +_02025368: .word 0x020B112C + arm_func_end sub_02025304_JP +#endif + arm_func_start StrncpyName StrncpyName: ; 0x02025314 #ifdef JAPAN - stmdb sp!, {r4, r5, r6, lr} - mov ip, #0 - ldr r3, _02025444 ; =0x020B112C - b _02025434 -_020253F0: - ldrh r5, [r1] - cmp r5, #0 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + mov r4, #0 + ldr r3, _020253DC ; =0x020B112C + b _020253CC +_0202537C: + ldrb r7, [r1] + cmp r7, #0 moveq r1, #0 streqb r1, [r0] - ldmeqia sp!, {r4, r5, r6, pc} - mov r4, ip - ldr lr, [r3] - b _02025420 -_02025410: - cmp r6, r5 - beq _0202542C - add lr, lr, #2 - add r4, r4, #1 -_02025420: - ldrh r6, [lr] - cmp r6, #0 - bne _02025410 -_0202542C: - strb r4, [r0], #1 + ldmeqia sp!, {r3, r4, r5, r6, r7, pc} + mov r6, r4 + ldr r5, [r3, #4] + b _020253B8 +_0202539C: + cmp r7, ip + ldreqb lr, [r1, #1] + ldreqb ip, [r5, #1] + cmpeq lr, ip + beq _020253C4 + add r5, r5, #2 + add r6, r6, #1 +_020253B8: + ldrb ip, [r5] + cmp ip, #0 + bne _0202539C +_020253C4: + strb r6, [r0], #1 add r1, r1, #2 -_02025434: +_020253CC: cmp r2, #0 sub r2, r2, #1 - bgt _020253F0 - ldmia sp!, {r4, r5, r6, pc} + bgt _0202537C + ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02025444: .word 0x020B112C +_020253DC: .word 0x020B112C #else stmdb sp!, {r3, r4, r5, lr} mov lr, #0 @@ -32335,7 +32376,43 @@ _020253F4: #endif arm_func_end StrncpyName -#ifndef JAPAN +#ifdef JAPAN + arm_func_start sub_020253E0_JP +sub_020253E0_JP: ; 0x020253E0 + stmdb sp!, {r4, r5, r6, lr} + mov ip, #0 + ldr r3, _02025444 ; =0x020B112C + b _02025434 +_020253F0: + ldrh r5, [r1] + cmp r5, #0 + moveq r1, #0 + streqb r1, [r0] + ldmeqia sp!, {r4, r5, r6, pc} + mov r4, ip + ldr lr, [r3] + b _02025420 +_02025410: + cmp r6, r5 + beq _0202542C + add lr, lr, #2 + add r4, r4, #1 +_02025420: + ldrh r6, [lr] + cmp r6, #0 + bne _02025410 +_0202542C: + strb r4, [r0], #1 + add r1, r1, #2 +_02025434: + cmp r2, #0 + sub r2, r2, #1 + bgt _020253F0 + ldmia sp!, {r4, r5, r6, pc} + .align 2, 0 +_02025444: .word 0x020B112C + arm_func_end sub_020253E0_JP +#else arm_func_start sub_02025404 sub_02025404: ; 0x02025404 stmdb sp!, {r4, r5, r6, lr} @@ -45643,164 +45720,6 @@ _0202F0A8: .word 0x0000C406 _0202F0AC: .word 0x0000C506 arm_func_end sub_0202EE88 -#ifdef JAPAN - arm_func_start sub_0202F1CC_JP -sub_0202F1CC_JP: ; 0x0202F1CC - stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} - sub sp, sp, #0x124 - mov sl, r0 - ldr r5, [sl, #0xc] - ldrsb r0, [sl, #0x10] - add r1, r5, #0x34 - ldr r4, [r5, #0x430] - ldr r2, _0202F3E8 ; =0x0000040C - add r1, r1, #0x400 - add r3, r5, #0x1000 - mla r6, r4, r2, r1 - ldr r4, [r3, #0x4c0] - bl sub_02027B1C - ldrsb r1, [sl, #0x10] - add r0, sp, #8 - bl sub_02025E84 - add r0, r5, #4 - mov r1, #0 - bl sub_020328D8 - mov r2, r0 - add r0, sp, #8 - mov r1, #4 - bl sub_0202614C - add r0, r5, r4, lsl #2 - add r0, r0, #0x1000 - ldr r2, [r0, #0x4e4] - ldr r1, _0202F3EC ; =0x0000C406 - add r0, sp, #8 - bl sub_02026194 - add r0, sp, #8 - bl sub_02026204 - add r1, r5, #0x108 - add r0, sp, #8 - add r1, r1, #0x1400 - bl sub_020261F4 - add r1, r5, #0x1000 - str r0, [r1, #0x504] - ldr r0, [r5, #0x430] - cmp r0, #3 - bge _0202F2E4 - mov r8, #0 - mov r0, #1 - mov lr, r8 - ldr sb, _0202F3E8 ; =0x0000040C - mov ip, #0x18 - b _0202F2D4 -_0202F284: - mla r2, r8, ip, r5 - add r3, r2, #0x1500 - mov r4, r0 - mov r2, lr - ldrh r3, [r3, #0xa] - ldr r7, [r5, #0x430] - b _0202F2BC -_0202F2A0: - mla fp, r2, sb, r5 - add fp, fp, #0x400 - ldrh fp, [fp, #0x34] - cmp r3, fp - moveq r4, #0 - beq _0202F2C4 - add r2, r2, #1 -_0202F2BC: - cmp r2, r7 - blt _0202F2A0 -_0202F2C4: - add r2, r5, r8 - add r2, r2, #0x1000 - strb r4, [r2, #0x568] - add r8, r8, #1 -_0202F2D4: - ldr r3, [r1, #0x504] - cmp r8, r3 - blt _0202F284 - b _0202F30C -_0202F2E4: - mov r4, #0 - mov r2, r4 - b _0202F300 -_0202F2F0: - add r0, r5, r4 - add r0, r0, #0x1000 - strb r2, [r0, #0x568] - add r4, r4, #1 -_0202F300: - ldr r3, [r1, #0x504] - cmp r4, r3 - blt _0202F2F0 -_0202F30C: - add r0, r5, #0x108 - cmp r3, #0 - add r7, r0, #0x1400 - mov r8, #0 - ble _0202F3CC - add r4, r5, #0x1000 - mov fp, #0x2e - b _0202F3C0_JP -_0202F32C: - add r0, r5, r8 - add r0, r0, #0x1000 - ldrb r0, [r0, #0x568] - ldrsb r1, [sl, #0x10] - cmp r0, #0 - movne sb, #0x4c - add r0, sp, #8 - moveq sb, #0x57 - bl sub_02025E84 - add r0, sp, #8 - ldmib r7, {r1, r2} - bl sub_0202614C - ldr r1, _0202F3F0 ; =0x0000C506 - ldr r2, [r7, #0x14] - add r0, sp, #8 - bl sub_02026194 - mov r1, sb - add r0, sp, #8 - bl sub_02026174 - add r0, sp, #8 - bl sub_020261F4 - ldr r0, [r6, #8] - cmp r0, r8 - bne _0202F3B8 - ldr r0, [r7, #0xc] - ldr r1, [r7, #4] - cmp r1, r0 - bge _0202F3B8 - sub r3, r0, r1 - ldr r2, [r7, #8] - ldr r0, [r7, #0x10] - sub r0, r0, r2 - stmia sp, {r0, fp} - ldrsb r0, [sl, #0x10] - bl sub_02025D90 -_0202F3B8: - add r8, r8, #1 - add r7, r7, #0x18 -_0202F3C0_JP: - ldr r0, [r4, #0x504] - cmp r8, r0 - blt _0202F32C -_0202F3CC: - ldrsb r1, [sl, #0x10] - add r0, r5, #4 - bl sub_0202A03C - ldrsb r0, [sl, #0x10] - bl UpdateWindow - add sp, sp, #0x124 - ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} - .align 2, 0 -_0202F3E8: .word 0x0000040C -_0202F3EC: .word 0x0000C406 -_0202F3F0: .word 0x0000C506 - arm_func_end sub_0202F1CC_JP -#endif - arm_func_start CreateDialogueBox CreateDialogueBox: ; 0x0202F0B0 stmdb sp!, {r4, r5, r6, lr} @@ -72285,9 +72204,8 @@ sub_02044338: ; 0x02044338 bl GetNbItemsInBag str r0, [sp, #0x28] bl GetCurrentBagCapacity - mov r2, #2 - str r0, [sp, #0x2c] #ifdef JAPAN + str r0, [sp, #0x2c] add r2, sp, #4 str r2, [sp] ldr r3, _0204477C ; =0x000031F7 @@ -72295,6 +72213,8 @@ sub_02044338: ; 0x02044338 mov r1, #0 mov r2, #2 #else + mov r2, #2 + str r0, [sp, #0x2c] add r1, sp, #4 str r1, [sp] mov r0, r5 @@ -91463,7 +91383,11 @@ StrcmpMonsterName: ; 0x02052FB0 bl GetNameString mov r1, r0 add r0, sp, #0 +#ifdef JAPAN + bl sub_02025304_JP +#else bl StrcpyName +#endif add r1, sp, #0 mov r0, r4 mov r2, #0xa diff --git a/asm/main_02054C24.s b/asm/main_02054C24.s index 43e9b87c..f6dcda58 100644 --- a/asm/main_02054C24.s +++ b/asm/main_02054C24.s @@ -6839,7 +6839,11 @@ _0205A3B8: bl GetNameString mov r1, r0 add r0, sp, #0 +#ifdef JAPAN + bl sub_02025304_JP +#else bl StrcpyName +#endif add r0, sp, #0 add r1, sp, #0x86 mov r2, #0xa @@ -8190,7 +8194,11 @@ _0205B5CC: bl GetStringFromFileVeneer add r0, sp, #0x31 add r1, sp, #0 +#ifdef JAPAN + bl sub_02025304_JP +#else bl StrcpyName +#endif cmp r4, #1 bne _0205B668 add r0, sp, #0x18 diff --git a/asm/main_02075600.s b/asm/main_02075600.s index 517bde5e..8e3d803b 100644 --- a/asm/main_02075600.s +++ b/asm/main_02075600.s @@ -35559,7 +35559,7 @@ _02094D0C: .global _02094D00 _02094D00: .byte 0x83, 0x9F, 0x83, 0xA0, 0x83, 0xA1, 0x83, 0xA2, 0x83, 0xA3, 0x83, 0xA4 - .byte 0x83, 0xA5, 0x83, 0xA6, 0x83, 0xA7, 0x83, 0xA8 + .byte 0x83, 0xA5, 0x83, 0xA6, 0x83, 0xA7, 0x83, 0xA8, 0x00, 0x00, 0x00, 0x00 #endif .global AVAILABLE_ITEMS_IN_GROUP_TABLE AVAILABLE_ITEMS_IN_GROUP_TABLE: @@ -38992,8 +38992,8 @@ _0209AD3C: .byte 0x2F, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x66, 0x72 .byte 0x61, 0x6D, 0x65, 0x5F, 0x62, 0x34, 0x2E, 0x70, 0x61, 0x6C, 0x00, 0x00 #ifdef JAPAN - .global _0209B6B8 -_0209B6B8: + .global _0209ADB4 +_0209ADB4: .byte 0x2F, 0x46, 0x4F, 0x4E .byte 0x54, 0x2F, 0x66, 0x72, 0x61, 0x6D, 0x65, 0x5F, 0x62, 0x30, 0x2E, 0x63, 0x68, 0x72, 0x00, 0x00 #endif @@ -39018,11 +39018,11 @@ _0209AD8C: _0209ADA0: .byte 0x2F, 0x46, 0x4F, 0x4E .byte 0x54, 0x2F, 0x66, 0x72, 0x61, 0x6D, 0x65, 0x5F, 0x62, 0x32, 0x2E, 0x70, 0x61, 0x6C, 0x00, 0x00 -#endif .global _0209ADB4 _0209ADB4: .byte 0x2F, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x66, 0x72, 0x61, 0x6D, 0x65, 0x5F, 0x62, 0x30, 0x2E, 0x63 .byte 0x68, 0x72, 0x00, 0x00 +#endif .global _0209ADC8 _0209ADC8: .byte 0x2F, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x6D, 0x61, 0x72, 0x6B, 0x66, 0x6F @@ -53847,28 +53847,28 @@ JOB_WINDOW_PARAMS_1: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 #if defined(EUROPE) -#define JOB_MENU_OFFSET 2 +#define JOB_MENU_OFFSET_1 2 #elif defined(JAPAN) -#define JOB_MENU_OFFSET -0x3C2 +#define JOB_MENU_OFFSET_1 -0x3C2 #else -#define JOB_MENU_OFFSET 0 +#define JOB_MENU_OFFSET_1 0 #endif .global JOB_MENU_ITEMS_1 JOB_MENU_ITEMS_1: - .word 0x3809 + JOB_MENU_OFFSET + .word 0x3809 + JOB_MENU_OFFSET_1 .byte 0x01, 0x00, 0x00, 0x00 - .word 0x380B + JOB_MENU_OFFSET + .word 0x380B + JOB_MENU_OFFSET_1 .byte 0x03, 0x00, 0x00, 0x00 - .word 0x3808 + JOB_MENU_OFFSET + .word 0x3808 + JOB_MENU_OFFSET_1 .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF .global JOB_MENU_ITEMS_2 JOB_MENU_ITEMS_2: - .word 0x380A + JOB_MENU_OFFSET + .word 0x380A + JOB_MENU_OFFSET_1 .byte 0x02, 0x00, 0x00, 0x00 - .word 0x380B + JOB_MENU_OFFSET + .word 0x380B + JOB_MENU_OFFSET_1 .byte 0x03, 0x00, 0x00, 0x00 - .word 0x3808 + JOB_MENU_OFFSET + .word 0x3808 + JOB_MENU_OFFSET_1 .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF .global _020A9268 @@ -53893,93 +53893,100 @@ _020A92A8: .byte 0x00, 0x00, 0x00, 0x00 .global JOB_MENU_ITEMS_3 JOB_MENU_ITEMS_3: - .word 0x3829 + JOB_MENU_OFFSET + .word 0x3829 + JOB_MENU_OFFSET_1 .byte 0x01, 0x00, 0x00, 0x00 - .word 0x382A + JOB_MENU_OFFSET + .word 0x382A + JOB_MENU_OFFSET_1 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global JOB_MENU_ITEMS_4 JOB_MENU_ITEMS_4: - .word 0x3829 + JOB_MENU_OFFSET + .word 0x3829 + JOB_MENU_OFFSET_1 .byte 0x05, 0x00, 0x00, 0x00 - .word 0x382A + JOB_MENU_OFFSET + .word 0x382A + JOB_MENU_OFFSET_1 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF .global JOB_MENU_ITEMS_5 JOB_MENU_ITEMS_5: - .word 0x3791 + JOB_MENU_OFFSET +#if defined(EUROPE) +#define JOB_MENU_OFFSET_2 2 +#elif defined(JAPAN) +#define JOB_MENU_OFFSET_2 -0x37E +#else +#define JOB_MENU_OFFSET_2 0 +#endif + .word 0x3791 + JOB_MENU_OFFSET_2 .global _020A92EC _020A92EC: .byte 0x01, 0x00, 0x00, 0x00 - .word 0x3792 + JOB_MENU_OFFSET + .word 0x3792 + JOB_MENU_OFFSET_2 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global JOB_MENU_ITEMS_6 JOB_MENU_ITEMS_6: - .word 0x3829 + JOB_MENU_OFFSET + .word 0x3829 + JOB_MENU_OFFSET_1 .global _020A9304 _020A9304: .byte 0x01, 0x00, 0x00, 0x00 - .word 0x382A + JOB_MENU_OFFSET + .word 0x382A + JOB_MENU_OFFSET_1 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF .global JOB_MENU_ITEMS_7 JOB_MENU_ITEMS_7: - .word 0x37B1 + JOB_MENU_OFFSET + .word 0x37B1 + JOB_MENU_OFFSET_2 .global _020A931C _020A931C: .byte 0x05, 0x00, 0x00, 0x00 - .word 0x37B2 + JOB_MENU_OFFSET + .word 0x37B2 + JOB_MENU_OFFSET_2 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global JOB_MENU_ITEMS_8 JOB_MENU_ITEMS_8: - .word 0x37B4 + JOB_MENU_OFFSET + .word 0x37B4 + JOB_MENU_OFFSET_2 .global _020A9334 _020A9334: .byte 0x02, 0x00, 0x00, 0x00 - .word 0x37B5 + JOB_MENU_OFFSET + .word 0x37B5 + JOB_MENU_OFFSET_2 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF .global JOB_MENU_ITEMS_9 JOB_MENU_ITEMS_9: - .word 0x3829 + JOB_MENU_OFFSET + .word 0x3829 + JOB_MENU_OFFSET_1 .byte 0x05, 0x00, 0x00, 0x00 - .word 0x382A + JOB_MENU_OFFSET + .word 0x382A + JOB_MENU_OFFSET_1 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global JOB_MENU_ITEMS_10 JOB_MENU_ITEMS_10: - .word 0x380E + JOB_MENU_OFFSET + .word 0x380E + JOB_MENU_OFFSET_1 .global _020A9364 _020A9364: .byte 0x02, 0x00, 0x00, 0x00 - .word 0x3808 + JOB_MENU_OFFSET + .word 0x3808 + JOB_MENU_OFFSET_1 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF .global JOB_MENU_ITEMS_11 JOB_MENU_ITEMS_11: - .word 0x3829 + JOB_MENU_OFFSET + .word 0x3829 + JOB_MENU_OFFSET_1 .global _020A937C _020A937C: .byte 0x06, 0x00, 0x00, 0x00 - .word 0x382A + JOB_MENU_OFFSET + .word 0x382A + JOB_MENU_OFFSET_1 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global JOB_MENU_ITEMS_12 JOB_MENU_ITEMS_12: - .word 0x380F + JOB_MENU_OFFSET + .word 0x380F + JOB_MENU_OFFSET_1 .global _020A9394 _020A9394: .byte 0x03, 0x00, 0x00, 0x00 - .word 0x3811 + JOB_MENU_OFFSET + .word 0x3811 + JOB_MENU_OFFSET_1 .byte 0x05, 0x00, 0x00, 0x00 - .word 0x3808 + JOB_MENU_OFFSET + .word 0x3808 + JOB_MENU_OFFSET_1 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global JOB_MENU_ITEMS_13 JOB_MENU_ITEMS_13: - .word 0x3810 + JOB_MENU_OFFSET + .word 0x3810 + JOB_MENU_OFFSET_1 .global _020A93B4 _020A93B4: .byte 0x04, 0x00, 0x00, 0x00 - .word 0x3811 + JOB_MENU_OFFSET + .word 0x3811 + JOB_MENU_OFFSET_1 .byte 0x05, 0x00, 0x00, 0x00 - .word 0x3808 + JOB_MENU_OFFSET + .word 0x3808 + JOB_MENU_OFFSET_1 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global JOB_WINDOW_PARAMS_2 JOB_WINDOW_PARAMS_2: @@ -54011,7 +54018,7 @@ _020A94C6: #if defined(EUROPE) #define MAP_MARKER_OFFSET 0xC #elif defined(JAPAN) -#define MAP_MARKER_OFFSET 4 +#define MAP_MARKER_OFFSET 5 #else #define MAP_MARKER_OFFSET 0 #endif @@ -56430,7 +56437,6 @@ _020AFDF0: .byte 0x00, 0x00, 0x00, 0x00 #ifdef JAPAN .word _020AFE44 - .byte 0x00, 0x00, 0x00, 0x00 #else .byte 0x00, 0x00, 0x00, 0x00 .word _020AFE44