.include "asm/macros.inc" .include "overlay_18.inc" .text arm_func_start LinkShopEntryPoint LinkShopEntryPoint: ; 0x0238A140 stmdb sp!, {r3, lr} mov r0, #0x3c4 mov r1, #8 bl MemAlloc ldr r1, _0238A298 ; =LINK_SHOP_PTR mov r2, #1 str r0, [r1] strb r2, [r0, #0x10] ldr r0, [r1] add r0, r0, #0x14 bl InitPreprocessorArgs ldr r3, _0238A298 ; =LINK_SHOP_PTR mov r1, #0 ldr r2, [r3] sub r0, r1, #1 str r1, [r2, #0x74] ldr r2, [r3] mov ip, #2 str r1, [r2, #0x78] ldr lr, [r3] ldr r2, [lr, #0x78] str r2, [lr, #0x80] ldr r2, [r3] str r1, [r2, #0x7c] ldr r2, [r3] str r0, [r2, #0x84] ldr r2, [r3] str r1, [r2, #0x88] ldr r2, [r3] add r2, r2, #0x300 strh r0, [r2, #0x8c] ldr r2, [r3] add r2, r2, #0x300 strh ip, [r2, #0x88] ldr r2, [r3] add r2, r2, #0x300 strh ip, [r2, #0x8a] ldr r2, [r3] str r1, [r2, #0x3a0] ldr r2, [r3] add r2, r2, #0x300 strh r0, [r2, #0xa4] ldr r0, [r3] strh r1, [r0, #0x8c] bl sub_020573A0 bl sub_02041400 ldr r1, _0238A29C ; =ov11_0238A090 ldr r0, _0238A298 ; =LINK_SHOP_PTR ldr r3, [r1] ldr r2, [r0] mvn r1, #1 str r3, [r2, #0x390] ldr r2, [r0] strb r1, [r2] ldr r2, [r0] strb r1, [r2, #1] ldr r2, [r0] strb r1, [r2, #2] ldr r2, [r0] strb r1, [r2, #3] ldr r2, [r0] strb r1, [r2, #4] ldr r2, [r0] strb r1, [r2, #5] ldr r2, [r0] strb r1, [r2, #6] ldr r2, [r0] strb r1, [r2, #7] ldr r2, [r0] strb r1, [r2, #8] ldr r2, [r0] strb r1, [r2, #9] ldr r2, [r0] strb r1, [r2, #0xa] ldr r2, [r0] strb r1, [r2, #0xb] ldr r2, [r0] strb r1, [r2, #0xc] ldr r2, [r0] strb r1, [r2, #0xd] ldr r2, [r0] strb r1, [r2, #0xe] ldr r2, [r0] mov r0, #1 strb r1, [r2, #0xf] ldmia sp!, {r3, pc} .align 2, 0 _0238A298: .word LINK_SHOP_PTR _0238A29C: .word ov11_0238A090 arm_func_end LinkShopEntryPoint arm_func_start ov18_0238A2A0 ov18_0238A2A0: ; 0x0238A2A0 stmdb sp!, {r3, lr} ldr r0, _0238A428 ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #1 bne _0238A2CC ldrsb r0, [r1] mvn r1, #1 cmp r0, r1 beq _0238A2CC bl sub_0202F334 _0238A2CC: ldr r0, _0238A428 ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #2 bne _0238A2F4 ldrsb r0, [r1, #1] mvn r1, #1 cmp r0, r1 beq _0238A2F4 bl HidePortraitBox _0238A2F4: ldr r0, _0238A428 ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #4 bne _0238A31C ldrsb r0, [r1, #2] mvn r1, #1 cmp r0, r1 beq _0238A31C bl sub_0202F954 _0238A31C: ldr r0, _0238A428 ; =LINK_SHOP_PTR ldr r0, [r0] ldr r0, [r0, #0x88] tst r0, #0x80 bne _0238A334 bl sub_0203A618 _0238A334: ldr r0, _0238A428 ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #0x100 bne _0238A35C ldrsb r0, [r1, #7] mvn r1, #1 cmp r0, r1 beq _0238A35C bl SetAdvancedTextBoxState5 _0238A35C: ldr r0, _0238A428 ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #0x200 bne _0238A384 ldrsb r0, [r1, #8] mvn r1, #1 cmp r0, r1 beq _0238A384 bl SetAdvancedTextBoxState5 _0238A384: ldr r0, _0238A428 ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #0x400 bne _0238A3AC ldrsb r0, [r1, #9] mvn r1, #1 cmp r0, r1 beq _0238A3AC bl SetScrollBoxState7 _0238A3AC: ldr r0, _0238A428 ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #0x1000 bne _0238A3D4 ldrsb r0, [r1, #0xb] mvn r1, #1 cmp r0, r1 beq _0238A3D4 bl sub_0202BC60 _0238A3D4: ldr r0, _0238A428 ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #0x4000 bne _0238A3FC ldrsb r0, [r1, #0xd] mvn r1, #1 cmp r0, r1 beq _0238A3FC bl SetAdvancedTextBoxState5 _0238A3FC: ldr r0, _0238A428 ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #0x10000 ldmneia sp!, {r3, pc} ldrsb r0, [r1, #0xf] mvn r1, #1 cmp r0, r1 ldmeqia sp!, {r3, pc} bl sub_0202F334 ldmia sp!, {r3, pc} .align 2, 0 _0238A428: .word LINK_SHOP_PTR arm_func_end ov18_0238A2A0 arm_func_start ov18_0238A42C ov18_0238A42C: ; 0x0238A42C stmdb sp!, {r3, lr} ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #1 bne _0238A498 ldrsb r0, [r1] mvn r1, #1 cmp r0, r1 moveq r2, #1 beq _0238A48C bl IsDialogueBoxActive cmp r0, #0 movne r2, #0 bne _0238A48C ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0] bl CloseDialogueBox ldr r0, _0238AABC ; =LINK_SHOP_PTR mvn r1, #1 ldr r0, [r0] mov r2, #1 strb r1, [r0] _0238A48C: cmp r2, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} _0238A498: ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #2 bne _0238A500 ldrsb r0, [r1, #1] mvn r1, #1 cmp r0, r1 moveq r2, #1 beq _0238A4F4 bl PortraitBoxNeedsUpdate cmp r0, #0 movne r2, #0 bne _0238A4F4 ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #1] bl ClosePortraitBox ldr r0, _0238AABC ; =LINK_SHOP_PTR mvn r1, #1 ldr r0, [r0] mov r2, #1 strb r1, [r0, #1] _0238A4F4: cmp r2, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} _0238A500: ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #4 bne _0238A568 ldrsb r0, [r1, #2] mvn r1, #1 cmp r0, r1 moveq r2, #1 beq _0238A55C bl IsTextBoxActive cmp r0, #0 movne r2, #0 bne _0238A55C ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #2] bl CloseTextBox ldr r0, _0238AABC ; =LINK_SHOP_PTR mvn r1, #1 ldr r0, [r0] mov r2, #1 strb r1, [r0, #2] _0238A55C: cmp r2, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} _0238A568: ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #8 bne _0238A5D0 ldrsb r0, [r1, #3] mvn r1, #1 cmp r0, r1 moveq r2, #1 beq _0238A5C4 bl IsSimpleMenuActive cmp r0, #0 movne r2, #0 bne _0238A5C4 ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #3] bl CloseSimpleMenu ldr r0, _0238AABC ; =LINK_SHOP_PTR mvn r1, #1 ldr r0, [r0] mov r2, #1 strb r1, [r0, #3] _0238A5C4: cmp r2, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} _0238A5D0: ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #0x20 bne _0238A638 ldrsb r0, [r1, #4] mvn r1, #1 cmp r0, r1 moveq r2, #1 beq _0238A62C bl IsSimpleMenuActive cmp r0, #0 movne r2, #0 bne _0238A62C ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #4] bl CloseSimpleMenu ldr r0, _0238AABC ; =LINK_SHOP_PTR mvn r1, #1 ldr r0, [r0] mov r2, #1 strb r1, [r0, #4] _0238A62C: cmp r2, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} _0238A638: ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #0x10 bne _0238A6A0 ldrsb r0, [r1, #5] mvn r1, #1 cmp r0, r1 moveq r2, #1 beq _0238A694 bl IsSimpleMenuActive cmp r0, #0 movne r2, #0 bne _0238A694 ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #5] bl CloseSimpleMenu ldr r0, _0238AABC ; =LINK_SHOP_PTR mvn r1, #1 ldr r0, [r0] mov r2, #1 strb r1, [r0, #5] _0238A694: cmp r2, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} _0238A6A0: ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #0x40 bne _0238A708 ldrsb r0, [r1, #6] mvn r1, #1 cmp r0, r1 moveq r2, #1 beq _0238A6FC bl IsSimpleMenuActive cmp r0, #0 movne r2, #0 bne _0238A6FC ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #6] bl CloseSimpleMenu ldr r0, _0238AABC ; =LINK_SHOP_PTR mvn r1, #1 ldr r0, [r0] mov r2, #1 strb r1, [r0, #6] _0238A6FC: cmp r2, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} _0238A708: ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r0, [r0] ldr r0, [r0, #0x88] tst r0, #0x80 bne _0238A740 bl sub_0203A9B8 cmp r0, #0 movne r0, #0 bne _0238A734 bl sub_0203A51C mov r0, #1 _0238A734: cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} _0238A740: ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r3, [r0] ldr r2, [r3, #0x88] tst r2, #0x100 bne _0238A774 ldrsb r1, [r3, #7] mvn r0, #1 cmp r1, r0 moveq r0, #1 movne r0, #0 tst r0, #0xff moveq r0, #0 ldmeqia sp!, {r3, pc} _0238A774: tst r2, #0x200 bne _0238A7D4 ldrsb r0, [r3, #8] mvn r1, #1 cmp r0, r1 moveq r2, #1 beq _0238A7C8 bl IsAdvancedTextBoxActive cmp r0, #0 movne r2, #0 bne _0238A7C8 ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #8] bl CloseAdvancedTextBox bl sub_020407C0 ldr r0, _0238AABC ; =LINK_SHOP_PTR mvn r1, #1 ldr r0, [r0] mov r2, #1 strb r1, [r0, #8] _0238A7C8: cmp r2, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} _0238A7D4: ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #0x400 bne _0238A840 ldrsb r0, [r1, #9] mvn r1, #1 cmp r0, r1 moveq r2, #1 beq _0238A834 bl IsScrollBoxActive cmp r0, #0 movne r2, #0 bne _0238A834 ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #9] bl CloseScrollBox bl sub_02041A00 ldr r0, _0238AABC ; =LINK_SHOP_PTR mvn r1, #1 ldr r0, [r0] mov r2, #1 strb r1, [r0, #9] _0238A834: cmp r2, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} _0238A840: ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #0x800 bne _0238A8A8 ldrsb r0, [r1, #0xa] mvn r1, #1 cmp r0, r1 moveq r2, #1 beq _0238A89C bl IsSimpleMenuActive cmp r0, #0 movne r2, #0 bne _0238A89C ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #0xa] bl CloseSimpleMenu ldr r0, _0238AABC ; =LINK_SHOP_PTR mvn r1, #1 ldr r0, [r0] mov r2, #1 strb r1, [r0, #0xa] _0238A89C: cmp r2, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} _0238A8A8: ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #0x1000 bne _0238A910 ldrsb r0, [r1, #0xb] mvn r1, #1 cmp r0, r1 moveq r2, #1 beq _0238A904 bl IsAdvancedMenuActive2 cmp r0, #0 movne r2, #0 bne _0238A904 ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #0xb] bl CloseAdvancedMenu ldr r0, _0238AABC ; =LINK_SHOP_PTR mvn r1, #1 ldr r0, [r0] mov r2, #1 strb r1, [r0, #0xb] _0238A904: cmp r2, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} _0238A910: ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #0x2000 bne _0238A978 ldrsb r0, [r1, #0xc] mvn r1, #1 cmp r0, r1 moveq r2, #1 beq _0238A96C bl IsSimpleMenuActive cmp r0, #0 movne r2, #0 bne _0238A96C ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #0xc] bl CloseSimpleMenu ldr r0, _0238AABC ; =LINK_SHOP_PTR mvn r1, #1 ldr r0, [r0] mov r2, #1 strb r1, [r0, #0xc] _0238A96C: cmp r2, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} _0238A978: ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #0x4000 bne _0238A9E4 ldrsb r0, [r1, #0xd] mvn r1, #1 cmp r0, r1 moveq r2, #1 beq _0238A9D8 bl IsAdvancedTextBoxActive cmp r0, #0 movne r2, #0 bne _0238A9D8 ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #0xd] bl CloseAdvancedTextBox bl sub_020407C0 ldr r0, _0238AABC ; =LINK_SHOP_PTR mvn r1, #1 ldr r0, [r0] mov r2, #1 strb r1, [r0, #0xd] _0238A9D8: cmp r2, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} _0238A9E4: ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #0x8000 bne _0238AA4C ldrsb r0, [r1, #0xe] mvn r1, #1 cmp r0, r1 moveq r2, #1 beq _0238AA40 bl IsSimpleMenuActive cmp r0, #0 movne r2, #0 bne _0238AA40 ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #0xe] bl CloseSimpleMenu ldr r0, _0238AABC ; =LINK_SHOP_PTR mvn r1, #1 ldr r0, [r0] mov r2, #1 strb r1, [r0, #0xe] _0238AA40: cmp r2, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} _0238AA4C: ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #0x10000 bne _0238AAB4 ldrsb r0, [r1, #0xf] mvn r1, #1 cmp r0, r1 moveq r2, #1 beq _0238AAA8 bl IsDialogueBoxActive cmp r0, #0 movne r2, #0 bne _0238AAA8 ldr r0, _0238AABC ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #0xf] bl CloseDialogueBox ldr r0, _0238AABC ; =LINK_SHOP_PTR mvn r1, #1 ldr r0, [r0] mov r2, #1 strb r1, [r0, #0xf] _0238AAA8: cmp r2, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} _0238AAB4: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _0238AABC: .word LINK_SHOP_PTR arm_func_end ov18_0238A42C arm_func_start ov18_0238AAC0 ov18_0238AAC0: ; 0x0238AAC0 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} add r2, sp, #0xc bic r2, r2, #3 ldr r1, [sp, #0xc] add r2, r2, #4 bl vsprintf ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end ov18_0238AAC0 arm_func_start ov18_0238AAE8 ov18_0238AAE8: ; 0x0238AAE8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 mov r0, r2 mov sb, r1 mov r8, r3 ldr r7, [sp, #0x28] mov r6, #0 bl GetMovesetLevelUpPtr mov r5, r0 mov r4, #1 ldr fp, _0238ABAC ; =0x0000021F b _0238AB98 _0238AB18: mov r0, r5 add r1, sp, #0 bl GetEncodedHalfword ldrb r1, [r0] add r5, r0, #1 cmp r1, r8 bgt _0238ABA4 ldrsh r0, [sb] cmp r0, fp bge _0238AB98 ldrh r0, [sp] mov r1, r7 bl sub_02053880 cmp r0, #0 beq _0238AB98 ldrh r1, [sp] mov r2, r1, lsr #0x1f mov r0, r1, lsr #5 rsb r1, r2, r1, lsl #27 ldr r3, [sl, r0, lsl #2] add ip, r2, r1, ror #27 tst r3, r4, lsl ip bne _0238AB98 mov r2, r3 orr r2, r2, r4, lsl ip str r2, [sl, r0, lsl #2] add r1, r6, #1 mov r0, r1, lsl #0x10 ldrsh r2, [sb] mov r6, r0, asr #0x10 add r0, r2, #1 strh r0, [sb] _0238AB98: ldrb r0, [r5] cmp r0, #0 bne _0238AB18 _0238ABA4: mov r0, r6 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0238ABAC: .word 0x0000021F arm_func_end ov18_0238AAE8 arm_func_start ov18_0238ABB0 ov18_0238ABB0: ; 0x0238ABB0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x58 ldr r2, _0238ACDC ; =TEAM_MEMBER_TABLE_PTR mov r1, #0x44 ldr r2, [r2] mov r3, #0 smlabb r6, r0, r1, r2 mov r0, r3 add r2, sp, #0x14 _0238ABD4: add r1, r3, #1 mov r1, r1, lsl #0x10 str r0, [r2, r3, lsl #2] mov r3, r1, asr #0x10 cmp r3, #0x11 blt _0238ABD4 add r8, sp, #0x14 mov r4, #1 mov r3, #6 _0238ABF8: mla r2, r0, r3, r6 ldrb r1, [r2, #0x22] tst r1, #1 beq _0238AC28 ldrh r1, [r2, #0x24] mov r7, r1, lsr #5 mov r2, r1, lsr #0x1f rsb r1, r2, r1, lsl #27 ldr r5, [r8, r7, lsl #2] add r1, r2, r1, ror #27 orr r1, r5, r4, lsl r1 str r1, [r8, r7, lsl #2] _0238AC28: add r0, r0, #1 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 cmp r0, #4 blt _0238ABF8 mov r0, #0 strh r0, [sp, #4] ldrsh r1, [r6, #4] cmp r1, #0 beq _0238ACD4 add r1, sp, #6 mov r0, r6 bl GetEvoFamily mov r8, r0 mov r7, #0 add r5, sp, #0x14 add r4, sp, #4 add sb, sp, #6 b _0238AC9C _0238AC74: ldrsh r2, [r6, #8] mov r1, r7, lsl #2 add r0, sb, r7, lsl #2 str r2, [sp] ldrsh r2, [sb, r1] ldrb r3, [r0, #2] mov r0, r5 mov r1, r4 bl ov18_0238AAE8 add r7, r7, #1 _0238AC9C: cmp r7, r8 blt _0238AC74 ldrsh r0, [r6, #4] ldr r2, _0238ACE0 ; =0x00000216 cmp r0, r2 bne _0238ACD0 ldrsh r3, [r6, #8] add r0, sp, #0x14 add r1, sp, #4 str r3, [sp] ldrb r3, [r6, #1] add r2, r2, #1 bl ov18_0238AAE8 _0238ACD0: ldrsh r0, [sp, #4] _0238ACD4: add sp, sp, #0x58 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0238ACDC: .word TEAM_MEMBER_TABLE_PTR _0238ACE0: .word 0x00000216 arm_func_end ov18_0238ABB0 arm_func_start ov18_0238ACE4 ov18_0238ACE4: ; 0x0238ACE4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 mov r0, r2 mov sb, r1 mov r8, r3 ldr r7, [sp, #0x28] ldr r6, [sp, #0x2c] bl GetMovesetLevelUpPtr mov r5, r0 mov r4, #1 ldr fp, _0238ADA4 ; =0x0000021F b _0238AD90 _0238AD14: mov r0, r5 add r1, sp, #0 bl GetEncodedHalfword ldrb r1, [r0] add r5, r0, #1 cmp r1, r8 bgt _0238AD9C ldrsh r0, [sb] cmp r0, fp bge _0238AD90 ldrh r0, [sp] mov r1, r7 bl sub_02053880 cmp r0, #0 beq _0238AD90 ldrh r0, [sp] mov r3, r0, lsr #0x1f mov r1, r0, lsr #5 rsb r2, r3, r0, lsl #27 ldr ip, [sl, r1, lsl #2] add r3, r3, r2, ror #27 tst ip, r4, lsl r3 bne _0238AD90 mov r2, ip orr r2, r2, r4, lsl r3 str r2, [sl, r1, lsl #2] ldrsh r1, [sb] cmp r6, r1 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} add r0, r1, #1 strh r0, [sb] _0238AD90: ldrb r0, [r5] cmp r0, #0 bne _0238AD14 _0238AD9C: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0238ADA4: .word 0x0000021F arm_func_end ov18_0238ACE4 arm_func_start ov18_0238ADA8 ov18_0238ADA8: ; 0x0238ADA8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x5c ldr r3, _0238AEE8 ; =TEAM_MEMBER_TABLE_PTR mov r2, #0x44 ldr r3, [r3] mov r4, r1 smlabb r8, r0, r2, r3 mov r3, #0 mov r1, r3 add r2, sp, #0x18 _0238ADD0: add r0, r3, #1 mov r0, r0, lsl #0x10 str r1, [r2, r3, lsl #2] mov r3, r0, asr #0x10 cmp r3, #0x11 blt _0238ADD0 add r0, sp, #0x18 mov r6, #1 mov r5, #6 _0238ADF4: mla r3, r1, r5, r8 ldrb r2, [r3, #0x22] tst r2, #1 beq _0238AE24 ldrh r2, [r3, #0x24] mov sb, r2, lsr #5 mov r3, r2, lsr #0x1f rsb r2, r3, r2, lsl #27 ldr r7, [r0, sb, lsl #2] add r2, r3, r2, ror #27 orr r2, r7, r6, lsl r2 str r2, [r0, sb, lsl #2] _0238AE24: add r1, r1, #1 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 cmp r1, #4 blt _0238ADF4 mov r0, #0 strh r0, [sp, #8] ldrsh r1, [r8, #4] cmp r1, #0 beq _0238AEE0 add r1, sp, #0xa mov r0, r8 bl GetEvoFamily mov sl, r0 mov sb, #0 add r7, sp, #0x18 add r6, sp, #8 add r5, sp, #0xa b _0238AEA0 _0238AE70: ldrsh r2, [r8, #8] mov r1, sb, lsl #2 add r0, r5, sb, lsl #2 stmia sp, {r2, r4} ldrsh r2, [r5, r1] ldrb r3, [r0, #2] mov r0, r7 mov r1, r6 bl ov18_0238ACE4 cmp r0, #0 bne _0238AEE0 add sb, sb, #1 _0238AEA0: cmp sb, sl blt _0238AE70 ldrsh r0, [r8, #4] ldr r2, _0238AEEC ; =0x00000216 cmp r0, r2 bne _0238AEDC ldrsh r3, [r8, #8] add r0, sp, #0x18 add r1, sp, #8 stmia sp, {r3, r4} ldrb r3, [r8, #1] add r2, r2, #1 bl ov18_0238ACE4 cmp r0, #0 bne _0238AEE0 _0238AEDC: mov r0, #0 _0238AEE0: add sp, sp, #0x5c ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _0238AEE8: .word TEAM_MEMBER_TABLE_PTR _0238AEEC: .word 0x00000216 arm_func_end ov18_0238ADA8 arm_func_start ov18_0238AEF0 ov18_0238AEF0: ; 0x0238AEF0 stmdb sp!, {r4, lr} ldr r2, _0238AF34 ; =LINK_SHOP_PTR mov r1, r1, lsl #0x10 ldr r2, [r2] mov r4, r0 add r0, r2, #0x300 ldrsh r0, [r0, #0x8c] mov r1, r1, asr #0x10 bl ov18_0238ADA8 bl GetMoveName mov r3, r0 ldr r1, _0238AF38 ; =ov18_0238D5F8 mov r0, r4 mov r2, #0x4d bl ov18_0238AAC0 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _0238AF34: .word LINK_SHOP_PTR _0238AF38: .word ov18_0238D5F8 arm_func_end ov18_0238AEF0 arm_func_start ov18_0238AF3C ov18_0238AF3C: ; 0x0238AF3C stmdb sp!, {r3, r4, lr} sub sp, sp, #0x54 sub sp, sp, #0x400 mov r4, r0 bl sub_02027B1C bl GetMoneyCarried str r0, [sp, #0x428] bl sub_02041414 cmp r0, #0 ldrne r0, [sp, #0x428] add ip, sp, #0x400 subne r0, r0, #0x1f4 strne r0, [sp, #0x428] add ip, ip, #4 ldr r2, _0238AFC8 ; =ov18_0238D608 ldr r3, _0238AFCC ; =0x0000C402 add r0, sp, #4 mov r1, #0x100 str ip, [sp] bl PreprocessString #ifdef JAPAN mov r1, #4 mov r0, r4 rsb r3, r1, #0x430 #else ldr r3, _0238AFD0 ; =0x00000225 mov r0, r4 mov r1, #4 #endif mov r2, #2 bl sub_02026268 add r3, sp, #4 mov r0, r4 mov r1, #0x16 mov r2, #0x10 bl DrawTextInWindow mov r0, r4 bl UpdateWindow add sp, sp, #0x54 add sp, sp, #0x400 ldmia sp!, {r3, r4, pc} .align 2, 0 _0238AFC8: .word ov18_0238D608 _0238AFCC: .word 0x0000C402 #ifndef JAPAN _0238AFD0: .word 0x00000225 #endif arm_func_end ov18_0238AF3C arm_func_start LinkShopDestructor LinkShopDestructor: ; 0x0238AFD4 stmdb sp!, {r3, lr} ldr r0, _0238B018 ; =LINK_SHOP_PTR ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} bl MemFree ldr r0, _0238B018 ; =LINK_SHOP_PTR mov r1, #0 str r1, [r0] bl sub_02041414 cmp r0, #0 beq _0238B010 mov r0, #0x1f4 rsb r0, r0, #0 bl AddMoneyCarried _0238B010: bl sub_020572EC ldmia sp!, {r3, pc} .align 2, 0 _0238B018: .word LINK_SHOP_PTR arm_func_end LinkShopDestructor arm_func_start LinkShopMainManager LinkShopMainManager: ; 0x0238B01C stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x214 ldr r0, _0238BD40 ; =LINK_SHOP_PTR ldr r4, [r0] ldr r0, [r4, #0x74] cmp r0, #3 addls pc, pc, r0, lsl #2 b _0238BD34 _0238B03C: ; jump table b _0238B04C ; case 0 b _0238BD00 ; case 1 b _0238BD1C ; case 2 b _0238BD34 ; case 3 _0238B04C: ldr ip, _0238BD44 ; =OVERLAY18_FUNCTION_POINTER_TABLE add r6, sp, #0x1c mov r5, #0x13 _0238B058: ldmia ip!, {r0, r1, r2, r3} stmia r6!, {r0, r1, r2, r3} subs r5, r5, #1 bne _0238B058 ldr r0, [r4, #0x7c] cmp r0, #3 addls pc, pc, r0, lsl #2 b _0238BCF8 _0238B078: ; jump table b _0238B088 ; case 0 b _0238B0FC ; case 1 b _0238BC88 ; case 2 b _0238B088 ; case 3 _0238B088: ldr r0, _0238BD40 ; =LINK_SHOP_PTR mov r1, #0 str r1, [r4, #0x7c] ldr r1, [r0] add r0, sp, #0x1c ldr r1, [r1, #0x78] ldr r0, [r0, r1, lsl #2] blx r0 ldr r0, _0238BD40 ; =LINK_SHOP_PTR ldr r3, [r0] ldr r1, [r3, #0x78] ldr r2, [r3, #0x80] cmp r1, r2 beq _0238BCF8 ldr r1, [r3, #0x7c] cmp r1, #3 bne _0238B0E4 str r2, [r3, #0x78] ldr r1, [r0] add r0, sp, #0x1c ldr r1, [r1, #0x78] ldr r0, [r0, r1, lsl #2] blx r0 _0238B0E4: bl ov18_0238A2A0 ldr r0, _0238BD40 ; =LINK_SHOP_PTR mov r1, #1 ldr r0, [r0] str r1, [r0, #0x7c] b _0238BCF8 _0238B0FC: bl ov18_0238A42C cmp r0, #0 beq _0238BCF8 ldr r0, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #1 beq _0238B4A4 ldrsb r1, [r1] mvn r0, #1 ldr r4, _0238BD48 ; =0x00003008 cmp r1, r0 bne _0238B150 ldr r0, _0238BD4C ; =LINK_SHOP_WINDOW_PARAMS_11 bl CreateDialogueBox ldr r1, _0238BD40 ; =LINK_SHOP_PTR mvn r2, #0 ldr r3, [r1] strb r0, [r3] ldr r0, [r1] str r2, [r0, #0x84] _0238B150: ldr r0, _0238BD40 ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0] bl ShowDialogueBox ldr r0, _0238BD40 ; =LINK_SHOP_PTR mov r1, #0x1fc ldr r3, [r0] ldr r2, [r3, #0x84] str r1, [r3, #0x60] ldr r3, [r0] mov r0, r2, lsl #0x10 ldr r1, [r3, #0x78] mov r0, r0, lsr #0x10 cmp r1, #0x48 bgt _0238B1AC bge _0238B1C8 cmp r1, #0x2d bgt _0238B1E4 cmp r1, #0x2c blt _0238B1E4 cmpne r1, #0x2d beq _0238B1C8 b _0238B1E4 _0238B1AC: cmp r1, #0x4b bgt _0238B1E4 cmp r1, #0x49 blt _0238B1E4 cmpne r1, #0x4a cmpne r1, #0x4b bne _0238B1E4 _0238B1C8: ldr r1, _0238BD40 ; =LINK_SHOP_PTR ldr r2, [r1] add r1, r2, #0x300 ldrsh r1, [r1, #0x8c] orr r1, r1, #0x20000 str r1, [r2, #0x14] b _0238B1EC _0238B1E4: mov r1, #0x1fc str r1, [r3, #0x14] _0238B1EC: ldr r1, _0238BD40 ; =LINK_SHOP_PTR ldr r3, [r1] ldr r2, [r3, #0x78] cmp r2, #0x4b addls pc, pc, r2, lsl #2 b _0238B468 _0238B204: ; jump table b _0238B334 ; case 0 b _0238B468 ; case 1 b _0238B468 ; case 2 b _0238B360 ; case 3 b _0238B360 ; case 4 b _0238B36C ; case 5 b _0238B468 ; case 6 b _0238B468 ; case 7 b _0238B374 ; case 8 b _0238B374 ; case 9 b _0238B380 ; case 10 b _0238B380 ; case 11 b _0238B38C ; case 12 b _0238B38C ; case 13 b _0238B398 ; case 14 b _0238B398 ; case 15 b _0238B468 ; case 16 b _0238B468 ; case 17 b _0238B468 ; case 18 b _0238B3BC ; case 19 b _0238B3BC ; case 20 b _0238B468 ; case 21 b _0238B468 ; case 22 b _0238B468 ; case 23 b _0238B468 ; case 24 b _0238B3A4 ; case 25 b _0238B3A4 ; case 26 b _0238B468 ; case 27 b _0238B468 ; case 28 b _0238B468 ; case 29 b _0238B468 ; case 30 b _0238B468 ; case 31 b _0238B468 ; case 32 b _0238B468 ; case 33 b _0238B3C8 ; case 34 b _0238B3C8 ; case 35 b _0238B3D4 ; case 36 b _0238B468 ; case 37 b _0238B468 ; case 38 b _0238B3DC ; case 39 b _0238B468 ; case 40 b _0238B468 ; case 41 b _0238B3E4 ; case 42 b _0238B3E4 ; case 43 b _0238B3F0 ; case 44 b _0238B3F0 ; case 45 b _0238B468 ; case 46 b _0238B3FC ; case 47 b _0238B3FC ; case 48 b _0238B408 ; case 49 b _0238B408 ; case 50 b _0238B414 ; case 51 b _0238B468 ; case 52 b _0238B468 ; case 53 b _0238B468 ; case 54 b _0238B468 ; case 55 b _0238B468 ; case 56 b _0238B468 ; case 57 b _0238B420 ; case 58 b _0238B420 ; case 59 b _0238B468 ; case 60 b _0238B468 ; case 61 b _0238B468 ; case 62 b _0238B468 ; case 63 b _0238B468 ; case 64 b _0238B468 ; case 65 b _0238B434 ; case 66 b _0238B468 ; case 67 b _0238B468 ; case 68 b _0238B43C ; case 69 b _0238B468 ; case 70 b _0238B468 ; case 71 b _0238B444 ; case 72 b _0238B444 ; case 73 b _0238B458 ; case 74 b _0238B458 ; case 75 _0238B334: ldrb r0, [r3, #0x10] cmp r0, #0 ldreq r0, _0238BD50 ; =0x000003FB beq _0238B468 mov r0, #0x1f4 str r0, [r3, #0x38] ldr r0, [r1] mov r1, #0 strb r1, [r0, #0x10] ldr r0, _0238BD54 ; =0x000003F9 b _0238B468 _0238B360: #ifdef JAPAN ldr r0, _0238D2B4 ; =0x00003D36 #else mov r0, #0x410 #endif ldr r4, _0238BD58 ; =0x00003018 b _0238B468 _0238B36C: ldr r0, _0238BD5C ; =0x0000040B b _0238B468 _0238B374: ldr r0, _0238BD60 ; =0x0000040C ldr r4, _0238BD58 ; =0x00003018 b _0238B468 _0238B380: ldr r0, _0238BD64 ; =0x0000040D ldr r4, _0238BD58 ; =0x00003018 b _0238B468 _0238B38C: ldr r0, _0238BD68 ; =0x0000040E ldr r4, _0238BD58 ; =0x00003018 b _0238B468 _0238B398: ldr r0, _0238BD6C ; =0x0000040F ldr r4, _0238BD58 ; =0x00003018 b _0238B468 _0238B3A4: bl GetMoneyCarried cmp r0, #0x1f4 ldrlt r0, _0238BD70 ; =0x00003FCC ldr r4, _0238BD74 ; =0x00000408 ldrge r0, _0238BD78 ; =0x00003FCD b _0238B468 _0238B3BC: ldr r0, _0238BD7C ; =0x00000405 ldr r4, _0238BD58 ; =0x00003018 b _0238B468 _0238B3C8: ldr r0, _0238BD80 ; =0x00000406 ldr r4, _0238BD58 ; =0x00003018 b _0238B468 _0238B3D4: ldr r0, _0238BD84 ; =0x00000407 b _0238B468 _0238B3DC: ldr r0, _0238BD88 ; =0x00000409 b _0238B468 _0238B3E4: #ifdef JAPAN ldr r0, _0238D2EC ; =0x00003D2E #else ldr r0, _0238BD74 ; =0x00000408 #endif ldr r4, _0238BD58 ; =0x00003018 b _0238B468 _0238B3F0: ldr r0, _0238BD8C ; =0x0000040A ldr r4, _0238BD58 ; =0x00003018 b _0238B468 _0238B3FC: #ifdef JAPAN ldr r0, _0238D2F4 ; =0x00003D22 #else mov r0, #0x3fc #endif ldr r4, _0238BD58 ; =0x00003018 b _0238B468 _0238B408: ldr r0, _0238BD90 ; =0x000003FD ldr r4, _0238BD58 ; =0x00003018 b _0238B468 _0238B414: ldr r0, _0238BD94 ; =0x000003FE ldr r4, _0238BD58 ; =0x00003018 b _0238B468 _0238B420: ldr r1, _0238BD98 ; =0x0000131B ldr r0, _0238BD9C ; =0x000003FF str r1, [r3, #0x38] ldr r4, _0238BD58 ; =0x00003018 b _0238B468 _0238B434: ldr r0, _0238BDA0 ; =0x00000401 b _0238B468 _0238B43C: ldr r0, _0238BDA4 ; =0x00000403 b _0238B468 _0238B444: ldr r1, _0238BD98 ; =0x0000131B ldr r0, _0238BDA8 ; =0x00000402 str r1, [r3, #0x38] #ifdef JAPAN sub r4, r0, #0xd10 #else ldr r4, _0238BD58 ; =0x00003018 #endif b _0238B468 _0238B458: ldr r1, _0238BD98 ; =0x0000131B ldr r0, _0238BDAC ; =0x00000404 ldr r4, _0238BD58 ; =0x00003018 str r1, [r3, #0x38] _0238B468: ldr r1, _0238BD40 ; =LINK_SHOP_PTR mov r0, r0, lsl #0x10 ldr r3, [r1] mov r5, r0, lsr #0x10 ldr r2, [r3, #0x84] cmp r2, r0, lsr #16 beq _0238B4A4 str r5, [r3, #0x84] ldr r3, [r1] mov r1, r4 ldr r2, [r3, #0x84] ldrsb r0, [r3], #0x14 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 bl ShowStringIdInDialogueBox _0238B4A4: ldr r0, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #2 beq _0238B530 ldrsb r1, [r1, #1] mvn r0, #1 cmp r1, r0 bne _0238B530 mov r0, #0 mov r1, #3 mov r2, #1 bl CreatePortraitBox ldr r2, _0238BD40 ; =LINK_SHOP_PTR mov r1, #0x1fc ldr r3, [r2] strb r0, [r3, #1] ldr r0, [r2] add r0, r0, #0x64 bl InitPortraitParamsWithMonsterId ldr r0, _0238BD40 ; =LINK_SHOP_PTR mov r1, #0 ldr r0, [r0] add r0, r0, #0x64 bl SetPortraitLayout ldr r0, _0238BD40 ; =LINK_SHOP_PTR mov r1, #0 ldr r0, [r0] add r0, r0, #0x64 bl SetPortraitEmotion ldr r0, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r0] ldrsb r0, [r1, #1] add r1, r1, #0x64 bl ShowPortraitInPortraitBox _0238B530: ldr r0, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #4 beq _0238B56C ldrsb r1, [r1, #2] mvn r0, #1 cmp r1, r0 bne _0238B56C ldr r0, _0238BDB0 ; =LINK_SHOP_WINDOW_PARAMS_1 ldr r1, _0238BDB4 ; =ov18_0238AF3C bl CreateTextBox ldr r1, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r1] strb r0, [r1, #2] _0238B56C: ldr r0, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #8 beq _0238B5B8 ldrsb r1, [r1, #3] mvn r0, #1 cmp r1, r0 bne _0238B5B8 ldr r0, _0238BDB8 ; =LINK_SHOP_WINDOW_PARAMS_9 mov r4, #3 ldr r1, _0238BDBC ; =0x00300013 ldr r3, _0238BDC0 ; =LINK_SHOP_MAIN_MENU_ITEMS mov r2, #0 str r4, [sp] bl CreateSimpleMenuFromStringIds ldr r1, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r1] strb r0, [r1, #3] _0238B5B8: ldr r0, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #0x20 beq _0238B604 ldrsb r1, [r1, #4] mvn r0, #1 cmp r1, r0 bne _0238B604 ldr r0, _0238BDC4 ; =LINK_SHOP_WINDOW_PARAMS_7 mov r4, #4 ldr r1, _0238BDBC ; =0x00300013 ldr r3, _0238BDC8 ; =LINK_SHOP_SUBMENU_ITEMS_3 mov r2, #0 str r4, [sp] bl CreateSimpleMenuFromStringIds ldr r1, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r1] strb r0, [r1, #4] _0238B604: ldr r1, _0238BD40 ; =LINK_SHOP_PTR ldr r3, [r1] ldr r0, [r3, #0x88] tst r0, #0x40 beq _0238B65C ldrsb r2, [r3, #6] mvn r0, #1 cmp r2, r0 bne _0238B65C mov r0, #1 str r0, [r3, #0x90] mov r0, #2 str r0, [sp] ldr r2, [r1] ldr r0, _0238BDCC ; =LINK_SHOP_WINDOW_PARAMS_2 ldr r1, _0238BDD0 ; =0x00300033 ldr r3, _0238BDD4 ; =LINK_SHOP_MENU_ITEMS_CONFIRM add r2, r2, #0x90 bl CreateSimpleMenuFromStringIds ldr r1, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r1] strb r0, [r1, #6] _0238B65C: ldr r0, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #0x10 beq _0238B6A8 ldrsb r1, [r1, #5] mvn r0, #1 cmp r1, r0 bne _0238B6A8 ldr r0, _0238BDD8 ; =LINK_SHOP_WINDOW_PARAMS_8 mov r4, #5 ldr r3, _0238BDDC ; =LINK_SHOP_SUBMENU_ITEMS_4 mov r1, #0x13 mov r2, #0 str r4, [sp] bl CreateSimpleMenuFromStringIds ldr r1, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r1] strb r0, [r1, #5] _0238B6A8: ldr r0, _0238BD40 ; =LINK_SHOP_PTR ldr r0, [r0] ldr r0, [r0, #0x88] tst r0, #0x80 beq _0238B6F8 bl sub_0203A998 cmp r0, #0 bne _0238B6F8 ldr r2, _0238BD40 ; =LINK_SHOP_PTR mov r3, #2 ldr r1, [r2] mov r0, #6 add r1, r1, #0x300 strh r3, [r1, #0x88] ldr r1, [r2] add r1, r1, #0x300 strh r3, [r1, #0x8a] ldr r1, [r2] add r1, r1, #0x388 bl sub_02039C2C _0238B6F8: ldr r0, _0238BD40 ; =LINK_SHOP_PTR ldr r2, [r0] ldr r0, [r2, #0x88] tst r0, #0x100 beq _0238B744 ldrsb r1, [r2, #7] mvn r0, #1 cmp r1, r0 bne _0238B744 add r0, r2, #0x300 ldrsh r1, [r0, #0x8c] add r0, sp, #0x19c bl sub_0205B028 add r0, sp, #0x19c mov r1, #3 bl sub_0203F150 ldr r1, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r1] strb r0, [r1, #7] _0238B744: ldr r0, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #0x200 beq _0238B7B0 ldrsb r1, [r1, #8] mvn r0, #1 cmp r1, r0 bne _0238B7AC bl GetMoneyCarried mov r1, #0 cmp r0, #0x1f4 mov r2, r1 bge _0238B794 mov r0, #4 bl sub_0204018C ldr r1, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r1] strb r0, [r1, #8] b _0238B7B0 _0238B794: mov r0, #5 bl sub_0204018C ldr r1, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r1] strb r0, [r1, #8] b _0238B7B0 _0238B7AC: bl sub_02041178 _0238B7B0: ldr r0, _0238BD40 ; =LINK_SHOP_PTR ldr r2, [r0] ldr r0, [r2, #0x88] tst r0, #0x400 beq _0238B820 ldrsb r1, [r2, #7] mvn r0, #1 cmp r1, r0 bne _0238B820 ldr r0, [r2, #0x3a0] cmp r0, #0 bne _0238B800 add r0, r2, #0xa6 add r0, r0, #0x300 mov r1, #1 bl sub_02041860 ldr r1, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r1] strb r0, [r1, #9] b _0238B820 _0238B800: add r1, r2, #0x300 ldrsh r2, [r1, #0xa4] mov r1, #4 mov r3, #1 bl sub_020417A8 ldr r1, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r1] strb r0, [r1, #9] _0238B820: ldr r0, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #0x800 beq _0238B984 ldrsb r1, [r1, #0xa] mvn r0, #1 cmp r1, r0 bne _0238B984 bl sub_02041094 ldr r1, _0238BD40 ; =LINK_SHOP_PTR mov r6, r0 ldr r0, [r1] add r0, r0, #0x300 ldrsh r0, [r0, #0x8c] bl sub_020564B0 cmp r0, #0 beq _0238B87C bl sub_02040FA8 cmp r0, #0 ldrne r4, _0238BDE0 ; =LINK_SHOP_SUBMENU_ITEMS_6 ldreq r4, _0238BDE4 ; =LINK_SHOP_SUBMENU_ITEMS_5 b _0238B880 _0238B87C: ldr r4, _0238BDE8 ; =LINK_SHOP_SUBMENU_ITEMS_7 _0238B880: ldr r0, _0238BD40 ; =LINK_SHOP_PTR mov r2, #0 ldr r0, [r0] mov r1, r2 add r5, r0, #0x394 _0238B894: add r0, r2, #1 mov r0, r0, lsl #0x10 strb r1, [r5, r2] mov r2, r0, asr #0x10 cmp r2, #8 blt _0238B894 mov r0, r6 bl sub_02041194 cmp r0, #0 moveq r0, #3 streqb r0, [r5, #1] mov r0, r6 bl sub_02041364 cmp r0, #0 moveq r0, #3 streqb r0, [r5, #2] cmp r6, #0 movle r0, #3 strleb r0, [r5, #3] bl sub_0203FD38 add r1, r6, #1 mov r1, r1, lsl #0x10 mov r6, #0 mov ip, r1, asr #0x10 mov r2, r6 mov r3, #1 b _0238B934 _0238B900: ldrb r1, [r0, ip, lsl #3] tst r1, #1 movne r1, r3 moveq r1, r2 tst r1, #0xff beq _0238B928 ldrb r1, [r0, ip, lsl #3] tst r1, #2 moveq r6, #1 beq _0238B93C _0238B928: add r1, ip, #1 mov r1, r1, lsl #0x10 mov ip, r1, asr #0x10 _0238B934: cmp ip, #4 blt _0238B900 _0238B93C: ldr r1, _0238BD40 ; =LINK_SHOP_PTR cmp r6, #0 moveq r0, #3 streqb r0, [r5, #4] ldr r5, [r1] mov r2, #8 add r3, r5, #0x394 str r3, [r5, #0x188] str r2, [sp] ldr r2, [r1] ldr r0, _0238BDEC ; =LINK_SHOP_WINDOW_PARAMS_5 ldr r1, _0238BDF0 ; =0x80000213 mov r3, r4 add r2, r2, #0x128 bl CreateSimpleMenuFromStringIds ldr r1, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r1] strb r0, [r1, #0xa] _0238B984: ldr r0, _0238BD40 ; =LINK_SHOP_PTR ldr r2, [r0] ldr r0, [r2, #0x88] tst r0, #0x1000 beq _0238BA70 ldrsb r1, [r2, #0xb] mvn r0, #1 cmp r1, r0 bne _0238BA70 add r0, r2, #0x300 ldr r1, _0238BDF4 ; =TEAM_MEMBER_TABLE_PTR ldrsh r2, [r0, #0x8c] ldr r1, [r1] mov r0, #0x44 smlabb r1, r2, r0, r1 add r0, sp, #8 add r1, r1, #0x3a mov r2, #0xa bl StrncpySimpleNoPadSafe ldr r0, _0238BD40 ; =LINK_SHOP_PTR ldr r1, _0238BDF8 ; =ov18_0238D5F8 ldr r0, [r0] add r3, sp, #8 add r0, r0, #0xae add r0, r0, #0x300 mov r2, #0x46 bl ov18_0238AAC0 ldr r1, _0238BD40 ; =LINK_SHOP_PTR ldr r3, _0238BDFC ; =0x00000A3E ldr r4, [r1] mov r2, #0x10 ldrsh r0, [r4, #0x8c] str r0, [r4, #0x1c0] ldr r0, [r1] add r0, r0, #0x100 strh r3, [r0, #0xc8] ldr r0, [r1] str r2, [r0, #0x1cc] ldr r2, [r1] add r0, r2, #0xae add r0, r0, #0x300 str r0, [r2, #0x208] ldr r0, [r1] add r0, r0, #0x300 ldrsh r0, [r0, #0x8c] bl ov18_0238ABB0 str r0, [sp] mov r1, #8 ldr r0, _0238BD40 ; =LINK_SHOP_PTR str r1, [sp, #4] ldr r1, [r0] ldr r0, _0238BE00 ; =LINK_SHOP_WINDOW_PARAMS_6 add r2, r1, #0x1c0 ldr r1, _0238BE04 ; =0x00401833 ldr r3, _0238BE08 ; =ov18_0238AEF0 bl CreateAdvancedMenu ldr r1, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r1] strb r0, [r1, #0xb] _0238BA70: ldr r1, _0238BD40 ; =LINK_SHOP_PTR ldr r3, [r1] ldr r0, [r3, #0x88] tst r0, #0x2000 beq _0238BAC8 ldrsb r2, [r3, #0xc] mvn r0, #1 cmp r2, r0 bne _0238BAC8 mov r0, #1 str r0, [r3, #0x258] mov r0, #3 str r0, [sp] ldr r1, [r1] ldr r0, _0238BE0C ; =LINK_SHOP_WINDOW_PARAMS_4 ldr r3, _0238BE10 ; =LINK_SHOP_SUBMENU_ITEMS_1 add r2, r1, #0x258 mov r1, #0x33 bl CreateSimpleMenuFromStringIds ldr r1, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r1] strb r0, [r1, #0xc] _0238BAC8: ldr r0, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #0x4000 beq _0238BB10 ldrsb r1, [r1, #0xd] mvn r0, #1 cmp r1, r0 bne _0238BB0C mov r1, #0 mov r2, r1 mov r0, #6 bl sub_0204018C ldr r1, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r1] strb r0, [r1, #0xd] b _0238BB10 _0238BB0C: bl sub_02041178 _0238BB10: ldr r1, _0238BD40 ; =LINK_SHOP_PTR ldr r3, [r1] ldr r0, [r3, #0x88] tst r0, #0x8000 beq _0238BBAC ldrsb r2, [r3, #0xe] mvn r0, #1 cmp r2, r0 bne _0238BBAC mov r2, #0 strb r2, [r3, #0x39c] ldr r0, [r1] strb r2, [r0, #0x39d] ldr r0, [r1] strb r2, [r0, #0x39e] bl sub_02041094 cmp r0, #4 ldrge r0, _0238BD40 ; =LINK_SHOP_PTR movge r1, #3 ldrge r0, [r0] mov r3, #1 strgeb r1, [r0, #0x39c] ldr r1, _0238BD40 ; =LINK_SHOP_PTR mov r4, #3 ldr r2, [r1] add r0, r2, #0x39c str r0, [r2, #0x350] ldr r2, [r1] ldr r0, _0238BE14 ; =LINK_SHOP_WINDOW_PARAMS_3 str r3, [r2, #0x2f0] str r4, [sp] ldr r2, [r1] ldr r3, _0238BE18 ; =LINK_SHOP_SUBMENU_ITEMS_2 add r1, r4, #0x230 add r2, r2, #0x2f0 bl CreateSimpleMenuFromStringIds ldr r1, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r1] strb r0, [r1, #0xe] _0238BBAC: ldr r0, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #0x10000 beq _0238BC74 ldrsb r1, [r1, #0xf] mvn r0, #1 cmp r1, r0 bne _0238BBF0 ldr r0, _0238BE1C ; =LINK_SHOP_WINDOW_PARAMS_10 bl CreateDialogueBox ldr r1, _0238BD40 ; =LINK_SHOP_PTR mvn r2, #0 ldr r3, [r1] strb r0, [r3, #0xf] ldr r0, [r1] str r2, [r0, #0x84] _0238BBF0: ldr r0, _0238BD40 ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #0xf] bl ShowDialogueBox ldr r0, _0238BD40 ; =LINK_SHOP_PTR ldr r3, [r0] ldr r0, [r3, #0x78] cmp r0, #0x12 bgt _0238BC2C cmp r0, #0x10 blt _0238BC48 cmpne r0, #0x11 cmpne r0, #0x12 beq _0238BC34 b _0238BC48 _0238BC2C: cmp r0, #0x3c b _0238BC48 _0238BC34: mov r0, #0x1fc str r0, [sp, #0x198] ldr r2, _0238BE20 ; =0x000003FA ldr r1, _0238BE24 ; =0x00003408 b _0238BC50 _0238BC48: #ifdef JAPAN ldr r2, _0238D390 ; =0x00003D26 ldr r1, _0238BD74 ; =0x00000408 #else mov r2, #0x400 add r1, r2, #8 #endif _0238BC50: ldr r0, [r3, #0x84] cmp r0, r2 beq _0238BC74 ldr r0, _0238BD40 ; =LINK_SHOP_PTR str r2, [r3, #0x84] ldr r0, [r0] add r3, sp, #0x14c ldrsb r0, [r0, #0xf] bl ShowStringIdInDialogueBox _0238BC74: ldr r0, _0238BD40 ; =LINK_SHOP_PTR mov r1, #2 ldr r0, [r0] str r1, [r0, #0x7c] b _0238BCF8 _0238BC88: ldr r0, [r4, #0x88] tst r0, #1 beq _0238BCA8 ldrsb r0, [r4] bl IsDialogueBoxActive cmp r0, #0 movne r0, #0 bne _0238BCD4 _0238BCA8: ldr r0, _0238BD40 ; =LINK_SHOP_PTR ldr r1, [r0] ldr r0, [r1, #0x88] tst r0, #0x10000 beq _0238BCD0 ldrsb r0, [r1, #0xf] bl IsDialogueBoxActive cmp r0, #0 movne r0, #0 bne _0238BCD4 _0238BCD0: mov r0, #1 _0238BCD4: cmp r0, #0 beq _0238BCF8 ldr r0, _0238BD40 ; =LINK_SHOP_PTR mov r2, #0 ldr r1, [r0] str r2, [r1, #0x7c] ldr r1, [r0] ldr r0, [r1, #0x80] str r0, [r1, #0x78] _0238BCF8: mov r0, #1 b _0238BD38 _0238BD00: bl ov18_0238A42C cmp r0, #0 ldrne r0, _0238BD40 ; =LINK_SHOP_PTR movne r1, #2 ldrne r0, [r0] strne r1, [r0, #0x74] b _0238BD34 _0238BD1C: mov r0, #3 str r0, [r4, #0x74] bl ov11_022E6E68 bl LinkShopDestructor mov r0, #4 b _0238BD38 _0238BD34: mov r0, #1 _0238BD38: add sp, sp, #0x214 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 #ifdef JAPAN #define OV18_0238B01C_OFFSET 0x3926 #else #define OV18_0238B01C_OFFSET 0 #endif _0238BD40: .word LINK_SHOP_PTR _0238BD44: .word OVERLAY18_FUNCTION_POINTER_TABLE _0238BD48: .word 0x00003008 _0238BD4C: .word LINK_SHOP_WINDOW_PARAMS_11 _0238BD50: .word 0x000003FB + OV18_0238B01C_OFFSET _0238BD54: .word 0x000003F9 + OV18_0238B01C_OFFSET #ifdef JAPAN _0238D2B4: .word 0x00003D36 #endif _0238BD58: .word 0x00003018 _0238BD5C: .word 0x0000040B + OV18_0238B01C_OFFSET _0238BD60: .word 0x0000040C + OV18_0238B01C_OFFSET _0238BD64: .word 0x0000040D + OV18_0238B01C_OFFSET _0238BD68: .word 0x0000040E + OV18_0238B01C_OFFSET _0238BD6C: .word 0x0000040F + OV18_0238B01C_OFFSET #if defined(EUROPE) _0238BD70: .word 0x00003FCE _0238BD74: .word 0x00000408 _0238BD78: .word 0x00003FCF #elif defined(JAPAN) _0238BD70: .word 0x000049CF _0238BD74: .word 0x00000408 _0238BD78: .word 0x000049D0 #else _0238BD70: .word 0x00003FCC _0238BD74: .word 0x00000408 _0238BD78: .word 0x00003FCD #endif _0238BD7C: .word 0x00000405 + OV18_0238B01C_OFFSET _0238BD80: .word 0x00000406 + OV18_0238B01C_OFFSET _0238BD84: .word 0x00000407 + OV18_0238B01C_OFFSET _0238BD88: .word 0x00000409 + OV18_0238B01C_OFFSET #ifdef JAPAN _0238D2EC: .word 0x00003D2E _0238BD8C: .word 0x00003D30 _0238D2F4: .word 0x00003D22 #else _0238BD8C: .word 0x0000040A + OV18_0238B01C_OFFSET #endif _0238BD90: .word 0x000003FD + OV18_0238B01C_OFFSET _0238BD94: .word 0x000003FE + OV18_0238B01C_OFFSET _0238BD98: .word 0x0000131B _0238BD9C: .word 0x000003FF + OV18_0238B01C_OFFSET _0238BDA0: .word 0x00000401 + OV18_0238B01C_OFFSET _0238BDA4: .word 0x00000403 + OV18_0238B01C_OFFSET _0238BDA8: .word 0x00000402 + OV18_0238B01C_OFFSET _0238BDAC: .word 0x00000404 + OV18_0238B01C_OFFSET _0238BDB0: .word LINK_SHOP_WINDOW_PARAMS_1 _0238BDB4: .word ov18_0238AF3C _0238BDB8: .word LINK_SHOP_WINDOW_PARAMS_9 _0238BDBC: .word 0x00300013 _0238BDC0: .word LINK_SHOP_MAIN_MENU_ITEMS _0238BDC4: .word LINK_SHOP_WINDOW_PARAMS_7 _0238BDC8: .word LINK_SHOP_SUBMENU_ITEMS_3 _0238BDCC: .word LINK_SHOP_WINDOW_PARAMS_2 _0238BDD0: .word 0x00300033 _0238BDD4: .word LINK_SHOP_MENU_ITEMS_CONFIRM _0238BDD8: .word LINK_SHOP_WINDOW_PARAMS_8 _0238BDDC: .word LINK_SHOP_SUBMENU_ITEMS_4 _0238BDE0: .word LINK_SHOP_SUBMENU_ITEMS_6 _0238BDE4: .word LINK_SHOP_SUBMENU_ITEMS_5 _0238BDE8: .word LINK_SHOP_SUBMENU_ITEMS_7 _0238BDEC: .word LINK_SHOP_WINDOW_PARAMS_5 _0238BDF0: .word 0x80000213 _0238BDF4: .word TEAM_MEMBER_TABLE_PTR _0238BDF8: .word ov18_0238D5F8 #ifdef JAPAN _0238BDFC: .word 0x00000879 #else _0238BDFC: .word 0x00000A3E #endif _0238BE00: .word LINK_SHOP_WINDOW_PARAMS_6 _0238BE04: .word 0x00401833 _0238BE08: .word ov18_0238AEF0 _0238BE0C: .word LINK_SHOP_WINDOW_PARAMS_4 _0238BE10: .word LINK_SHOP_SUBMENU_ITEMS_1 _0238BE14: .word LINK_SHOP_WINDOW_PARAMS_3 _0238BE18: .word LINK_SHOP_SUBMENU_ITEMS_2 _0238BE1C: .word LINK_SHOP_WINDOW_PARAMS_10 _0238BE20: .word 0x000003FA + OV18_0238B01C_OFFSET _0238BE24: .word 0x00003408 #ifdef JAPAN _0238D390: .word 0x00003D26 #endif arm_func_end LinkShopMainManager arm_func_start ov18_0238BE28 ov18_0238BE28: ; 0x0238BE28 ldr r1, _0238BE44 ; =LINK_SHOP_PTR mov r3, #3 ldr r2, [r1] str r3, [r2, #0x7c] ldr r1, [r1] str r0, [r1, #0x80] bx lr .align 2, 0 _0238BE44: .word LINK_SHOP_PTR arm_func_end ov18_0238BE28 arm_func_start ov18_0238BE48 ov18_0238BE48: ; 0x0238BE48 ldr r0, _0238BE68 ; =LINK_SHOP_PTR mov r3, #3 ldr r2, [r0] mov r1, #1 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238BE68: .word LINK_SHOP_PTR arm_func_end ov18_0238BE48 arm_func_start ov18_0238BE6C ov18_0238BE6C: ; 0x0238BE6C ldr r0, _0238BE8C ; =LINK_SHOP_PTR mov r3, #0xf ldr r2, [r0] mov r1, #2 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238BE8C: .word LINK_SHOP_PTR arm_func_end ov18_0238BE6C arm_func_start ov18_0238BE90 ov18_0238BE90: ; 0x0238BE90 stmdb sp!, {r3, lr} ldr r0, _0238BF08 ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #3] bl IsSimpleMenuActive cmp r0, #0 ldmneia sp!, {r3, pc} ldr r0, _0238BF08 ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #3] bl GetSimpleMenuResult__0202B870 cmp r0, #6 addls pc, pc, r0, lsl #2 b _0238BEFC _0238BEC8: ; jump table b _0238BEFC ; case 0 b _0238BEFC ; case 1 b _0238BEFC ; case 2 b _0238BEE4 ; case 3 b _0238BEF0 ; case 4 b _0238BEFC ; case 5 b _0238BEFC ; case 6 _0238BEE4: mov r0, #0x11 bl ov18_0238BE28 ldmia sp!, {r3, pc} _0238BEF0: mov r0, #5 bl ov18_0238BE28 ldmia sp!, {r3, pc} _0238BEFC: mov r0, #3 bl ov18_0238BE28 ldmia sp!, {r3, pc} .align 2, 0 _0238BF08: .word LINK_SHOP_PTR arm_func_end ov18_0238BE90 arm_func_start ov18_0238BF0C ov18_0238BF0C: ; 0x0238BF0C ldr r0, _0238BF2C ; =LINK_SHOP_PTR mov r3, #3 ldr r2, [r0] mov r1, #4 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238BF2C: .word LINK_SHOP_PTR arm_func_end ov18_0238BF0C arm_func_start ov18_0238BF30 ov18_0238BF30: ; 0x0238BF30 stmdb sp!, {r3, lr} ldr r0, _0238BF5C ; =LINK_SHOP_PTR mov r1, #0 ldr r0, [r0] str r1, [r0, #0x88] bl ov18_0238A2A0 ldr r0, _0238BF5C ; =LINK_SHOP_PTR mov r1, #1 ldr r0, [r0] str r1, [r0, #0x74] ldmia sp!, {r3, pc} .align 2, 0 _0238BF5C: .word LINK_SHOP_PTR arm_func_end ov18_0238BF30 arm_func_start ov18_0238BF60 ov18_0238BF60: ; 0x0238BF60 ldr r0, _0238BF80 ; =LINK_SHOP_PTR mov r3, #3 ldr r2, [r0] mov r1, #6 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238BF80: .word LINK_SHOP_PTR arm_func_end ov18_0238BF60 arm_func_start ov18_0238BF84 ov18_0238BF84: ; 0x0238BF84 ldr r0, _0238BFA4 ; =LINK_SHOP_PTR mov r3, #0x23 ldr r2, [r0] mov r1, #7 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238BFA4: .word LINK_SHOP_PTR arm_func_end ov18_0238BF84 arm_func_start ov18_0238BFA8 ov18_0238BFA8: ; 0x0238BFA8 stmdb sp!, {r3, lr} ldr r0, _0238C038 ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #4] bl IsSimpleMenuActive cmp r0, #0 ldmneia sp!, {r3, pc} ldr r0, _0238C038 ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #4] bl GetSimpleMenuResult__0202B870 cmp r0, #8 bgt _0238BFFC cmp r0, #2 blt _0238C02C beq _0238C02C cmp r0, #7 beq _0238C008 cmp r0, #8 beq _0238C014 b _0238C02C _0238BFFC: cmp r0, #0xd beq _0238C020 b _0238C02C _0238C008: mov r0, #8 bl ov18_0238BE28 ldmia sp!, {r3, pc} _0238C014: mov r0, #0xa bl ov18_0238BE28 ldmia sp!, {r3, pc} _0238C020: mov r0, #0xe bl ov18_0238BE28 ldmia sp!, {r3, pc} _0238C02C: mov r0, #0 bl ov18_0238BE28 ldmia sp!, {r3, pc} .align 2, 0 _0238C038: .word LINK_SHOP_PTR arm_func_end ov18_0238BFA8 arm_func_start ov18_0238C03C ov18_0238C03C: ; 0x0238C03C ldr r0, _0238C05C ; =LINK_SHOP_PTR mov r3, #3 ldr r2, [r0] mov r1, #9 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238C05C: .word LINK_SHOP_PTR arm_func_end ov18_0238C03C arm_func_start ov18_0238C060 ov18_0238C060: ; 0x0238C060 ldr r0, _0238C074 ; =LINK_SHOP_PTR mov r1, #5 ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238C074: .word LINK_SHOP_PTR arm_func_end ov18_0238C060 arm_func_start ov18_0238C078 ov18_0238C078: ; 0x0238C078 ldr r0, _0238C098 ; =LINK_SHOP_PTR mov r3, #3 ldr r2, [r0] mov r1, #0xc str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238C098: .word LINK_SHOP_PTR arm_func_end ov18_0238C078 arm_func_start ov18_0238C09C ov18_0238C09C: ; 0x0238C09C ldr r0, _0238C0BC ; =LINK_SHOP_PTR mov r3, #3 ldr r2, [r0] mov r1, #0xd str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238C0BC: .word LINK_SHOP_PTR arm_func_end ov18_0238C09C arm_func_start ov18_0238C0C0 ov18_0238C0C0: ; 0x0238C0C0 ldr r0, _0238C0D4 ; =LINK_SHOP_PTR mov r1, #5 ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238C0D4: .word LINK_SHOP_PTR arm_func_end ov18_0238C0C0 arm_func_start ov18_0238C0D8 ov18_0238C0D8: ; 0x0238C0D8 ldr r0, _0238C0F8 ; =LINK_SHOP_PTR mov r3, #3 ldr r2, [r0] mov r1, #0xf str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238C0F8: .word LINK_SHOP_PTR arm_func_end ov18_0238C0D8 arm_func_start ov18_0238C0FC ov18_0238C0FC: ; 0x0238C0FC ldr r0, _0238C110 ; =LINK_SHOP_PTR mov r1, #5 ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238C110: .word LINK_SHOP_PTR arm_func_end ov18_0238C0FC arm_func_start ov18_0238C114 ov18_0238C114: ; 0x0238C114 ldr r0, _0238C134 ; =LINK_SHOP_PTR ldr r3, _0238C138 ; =0x00010002 ldr r2, [r0] mov r1, #0x11 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238C134: .word LINK_SHOP_PTR _0238C138: .word 0x00010002 arm_func_end ov18_0238C114 arm_func_start ov18_0238C13C ov18_0238C13C: ; 0x0238C13C ldr r0, _0238C15C ; =LINK_SHOP_PTR ldr r3, _0238C160 ; =0x00010080 ldr r2, [r0] mov r1, #0x12 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238C15C: .word LINK_SHOP_PTR _0238C160: .word 0x00010080 arm_func_end ov18_0238C13C arm_func_start ov18_0238C164 ov18_0238C164: ; 0x0238C164 stmdb sp!, {r3, lr} bl sub_0203A5A8 cmp r0, #0 beq _0238C1CC bl sub_0203A9EC cmp r0, #0 ldmeqia sp!, {r3, pc} add r1, sp, #0 mov r0, #0 bl GetPressedButtons ldrh r0, [sp] tst r0, #8 ldmeqia sp!, {r3, pc} mov r0, #0 bl PlaySeVolumeWrapper bl sub_0203AAB0 ldr r1, _0238C218 ; =LINK_SHOP_PTR ldr r1, [r1] add r1, r1, #0x300 strh r0, [r1, #0x8c] bl sub_0203A5F0 ldr r0, _0238C218 ; =LINK_SHOP_PTR mov r1, #0x17 ldr r0, [r0] str r1, [r0, #0x80] ldmia sp!, {r3, pc} _0238C1CC: bl sub_0203AA20 mvn r1, #0 cmp r0, r1 bne _0238C1EC bl sub_0203A51C mov r0, #0 bl ov18_0238BE28 ldmia sp!, {r3, pc} _0238C1EC: ldr r2, _0238C218 ; =LINK_SHOP_PTR ldr r1, [r2] add r1, r1, #0x300 strh r0, [r1, #0x8c] ldr r0, [r2] add r0, r0, #0x300 ldrsh r0, [r0, #0x8c] bl sub_0203FA64 mov r0, #0x15 bl ov18_0238BE28 ldmia sp!, {r3, pc} .align 2, 0 _0238C218: .word LINK_SHOP_PTR arm_func_end ov18_0238C164 arm_func_start ov18_0238C21C ov18_0238C21C: ; 0x0238C21C ldr r0, _0238C23C ; =LINK_SHOP_PTR mov r3, #3 ldr r2, [r0] mov r1, #0x14 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238C23C: .word LINK_SHOP_PTR arm_func_end ov18_0238C21C arm_func_start ov18_0238C240 ov18_0238C240: ; 0x0238C240 ldr r0, _0238C254 ; =LINK_SHOP_PTR mov r1, #0x11 ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238C254: .word LINK_SHOP_PTR arm_func_end ov18_0238C240 arm_func_start ov18_0238C258 ov18_0238C258: ; 0x0238C258 ldr r0, _0238C278 ; =LINK_SHOP_PTR mov r3, #0x90 ldr r2, [r0] mov r1, #0x16 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238C278: .word LINK_SHOP_PTR arm_func_end ov18_0238C258 arm_func_start ov18_0238C27C ov18_0238C27C: ; 0x0238C27C stmdb sp!, {r3, lr} ldr r0, _0238C33C ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #5] bl IsSimpleMenuActive cmp r0, #0 ldmneia sp!, {r3, pc} ldr r0, _0238C33C ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #5] bl GetSimpleMenuResult__0202B870 sub r0, r0, #5 cmp r0, #0xb addls pc, pc, r0, lsl #2 b _0238C2F4 _0238C2B8: ; jump table b _0238C32C ; case 0 b _0238C32C ; case 1 b _0238C2F4 ; case 2 b _0238C2F4 ; case 3 b _0238C2F4 ; case 4 b _0238C2F4 ; case 5 b _0238C2F4 ; case 6 b _0238C2F4 ; case 7 b _0238C320 ; case 8 b _0238C2F4 ; case 9 b _0238C2E8 ; case 10 b _0238C300 ; case 11 _0238C2E8: mov r0, #0x17 bl ov18_0238BE28 ldmia sp!, {r3, pc} _0238C2F4: mov r0, #0x19 bl ov18_0238BE28 ldmia sp!, {r3, pc} _0238C300: ldr r0, _0238C33C ; =LINK_SHOP_PTR mov r3, #0 ldr r2, [r0] mov r1, #0x1b str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] ldmia sp!, {r3, pc} _0238C320: mov r0, #0x2e bl ov18_0238BE28 ldmia sp!, {r3, pc} _0238C32C: bl sub_0203A638 mov r0, #0x11 bl ov18_0238BE28 ldmia sp!, {r3, pc} .align 2, 0 _0238C33C: .word LINK_SHOP_PTR arm_func_end ov18_0238C27C arm_func_start ov18_0238C340 ov18_0238C340: ; 0x0238C340 ldr r0, _0238C360 ; =LINK_SHOP_PTR mov r3, #0x100 ldr r2, [r0] mov r1, #0x18 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238C360: .word LINK_SHOP_PTR arm_func_end ov18_0238C340 arm_func_start ov18_0238C364 ov18_0238C364: ; 0x0238C364 stmdb sp!, {r3, lr} bl sub_0203F398 cmp r0, #1 ldmneia sp!, {r3, pc} bl sub_0203F990 ldr r0, _0238C394 ; =LINK_SHOP_PTR mvn r2, #1 ldr r1, [r0] mov r0, #0x11 strb r2, [r1, #7] bl ov18_0238BE28 ldmia sp!, {r3, pc} .align 2, 0 _0238C394: .word LINK_SHOP_PTR arm_func_end ov18_0238C364 arm_func_start ov18_0238C398 ov18_0238C398: ; 0x0238C398 ldr r0, _0238C3B8 ; =LINK_SHOP_PTR ldr r3, _0238C3BC ; =0x00000201 ldr r2, [r0] mov r1, #0x1a str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238C3B8: .word LINK_SHOP_PTR _0238C3BC: .word 0x00000201 arm_func_end ov18_0238C398 arm_func_start ov18_0238C3C0 ov18_0238C3C0: ; 0x0238C3C0 stmdb sp!, {r4, lr} bl sub_020407EC movs r4, r0 beq _0238C3E4 ldr r0, _0238C424 ; =LINK_SHOP_PTR ldr r0, [r0] add r0, r0, #0x300 ldrsh r0, [r0, #0x8c] bl sub_0203FD80 _0238C3E4: cmp r4, #1 beq _0238C40C cmp r4, #2 beq _0238C400 cmp r4, #7 beq _0238C418 ldmia sp!, {r4, pc} _0238C400: mov r0, #0x1f bl ov18_0238BE28 ldmia sp!, {r4, pc} _0238C40C: mov r0, #0x11 bl ov18_0238BE28 ldmia sp!, {r4, pc} _0238C418: mov r0, #0x1d bl ov18_0238BE28 ldmia sp!, {r4, pc} .align 2, 0 _0238C424: .word LINK_SHOP_PTR arm_func_end ov18_0238C3C0 arm_func_start ov18_0238C428 ov18_0238C428: ; 0x0238C428 stmdb sp!, {r3, lr} ldr r1, _0238C474 ; =LINK_SHOP_PTR ldr r0, _0238C478 ; =TEAM_MEMBER_TABLE_PTR ldr r2, [r1] ldr r1, [r0] add r0, r2, #0x300 ldrsh r2, [r0, #0x8c] mov r0, #0x44 mov r3, #0 smlabb r1, r2, r0, r1 ldrsh r0, [r1, #4] ldrsh r2, [r1, #8] add r1, r1, #0x14 bl PrintIqSkillsMenu ldr r0, _0238C474 ; =LINK_SHOP_PTR mov r1, #0x1c ldr r0, [r0] str r1, [r0, #0x80] ldmia sp!, {r3, pc} .align 2, 0 _0238C474: .word LINK_SHOP_PTR _0238C478: .word TEAM_MEMBER_TABLE_PTR arm_func_end ov18_0238C428 arm_func_start ov18_0238C47C ov18_0238C47C: ; 0x0238C47C stmdb sp!, {r3, lr} bl sub_02041B7C cmp r0, #1 ldmneia sp!, {r3, pc} bl sub_020420F4 bl sub_020572EC mov r0, #0x11 bl ov18_0238BE28 ldmia sp!, {r3, pc} arm_func_end ov18_0238C47C arm_func_start ov18_0238C4A0 ov18_0238C4A0: ; 0x0238C4A0 stmdb sp!, {r3, lr} bl sub_0203FD38 ldr r1, _0238C4E4 ; =LINK_SHOP_PTR ldr r1, [r1] str r0, [r1, #0x3a0] bl sub_02041094 ldr r2, _0238C4E4 ; =LINK_SHOP_PTR mov ip, #0x400 ldr r1, [r2] mov r3, #0x1e add r1, r1, #0x300 strh r0, [r1, #0xa4] ldr r0, [r2] str ip, [r0, #0x88] ldr r0, [r2] str r3, [r0, #0x80] ldmia sp!, {r3, pc} .align 2, 0 _0238C4E4: .word LINK_SHOP_PTR arm_func_end ov18_0238C4A0 arm_func_start ov18_0238C4E8 ov18_0238C4E8: ; 0x0238C4E8 stmdb sp!, {r3, lr} bl sub_02041A18 cmp r0, #0 ldmeqia sp!, {r3, pc} mov r0, #0x19 bl ov18_0238BE28 ldmia sp!, {r3, pc} arm_func_end ov18_0238C4E8 arm_func_start ov18_0238C504 ov18_0238C504: ; 0x0238C504 ldr r0, _0238C524 ; =LINK_SHOP_PTR mov r3, #0xa00 ldr r2, [r0] mov r1, #0x20 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238C524: .word LINK_SHOP_PTR arm_func_end ov18_0238C504 arm_func_start ov18_0238C528 ov18_0238C528: ; 0x0238C528 stmdb sp!, {r3, r4, r5, lr} ldr r0, _0238C714 ; =LINK_SHOP_PTR mov r4, #0 ldr r0, [r0] ldrsb r0, [r0, #0xa] bl IsSimpleMenuActive cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} bl sub_02041094 ldr r1, _0238C714 ; =LINK_SHOP_PTR mov r5, r0 ldr r0, [r1] ldrsb r0, [r0, #0xa] bl GetSimpleMenuResult__0202B870 sub r1, r0, #4 cmp r1, #0xe addls pc, pc, r1, lsl #2 b _0238C6D0 _0238C570: ; jump table b _0238C6BC ; case 0 b _0238C6D0 ; case 1 b _0238C6D0 ; case 2 b _0238C5AC ; case 3 b _0238C5C8 ; case 4 b _0238C638 ; case 5 b _0238C6A8 ; case 6 b _0238C5AC ; case 7 b _0238C5AC ; case 8 b _0238C6D0 ; case 9 b _0238C6D0 ; case 10 b _0238C6D0 ; case 11 b _0238C6D0 ; case 12 b _0238C670 ; case 13 b _0238C68C ; case 14 _0238C5AC: ldr r0, _0238C718 ; =0x00003F07 mov r1, #0x100 bl sub_02017C74 mov r0, r5 mov r4, #1 bl sub_02041000 b _0238C6E4 _0238C5C8: mov r4, #1 bl GetMoneyCarried cmp r0, #0x1f4 bge _0238C5EC mov r0, #0 bl PlaySeVolumeWrapper mov r0, #0x13 bl ov18_0238BE28 ldmia sp!, {r3, r4, r5, pc} _0238C5EC: mov r0, r5 bl sub_02041194 cmp r0, #0 beq _0238C62C bl sub_02041414 cmp r0, #0 bne _0238C614 ldr r0, _0238C71C ; =0x00001308 bl PlaySeByIdVolumeWrapper b _0238C620 _0238C614: ldr r0, _0238C718 ; =0x00003F07 mov r1, #0x100 bl sub_02017C74 _0238C620: mov r0, r5 bl sub_020412B0 b _0238C6E4 _0238C62C: mov r0, #2 bl PlaySeVolumeWrapper b _0238C6E4 _0238C638: mov r0, r5 mov r4, #1 bl sub_02041364 cmp r0, #0 beq _0238C664 ldr r0, _0238C718 ; =0x00003F07 mov r1, #0x100 bl sub_02017C74 mov r0, r5 bl sub_02041394 b _0238C6E4 _0238C664: mov r0, #2 bl PlaySeVolumeWrapper b _0238C6E4 _0238C670: mov r0, r4 bl PlaySeVolumeWrapper mov r0, r5 bl sub_020416BC bl sub_020410A4 mov r4, #1 b _0238C6E4 _0238C68C: mov r0, r4 bl PlaySeVolumeWrapper mov r0, r5 bl sub_020416DC bl sub_020410A4 mov r4, #1 b _0238C6E4 _0238C6A8: ldr r0, _0238C718 ; =0x00003F07 bl PlaySeByIdVolumeWrapper mov r0, #0x21 bl ov18_0238BE28 b _0238C6E4 _0238C6BC: mov r0, r4 bl PlaySeVolumeWrapper mov r0, #0x1d bl ov18_0238BE28 b _0238C6E4 _0238C6D0: cmp r0, #6 beq _0238C6E0 mov r0, #1 bl PlaySeVolumeWrapper _0238C6E0: mov r4, #1 _0238C6E4: cmp r4, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _0238C714 ; =LINK_SHOP_PTR mvn r1, #1 ldr r0, [r0] ldrsb r0, [r0, #8] cmp r0, r1 beq _0238C708 bl sub_020307EC _0238C708: mov r0, #0x19 bl ov18_0238BE28 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0238C714: .word LINK_SHOP_PTR _0238C718: .word 0x00003F07 _0238C71C: .word 0x00001308 arm_func_end ov18_0238C528 arm_func_start ov18_0238C720 ov18_0238C720: ; 0x0238C720 stmdb sp!, {r4, lr} bl sub_02041094 mov r4, r0 bl sub_02041154 ldr r1, _0238C788 ; =LINK_SHOP_PTR cmp r4, #0 ldr r1, [r1] str r0, [r1, #0x24] bne _0238C760 mov r0, r4 bl sub_02041424 cmp r0, #0 bne _0238C760 mov r0, #0x22 bl ov18_0238BE28 ldmia sp!, {r4, pc} _0238C760: mov r0, r4 bl sub_02041364 cmp r0, #0 beq _0238C77C mov r0, #0x24 bl ov18_0238BE28 ldmia sp!, {r4, pc} _0238C77C: mov r0, #0x27 bl ov18_0238BE28 ldmia sp!, {r4, pc} .align 2, 0 _0238C788: .word LINK_SHOP_PTR arm_func_end ov18_0238C720 arm_func_start ov18_0238C78C ov18_0238C78C: ; 0x0238C78C ldr r0, _0238C7AC ; =LINK_SHOP_PTR mov r3, #3 ldr r2, [r0] mov r1, #0x23 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238C7AC: .word LINK_SHOP_PTR arm_func_end ov18_0238C78C arm_func_start ov18_0238C7B0 ov18_0238C7B0: ; 0x0238C7B0 ldr ip, _0238C7BC ; =ov18_0238BE28 mov r0, #0x19 bx ip .align 2, 0 _0238C7BC: .word ov18_0238BE28 arm_func_end ov18_0238C7B0 arm_func_start ov18_0238C7C0 ov18_0238C7C0: ; 0x0238C7C0 ldr r0, _0238C7E0 ; =LINK_SHOP_PTR mov r3, #3 ldr r2, [r0] mov r1, #0x25 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238C7E0: .word LINK_SHOP_PTR arm_func_end ov18_0238C7C0 arm_func_start ov18_0238C7E4 ov18_0238C7E4: ; 0x0238C7E4 ldr r0, _0238C804 ; =LINK_SHOP_PTR mov r3, #0x43 ldr r2, [r0] mov r1, #0x26 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238C804: .word LINK_SHOP_PTR arm_func_end ov18_0238C7E4 arm_func_start ov18_0238C808 ov18_0238C808: ; 0x0238C808 stmdb sp!, {r4, lr} ldr r0, _0238C884 ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #6] bl IsSimpleMenuActive cmp r0, #0 ldmneia sp!, {r4, pc} bl sub_02041094 ldr r1, _0238C884 ; =LINK_SHOP_PTR mov r4, r0 ldr r0, [r1] ldrsb r0, [r0, #6] bl GetSimpleMenuResult__0202B870 cmp r0, #0 beq _0238C850 cmp r0, #1 beq _0238C878 ldmia sp!, {r4, pc} _0238C850: mov r0, r4 bl sub_02041484 ldr r0, _0238C884 ; =LINK_SHOP_PTR ldr r0, [r0] add r0, r0, #0x300 ldrsh r0, [r0, #0x8c] bl sub_0203FD80 mov r0, #0x2a bl ov18_0238BE28 ldmia sp!, {r4, pc} _0238C878: mov r0, #0x19 bl ov18_0238BE28 ldmia sp!, {r4, pc} .align 2, 0 _0238C884: .word LINK_SHOP_PTR arm_func_end ov18_0238C808 arm_func_start ov18_0238C888 ov18_0238C888: ; 0x0238C888 ldr r0, _0238C8A8 ; =LINK_SHOP_PTR mov r3, #3 ldr r2, [r0] mov r1, #0x28 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238C8A8: .word LINK_SHOP_PTR arm_func_end ov18_0238C888 arm_func_start ov18_0238C8AC ov18_0238C8AC: ; 0x0238C8AC ldr r0, _0238C8CC ; =LINK_SHOP_PTR mov r3, #0x43 ldr r2, [r0] mov r1, #0x29 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238C8CC: .word LINK_SHOP_PTR arm_func_end ov18_0238C8AC arm_func_start ov18_0238C8D0 ov18_0238C8D0: ; 0x0238C8D0 stmdb sp!, {r4, lr} ldr r0, _0238C94C ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #6] bl IsSimpleMenuActive cmp r0, #0 ldmneia sp!, {r4, pc} bl sub_02041094 ldr r1, _0238C94C ; =LINK_SHOP_PTR mov r4, r0 ldr r0, [r1] ldrsb r0, [r0, #6] bl GetSimpleMenuResult__0202B870 cmp r0, #0 beq _0238C918 cmp r0, #1 beq _0238C940 ldmia sp!, {r4, pc} _0238C918: mov r0, r4 bl sub_02041484 ldr r0, _0238C94C ; =LINK_SHOP_PTR ldr r0, [r0] add r0, r0, #0x300 ldrsh r0, [r0, #0x8c] bl sub_0203FD80 mov r0, #0x2c bl ov18_0238BE28 ldmia sp!, {r4, pc} _0238C940: mov r0, #0x19 bl ov18_0238BE28 ldmia sp!, {r4, pc} .align 2, 0 _0238C94C: .word LINK_SHOP_PTR arm_func_end ov18_0238C8D0 arm_func_start ov18_0238C950 ov18_0238C950: ; 0x0238C950 ldr r0, _0238C970 ; =LINK_SHOP_PTR mov r3, #3 ldr r2, [r0] mov r1, #0x2b str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238C970: .word LINK_SHOP_PTR arm_func_end ov18_0238C950 arm_func_start ov18_0238C974 ov18_0238C974: ; 0x0238C974 ldr ip, _0238C980 ; =ov18_0238BE28 mov r0, #0x19 bx ip .align 2, 0 _0238C980: .word ov18_0238BE28 arm_func_end ov18_0238C974 arm_func_start ov18_0238C984 ov18_0238C984: ; 0x0238C984 ldr r0, _0238C9A4 ; =LINK_SHOP_PTR mov r3, #3 ldr r2, [r0] mov r1, #0x2d str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238C9A4: .word LINK_SHOP_PTR arm_func_end ov18_0238C984 arm_func_start ov18_0238C9A8 ov18_0238C9A8: ; 0x0238C9A8 ldr ip, _0238C9B4 ; =ov18_0238BE28 mov r0, #0x19 bx ip .align 2, 0 _0238C9B4: .word ov18_0238BE28 arm_func_end ov18_0238C9A8 arm_func_start ov18_0238C9B8 ov18_0238C9B8: ; 0x0238C9B8 stmdb sp!, {r3, lr} bl sub_0204159C cmp r0, #0 ldreq r0, _0238CA14 ; =LINK_SHOP_PTR moveq r1, #0x2f ldreq r0, [r0] streq r1, [r0, #0x80] ldmeqia sp!, {r3, pc} ldr r0, _0238CA14 ; =LINK_SHOP_PTR ldr r0, [r0] add r0, r0, #0x300 ldrsh r0, [r0, #0x8c] bl ov18_0238ABB0 cmp r0, #0 ldrle r0, _0238CA14 ; =LINK_SHOP_PTR movle r1, #0x31 ldrle r0, [r0] strle r1, [r0, #0x80] ldrgt r0, _0238CA14 ; =LINK_SHOP_PTR movgt r1, #0x33 ldrgt r0, [r0] strgt r1, [r0, #0x80] ldmia sp!, {r3, pc} .align 2, 0 _0238CA14: .word LINK_SHOP_PTR arm_func_end ov18_0238C9B8 arm_func_start ov18_0238CA18 ov18_0238CA18: ; 0x0238CA18 ldr r0, _0238CA38 ; =LINK_SHOP_PTR mov r3, #3 ldr r2, [r0] mov r1, #0x30 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238CA38: .word LINK_SHOP_PTR arm_func_end ov18_0238CA18 arm_func_start ov18_0238CA3C ov18_0238CA3C: ; 0x0238CA3C ldr ip, _0238CA48 ; =ov18_0238BE28 mov r0, #0x11 bx ip .align 2, 0 _0238CA48: .word ov18_0238BE28 arm_func_end ov18_0238CA3C arm_func_start ov18_0238CA4C ov18_0238CA4C: ; 0x0238CA4C ldr r0, _0238CA6C ; =LINK_SHOP_PTR mov r3, #3 ldr r2, [r0] mov r1, #0x32 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238CA6C: .word LINK_SHOP_PTR arm_func_end ov18_0238CA4C arm_func_start ov18_0238CA70 ov18_0238CA70: ; 0x0238CA70 ldr ip, _0238CA7C ; =ov18_0238BE28 mov r0, #0x11 bx ip .align 2, 0 _0238CA7C: .word ov18_0238BE28 arm_func_end ov18_0238CA70 arm_func_start ov18_0238CA80 ov18_0238CA80: ; 0x0238CA80 ldr r0, _0238CAAC ; =LINK_SHOP_PTR mov r2, #3 ldr r1, [r0] mov r3, #0 str r2, [r1, #0x88] ldr r2, [r0] mov r1, #0x34 strh r3, [r2, #0x8c] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238CAAC: .word LINK_SHOP_PTR arm_func_end ov18_0238CA80 arm_func_start ov18_0238CAB0 ov18_0238CAB0: ; 0x0238CAB0 ldr r0, _0238CAD0 ; =LINK_SHOP_PTR mov r3, #0x1000 ldr r2, [r0] mov r1, #0x35 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238CAD0: .word LINK_SHOP_PTR arm_func_end ov18_0238CAB0 arm_func_start ov18_0238CAD4 ov18_0238CAD4: ; 0x0238CAD4 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 add r1, sp, #0 mov r0, #0 bl GetPressedButtons ldr r0, _0238CBD8 ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #0xb] bl GetAdvancedMenuCurrentOption ldr r1, _0238CBD8 ; =LINK_SHOP_PTR ldr r2, [r1] strh r0, [r2, #0x8c] ldrh r0, [sp] tst r0, #8 beq _0238CB8C ldr r1, [r1] ldrsb r0, [r1, #0xb] ldrsh r4, [r1, #0x8c] bl sub_0202C1E4 ldr r0, _0238CBD8 ; =LINK_SHOP_PTR mov r1, r4 ldr r0, [r0] add r0, r0, #0x300 ldrsh r0, [r0, #0x8c] bl ov18_0238ADA8 ldr r2, _0238CBD8 ; =LINK_SHOP_PTR mov lr, #0 ldr r1, [r2] mov ip, #1 str lr, [r1, #0x3a0] ldr r1, [r2] mov r3, #0x38 add r1, r1, #0x300 strh r0, [r1, #0xaa] ldr r0, [r2] strb ip, [r0, #0x3a6] ldr r0, [r2] add r0, r0, #0x300 strh lr, [r0, #0xa8] ldr r0, [r2] strb ip, [r0, #0x3ac] ldr r0, [r2] strb lr, [r0, #0x3ad] ldr r0, [r2] str r3, [r0, #0x80] b _0238CBD0 _0238CB8C: ldr r0, [r1] ldrsb r0, [r0, #0xb] bl IsAdvancedMenuActive2 cmp r0, #0 bne _0238CBD0 ldr r0, _0238CBD8 ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #0xb] bl GetAdvancedMenuResult mvn r1, #0 cmp r0, r1 bne _0238CBC8 mov r0, #0x11 bl ov18_0238BE28 b _0238CBD0 _0238CBC8: mov r0, #0x36 bl ov18_0238BE28 _0238CBD0: add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 _0238CBD8: .word LINK_SHOP_PTR arm_func_end ov18_0238CAD4 arm_func_start ov18_0238CBDC ov18_0238CBDC: ; 0x0238CBDC ldr r0, _0238CBFC ; =LINK_SHOP_PTR mov r3, #0x3000 ldr r2, [r0] mov r1, #0x37 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238CBFC: .word LINK_SHOP_PTR arm_func_end ov18_0238CBDC arm_func_start ov18_0238CC00 ov18_0238CC00: ; 0x0238CC00 stmdb sp!, {r4, lr} ldr r0, _0238CD84 ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #0xb] bl GetAdvancedMenuResult ldr r1, _0238CD84 ; =LINK_SHOP_PTR mov r4, r0 ldr r0, [r1] ldrsb r0, [r0, #0xc] bl IsSimpleMenuActive cmp r0, #0 ldmneia sp!, {r4, pc} ldr r0, _0238CD84 ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #0xc] bl GetSimpleMenuResult__0202B870 sub r0, r0, #4 cmp r0, #9 addls pc, pc, r0, lsl #2 b _0238CD5C _0238CC50: ; jump table b _0238CCF0 ; case 0 b _0238CD5C ; case 1 b _0238CD5C ; case 2 b _0238CD5C ; case 3 b _0238CD5C ; case 4 b _0238CD5C ; case 5 b _0238CD5C ; case 6 b _0238CD5C ; case 7 b _0238CD5C ; case 8 b _0238CC78 ; case 9 _0238CC78: ldr r1, _0238CD84 ; =LINK_SHOP_PTR mov r0, r4, lsl #0x10 ldr r2, [r1] mov r1, r0, asr #0x10 add r0, r2, #0x300 ldrsh r0, [r0, #0x8c] bl ov18_0238ADA8 ldr r1, _0238CD84 ; =LINK_SHOP_PTR mov r4, r0 ldr r0, [r1] str r4, [r0, #0x24] bl sub_020415BC cmp r0, #0 mov r0, r4 beq _0238CCCC bl sub_0203FD14 ldr r0, _0238CD84 ; =LINK_SHOP_PTR mov r1, #0x3c ldr r0, [r0] str r1, [r0, #0x80] ldmia sp!, {r4, pc} _0238CCCC: bl sub_02041614 ldr r0, _0238CD84 ; =LINK_SHOP_PTR ldr r0, [r0] add r0, r0, #0x300 ldrsh r0, [r0, #0x8c] bl sub_0203FD80 mov r0, #0x3a bl ov18_0238BE28 ldmia sp!, {r4, pc} _0238CCF0: ldr r1, _0238CD84 ; =LINK_SHOP_PTR mov r0, r4, lsl #0x10 ldr r2, [r1] mov r1, r0, asr #0x10 add r0, r2, #0x300 ldrsh r0, [r0, #0x8c] bl ov18_0238ADA8 ldr r2, _0238CD84 ; =LINK_SHOP_PTR mov r4, #0 ldr r1, [r2] mov r3, #1 str r4, [r1, #0x3a0] ldr r1, [r2] add r1, r1, #0x300 strh r0, [r1, #0xaa] ldr r1, [r2] mov r0, #0x38 strb r3, [r1, #0x3a6] ldr r1, [r2] add r1, r1, #0x300 strh r4, [r1, #0xa8] ldr r1, [r2] strb r3, [r1, #0x3ac] ldr r1, [r2] strb r4, [r1, #0x3ad] bl ov18_0238BE28 ldmia sp!, {r4, pc} _0238CD5C: ldr r0, _0238CD84 ; =LINK_SHOP_PTR mvn r1, #1 ldr r0, [r0] ldrsb r0, [r0, #0xb] cmp r0, r1 beq _0238CD78 bl ResumeAdvancedMenu _0238CD78: mov r0, #0x34 bl ov18_0238BE28 ldmia sp!, {r4, pc} .align 2, 0 _0238CD84: .word LINK_SHOP_PTR arm_func_end ov18_0238CC00 arm_func_start ov18_0238CD88 ov18_0238CD88: ; 0x0238CD88 ldr r0, _0238CDA8 ; =LINK_SHOP_PTR mov r3, #0x400 ldr r2, [r0] mov r1, #0x39 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238CDA8: .word LINK_SHOP_PTR arm_func_end ov18_0238CD88 arm_func_start ov18_0238CDAC ov18_0238CDAC: ; 0x0238CDAC stmdb sp!, {r3, lr} bl sub_02041A18 cmp r0, #0 ldmeqia sp!, {r3, pc} mov r0, #0x34 bl ov18_0238BE28 ldmia sp!, {r3, pc} arm_func_end ov18_0238CDAC arm_func_start ov18_0238CDC8 ov18_0238CDC8: ; 0x0238CDC8 ldr r0, _0238CDE8 ; =LINK_SHOP_PTR mov r3, #3 ldr r2, [r0] mov r1, #0x3b str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238CDE8: .word LINK_SHOP_PTR arm_func_end ov18_0238CDC8 arm_func_start ov18_0238CDEC ov18_0238CDEC: ; 0x0238CDEC ldr ip, _0238CDF8 ; =ov18_0238BE28 mov r0, #0x11 bx ip .align 2, 0 _0238CDF8: .word ov18_0238BE28 arm_func_end ov18_0238CDEC arm_func_start ov18_0238CDFC ov18_0238CDFC: ; 0x0238CDFC ldr r0, _0238CE1C ; =LINK_SHOP_PTR mov r3, #0x14000 ldr r2, [r0] mov r1, #0x3d str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238CE1C: .word LINK_SHOP_PTR arm_func_end ov18_0238CDFC arm_func_start ov18_0238CE20 ov18_0238CE20: ; 0x0238CE20 stmdb sp!, {r4, lr} bl sub_020407EC movs r4, r0 beq _0238CE44 ldr r0, _0238CE84 ; =LINK_SHOP_PTR ldr r0, [r0] add r0, r0, #0x300 ldrsh r0, [r0, #0x8c] bl sub_0203FD80 _0238CE44: cmp r4, #1 beq _0238CE6C cmp r4, #2 beq _0238CE60 cmp r4, #7 beq _0238CE78 ldmia sp!, {r4, pc} _0238CE60: mov r0, #0x3e bl ov18_0238BE28 ldmia sp!, {r4, pc} _0238CE6C: mov r0, #0x11 bl ov18_0238BE28 ldmia sp!, {r4, pc} _0238CE78: mov r0, #0x40 bl ov18_0238BE28 ldmia sp!, {r4, pc} .align 2, 0 _0238CE84: .word LINK_SHOP_PTR arm_func_end ov18_0238CE20 arm_func_start ov18_0238CE88 ov18_0238CE88: ; 0x0238CE88 stmdb sp!, {r3, lr} ldr r0, _0238CED4 ; =LINK_SHOP_PTR mov r1, #0xc000 ldr r0, [r0] str r1, [r0, #0x88] bl sub_02041094 bl sub_02041154 ldr r1, _0238CED4 ; =LINK_SHOP_PTR ldr r1, [r1] str r0, [r1, #0x24] mov r0, #4 bl sub_02041154 ldr r1, _0238CED4 ; =LINK_SHOP_PTR mov r2, #0x3f ldr r3, [r1] str r0, [r3, #0x28] ldr r0, [r1] str r2, [r0, #0x80] ldmia sp!, {r3, pc} .align 2, 0 _0238CED4: .word LINK_SHOP_PTR arm_func_end ov18_0238CE88 arm_func_start ov18_0238CED8 ov18_0238CED8: ; 0x0238CED8 stmdb sp!, {r3, lr} bl sub_02041094 ldr r0, _0238CF94 ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #0xe] bl IsSimpleMenuActive cmp r0, #0 ldmneia sp!, {r3, pc} bl sub_0203FD38 ldr r0, _0238CF94 ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #0xe] bl GetSimpleMenuResult__0202B870 sub r0, r0, #4 cmp r0, #6 addls pc, pc, r0, lsl #2 b _0238CF6C _0238CF1C: ; jump table b _0238CF60 ; case 0 b _0238CF6C ; case 1 b _0238CF6C ; case 2 b _0238CF6C ; case 3 b _0238CF6C ; case 4 b _0238CF6C ; case 5 b _0238CF38 ; case 6 _0238CF38: bl sub_02041094 bl sub_02041364 cmp r0, #0 beq _0238CF54 mov r0, #0x42 bl ov18_0238BE28 ldmia sp!, {r3, pc} _0238CF54: mov r0, #0x45 bl ov18_0238BE28 ldmia sp!, {r3, pc} _0238CF60: mov r0, #0x40 bl ov18_0238BE28 ldmia sp!, {r3, pc} _0238CF6C: ldr r0, _0238CF94 ; =LINK_SHOP_PTR mvn r1, #1 ldr r0, [r0] ldrsb r0, [r0, #0xb] cmp r0, r1 beq _0238CF88 bl ResumeAdvancedMenu _0238CF88: mov r0, #0x3c bl ov18_0238BE28 ldmia sp!, {r3, pc} .align 2, 0 _0238CF94: .word LINK_SHOP_PTR arm_func_end ov18_0238CED8 arm_func_start ov18_0238CF98 ov18_0238CF98: ; 0x0238CF98 stmdb sp!, {r4, lr} bl sub_0203FD38 mov r4, r0 bl sub_02041094 cmp r0, #4 blt _0238CFF0 bl sub_0203FD2C ldr r2, _0238D030 ; =LINK_SHOP_PTR mov r1, r0 ldr r0, [r2] mov r2, #8 add r0, r0, #0xa6 add r0, r0, #0x300 bl memcpy ldr r0, _0238D030 ; =LINK_SHOP_PTR mov r2, #0 ldr r1, [r0] str r2, [r1, #0x3a0] ldr r0, [r0] add r0, r0, #0x300 strh r2, [r0, #0xa4] b _0238D010 _0238CFF0: ldr r0, _0238D030 ; =LINK_SHOP_PTR ldr r0, [r0] str r4, [r0, #0x3a0] bl sub_02041094 ldr r1, _0238D030 ; =LINK_SHOP_PTR ldr r1, [r1] add r1, r1, #0x300 strh r0, [r1, #0xa4] _0238D010: ldr r0, _0238D030 ; =LINK_SHOP_PTR mov r3, #0x400 ldr r2, [r0] mov r1, #0x41 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] ldmia sp!, {r4, pc} .align 2, 0 _0238D030: .word LINK_SHOP_PTR arm_func_end ov18_0238CF98 arm_func_start ov18_0238D034 ov18_0238D034: ; 0x0238D034 stmdb sp!, {r3, lr} bl sub_02041A18 cmp r0, #0 ldmeqia sp!, {r3, pc} mov r0, #0x3c bl ov18_0238BE28 ldmia sp!, {r3, pc} arm_func_end ov18_0238D034 arm_func_start ov18_0238D050 ov18_0238D050: ; 0x0238D050 ldr r0, _0238D070 ; =LINK_SHOP_PTR mov r3, #3 ldr r2, [r0] mov r1, #0x43 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238D070: .word LINK_SHOP_PTR arm_func_end ov18_0238D050 arm_func_start ov18_0238D074 ov18_0238D074: ; 0x0238D074 ldr r0, _0238D094 ; =LINK_SHOP_PTR mov r3, #0x43 ldr r2, [r0] mov r1, #0x44 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238D094: .word LINK_SHOP_PTR arm_func_end ov18_0238D074 arm_func_start ov18_0238D098 ov18_0238D098: ; 0x0238D098 stmdb sp!, {r4, lr} ldr r0, _0238D128 ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #6] bl IsSimpleMenuActive cmp r0, #0 ldmneia sp!, {r4, pc} bl sub_02041094 ldr r1, _0238D128 ; =LINK_SHOP_PTR mov r4, r0 ldr r0, [r1] ldrsb r0, [r0, #6] bl GetSimpleMenuResult__0202B870 cmp r0, #0 beq _0238D0E0 cmp r0, #1 beq _0238D11C ldmia sp!, {r4, pc} _0238D0E0: mov r0, r4 bl sub_02041484 bl sub_0203FD2C ldrh r0, [r0, #4] bl sub_02041614 ldr r0, _0238D128 ; =LINK_SHOP_PTR ldr r0, [r0] add r0, r0, #0x300 ldrsh r0, [r0, #0x8c] bl sub_0203FD80 ldr r0, _0238D128 ; =LINK_SHOP_PTR mov r1, #0x48 ldr r0, [r0] str r1, [r0, #0x80] ldmia sp!, {r4, pc} _0238D11C: mov r0, #0x3c bl ov18_0238BE28 ldmia sp!, {r4, pc} .align 2, 0 _0238D128: .word LINK_SHOP_PTR arm_func_end ov18_0238D098 arm_func_start ov18_0238D12C ov18_0238D12C: ; 0x0238D12C ldr r0, _0238D14C ; =LINK_SHOP_PTR mov r3, #3 ldr r2, [r0] mov r1, #0x46 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238D14C: .word LINK_SHOP_PTR arm_func_end ov18_0238D12C arm_func_start ov18_0238D150 ov18_0238D150: ; 0x0238D150 ldr r0, _0238D170 ; =LINK_SHOP_PTR mov r3, #0x43 ldr r2, [r0] mov r1, #0x47 str r3, [r2, #0x88] ldr r0, [r0] str r1, [r0, #0x80] bx lr .align 2, 0 _0238D170: .word LINK_SHOP_PTR arm_func_end ov18_0238D150 arm_func_start ov18_0238D174 ov18_0238D174: ; 0x0238D174 stmdb sp!, {r4, lr} ldr r0, _0238D204 ; =LINK_SHOP_PTR ldr r0, [r0] ldrsb r0, [r0, #6] bl IsSimpleMenuActive cmp r0, #0 ldmneia sp!, {r4, pc} bl sub_02041094 ldr r1, _0238D204 ; =LINK_SHOP_PTR mov r4, r0 ldr r0, [r1] ldrsb r0, [r0, #6] bl GetSimpleMenuResult__0202B870 cmp r0, #0 beq _0238D1BC cmp r0, #1 beq _0238D1F8 ldmia sp!, {r4, pc} _0238D1BC: mov r0, r4 bl sub_02041484 bl sub_0203FD2C ldrh r0, [r0, #4] bl sub_02041614 ldr r0, _0238D204 ; =LINK_SHOP_PTR ldr r0, [r0] add r0, r0, #0x300 ldrsh r0, [r0, #0x8c] bl sub_0203FD80 ldr r0, _0238D204 ; =LINK_SHOP_PTR mov r1, #0x4a ldr r0, [r0] str r1, [r0, #0x80] ldmia sp!, {r4, pc} _0238D1F8: mov r0, #0x3c bl ov18_0238BE28 ldmia sp!, {r4, pc} .align 2, 0 _0238D204: .word LINK_SHOP_PTR arm_func_end ov18_0238D174 ; 0x0238D208 .rodata .global ov18_0238D208 ov18_0238D208: .byte 0x18, 0x00, 0x9F, 0xE5, 0x03, 0x30, 0xA0, 0xE3, 0x00, 0x20, 0x90, 0xE5, 0x49, 0x10, 0xA0, 0xE3 .byte 0x88, 0x30, 0x82, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0x80, 0x10, 0x80, 0xE5, 0x1E, 0xFF, 0x2F, 0xE1 .word LINK_SHOP_PTR .global ov18_0238D22C ov18_0238D22C: .byte 0x04, 0xC0, 0x9F, 0xE5, 0x11, 0x00, 0xA0, 0xE3, 0x1C, 0xFF, 0x2F, 0xE1 .word ov18_0238BE28 .global ov18_0238D23C ov18_0238D23C: .byte 0x18, 0x00, 0x9F, 0xE5, 0x03, 0x30, 0xA0, 0xE3, 0x00, 0x20, 0x90, 0xE5 .byte 0x4B, 0x10, 0xA0, 0xE3, 0x88, 0x30, 0x82, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0x80, 0x10, 0x80, 0xE5 .byte 0x1E, 0xFF, 0x2F, 0xE1 .word LINK_SHOP_PTR .global ov18_0238D260 ov18_0238D260: .byte 0x04, 0xC0, 0x9F, 0xE5, 0x11, 0x00, 0xA0, 0xE3 .byte 0x1C, 0xFF, 0x2F, 0xE1 .word ov18_0238BE28 .global LINK_SHOP_WINDOW_PARAMS_1 LINK_SHOP_WINDOW_PARAMS_1: .byte 0x00, 0x00, 0x00, 0x00, 0x16, 0x02, 0x08, 0x04 .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global LINK_SHOP_WINDOW_PARAMS_2 LINK_SHOP_WINDOW_PARAMS_2: .byte 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0x08, 0x00 .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global LINK_SHOP_WINDOW_PARAMS_3 LINK_SHOP_WINDOW_PARAMS_3: .byte 0x00, 0x00, 0x00, 0x00, 0x16, 0x02, 0x08, 0x00 .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global LINK_SHOP_WINDOW_PARAMS_4 LINK_SHOP_WINDOW_PARAMS_4: .byte 0x00, 0x00, 0x00, 0x00, 0x16, 0x02, 0x08, 0x00 .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global LINK_SHOP_WINDOW_PARAMS_5 LINK_SHOP_WINDOW_PARAMS_5: .byte 0x00, 0x00, 0x00, 0x00, 0x16, 0x02, 0x08, 0x00 .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global LINK_SHOP_WINDOW_PARAMS_6 LINK_SHOP_WINDOW_PARAMS_6: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x12, 0x00 .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global LINK_SHOP_WINDOW_PARAMS_7 LINK_SHOP_WINDOW_PARAMS_7: .byte 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0x0B, 0x00 .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global LINK_SHOP_WINDOW_PARAMS_8 LINK_SHOP_WINDOW_PARAMS_8: .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x02, 0x0B, 0x00 .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global LINK_SHOP_WINDOW_PARAMS_9 LINK_SHOP_WINDOW_PARAMS_9: .byte 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0x00, 0x00 .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global LINK_SHOP_WINDOW_PARAMS_10 LINK_SHOP_WINDOW_PARAMS_10: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x12, 0x1C, 0x04 .byte 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global LINK_SHOP_WINDOW_PARAMS_11 LINK_SHOP_WINDOW_PARAMS_11: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x11, 0x1C, 0x05 .byte 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global LINK_SHOP_MENU_ITEMS_CONFIRM LINK_SHOP_MENU_ITEMS_CONFIRM: #ifdef JAPAN #define OV18_DATA_OFFSET 0x3926 #define OV18_DATA_OFFSET_2 -0x1C5 #else #define OV18_DATA_OFFSET 0 #define OV18_DATA_OFFSET_2 0 #define OV18_DATA_OFFSET_2 0 #endif .word 0x3E7 + OV18_DATA_OFFSET .byte 0x00, 0x00, 0x00, 0x00 .word 0x3E8 + OV18_DATA_OFFSET .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .global LINK_SHOP_SUBMENU_ITEMS_1 LINK_SHOP_SUBMENU_ITEMS_1: .word 0x3F3 + OV18_DATA_OFFSET .byte 0x0D, 0x00, 0x00, 0x00 .word 0x3EB + OV18_DATA_OFFSET .byte 0x04, 0x00, 0x00, 0x00 .word 0x3EC + OV18_DATA_OFFSET .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .global LINK_SHOP_SUBMENU_ITEMS_2 LINK_SHOP_SUBMENU_ITEMS_2: .word 0x3F0 + OV18_DATA_OFFSET .byte 0x0A, 0x00, 0x00, 0x00 .word 0x3EB + OV18_DATA_OFFSET .byte 0x04, 0x00, 0x00, 0x00 .word 0x3EC + OV18_DATA_OFFSET .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .global LINK_SHOP_MAIN_MENU_ITEMS LINK_SHOP_MAIN_MENU_ITEMS: .word 0x3EA + OV18_DATA_OFFSET .byte 0x03, 0x00, 0x00, 0x00 .word 0x3EB + OV18_DATA_OFFSET .byte 0x04, 0x00, 0x00, 0x00 .word 0x3EC + OV18_DATA_OFFSET .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .global LINK_SHOP_SUBMENU_ITEMS_3 LINK_SHOP_SUBMENU_ITEMS_3: .word 0x3ED + OV18_DATA_OFFSET .byte 0x07, 0x00, 0x00, 0x00 .word 0x3EE + OV18_DATA_OFFSET .byte 0x08, 0x00, 0x00, 0x00 .word 0x3F3 + OV18_DATA_OFFSET .byte 0x0D, 0x00, 0x00, 0x00 .word 0x3E9 + OV18_DATA_OFFSET .byte 0x02, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .global LINK_SHOP_SUBMENU_ITEMS_4 LINK_SHOP_SUBMENU_ITEMS_4: .word 0x3F4 + OV18_DATA_OFFSET .byte 0x0E, 0x00, 0x00, 0x00 .word 0x3F5 + OV18_DATA_OFFSET .byte 0x0F, 0x00, 0x00, 0x00 .word 0x3F6 + OV18_DATA_OFFSET .byte 0x10, 0x00, 0x00, 0x00 .word 0x3F3 + OV18_DATA_OFFSET .byte 0x0D, 0x00, 0x00, 0x00 .word 0x3EC + OV18_DATA_OFFSET .byte 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .global LINK_SHOP_SUBMENU_ITEMS_5 LINK_SHOP_SUBMENU_ITEMS_5: .word 0x3ED + OV18_DATA_OFFSET .byte 0x07, 0x00, 0x00, 0x00 .word 0x3EE + OV18_DATA_OFFSET .byte 0x08, 0x00, 0x00, 0x00 .word 0x3EF + OV18_DATA_OFFSET .byte 0x09, 0x00, 0x00, 0x00 .word 0xA3F + OV18_DATA_OFFSET_2 .byte 0x11, 0x00, 0x00, 0x00 .word 0xA40 + OV18_DATA_OFFSET_2 .byte 0x12, 0x00, 0x00, 0x00 .word 0x3F0 + OV18_DATA_OFFSET .byte 0x0A, 0x00, 0x00, 0x00 .word 0x3EB + OV18_DATA_OFFSET .byte 0x04, 0x00, 0x00, 0x00 .word 0x3EC + OV18_DATA_OFFSET .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .global LINK_SHOP_SUBMENU_ITEMS_6 LINK_SHOP_SUBMENU_ITEMS_6: .word 0x3F1 + OV18_DATA_OFFSET .byte 0x0B, 0x00, 0x00, 0x00 .word 0x3EE + OV18_DATA_OFFSET .byte 0x08, 0x00, 0x00, 0x00 .word 0x3EF + OV18_DATA_OFFSET .byte 0x09, 0x00, 0x00, 0x00 .word 0xA3F + OV18_DATA_OFFSET_2 .byte 0x11, 0x00, 0x00, 0x00 .word 0xA40 + OV18_DATA_OFFSET_2 .byte 0x12, 0x00, 0x00, 0x00 .word 0x3F0 + OV18_DATA_OFFSET .byte 0x0A, 0x00, 0x00, 0x00 .word 0x3EB + OV18_DATA_OFFSET .byte 0x04, 0x00, 0x00, 0x00 .word 0x3EC + OV18_DATA_OFFSET .byte 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .global LINK_SHOP_SUBMENU_ITEMS_7 LINK_SHOP_SUBMENU_ITEMS_7: .word 0x3F2 + OV18_DATA_OFFSET .byte 0x0C, 0x00, 0x00, 0x00 .word 0x3EE + OV18_DATA_OFFSET .byte 0x08, 0x00, 0x00, 0x00 .word 0x3EF + OV18_DATA_OFFSET .byte 0x09, 0x00, 0x00, 0x00 .word 0xA3F + OV18_DATA_OFFSET_2 .byte 0x11, 0x00, 0x00, 0x00 .word 0xA40 + OV18_DATA_OFFSET_2 .byte 0x12, 0x00, 0x00, 0x00 .word 0x3F0 + OV18_DATA_OFFSET .byte 0x0A, 0x00, 0x00, 0x00 .word 0x3EB + OV18_DATA_OFFSET .byte 0x04, 0x00, 0x00, 0x00 .word 0x3EC + OV18_DATA_OFFSET .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .global OVERLAY18_FUNCTION_POINTER_TABLE OVERLAY18_FUNCTION_POINTER_TABLE: .word ov18_0238BE48 .word ov18_0238BE6C .word ov18_0238BE90 .word ov18_0238BF0C .word ov18_0238BF30 .word ov18_0238BF60 .word ov18_0238BF84 .word ov18_0238BFA8 .word ov18_0238C03C .word ov18_0238C060 .word ov18_0238C078 .word ov18_0238C060 .word ov18_0238C09C .word ov18_0238C0C0 .word ov18_0238C0D8 .word ov18_0238C0FC .word ov18_0238C114 .word ov18_0238C13C .word ov18_0238C164 .word ov18_0238C21C .word ov18_0238C240 .word ov18_0238C258 .word ov18_0238C27C .word ov18_0238C340 .word ov18_0238C364 .word ov18_0238C398 .word ov18_0238C3C0 .word ov18_0238C428 .word ov18_0238C47C .word ov18_0238C4A0 .word ov18_0238C4E8 .word ov18_0238C504 .word ov18_0238C528 .word ov18_0238C720 .word ov18_0238C78C .word ov18_0238C7B0 .word ov18_0238C7C0 .word ov18_0238C7E4 .word ov18_0238C808 .word ov18_0238C888 .word ov18_0238C8AC .word ov18_0238C8D0 .word ov18_0238C950 .word ov18_0238C974 .word ov18_0238C984 .word ov18_0238C9A8 .word ov18_0238C9B8 .word ov18_0238CA18 .word ov18_0238CA3C .word ov18_0238CA4C .word ov18_0238CA70 .word ov18_0238CA80 .word ov18_0238CAB0 .word ov18_0238CAD4 .word ov18_0238CBDC .word ov18_0238CC00 .word ov18_0238CD88 .word ov18_0238CDAC .word ov18_0238CDC8 .word ov18_0238CDEC .word ov18_0238CDFC .word ov18_0238CE20 .word ov18_0238CE88 .word ov18_0238CED8 .word ov18_0238CF98 .word ov18_0238D034 .word ov18_0238D050 .word ov18_0238D074 .word ov18_0238D098 .word ov18_0238D12C .word ov18_0238D150 .word ov18_0238D174 .word ov18_0238D208 .word ov18_0238D22C .word ov18_0238D23C .word ov18_0238D260 .global ov18_0238D5F8 ov18_0238D5F8: .byte 0x5B, 0x43, 0x53, 0x3A, 0x25, 0x63, 0x5D, 0x25, 0x73, 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00 .global ov18_0238D608 ov18_0238D608: .byte 0x5B, 0x43, 0x53, 0x3A, 0x56, 0x5D, 0x5B, 0x67, 0x6F, 0x6C, 0x64, 0x3A, 0x30, 0x5D, 0x5B, 0x43 .byte 0x52, 0x5D, 0x00, 0x00 .data .global LINK_SHOP_PTR LINK_SHOP_PTR: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00