.include "asm/macros.inc" .include "global.inc" .section .rodata .global UNK_020F40A0 UNK_020F40A0: ; 0x020F40A0 .byte 0x8E, 0x00, 0x0B, 0x00, 0xFF, 0xFF .global UNK_020F40A6 UNK_020F40A6: ; 0x020F40A6 .byte 0x92, 0x00, 0x0E, 0x00, 0xFF, 0xFF .global UNK_020F40AC UNK_020F40AC: ; 0x020F40AC .byte 0x8C, 0x00, 0x0E, 0x00, 0x06, 0x00, 0xFF, 0xFF .global UNK_020F40B4 UNK_020F40B4: ; 0x020F40B4 .byte 0x8D, 0x00, 0x0E, 0x00, 0x06, 0x00, 0xFF, 0xFF .global UNK_020F40BC UNK_020F40BC: ; 0x020F40BC .byte 0x92, 0x00, 0x0E, 0x00, 0x06, 0x00, 0x08, 0x00, 0xFF, 0xFF .global UNK_020F40C6 UNK_020F40C6: ; 0x020F40C6 .byte 0x24, 0x00, 0x22, 0x00, 0x23, 0x00, 0x25, 0x00, 0xFF, 0xFF .global UNK_020F40D0 UNK_020F40D0: ; 0x020F40D0 .byte 0x90, 0x00, 0x0D, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0xFF, 0xFF .global UNK_020F40DA UNK_020F40DA: ; 0x020F40DA .byte 0x92, 0x00, 0x06, 0x00, 0x08, 0x00, 0x0D, 0x00, 0xFF, 0xFF .global UNK_020F40E4 UNK_020F40E4: ; 0x020F40E4 .byte 0x92, 0x00, 0x08, 0x00, 0x0D, 0x00, 0x0F, 0x00, 0xFF, 0xFF .global UNK_020F40EE UNK_020F40EE: ; 0x020F40EE .byte 0x92, 0x00, 0x0D, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0xFF, 0xFF .global UNK_020F40F8 UNK_020F40F8: ; 0x020F40F8 .byte 0x8F, 0x00, 0x0E, 0x00, 0x06, 0x00, 0x08, 0x00, 0xFF, 0xFF .global UNK_020F4102 UNK_020F4102: ; 0x020F4102 .byte 0x92, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x09, 0x00, 0xFF, 0xFF .global UNK_020F410C UNK_020F410C: ; 0x020F410C .byte 0x07, 0x00, 0x16, 0x00, 0x19, 0x00, 0x1A, 0x00, 0x1B, 0x00, 0xFF, 0xFF .global UNK_020F4118 UNK_020F4118: ; 0x020F4118 .byte 0x73, 0x00, 0x74, 0x00, 0x75, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0xFF, 0xFF .global UNK_020F4126 UNK_020F4126: ; 0x020F4126 .byte 0x2E, 0x00, 0x2F, 0x00, 0x31, 0x00, 0x34, 0x00, 0x30, 0x00, 0x2D, 0x00, 0xFF, 0xFF .global UNK_020F4134 UNK_020F4134: ; 0x020F4134 .byte 0x6D, 0x01, 0x60, 0x01, 0x55, 0x01, 0x5D, 0x01, 0x7B, 0x01, 0x56, 0x01, 0xFF, 0xFF .global UNK_020F4142 UNK_020F4142: ; 0x020F4142 .byte 0x02, 0x00, 0x09, 0x00, 0x1E, 0x00, 0x25, 0x00, 0x2C, 0x00, 0x10, 0x00, 0x17, 0x00, 0xFF, 0xFF .global UNK_020F4152 UNK_020F4152: ; 0x020F4152 .byte 0x1B, 0x00, 0x22, 0x00, 0x29, 0x00, 0x30, 0x00, 0x06, 0x00, 0x0D, 0x00, 0x14, 0x00, 0xFF, 0xFF .global UNK_020F4162 UNK_020F4162: ; 0x020F4162 .byte 0x03, 0x00, 0x0A, 0x00, 0x1F, 0x00, 0x26, 0x00, 0x2D, 0x00, 0x11, 0x00, 0x18, 0x00, 0xFF, 0xFF .global UNK_020F4172 UNK_020F4172: ; 0x020F4172 .byte 0x04, 0x00, 0x19, 0x00, 0x20, 0x00, 0x27, 0x00, 0x2E, 0x00, 0x0B, 0x00, 0x12, 0x00, 0xFF, 0xFF .global UNK_020F4182 UNK_020F4182: ; 0x020F4182 .byte 0x9A, 0x01, 0x58, 0x01, 0x7D, 0x01, 0x5B, 0x01, 0x68, 0x01, 0x57, 0x01, 0x8D, 0x01, 0xFF, 0xFF .global UNK_020F4192 UNK_020F4192: ; 0x020F4192 .byte 0x01, 0x00, 0x08, 0x00, 0x1D, 0x00, 0x2B, 0x00, 0x0F, 0x00, 0x16, 0x00, 0x24, 0x00, 0xFF, 0xFF .global UNK_020F41A2 UNK_020F41A2: ; 0x020F41A2 .byte 0x1A, 0x00, 0x21, 0x00, 0x28, 0x00, 0x2F, 0x00, 0x05, 0x00, 0x0C, 0x00, 0x13, 0x00, 0xFF, 0xFF .global UNK_020F41B2 UNK_020F41B2: ; 0x020F41B2 .byte 0x07, 0x00, 0x31, 0x00, 0x1C, 0x00, 0x2A, 0x00, 0x0E, 0x00, 0x15, 0x00, 0x23, 0x00, 0xFF, 0xFF .global UNK_020F41C2 UNK_020F41C2: ; 0x020F41C2 .byte 0x0E, 0x00, 0x06, 0x00, 0x08, 0x00, 0x0D, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x09, 0x00, 0x0B, 0x00 .byte 0xFF, 0xFF .global UNK_020F41D4 UNK_020F41D4: ; 0x020F41D4 .byte 0x3B, 0x00, 0x39, 0x00, 0x3A, 0x00, 0x37, 0x00, 0x38, 0x00, 0x3C, 0x00, 0x3D, 0x00, 0x3E, 0x00 .byte 0xFF, 0xFF .global UNK_020F41E6 UNK_020F41E6: ; 0x020F41E6 .byte 0x11, 0x00, 0x1A, 0x00, 0x19, 0x00, 0x18, 0x00, 0x1C, 0x00, 0x12, 0x00, 0x16, 0x00, 0x13, 0x00 .byte 0x14, 0x00, 0x15, 0x00, 0x1B, 0x00, 0xFF, 0xFF .global UNK_020F41FE UNK_020F41FE: ; 0x020F41FE .byte 0x04, 0x00, 0x03, 0x00, 0x02, 0x00, 0x4E, 0x00, 0x3F, 0x00, 0x4F, 0x00, 0x4C, 0x00, 0x4D, 0x00 .byte 0x89, 0x00, 0x8A, 0x00, 0x8B, 0x00, 0x91, 0x00, 0xFF, 0xFF .global UNK_020F4218 UNK_020F4218: ; 0x020F4218 .byte 0x04, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x04, 0x00, 0x11, 0x00, 0x01, 0x00 .byte 0x1A, 0x00, 0x02, 0x00, 0x19, 0x00, 0x04, 0x00, 0x18, 0x00, 0x05, 0x00, 0x17, 0x00, 0x06, 0x00 .byte 0x1C, 0x00, 0x03, 0x00, 0x12, 0x00, 0x01, 0x00, 0x16, 0x00, 0x01, 0x00, 0x15, 0x00, 0x02, 0x00 .byte 0x13, 0x00, 0x02, 0x00, 0x14, 0x00, 0x02, 0x00, 0x1B, 0x00, 0x04, 0x00, 0x4E, 0x00, 0x02, 0x00 .byte 0x4F, 0x00, 0x02, 0x00, 0x4C, 0x00, 0x03, 0x00, 0x4D, 0x00, 0x04, 0x00 .section .data .balign 4, 0 .global UNK_02105DEC UNK_02105DEC: ; 0x02105DEC .word UNK_020F410C .word UNK_020F4118 .global UNK_02105DF4 UNK_02105DF4: ; 0x02105DF4 .word UNK_020F4192 .word UNK_020F4142 .word UNK_020F4162 .word UNK_020F4172 .word UNK_020F41A2 .word UNK_020F4152 .word UNK_020F41B2 .global UNK_02105E10 UNK_02105E10: ; 0x02105E10 .word UNK_020F40A6 .word UNK_020F40B4 .word UNK_020F40AC .word UNK_020F40BC .word UNK_020F40C6 .word UNK_020F40F8 .word UNK_020F40DA .word UNK_020F40E4 .word UNK_020F41E6 .word UNK_020F41FE .word UNK_020F41D4 .word UNK_020F4126 .word UNK_020F4182 .word UNK_020F4134 .word UNK_020F40EE .word UNK_020F40D0 .word UNK_020F4102 .word UNK_020F40A0 .word UNK_020F41C2 .text thumb_func_start FUN_0203FCF4 FUN_0203FCF4: ; 0x0203FCF4 push {r4-r7, lr} sub sp, #0x84 add r7, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r7, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 mov r4, #0x0 add r6, r4, #0x0 add r5, r4, #0x0 _0203FD10: add r0, r7, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl FUN_020238F4 add r1, r5, #0x0 bl FUN_020239D0 cmp r0, #0x1 bne _0203FD2C add r0, r6, #0x1 lsl r0, r0, #0x18 lsr r6, r0, #0x18 _0203FD2C: add r0, r5, #0x1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 cmp r5, #0x8 blo _0203FD10 cmp r6, #0x8 bhi _0203FD70 add r0, r6, r6 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0203FD46: ; jump table (using 16-bit offset) .short _0203FD58 - _0203FD46 - 2; case 0 .short _0203FD5C - _0203FD46 - 2; case 1 .short _0203FD5C - _0203FD46 - 2; case 2 .short _0203FD60 - _0203FD46 - 2; case 3 .short _0203FD60 - _0203FD46 - 2; case 4 .short _0203FD64 - _0203FD46 - 2; case 5 .short _0203FD64 - _0203FD46 - 2; case 6 .short _0203FD68 - _0203FD46 - 2; case 7 .short _0203FD6C - _0203FD46 - 2; case 8 _0203FD58: mov r1, #0x1 b _0203FD72 _0203FD5C: mov r1, #0x2 b _0203FD72 _0203FD60: mov r1, #0x3 b _0203FD72 _0203FD64: mov r1, #0x4 b _0203FD72 _0203FD68: mov r1, #0x5 b _0203FD72 _0203FD6C: mov r1, #0x6 b _0203FD72 _0203FD70: mov r1, #0x1 _0203FD72: ldr r0, _0203FDB4 ; =UNK_020F4218 mov r2, #0x0 add r6, sp, #0x4 _0203FD78: lsl r3, r2, #0x2 add r5, r0, r3 ldrh r3, [r5, #0x2] cmp r1, r3 blt _0203FD8E ldrh r5, [r5, #0x0] lsl r3, r4, #0x1 strh r5, [r6, r3] add r3, r4, #0x1 lsl r3, r3, #0x18 lsr r4, r3, #0x18 _0203FD8E: add r2, r2, #0x1 lsl r2, r2, #0x18 lsr r2, r2, #0x18 cmp r2, #0x13 blo _0203FD78 ldr r1, _0203FDB8 ; =0x0000FFFF lsl r0, r4, #0x1 add r2, sp, #0x4 strh r1, [r2, r0] mov r3, #0x0 str r3, [sp, #0x0] ldr r0, [r7, #0x74] add r7, #0x80 ldr r1, [r7, #0x0] bl MOD06_0223D3D0 mov r0, #0x1 add sp, #0x84 pop {r4-r7, pc} .balign 4 _0203FDB4: .word UNK_020F4218 _0203FDB8: .word 0x0000FFFF thumb_func_start FUN_0203FDBC FUN_0203FDBC: ; 0x0203FDBC push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 add r2, r0, #0x0 ldr r0, _0203FE00 ; =0x0000FFF8 add r0, r2, r0 lsl r0, r0, #0x10 lsr r0, r0, #0x10 cmp r0, #0x5 bhi _0203FDE4 mov r0, #0x1 b _0203FDE6 _0203FDE4: mov r0, #0x0 _0203FDE6: lsl r3, r2, #0x2 str r0, [sp, #0x0] ldr r2, _0203FE04 ; =UNK_02105E10 ldr r0, [r4, #0x74] add r4, #0x80 ldr r2, [r2, r3] ldr r1, [r4, #0x0] mov r3, #0x0 bl MOD06_0223D3D0 mov r0, #0x1 add sp, #0x4 pop {r3-r4, pc} .balign 4 _0203FE00: .word 0x0000FFF8 _0203FE04: .word UNK_02105E10 thumb_func_start FUN_0203FE08 FUN_0203FE08: ; 0x0203FE08 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 add r2, r0, #0x0 cmp r2, #0x1 bhi _0203FE28 mov r0, #0x1 b _0203FE2A _0203FE28: mov r0, #0x0 _0203FE2A: lsl r3, r2, #0x2 str r0, [sp, #0x0] ldr r2, _0203FE44 ; =UNK_02105DEC ldr r0, [r4, #0x74] add r4, #0x80 ldr r2, [r2, r3] ldr r1, [r4, #0x0] mov r3, #0x1 bl MOD06_0223D3D0 mov r0, #0x1 add sp, #0x4 pop {r3-r4, pc} .balign 4 _0203FE44: .word UNK_02105DEC thumb_func_start FUN_0203FE48 FUN_0203FE48: ; 0x0203FE48 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 add r2, r0, #0x0 mov r0, #0x0 lsl r3, r2, #0x2 str r0, [sp, #0x0] ldr r2, _0203FE7C ; =UNK_02105DF4 ldr r0, [r4, #0x74] add r4, #0x80 ldr r2, [r2, r3] ldr r1, [r4, #0x0] mov r3, #0x2 bl MOD06_0223D3D0 mov r0, #0x1 add sp, #0x4 pop {r3-r4, pc} .balign 4 _0203FE7C: .word UNK_02105DF4 thumb_func_start FUN_0203FE80 FUN_0203FE80: ; 0x0203FE80 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x10] bl FUN_02038AD0 mov r0, #0x1 pop {r3, pc}