From 26d8d7784904e80b2f51136b79fb334a10941c80 Mon Sep 17 00:00:00 2001 From: AnonymousRandomPerson Date: Sat, 11 Nov 2023 21:20:41 -0500 Subject: [PATCH] Split overlay 6 for EU --- asm/overlay_06.s | 119 +++++++++++++++++++++++++++++++++++------------ 1 file changed, 90 insertions(+), 29 deletions(-) diff --git a/asm/overlay_06.s b/asm/overlay_06.s index f946d66c..c0ce48d9 100644 --- a/asm/overlay_06.s +++ b/asm/overlay_06.s @@ -567,8 +567,13 @@ _0233D164: ; jump table b _0233D280 ; case 6 b _0233D4C4 ; case 7 _0233D184: +#ifdef EUROPE + ldr r1, _0233DC64 ; =0x0000379E + mov r0, #0x1c +#else mov r0, #0x1c add r1, r0, #0x3780 +#endif bl ov06_0233CDC8 ldr r0, _0233D4CC ; =ov06_0233EEC4 mov r1, #0 @@ -589,8 +594,13 @@ _0233D1CC: mov r0, #2 mov r1, #1 bl sub_0204C978 +#ifdef EUROPE + ldr r1, _0233DC64 ; =0x0000379E + mov r0, #0x1c +#else mov r0, #0x1c add r1, r0, #0x3780 +#endif bl ov06_0233CDC8 ldr r0, _0233D4CC ; =ov06_0233EEC4 mov r1, #0 @@ -776,8 +786,13 @@ _0233D454: bl sub_0205F0B8 bl sub_0205F5A8 bl sub_0205F710 +#ifdef EUROPE + ldr r1, _0233DC64 ; =0x0000379E + mov r0, #0x1c +#else mov r0, #0x1c add r1, r0, #0x3780 +#endif bl ov06_0233CDC8 ldr r0, _0233D4CC ; =ov06_0233EEC4 mov r1, #0 @@ -799,25 +814,33 @@ _0233D4C4: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 +#ifdef EUROPE +#define OV06_0233CE60_OFFSET 2 +#else +#define OV06_0233CE60_OFFSET 0 +#endif _0233D4CC: .word ov06_0233EEC4 _0233D4D0: .word 0x00000401 _0233D4D4: .word 0x00000321 _0233D4D8: .word 0x00000323 _0233D4DC: .word ov06_0233EDCC _0233D4E0: .word ov06_0233EDD0 +#ifdef EUROPE +_0233DC64: .word 0x0000379E +#endif _0233D4E4: .word ov06_0233ED04 -_0233D4E8: .word 0x00003799 +_0233D4E8: .word 0x00003799 + OV06_0233CE60_OFFSET _0233D4EC: .word 0x000003F2 -_0233D4F0: .word 0x000037A7 +_0233D4F0: .word 0x000037A7 + OV06_0233CE60_OFFSET _0233D4F4: .word 0x0000032A -_0233D4F8: .word 0x000037A8 +_0233D4F8: .word 0x000037A8 + OV06_0233CE60_OFFSET _0233D4FC: .word 0x0000023B _0233D500: .word 0x00000402 _0233D504: .word 0x00000403 _0233D508: .word 0x00000239 _0233D50C: .word 0x00000404 -_0233D510: .word 0x0000379E -_0233D514: .word 0x0000379D +_0233D510: .word 0x0000379E + OV06_0233CE60_OFFSET +_0233D514: .word 0x0000379D + OV06_0233CE60_OFFSET _0233D518: .word 0x00000701 arm_func_end ov06_0233CE60 @@ -1125,10 +1148,6 @@ _0233D958: cmp r4, #0xe bne _0233D97C mov r0, #2 - arm_func_end ov06_0233D5A4 - - arm_func_start ov06_0233D964 -ov06_0233D964: ; 0x0233D964 bl ov06_0233CAB8 ldr r0, _0233DC74 ; =ov06_0233EEEC mov r1, #0x4000 @@ -1367,7 +1386,7 @@ _0233DCB0: .word 0x00004001 _0233DCB4: .word 0x00005001 _0233DCB8: .word 0x00006001 _0233DCBC: .word 0x00006002 - arm_func_end ov06_0233D964 + arm_func_end ov06_0233D5A4 arm_func_start ov06_0233DCC0 ov06_0233DCC0: ; 0x0233DCC0 @@ -1629,10 +1648,19 @@ _0233E018: bl DebugPrint0 b _0233E0F0 _0233E034: +#ifdef EUROPE + ldr r0, [r7, #0xc] + mov r0, r0, lsl #0x18 + mov r0, r0, asr #0x18 + bl GetLanguageType + cmp r0, #0 + bne _0233E050 +#else bl GetLanguageType ldr r1, [r7, #0xc] cmp r1, r0 beq _0233E050 +#endif ldr r0, _0233E910 ; =ov06_0233EE24 bl DebugPrint0 b _0233E0F0 @@ -1764,8 +1792,13 @@ _0233E1F4: ; jump table b _0233E5E8 ; case 8 b _0233E600 ; case 9 _0233E21C: +#ifdef EUROPE + mov r0, #0x1c + rsb r1, r0, #0x37c0 +#else ldr r1, _0233E91C ; =0x000037A2 mov r0, #0x1c +#endif bl ov06_0233CDC8 ldr r0, _0233E8E0 ; =ov06_0233EEC8 ldr r3, _0233E920 ; =0x00002A30 @@ -1815,7 +1848,11 @@ _0233E2D0: mov r4, #1 b _0233E6A0 _0233E2D8: +#ifdef EUROPE + ldr r1, _0233F0AC ; =0x000037A5 +#else sub r1, r1, #0x860 +#endif mov r0, #0x1c bl ov06_0233CDC8 ldr r0, _0233E8E0 ; =ov06_0233EEC8 @@ -2232,12 +2269,17 @@ _0233E8D8: add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 +#ifdef EUROPE +#define OV06_0233DD7C_OFFSET 2 +#else +#define OV06_0233DD7C_OFFSET 0 +#endif _0233E8E0: .word ov06_0233EEC8 _0233E8E4: .word 0x00004003 _0233E8E8: .word 0x00001005 _0233E8EC: .word 0x00006002 _0233E8F0: .word 0x00001001 -_0233E8F4: .word 0x000037A1 +_0233E8F4: .word 0x000037A1 + OV06_0233DD7C_OFFSET _0233E8F8: .word 0x00001002 _0233E8FC: .word 0x00001003 _0233E900: .word 0x50443357 @@ -2247,20 +2289,24 @@ _0233E90C: .word ov06_0233EDFC _0233E910: .word ov06_0233EE24 _0233E914: .word ov06_0233EE4C _0233E918: .word ov06_0233EE84 +#ifdef EUROPE +_0233F0AC: .word 0x000037A5 +#else _0233E91C: .word 0x000037A2 +#endif _0233E920: .word 0x00002A30 _0233E924: .word ov06_0233ED4C -_0233E928: .word 0x000037A4 -_0233E92C: .word 0x000037A8 -_0233E930: .word 0x000037A5 +_0233E928: .word 0x000037A4 + OV06_0233DD7C_OFFSET +_0233E92C: .word 0x000037A8 + OV06_0233DD7C_OFFSET +_0233E930: .word 0x000037A5 + OV06_0233DD7C_OFFSET _0233E934: .word 0x00001004 _0233E938: .word 0x0000023B _0233E93C: .word 0x00004002 _0233E940: .word 0x00004001 _0233E944: .word 0x00000239 _0233E948: .word 0x00004004 -_0233E94C: .word 0x0000379E -_0233E950: .word 0x000037A6 +_0233E94C: .word 0x0000379E + OV06_0233DD7C_OFFSET +_0233E950: .word 0x000037A6 + OV06_0233DD7C_OFFSET _0233E954: .word 0x00006001 arm_func_end ov06_0233DD7C @@ -2480,8 +2526,13 @@ _0233EC5C: str r0, [r6] b _0233ECB0 _0233EC68: +#ifdef EUROPE + mov r0, #0x1c + add r1, r0, #0x3f00 +#else ldr r1, _0233ECC8 ; =0x00003F1A mov r0, #0x1c +#endif bl ov06_0233CDC8 mov r0, #6 str r0, [r6] @@ -2508,9 +2559,14 @@ _0233ECB4: ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0233ECBC: .word ov06_0233EEF0 +#ifdef EUROPE +_0233ECC0: .word 0x00003F1B +_0233ECC4: .word ov01_02337B68 +#else _0233ECC0: .word 0x00003F19 _0233ECC4: .word ov01_02337B68 _0233ECC8: .word 0x00003F1A +#endif arm_func_end ov06_0233EA1C arm_func_start ov06_0233ECCC @@ -2535,35 +2591,40 @@ _0233ED00: .word ov06_0233EEF0 .global ov06_0233ED04 ov06_0233ED04: - .byte 0x9A, 0x37, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x9B, 0x37, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 +#ifdef EUROPE +#define OV06_DATA_OFFSET 2 +#else +#define OV06_DATA_OFFSET 0 +#endif + .byte 0x9A + OV06_DATA_OFFSET, 0x37, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x9B + OV06_DATA_OFFSET, 0x37, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global ov06_0233ED1C ov06_0233ED1C: - .byte 0xAA, 0x37, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 - .byte 0xAB, 0x37, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0xAA + OV06_DATA_OFFSET, 0x37, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 + .byte 0xAB + OV06_DATA_OFFSET, 0x37, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global ov06_0233ED34 ov06_0233ED34: - .byte 0xAD, 0x37, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xAE, 0x37, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00 + .byte 0xAD + OV06_DATA_OFFSET, 0x37, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xAE + OV06_DATA_OFFSET, 0x37, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global ov06_0233ED4C ov06_0233ED4C: - .byte 0x5A, 0x37, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 - .byte 0x5B, 0x37, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x5A + OV06_DATA_OFFSET, 0x37, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 + .byte 0x5B + OV06_DATA_OFFSET, 0x37, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global ov06_0233ED64 ov06_0233ED64: - .byte 0x88, 0x37, 0x00, 0x00 + .byte 0x88 + OV06_DATA_OFFSET, 0x37, 0x00, 0x00 .global ov06_0233ED68 ov06_0233ED68: - .byte 0x01, 0x00, 0x00, 0x00, 0x89, 0x37, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 - .byte 0x86, 0x37, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x01, 0x00, 0x00, 0x00, 0x89 + OV06_DATA_OFFSET, 0x37, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 + .byte 0x86 + OV06_DATA_OFFSET, 0x37, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global ov06_0233ED84 ov06_0233ED84: - .byte 0x8C, 0x37, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x8D, 0x37, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00 - .byte 0x8E, 0x37, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x8C + OV06_DATA_OFFSET, 0x37, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x8D + OV06_DATA_OFFSET, 0x37, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00 + .byte 0x8E + OV06_DATA_OFFSET, 0x37, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global ov06_0233EDA4 ov06_0233EDA4: - .byte 0x95, 0x37, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x97, 0x37, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00 - .byte 0x96, 0x37, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x98, 0x37, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 + .byte 0x95 + OV06_DATA_OFFSET, 0x37, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x97 + OV06_DATA_OFFSET, 0x37, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00 + .byte 0x96 + OV06_DATA_OFFSET, 0x37, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x98 + OV06_DATA_OFFSET, 0x37, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global ov06_0233EDCC ov06_0233EDCC: