diff options
author | garak <garakmon@gmail.com> | 2018-09-24 08:40:33 -0400 |
---|---|---|
committer | garak <garakmon@gmail.com> | 2018-09-24 08:40:33 -0400 |
commit | 72f9afcbf4a81909019f21acad0484b72ed217f6 (patch) | |
tree | bc7e9a48b8056e28403e251dab7ac64f649ad9e4 /asm | |
parent | 3964dbd4822f1b22bbc696add7e56ff0c5b2caea (diff) | |
parent | 7ceabffc842dfdf127fd594055f895a0803f54f6 (diff) |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'asm')
38 files changed, 1294 insertions, 72162 deletions
diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s index e353cb475..7ebc2f256 100644 --- a/asm/battle_frontier_1.s +++ b/asm/battle_frontier_1.s @@ -5,13358 +5,7 @@ .text - thumb_func_start sub_818E9AC -sub_818E9AC: @ 818E9AC - push {lr} - ldr r1, =gUnknown_0860D090 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .pool - thumb_func_end sub_818E9AC - - thumb_func_start sub_818E9CC -sub_818E9CC: @ 818E9CC - push {r4-r7,lr} - ldr r4, =gSaveBlock2Ptr - ldr r0, [r4] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r5, r0, 30 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, [r4] - ldr r2, =0x00000ca8 - adds r0, r2 - movs r6, 0 - strb r6, [r0] - ldr r1, [r4] - adds r2, 0xA - adds r0, r1, r2 - strh r6, [r0] - ldr r0, =0x00000ca9 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r1, [r4] - ldr r2, =0x00000ca9 - adds r1, r2 - ldrb r2, [r1] - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r4, [r4] - ldr r0, =0x00000cdc - adds r3, r4, r0 - ldr r2, =gUnknown_0860D0EC - lsls r1, r5, 2 - lsls r0, r7, 3 - adds r1, r0 - adds r1, r2 - ldr r0, [r3] - ldr r1, [r1] - ands r0, r1 - cmp r0, 0 - bne _0818EA3E - lsls r0, r5, 1 - lsls r1, r7, 2 - adds r0, r1 - ldr r2, =0x00000d0c - adds r1, r4, r2 - adds r1, r0 - strh r6, [r1] -_0818EA3E: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x4 - ldrsb r1, [r0, r1] - movs r2, 0x5 - ldrsb r2, [r0, r2] - movs r3, 0x1 - negs r3, r3 - movs r0, 0 - bl saved_warp2_set - ldr r0, =gTrainerBattleOpponent_A - strh r6, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_818E9CC - - thumb_func_start sub_818EA84 -sub_818EA84: @ 818EA84 - push {r4-r6,lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r5, r0, 30 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0x9 - bls _0818EAA8 - b _0818ED10 -_0818EAA8: - lsls r0, 2 - ldr r1, =_0818EAC8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0818EAC8: - .4byte _0818EAF0 - .4byte _0818EB14 - .4byte _0818EB48 - .4byte _0818EB64 - .4byte _0818EB80 - .4byte _0818EB98 - .4byte _0818EBB4 - .4byte _0818EC40 - .4byte _0818ECD0 - .4byte _0818ECF4 -_0818EAF0: - ldr r3, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - lsls r1, r5, 1 - lsls r2, r6, 2 - adds r1, r2 - ldr r2, =0x00000d0c - adds r0, r2 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r3] - b _0818ED10 - .pool -_0818EB14: - ldr r4, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r3, =0x00000cdc - adds r2, r3 - ldr r3, =gUnknown_0860D0EC - lsls r0, r5, 2 - lsls r1, r6, 3 - adds r0, r1 - adds r0, r3 - ldr r1, [r2] - ldr r0, [r0] - ands r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - strh r0, [r4] - b _0818ED10 - .pool -_0818EB48: - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000d08 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 31 - b _0818ECBE - .pool -_0818EB64: - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r3, =0x00000d08 - adds r0, r3 - ldrb r0, [r0] - lsls r0, 30 - b _0818ECBE - .pool -_0818EB80: - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000d08 - adds r0, r2 - b _0818ECBA - .pool -_0818EB98: - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r3, =0x00000d08 - adds r0, r3 - ldrb r0, [r0] - lsls r0, 28 - b _0818ECBE - .pool -_0818EBB4: - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0818EC04 - cmp r5, 0 - beq _0818EBE8 - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000d08 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 26 - b _0818ECBE - .pool -_0818EBE8: - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r3, =0x00000d08 - adds r0, r3 - ldrb r0, [r0] - lsls r0, 27 - b _0818ECBE - .pool -_0818EC04: - cmp r5, 0 - beq _0818EC24 - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000d08 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 30 - b _0818ECBE - .pool -_0818EC24: - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r3, =0x00000d08 - adds r0, r3 - ldrb r0, [r0] - lsls r0, 31 - b _0818ECBE - .pool -_0818EC40: - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0818EC90 - cmp r5, 0 - beq _0818EC74 - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000d08 - adds r0, r2 - ldrb r0, [r0] - lsrs r0, 7 - strh r0, [r1] - b _0818ED10 - .pool -_0818EC74: - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r3, =0x00000d08 - adds r0, r3 - ldrb r0, [r0] - lsls r0, 25 - b _0818ECBE - .pool -_0818EC90: - cmp r5, 0 - beq _0818ECB0 - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000d08 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 28 - b _0818ECBE - .pool -_0818ECB0: - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r3, =0x00000d08 - adds r0, r3 -_0818ECBA: - ldrb r0, [r0] - lsls r0, 29 -_0818ECBE: - lsrs r0, 31 - strh r0, [r1] - b _0818ED10 - .pool -_0818ECD0: - bl sub_81B8558 - ldr r2, =gUnknown_0203CEF8 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - movs r1, 0xCB - lsls r1, 4 - adds r0, r1 - ldrh r1, [r0] - strb r1, [r2] - ldrh r0, [r0] - lsrs r0, 8 - strb r0, [r2, 0x1] - b _0818ED10 - .pool -_0818ECF4: - ldr r2, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r3, =0x00000d0a - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, 1 - adds r3, 0x1 - adds r1, r3 - ldr r3, =0x0000fffd - adds r0, r3 - ldrb r1, [r1] - adds r0, r1 - strh r0, [r2] -_0818ED10: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_818EA84 - - thumb_func_start sub_818ED28 -sub_818ED28: @ 818ED28 - push {r4,r5,lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r4, r0, 30 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0x8 - bls _0818ED4C - b _0818F01E -_0818ED4C: - lsls r0, 2 - ldr r1, =_0818ED6C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0818ED6C: - .4byte _0818ED90 - .4byte _0818EDB4 - .4byte _0818EE10 - .4byte _0818EE34 - .4byte _0818EE5C - .4byte _0818EE78 - .4byte _0818EEA0 - .4byte _0818EF50 - .4byte _0818F008 -_0818ED90: - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - lsls r0, r4, 1 - lsls r1, r5, 2 - adds r0, r1 - ldr r1, =0x00000d0c - adds r2, r1 - adds r2, r0 - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - strh r0, [r2] - b _0818F01E - .pool -_0818EDB4: - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - cmp r0, 0 - beq _0818EDE8 - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r0, =0x00000cdc - adds r2, r0 - ldr r3, =gUnknown_0860D0EC - lsls r1, r4, 2 - lsls r0, r5, 3 - adds r1, r0 - adds r1, r3 - ldr r0, [r2] - ldr r1, [r1] - orrs r0, r1 - str r0, [r2] - b _0818F01E - .pool -_0818EDE8: - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r1, =0x00000cdc - adds r2, r1 - ldr r3, =gUnknown_0860D0FC - lsls r1, r4, 2 - lsls r0, r5, 3 - adds r1, r0 - adds r1, r3 - ldr r0, [r2] - ldr r1, [r1] - ands r0, r1 - str r0, [r2] - b _0818F01E - .pool -_0818EE10: - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r0, =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r1, =0x00000d08 - adds r2, r1 - movs r1, 0x1 - ands r1, r0 - ldrb r3, [r2] - movs r0, 0x2 - negs r0, r0 - b _0818EF74 - .pool -_0818EE34: - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r0, =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r2, =0x00000d08 - adds r3, r2 - movs r1, 0x1 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r3] - movs r0, 0x3 - negs r0, r0 - b _0818EFF4 - .pool -_0818EE5C: - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r0, =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r1, =0x00000d08 - adds r3, r1 - b _0818EFE8 - .pool -_0818EE78: - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r0, =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r2, =0x00000d08 - adds r3, r2 - movs r1, 0x1 - ands r1, r0 - lsls r1, 3 - ldrb r2, [r3] - movs r0, 0x9 - negs r0, r0 - b _0818EFF4 - .pool -_0818EEA0: - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x1 - bne _0818EF00 - cmp r4, 0 - beq _0818EEDC - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r0, =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r2, =0x00000d08 - adds r3, r2 - ands r1, r0 - lsls r1, 5 - ldrb r2, [r3] - movs r0, 0x21 - negs r0, r0 - b _0818EFF4 - .pool -_0818EEDC: - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r0, =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r2, =0x00000d08 - adds r3, r2 - ands r1, r0 - lsls r1, 4 - ldrb r2, [r3] - movs r0, 0x11 - negs r0, r0 - b _0818EFF4 - .pool -_0818EF00: - cmp r4, 0 - beq _0818EF2C - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r0, =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r1, =0x00000d08 - adds r3, r1 - movs r1, 0x1 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r3] - movs r0, 0x3 - negs r0, r0 - b _0818EFF4 - .pool -_0818EF2C: - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r0, =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r1, =0x00000d08 - adds r2, r1 - movs r1, 0x1 - ands r1, r0 - ldrb r3, [r2] - movs r0, 0x2 - negs r0, r0 - b _0818EF74 - .pool -_0818EF50: - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x1 - bne _0818EFB0 - cmp r4, 0 - beq _0818EF8C - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r0, =gSpecialVar_0x8006 - ldrb r1, [r0] - ldr r0, =0x00000d08 - adds r2, r0 - lsls r1, 7 - ldrb r3, [r2] - movs r0, 0x7F -_0818EF74: - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - b _0818F01E - .pool -_0818EF8C: - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r0, =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r2, =0x00000d08 - adds r3, r2 - ands r1, r0 - lsls r1, 6 - ldrb r2, [r3] - movs r0, 0x41 - negs r0, r0 - b _0818EFF4 - .pool -_0818EFB0: - cmp r4, 0 - beq _0818EFDC - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r0, =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r1, =0x00000d08 - adds r3, r1 - movs r1, 0x1 - ands r1, r0 - lsls r1, 3 - ldrb r2, [r3] - movs r0, 0x9 - negs r0, r0 - b _0818EFF4 - .pool -_0818EFDC: - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r0, =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r2, =0x00000d08 - adds r3, r2 -_0818EFE8: - movs r1, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0x5 - negs r0, r0 -_0818EFF4: - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _0818F01E - .pool -_0818F008: - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r0, =gUnknown_0203CEF8 - ldrb r1, [r0] - ldrb r0, [r0, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r0, 0xCB - lsls r0, 4 - adds r2, r0 - strh r1, [r2] -_0818F01E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_818ED28 - - thumb_func_start sub_818F02C -sub_818F02C: @ 818F02C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x3C - movs r0, 0 - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r0, [sp, 0x10] - movs r0, 0x20 - bl AllocZeroed - str r0, [sp, 0x18] - movs r0, 0x18 - bl AllocZeroed - str r0, [sp, 0x1C] - ldr r4, =gSaveBlock2Ptr - ldr r1, [r4] - ldr r2, =0x00000ca9 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, 30 - lsrs r0, 30 - adds r0, 0x1 - ldr r3, =0x00000d0a - adds r1, r3 - strb r0, [r1] - ldr r0, =0x000040ce - bl VarGet - ldr r1, [r4] - adds r0, 0x1 - ldr r5, =0x00000d0b - adds r1, r5 - strb r0, [r1] - ldr r2, [r4] - ldr r7, =0x00000d24 - adds r3, r2, r7 - ldrh r0, [r3] - ldr r5, =0x000003ff - adds r1, r5, 0 - orrs r0, r1 - strh r0, [r3] - ldr r3, =0x00000d25 - adds r2, r3 - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldr r1, [r4] - adds r1, r3 - ldrb r2, [r1] - movs r0, 0x19 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r1, [r4] - adds r1, r3 - ldrb r2, [r1] - movs r0, 0x1F - ands r0, r2 - strb r0, [r1] - movs r7, 0 - mov r10, r7 - mov r8, r4 - ldr r0, =gBattleScripting + 0x14 - mov r9, r0 - movs r4, 0 -_0818F0BA: - mov r1, r8 - ldr r0, [r1] - ldr r2, =0x00000caa - adds r0, r2 - adds r0, r4 - ldrh r0, [r0] - movs r3, 0x64 - muls r0, r3 - add r0, r9 - movs r1, 0xB - movs r2, 0 - bl GetMonData - mov r5, r8 - ldr r1, [r5] - ldr r7, =0x00000d64 - adds r1, r7 - adds r1, r4 - strh r0, [r1] - movs r5, 0 - mov r0, r10 - lsls r7, r0, 4 - adds r6, r7, 0 -_0818F0E8: - mov r1, r8 - ldr r0, [r1] - ldr r2, =0x00000caa - adds r0, r2 - adds r0, r4 - ldrh r0, [r0] - movs r3, 0x64 - muls r0, r3 - add r0, r9 - adds r1, r5, 0 - adds r1, 0xD - movs r2, 0 - bl GetMonData - mov r2, r8 - ldr r1, [r2] - ldr r3, =0x00000efc - adds r1, r3 - adds r1, r6 - strh r0, [r1] - adds r6, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _0818F0E8 - movs r5, 0 - ldr r6, =gSaveBlock2Ptr -_0818F11C: - ldr r0, [r6] - ldr r1, =0x00000caa - adds r0, r1 - adds r0, r4 - ldrh r0, [r0] - movs r2, 0x64 - muls r0, r2 - add r0, r9 - adds r1, r5, 0 - adds r1, 0x1A - movs r2, 0 - bl GetMonData - ldr r1, [r6] - adds r2, r5, r7 - ldr r3, =0x00000f04 - adds r1, r3 - adds r1, r2 - strb r0, [r1] - adds r5, 0x1 - cmp r5, 0x5 - ble _0818F11C - mov r5, r8 - ldr r0, [r5] - ldr r1, =0x00000caa - adds r0, r1 - adds r0, r4 - ldrh r0, [r0] - movs r2, 0x64 - muls r0, r2 - add r0, r9 - bl GetNature - ldr r1, [r5] - adds r1, r7 - ldr r3, =0x00000f0a - adds r1, r3 - strb r0, [r1] - adds r4, 0x2 - movs r5, 0x1 - add r10, r5 - mov r7, r10 - cmp r7, 0x2 - ble _0818F0BA - mov r10, r5 - movs r0, 0x4 - str r0, [sp, 0x34] - movs r1, 0x6 - str r1, [sp, 0x38] -_0818F17E: - mov r2, r10 - cmp r2, 0x5 - ble _0818F22C -_0818F184: - bl sub_81A39C4 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_8162548 - lsls r0, 16 - lsrs r4, r0, 16 - movs r5, 0x1 - cmp r5, r10 - bge _0818F1CA - ldr r3, =gSaveBlock2Ptr - ldr r0, [r3] - ldr r7, =0x00000d28 - adds r0, r7 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - adds r2, r3, 0 - cmp r0, r4 - beq _0818F1CA - ldr r3, =0x00000d24 -_0818F1B2: - adds r5, 0x1 - cmp r5, r10 - bge _0818F1CA - ldr r0, [r2] - lsls r1, r5, 2 - adds r0, r1 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - cmp r0, r4 - bne _0818F1B2 -_0818F1CA: - cmp r5, r10 - bne _0818F184 - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r1, [sp, 0x34] - adds r3, r1 - ldr r2, =0x00000d24 - adds r3, r2 - ldr r5, =0x000003ff - adds r0, r5, 0 - adds r2, r4, 0 - ands r2, r0 - ldrh r0, [r3] - ldr r7, =0xfffffc00 - adds r1, r7, 0 - b _0818F292 - .pool -_0818F22C: - bl sub_81A39C4 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_8162548 - lsls r0, 16 - lsrs r4, r0, 16 - movs r5, 0x1 - cmp r5, r10 - bge _0818F274 - ldr r1, =gSaveBlock2Ptr - ldr r0, [r1] - ldr r2, =0x00000d28 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - adds r2, r1, 0 - cmp r0, r4 - beq _0818F274 - ldr r3, =0x00000d24 -_0818F25C: - adds r5, 0x1 - cmp r5, r10 - bge _0818F274 - ldr r0, [r2] - lsls r1, r5, 2 - adds r0, r1 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - cmp r0, r4 - bne _0818F25C -_0818F274: - cmp r5, r10 - bne _0818F22C - ldr r5, =gSaveBlock2Ptr - ldr r3, [r5] - ldr r7, [sp, 0x34] - adds r3, r7 - ldr r0, =0x00000d24 - adds r3, r0 - ldr r1, =0x000003ff - adds r0, r1, 0 - adds r2, r4, 0 - ands r2, r0 - ldrh r0, [r3] - ldr r5, =0xfffffc00 - adds r1, r5, 0 -_0818F292: - ands r0, r1 - orrs r0, r2 - strh r0, [r3] - movs r5, 0 - lsls r4, 16 - str r4, [sp, 0x2C] - ldr r7, [sp, 0x38] - str r7, [sp, 0x20] -_0818F2A2: - lsls r0, r5, 1 - mov r9, r0 - adds r1, r5, 0x1 - str r1, [sp, 0x24] - lsls r2, r5, 2 - str r2, [sp, 0x28] -_0818F2AE: - ldr r3, [sp, 0x2C] - lsrs r0, r3, 16 - bl sub_8163524 - lsls r0, 16 - lsrs r6, r0, 16 - movs r7, 0 - cmp r7, r5 - bge _0818F300 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, [sp, 0x8] - mov r8, r1 - ldr r2, [sp, 0xC] - mov r12, r2 - ldr r3, =0x00000d64 - adds r0, r3 - ldr r1, [sp, 0x20] - adds r4, r1, r0 -_0818F2D4: - ldrh r3, [r4] - cmp r3, r6 - beq _0818F300 - ldr r2, =gUnknown_0203BC8C - ldr r1, [r2] - lsls r0, r6, 4 - adds r2, r0, r1 - ldrh r0, [r2] - cmp r8, r0 - beq _0818F300 - cmp r12, r0 - beq _0818F300 - lsls r0, r3, 4 - adds r0, r1 - ldrb r0, [r0, 0xA] - ldrb r2, [r2, 0xA] - cmp r0, r2 - beq _0818F300 - adds r4, 0x2 - adds r7, 0x1 - cmp r7, r5 - blt _0818F2D4 -_0818F300: - cmp r7, r5 - bne _0818F2AE - ldr r3, =gSaveBlock2Ptr - ldr r0, [r3] - ldr r1, [sp, 0x38] - add r1, r9 - ldr r5, =0x00000d64 - adds r0, r5 - adds r0, r1 - strh r6, [r0] - ldr r2, [sp, 0x28] - add r2, sp - adds r2, 0x8 - ldr r0, =gUnknown_0203BC8C - ldr r1, [r0] - lsls r0, r6, 4 - adds r0, r1 - ldrh r0, [r0] - str r0, [r2] - ldr r5, [sp, 0x24] - cmp r5, 0x2 - ble _0818F2A2 - ldr r2, [r3] - ldr r7, [sp, 0x34] - adds r2, r7 - ldr r0, =0x00000d25 - adds r2, r0 - ldrb r0, [r2] - movs r3, 0x5 - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - strb r0, [r2] - ldr r5, =gSaveBlock2Ptr - ldr r2, [r5] - adds r2, r7 - ldr r7, =0x00000d25 - adds r2, r7 - ldrb r0, [r2] - subs r3, 0x14 - adds r1, r3, 0 - ands r0, r1 - strb r0, [r2] - ldr r1, [r5] - ldr r5, [sp, 0x34] - adds r1, r5 - adds r1, r7 - ldrb r2, [r1] - movs r0, 0x1F - ands r0, r2 - strb r0, [r1] - adds r5, 0x4 - str r5, [sp, 0x34] - ldr r7, [sp, 0x38] - adds r7, 0x6 - str r7, [sp, 0x38] - movs r0, 0x1 - add r10, r0 - mov r1, r10 - cmp r1, 0xF - bgt _0818F37C - b _0818F17E -_0818F37C: - movs r7, 0 - ldr r2, [sp, 0x18] - strh r7, [r2] - movs r3, 0 - mov r10, r3 - ldr r6, =gBitTable - ldr r5, =gBaseStats -_0818F38A: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - mov r2, r10 - lsls r1, r2, 1 - ldr r3, =0x00000caa - adds r0, r3 - adds r0, r1 - ldrh r0, [r0] - subs r4, r0, 0x1 - movs r0, 0x64 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x3B - movs r2, 0 - bl GetMonData - ldr r2, [sp, 0x18] - ldrh r1, [r2] - adds r1, r0 - strh r1, [r2] - adds r0, r4, 0 - movs r1, 0x3C - movs r2, 0 - bl GetMonData - ldr r3, [sp, 0x18] - ldrh r1, [r3] - adds r1, r0 - strh r1, [r3] - adds r0, r4, 0 - movs r1, 0x3E - movs r2, 0 - bl GetMonData - ldr r2, [sp, 0x18] - ldrh r1, [r2] - adds r1, r0 - strh r1, [r2] - adds r0, r4, 0 - movs r1, 0x3F - movs r2, 0 - bl GetMonData - ldr r3, [sp, 0x18] - ldrh r1, [r3] - adds r1, r0 - strh r1, [r3] - adds r0, r4, 0 - movs r1, 0x3D - movs r2, 0 - bl GetMonData - ldr r2, [sp, 0x18] - ldrh r1, [r2] - adds r1, r0 - strh r1, [r2] - adds r0, r4, 0 - movs r1, 0x3A - movs r2, 0 - bl GetMonData - ldr r3, [sp, 0x18] - ldrh r1, [r3] - adds r1, r0 - strh r1, [r3] - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r0, [r1, 0x6] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - orrs r7, r0 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r0, [r1, 0x7] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - orrs r7, r0 - movs r0, 0x1 - add r10, r0 - mov r1, r10 - cmp r1, 0x2 - ble _0818F38A - movs r4, 0 - movs r1, 0x1 - movs r5, 0x1F -_0818F458: - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _0818F462 - adds r4, 0x1 -_0818F462: - asrs r7, 1 - subs r5, 0x1 - cmp r5, 0 - bge _0818F458 - bl sub_8165C40 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x14] - adds r2, r0, 0 - adds r0, r4, 0 - muls r0, r2 - movs r1, 0x14 - bl __divsi3 - ldr r3, [sp, 0x18] - ldrh r1, [r3] - adds r1, r0 - strh r1, [r3] - movs r5, 0x1 - mov r10, r5 - adds r6, r3, 0 - adds r6, 0x2 - movs r7, 0x2 - str r7, [sp, 0x30] -_0818F494: - movs r7, 0 - strh r7, [r6] - ldr r1, =gSaveBlock2Ptr - ldr r0, [r1] - mov r2, r10 - lsls r1, r2, 2 - adds r0, r1 - ldr r3, =0x00000d24 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - bl sub_8190168 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r5, 0 - ldr r0, [sp, 0x30] - mov r9, r0 -_0818F4BC: - ldr r1, =gSaveBlock2Ptr - ldr r0, [r1] - mov r4, r9 - add r4, r10 - adds r4, r5 - lsls r4, 1 - ldr r2, =0x00000d64 - adds r0, r2 - adds r0, r4 - ldrh r1, [r0] - ldr r3, =gUnknown_0203BC8C - ldr r0, [r3] - lsls r1, 4 - adds r1, r0 - ldrh r0, [r1] - ldrb r3, [r1, 0xB] - ldrb r1, [r1, 0xC] - str r1, [sp] - ldr r1, [sp, 0x1C] - str r1, [sp, 0x4] - ldr r1, [sp, 0x14] - mov r2, r8 - bl sub_818F720 - ldr r2, [sp, 0x1C] - ldr r1, [r2, 0x4] - ldrh r0, [r6] - adds r0, r1 - ldr r1, [r2, 0x8] - adds r0, r1 - ldr r1, [r2, 0x10] - adds r0, r1 - ldr r1, [r2, 0x14] - adds r0, r1 - ldr r1, [r2, 0xC] - adds r0, r1 - ldr r1, [r2] - adds r0, r1 - strh r0, [r6] - ldr r3, =gSaveBlock2Ptr - ldr r0, [r3] - ldr r1, =0x00000d64 - adds r0, r1 - adds r0, r4 - ldrh r0, [r0] - ldr r2, =gUnknown_0203BC8C - ldr r1, [r2] - lsls r0, 4 - adds r0, r1 - ldrh r0, [r0] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r3, =gBaseStats - adds r1, r3 - ldrb r0, [r1, 0x6] - lsls r0, 2 - ldr r2, =gBitTable - adds r0, r2 - ldr r0, [r0] - orrs r7, r0 - ldrb r0, [r1, 0x7] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - orrs r7, r0 - adds r5, 0x1 - cmp r5, 0x2 - ble _0818F4BC - movs r4, 0 - movs r1, 0x1 - movs r5, 0x1F -_0818F54C: - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _0818F556 - adds r4, 0x1 -_0818F556: - asrs r7, 1 - subs r5, 0x1 - cmp r5, 0 - bge _0818F54C - ldr r3, [sp, 0x14] - adds r0, r4, 0 - muls r0, r3 - movs r1, 0x14 - bl __divsi3 - ldrh r1, [r6] - adds r1, r0 - strh r1, [r6] - adds r6, 0x2 - ldr r5, [sp, 0x30] - adds r5, 0x2 - str r5, [sp, 0x30] - movs r7, 0x1 - add r10, r7 - mov r0, r10 - cmp r0, 0xF - ble _0818F494 - movs r1, 0 - mov r10, r1 - ldr r2, =0x000003ff - mov r8, r2 -_0818F58A: - mov r5, r10 - adds r5, 0x1 - adds r7, r5, 0 - cmp r5, 0xF - bgt _0818F626 - mov r3, r10 - lsls r0, r3, 1 - ldr r1, [sp, 0x18] - adds r6, r0, r1 - lsls r0, r5, 1 - adds r4, r0, r1 -_0818F5A0: - ldrh r1, [r6] - ldrh r0, [r4] - cmp r1, r0 - bcc _0818F5C2 - cmp r1, r0 - bne _0818F61E - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - lsls r0, r5, 2 - adds r0, r1, r0 - ldr r2, =0x00000d24 - adds r0, r2 - ldrh r0, [r0] - lsls r2, r0, 22 - lsrs r0, r2, 22 - cmp r0, r8 - bne _0818F602 -_0818F5C2: - mov r0, r10 - adds r1, r5, 0 - ldr r2, [sp, 0x18] - bl sub_818F904 - b _0818F600 - .pool -_0818F600: - b _0818F61E -_0818F602: - mov r3, r10 - lsls r0, r3, 2 - adds r0, r1, r0 - ldr r1, =0x00000d24 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 22 - cmp r0, r2 - bls _0818F61E - mov r0, r10 - adds r1, r5, 0 - ldr r2, [sp, 0x18] - bl sub_818F904 -_0818F61E: - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0xF - ble _0818F5A0 -_0818F626: - mov r10, r7 - mov r2, r10 - cmp r2, 0xE - ble _0818F58A - bl sub_81A3610 - lsls r0, 24 - cmp r0, 0 - beq _0818F6EE - movs r3, 0 - mov r10, r3 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r4, =0x00000d24 - adds r1, r4 - ldrh r1, [r1] - lsls r1, 22 - lsrs r1, 22 - ldr r3, =0x000003ff - adds r2, r0, 0 - ldr r6, =gUnknown_0860D3F1 - cmp r1, r3 - beq _0818F674 - adds r5, r2, 0 -_0818F656: - movs r7, 0x1 - add r10, r7 - mov r0, r10 - cmp r0, 0xF - bgt _0818F674 - ldr r0, [r5] - mov r7, r10 - lsls r1, r7, 2 - adds r0, r1 - adds r0, r4 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - cmp r0, r3 - bne _0818F656 -_0818F674: - mov r1, r10 - lsls r0, r1, 1 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0 - beq _0818F6AC - movs r5, 0 - ldr r2, [r2] - ldr r3, =0x00000d24 - adds r2, r3 - ldrh r1, [r2] - ldr r0, =0xfffffc00 - ands r0, r1 - ldr r7, =0x000003fe - adds r1, r7, 0 - b _0818F6BE - .pool -_0818F6AC: - movs r5, 0x1 - ldr r2, [r2] - ldr r0, =0x00000d28 - adds r2, r0 - ldrh r1, [r2] - ldr r0, =0xfffffc00 - ands r0, r1 - ldr r3, =0x000003fe - adds r1, r3, 0 -_0818F6BE: - orrs r0, r1 - strh r0, [r2] - movs r7, 0 - mov r10, r7 - lsls r0, r5, 1 - adds r0, r5 - lsls r4, r0, 1 -_0818F6CC: - mov r1, r10 - lsls r0, r1, 24 - lsrs r0, 24 - bl sub_81A4FF0 - ldr r1, =gSaveBlock2Ptr - ldr r1, [r1] - ldr r2, =0x00000d64 - adds r1, r2 - adds r1, r4 - strh r0, [r1] - adds r4, 0x2 - movs r3, 0x1 - add r10, r3 - mov r5, r10 - cmp r5, 0x2 - ble _0818F6CC -_0818F6EE: - ldr r0, [sp, 0x18] - bl Free - ldr r0, [sp, 0x1C] - bl Free - add sp, 0x3C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_818F02C - - thumb_func_start sub_818F720 -sub_818F720: @ 818F720 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - adds r7, r1, 0 - mov r9, r2 - ldr r1, [sp, 0x3C] - ldr r2, [sp, 0x40] - mov r8, r2 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r3, 24 - lsrs r5, r3, 24 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x18] - movs r1, 0 - adds r4, r5, 0 - movs r3, 0x1 - movs r2, 0x5 -_0818F74C: - adds r0, r4, 0 - ands r0, r3 - cmp r0, 0 - beq _0818F756 - adds r1, 0x1 -_0818F756: - lsrs r4, 1 - subs r2, 0x1 - cmp r2, 0 - bge _0818F74C - movs r0, 0xFF - lsls r0, 1 - bl __divsi3 - lsls r0, 16 - lsrs r3, r0, 16 - lsls r0, r6, 3 - mov r10, r0 - movs r1, 0 - mov r12, r1 - mov r1, sp - movs r2, 0x5 -_0818F776: - mov r0, r12 - str r0, [r1] - adds r0, r5, 0 - ands r0, r4 - cmp r0, 0 - beq _0818F784 - str r3, [r1] -_0818F784: - lsls r0, r4, 25 - lsrs r4, r0, 24 - adds r1, 0x4 - subs r2, 0x1 - cmp r2, 0 - bge _0818F776 - ldr r0, =0x0000012f - cmp r6, r0 - bne _0818F7A0 - movs r0, 0x1 - b _0818F7CA - .pool -_0818F7A0: - mov r2, r10 - subs r0, r2, r6 - lsls r0, 2 - ldr r1, =gBaseStats - adds r0, r1 - ldrb r0, [r0] - lsls r0, 1 - mov r2, r9 - adds r1, r0, r2 - ldr r0, [sp] - cmp r0, 0 - bge _0818F7BA - adds r0, 0x3 -_0818F7BA: - asrs r0, 2 - adds r0, r1, r0 - muls r0, r7 - movs r1, 0x64 - bl __divsi3 - adds r0, r7 - adds r0, 0xA -_0818F7CA: - mov r1, r8 - str r0, [r1] - mov r2, r10 - subs r0, r2, r6 - lsls r0, 2 - ldr r1, =gBaseStats - adds r4, r0, r1 - ldrb r0, [r4, 0x1] - lsls r0, 1 - mov r2, r9 - adds r1, r0, r2 - ldr r0, [sp, 0x4] - cmp r0, 0 - bge _0818F7E8 - adds r0, 0x3 -_0818F7E8: - asrs r0, 2 - adds r0, r1, r0 - muls r0, r7 - movs r1, 0x64 - bl __divsi3 - adds r1, r0, 0 - adds r1, 0x5 - mov r0, r8 - str r1, [r0, 0x4] - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0x18] - movs r2, 0x1 - bl ModifyStatByNature - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - str r0, [r1, 0x4] - ldrb r0, [r4, 0x2] - lsls r0, 1 - mov r2, r9 - adds r1, r0, r2 - ldr r0, [sp, 0x8] - cmp r0, 0 - bge _0818F820 - adds r0, 0x3 -_0818F820: - asrs r0, 2 - adds r0, r1, r0 - muls r0, r7 - movs r1, 0x64 - bl __divsi3 - adds r1, r0, 0 - adds r1, 0x5 - mov r0, r8 - str r1, [r0, 0x8] - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0x18] - movs r2, 0x2 - bl ModifyStatByNature - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - str r0, [r1, 0x8] - ldrb r0, [r4, 0x3] - lsls r0, 1 - mov r2, r9 - adds r1, r0, r2 - ldr r0, [sp, 0xC] - cmp r0, 0 - bge _0818F858 - adds r0, 0x3 -_0818F858: - asrs r0, 2 - adds r0, r1, r0 - muls r0, r7 - movs r1, 0x64 - bl __divsi3 - adds r1, r0, 0 - adds r1, 0x5 - mov r0, r8 - str r1, [r0, 0xC] - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0x18] - movs r2, 0x3 - bl ModifyStatByNature - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - str r0, [r1, 0xC] - ldrb r0, [r4, 0x4] - lsls r0, 1 - mov r2, r9 - adds r1, r0, r2 - ldr r0, [sp, 0x10] - cmp r0, 0 - bge _0818F890 - adds r0, 0x3 -_0818F890: - asrs r0, 2 - adds r0, r1, r0 - muls r0, r7 - movs r1, 0x64 - bl __divsi3 - adds r1, r0, 0 - adds r1, 0x5 - mov r0, r8 - str r1, [r0, 0x10] - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0x18] - movs r2, 0x4 - bl ModifyStatByNature - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - str r0, [r1, 0x10] - ldrb r0, [r4, 0x5] - lsls r0, 1 - mov r1, r9 - adds r2, r0, r1 - ldr r0, [sp, 0x14] - cmp r0, 0 - bge _0818F8C8 - adds r0, 0x3 -_0818F8C8: - asrs r0, 2 - adds r0, r2, r0 - muls r0, r7 - movs r1, 0x64 - bl __divsi3 - adds r1, r0, 0 - adds r1, 0x5 - mov r2, r8 - str r1, [r2, 0x14] - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0x18] - movs r2, 0x5 - bl ModifyStatByNature - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - str r0, [r1, 0x14] - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_818F720 - - thumb_func_start sub_818F904 -sub_818F904: @ 818F904 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r3, r0, 1 - mov r12, r3 - adds r4, r3, r2 - ldrh r5, [r4] - lsls r7, r1, 1 - mov r9, r7 - add r2, r9 - ldrh r3, [r2] - strh r3, [r4] - strh r5, [r2] - ldr r2, =gSaveBlock2Ptr - ldr r5, [r2] - lsls r6, r0, 2 - adds r6, r5, r6 - ldr r3, =0x00000d24 - adds r6, r3 - ldrh r7, [r6] - mov r10, r7 - mov r2, r10 - lsls r2, 22 - mov r8, r2 - lsls r2, r1, 2 - adds r5, r2 - adds r5, r3 - ldrh r4, [r5] - lsls r4, 22 - lsrs r4, 22 - ldr r3, =0xfffffc00 - adds r2, r3, 0 - mov r7, r10 - ands r2, r7 - orrs r2, r4 - strh r2, [r6] - mov r2, r8 - lsrs r2, 22 - mov r8, r2 - ldrh r2, [r5] - ands r3, r2 - mov r7, r8 - orrs r3, r7 - strh r3, [r5] - ldr r2, =gSaveBlock2Ptr - mov r8, r2 - add r12, r0 - add r9, r1 - mov r3, r9 - lsls r4, r3, 1 - mov r7, r12 - lsls r3, r7, 1 - ldr r7, =0x00000d64 - movs r6, 0x2 -_0818F974: - mov r1, r8 - ldr r0, [r1] - adds r0, r7 - adds r2, r0, r3 - ldrh r5, [r2] - adds r0, r4 - ldrh r1, [r0] - strh r1, [r2] - strh r5, [r0] - adds r4, 0x2 - adds r3, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _0818F974 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_818F904 - - thumb_func_start sub_818F9B0 -sub_818F9B0: @ 818F9B0 - push {lr} - ldr r0, =gStringVar1 - ldr r2, =gRoundsStringTable - ldr r1, =gSaveBlock2Ptr - ldr r1, [r1] - ldr r3, =0x00000cb2 - adds r1, r3 - ldrh r1, [r1] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - pop {r0} - bx r0 - .pool - thumb_func_end sub_818F9B0 - - thumb_func_start sub_818F9E0 -sub_818F9E0: @ 818F9E0 - push {lr} - ldr r0, =gStringVar1 - ldr r2, =gRoundsStringTable - ldr r1, =gSaveBlock2Ptr - ldr r1, [r1] - ldr r3, =0x00000cb2 - adds r1, r3 - ldrh r1, [r1] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - ldr r0, =gStringVar2 - ldr r1, =gTrainerBattleOpponent_A - ldrh r1, [r1] - bl sub_8195898 - pop {r0} - bx r0 - .pool - thumb_func_end sub_818F9E0 - - thumb_func_start sub_818FA20 -sub_818FA20: @ 818FA20 - push {r4,r5,lr} - ldr r1, =gUnknown_0203CD70 - movs r0, 0 - str r0, [r1] - ldr r4, =gPlayerParty - adds r0, r4, 0 - movs r1, 0x3A - movs r2, 0 - bl GetMonData - ldr r5, =gUnknown_0203CD74 - str r0, [r5] - adds r4, 0x64 - adds r0, r4, 0 - movs r1, 0x3A - movs r2, 0 - bl GetMonData - ldr r1, [r5] - adds r1, r0 - str r1, [r5] - bl CalculatePlayerPartyCount - ldr r0, =gTrainerBattleOpponent_A - ldrh r0, [r0] - bl sub_8195358 - lsls r0, 16 - lsrs r0, 16 - bl sub_818FBDC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_818FA20 - - thumb_func_start sub_818FA74 -sub_818FA74: @ 818FA74 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x30 - adds r5, r2, 0 - str r3, [sp, 0x14] - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x10] - lsls r1, 16 - lsrs r1, 16 - str r1, [sp, 0x28] - lsls r5, 24 - lsrs r5, 24 - add r0, sp, 0xC - movs r1, 0x1 - negs r1, r1 - strb r1, [r0] - ldr r0, [sp, 0x28] - bl sub_8190168 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - str r6, [sp, 0x2C] - bl sub_8165C40 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0x64 - ldr r4, [sp, 0x10] - adds r3, r4, 0 - muls r3, r0 - str r3, [sp, 0x18] - ldr r6, =gEnemyParty - adds r0, r3, r6 - ldr r7, =gSaveBlock2Ptr - ldr r4, [r7] - lsls r5, 1 - ldr r3, [sp, 0x28] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 1 - adds r1, r5, r1 - ldr r6, =0x00000d64 - adds r4, r6 - adds r4, r1 - ldrh r3, [r4] - ldr r7, =gUnknown_0203BC8C - ldr r7, [r7] - mov r8, r7 - lsls r3, 4 - add r3, r8 - ldrh r1, [r3] - ldrb r3, [r3, 0xC] - ldr r6, [sp, 0x2C] - str r6, [sp] - ldrh r4, [r4] - lsls r4, 4 - add r4, r8 - ldrb r4, [r4, 0xB] - str r4, [sp, 0x4] - ldr r7, [sp, 0x14] - str r7, [sp, 0x8] - bl CreateMonWithEVSpreadPersonalityOTID - add r0, sp, 0xC - movs r1, 0x1 - negs r1, r1 - strb r1, [r0] - movs r6, 0 - ldr r2, [sp, 0x18] - str r2, [sp, 0x1C] - mov r10, r5 - ldr r3, =0x00000d64 - mov r9, r3 - ldr r3, =gUnknown_0203BC8C - mov r4, r10 - str r4, [sp, 0x20] -_0818FB18: - ldr r7, =gSaveBlock2Ptr - ldr r1, [r7] - ldr r2, [sp, 0x28] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 1 - mov r8, r0 - mov r5, r10 - add r5, r8 - add r1, r9 - adds r1, r5 - ldrh r0, [r1] - ldr r1, [r3] - lsls r0, 4 - adds r0, r1 - lsls r4, r6, 1 - adds r0, 0x2 - adds r0, r4 - ldrh r1, [r0] - lsls r2, r6, 24 - lsrs r2, 24 - mov r12, r2 - ldr r7, [sp, 0x1C] - ldr r2, =gEnemyParty - adds r0, r7, r2 - mov r2, r12 - str r3, [sp, 0x24] - bl SetMonMoveSlot - ldr r7, =gSaveBlock2Ptr - ldr r0, [r7] - add r0, r9 - adds r0, r5 - ldrh r0, [r0] - ldr r3, [sp, 0x24] - ldr r1, [r3] - lsls r0, 4 - adds r0, r1 - adds r0, 0x2 - adds r0, r4 - ldrh r0, [r0] - cmp r0, 0xDA - bne _0818FB74 - movs r1, 0 - add r0, sp, 0xC - strb r1, [r0] -_0818FB74: - adds r6, 0x1 - cmp r6, 0x3 - ble _0818FB18 - movs r0, 0x64 - ldr r1, [sp, 0x10] - adds r4, r1, 0 - muls r4, r0 - ldr r0, =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x20 - add r2, sp, 0xC - bl SetMonData - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, [sp, 0x20] - add r1, r8 - ldr r2, =0x00000d64 - adds r0, r2 - adds r0, r1 - ldrh r0, [r0] - ldr r1, =gUnknown_0203BC8C - ldr r1, [r1] - lsls r0, 4 - adds r0, r1 - ldrb r2, [r0, 0xA] - lsls r2, 1 - ldr r0, =gBattleFrontierHeldItems - adds r2, r0 - adds r0, r4, 0 - movs r1, 0xC - bl SetMonData - add sp, 0x30 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_818FA74 - - thumb_func_start sub_818FBDC -sub_818FBDC: @ 818FBDC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - movs r6, 0 - bl ZeroEnemyPartyMons - mov r0, r8 - bl sub_818FC78 - adds r5, r0, 0 - bl Random - adds r4, r0, 0 - bl Random - lsls r4, 16 - lsrs r7, r4, 16 - lsls r0, 16 - orrs r7, r0 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x5 - bls _0818FC46 - movs r4, 0 -_0818FC20: - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _0818FC3C - lsls r2, r4, 24 - lsrs r2, 24 - adds r0, r6, 0 - mov r1, r8 - adds r3, r7, 0 - bl sub_818FA74 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0818FC3C: - asrs r5, 1 - adds r4, 0x1 - cmp r4, 0x2 - ble _0818FC20 - b _0818FC6C -_0818FC46: - movs r4, 0x2 -_0818FC48: - movs r0, 0x4 - ands r0, r5 - cmp r0, 0 - beq _0818FC64 - lsls r2, r4, 24 - lsrs r2, 24 - adds r0, r6, 0 - mov r1, r8 - adds r3, r7, 0 - bl sub_818FA74 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0818FC64: - lsls r5, 1 - subs r4, 0x1 - cmp r4, 0 - bge _0818FC48 -_0818FC6C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_818FBDC - - thumb_func_start sub_818FC78 -sub_818FC78: @ 818FC78 - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r5, r4, 0 - bl Random - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _0818FCA2 - adds r0, r4, 0 - movs r1, 0 - bl sub_818FCBC - cmp r0, 0 - bne _0818FCB6 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_818FDB8 - b _0818FCB6 -_0818FCA2: - adds r0, r5, 0 - movs r1, 0 - bl sub_818FDB8 - cmp r0, 0 - bne _0818FCB6 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_818FCBC -_0818FCB6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_818FC78 - thumb_func_start sub_818FCBC -sub_818FCBC: @ 818FCBC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0xC] - movs r0, 0 - mov r9, r0 - mov r1, r8 - lsls r1, 2 - str r1, [sp, 0x18] -_0818FCDE: - mov r2, r9 - lsls r0, r2, 2 - mov r2, sp - adds r1, r2, r0 - movs r0, 0 - str r0, [r1] - movs r7, 0 - mov r0, r9 - adds r0, 0x1 - str r0, [sp, 0x14] - adds r5, r1, 0 - mov r1, r9 - lsls r1, 1 - str r1, [sp, 0x10] -_0818FCFA: - movs r6, 0 - adds r2, r7, 0x1 - mov r10, r2 -_0818FD00: - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r2, [sp, 0x18] - adds r0, r1, r2 - ldr r2, =0x00000d24 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - ldr r2, =0x000003fe - cmp r0, r2 - bne _0818FD3C - mov r1, r9 - lsls r0, r1, 24 - lsls r1, r7, 24 - lsrs r0, 24 - lsrs r1, 24 - bl sub_81A5060 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - b _0818FD60 - .pool -_0818FD3C: - mov r2, r8 - lsls r0, r2, 1 - add r0, r8 - lsls r0, 1 - ldr r2, [sp, 0x10] - adds r0, r2, r0 - ldr r2, =0x00000d64 - adds r1, r2 - adds r1, r0 - ldrh r0, [r1] - ldr r1, =gUnknown_0203BC8C - ldr r1, [r1] - lsls r0, 4 - adds r0, r1 - lsls r1, r7, 1 - adds r0, 0x2 - adds r0, r1 - ldrh r4, [r0] -_0818FD60: - movs r0, 0x64 - muls r0, r6 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0 - bl sub_818FFC0 - ldr r1, [r5] - adds r1, r0 - str r1, [r5] - adds r6, 0x1 - cmp r6, 0x2 - ble _0818FD00 - mov r7, r10 - cmp r7, 0x3 - ble _0818FCFA - ldr r0, [sp, 0x14] - mov r9, r0 - cmp r0, 0x2 - ble _0818FCDE - mov r0, sp - ldr r1, [sp, 0xC] - bl sub_818FEB4 - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_818FCBC - - thumb_func_start sub_818FDB8 -sub_818FDB8: @ 818FDB8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0xC] - movs r0, 0 - mov r9, r0 - mov r1, r8 - lsls r1, 2 - str r1, [sp, 0x18] -_0818FDDA: - mov r2, r9 - lsls r0, r2, 2 - mov r2, sp - adds r1, r2, r0 - movs r0, 0 - str r0, [r1] - movs r7, 0 - mov r0, r9 - adds r0, 0x1 - str r0, [sp, 0x14] - adds r5, r1, 0 - mov r1, r9 - lsls r1, 1 - str r1, [sp, 0x10] -_0818FDF6: - movs r6, 0 - adds r2, r7, 0x1 - mov r10, r2 -_0818FDFC: - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r2, [sp, 0x18] - adds r0, r1, r2 - ldr r2, =0x00000d24 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - ldr r2, =0x000003fe - cmp r0, r2 - bne _0818FE38 - mov r1, r9 - lsls r0, r1, 24 - lsls r1, r7, 24 - lsrs r0, 24 - lsrs r1, 24 - bl sub_81A5060 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - b _0818FE5C - .pool -_0818FE38: - mov r2, r8 - lsls r0, r2, 1 - add r0, r8 - lsls r0, 1 - ldr r2, [sp, 0x10] - adds r0, r2, r0 - ldr r2, =0x00000d64 - adds r1, r2 - adds r1, r0 - ldrh r0, [r1] - ldr r1, =gUnknown_0203BC8C - ldr r1, [r1] - lsls r0, 4 - adds r0, r1 - lsls r1, r7, 1 - adds r0, 0x2 - adds r0, r1 - ldrh r4, [r0] -_0818FE5C: - movs r0, 0x64 - muls r0, r6 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x1 - bl sub_818FFC0 - ldr r1, [r5] - adds r1, r0 - str r1, [r5] - adds r6, 0x1 - cmp r6, 0x2 - ble _0818FDFC - mov r7, r10 - cmp r7, 0x3 - ble _0818FDF6 - ldr r0, [sp, 0x14] - mov r9, r0 - cmp r0, 0x2 - ble _0818FDDA - mov r0, sp - ldr r1, [sp, 0xC] - bl sub_818FEB4 - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_818FDB8 - - thumb_func_start sub_818FEB4 -sub_818FEB4: @ 818FEB4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - mov r10, r0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - str r0, [sp, 0xC] - movs r3, 0x2 - add r0, sp, 0x8 -_0818FECE: - str r3, [r0] - subs r0, 0x4 - subs r3, 0x1 - cmp r3, 0 - bge _0818FECE - mov r3, r10 - ldr r2, [r3] - ldr r0, [r3, 0x4] - cmp r2, r0 - bne _0818FF20 - ldr r0, [r3, 0x8] - cmp r2, r0 - bne _0818FF20 - cmp r1, 0 - beq _0818FFAA - movs r3, 0 - ldr r4, =gBitTable -_0818FEF0: - str r3, [sp, 0x14] - bl Random - movs r1, 0x3 - ands r1, r0 - ldr r3, [sp, 0x14] - cmp r1, 0x3 - beq _0818FF16 - lsls r0, r1, 2 - adds r0, r4 - ldr r1, [r0] - ldr r0, [sp, 0xC] - ands r0, r1 - cmp r0, 0 - bne _0818FF16 - ldr r0, [sp, 0xC] - orrs r0, r1 - str r0, [sp, 0xC] - adds r3, 0x1 -_0818FF16: - cmp r3, 0x2 - bne _0818FEF0 - b _0818FFAA - .pool -_0818FF20: - movs r3, 0 - mov r9, sp - mov r8, r10 -_0818FF26: - adds r2, r3, 0x1 - cmp r2, 0x2 - bgt _0818FF84 - mov r6, r8 - mov r7, r9 - lsls r0, r2, 2 - mov r1, sp - adds r5, r0, r1 - mov r1, r10 - adds r4, r0, r1 -_0818FF3A: - ldr r0, [r6] - ldr r1, [r4] - cmp r0, r1 - bge _0818FF4E - str r1, [r6] - str r0, [r4] - ldr r1, [r7] - ldr r0, [r5] - str r0, [r7] - str r1, [r5] -_0818FF4E: - ldr r1, [r6] - ldr r0, [r4] - cmp r1, r0 - bne _0818FF7A - str r2, [sp, 0x10] - str r3, [sp, 0x14] - bl Random - movs r1, 0x1 - ands r1, r0 - ldr r2, [sp, 0x10] - ldr r3, [sp, 0x14] - cmp r1, 0 - beq _0818FF7A - ldr r1, [r6] - ldr r0, [r4] - str r0, [r6] - str r1, [r4] - ldr r1, [r7] - ldr r0, [r5] - str r0, [r7] - str r1, [r5] -_0818FF7A: - adds r5, 0x4 - adds r4, 0x4 - adds r2, 0x1 - cmp r2, 0x2 - ble _0818FF3A -_0818FF84: - movs r4, 0x4 - add r9, r4 - add r8, r4 - adds r3, 0x1 - cmp r3, 0x1 - ble _0818FF26 - ldr r2, =gBitTable - mov r1, sp - movs r3, 0x1 -_0818FF96: - ldm r1!, {r0} - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ldr r4, [sp, 0xC] - orrs r4, r0 - str r4, [sp, 0xC] - subs r3, 0x1 - cmp r3, 0 - bge _0818FF96 -_0818FFAA: - ldr r0, [sp, 0xC] - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_818FEB4 - - thumb_func_start sub_818FFC0 -sub_818FFC0: @ 818FFC0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r3, r0, 0 - adds r4, r1, 0 - str r2, [sp] - movs r6, 0 - movs r2, 0x14 - cmp r3, 0 - beq _0818FFF0 - ldr r0, =0x0000ffff - cmp r3, r0 - beq _0818FFF0 - ldr r0, =gBattleMoves - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 2 - adds r3, r1, r0 - ldrb r0, [r3, 0x1] - cmp r0, 0 - bne _0818FFFC -_0818FFF0: - movs r0, 0 - b _08190156 - .pool -_0818FFFC: - ldr r1, =gBaseStats - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x6] - mov r10, r1 - ldrb r1, [r0, 0x7] - mov r9, r1 - ldrb r0, [r0, 0x16] - mov r8, r0 - ldrb r3, [r3, 0x2] - str r3, [sp, 0x4] - cmp r0, 0x1A - bne _0819002C - cmp r3, 0x4 - bne _0819002C - ldr r0, [sp] - cmp r0, 0x1 - bne _081900AA - movs r2, 0x8 - b _081900A4 - .pool -_0819002C: - ldr r0, =gTypeEffectiveness - adds r1, r6, r0 - ldrb r0, [r1] - ldr r7, =gTypeEffectiveness - cmp r0, 0xFF - beq _081900A4 - adds r4, r1, 0 -_0819003A: - ldrb r0, [r4] - cmp r0, 0xFE - beq _08190096 - ldrb r0, [r4] - ldr r1, [sp, 0x4] - cmp r0, r1 - bne _08190096 - ldrb r0, [r4, 0x1] - adds r5, r6, 0x1 - cmp r0, r10 - bne _0819006C - adds r1, r6, 0x2 - mov r0, r8 - cmp r0, 0x19 - bne _0819005E - ldrb r0, [r4, 0x2] - cmp r0, 0x28 - bne _0819006C -_0819005E: - adds r0, r1, r7 - ldrb r0, [r0] - muls r0, r2 - movs r1, 0xA - bl __divsi3 - adds r2, r0, 0 -_0819006C: - adds r0, r5, r7 - ldrb r0, [r0] - cmp r0, r9 - bne _08190096 - cmp r10, r9 - beq _08190096 - adds r1, r6, 0x2 - mov r0, r8 - cmp r0, 0x19 - bne _08190088 - adds r0, r1, r7 - ldrb r0, [r0] - cmp r0, 0x28 - bne _08190096 -_08190088: - adds r0, r1, r7 - ldrb r0, [r0] - muls r0, r2 - movs r1, 0xA - bl __divsi3 - adds r2, r0, 0 -_08190096: - adds r4, 0x3 - adds r6, 0x3 - ldr r1, =gTypeEffectiveness - adds r0, r6, r1 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0819003A -_081900A4: - ldr r0, [sp] - cmp r0, 0x1 - beq _081900E0 -_081900AA: - ldr r1, [sp] - cmp r1, 0x1 - bgt _081900BC - cmp r1, 0 - beq _081900C4 - b _08190154 - .pool -_081900BC: - ldr r0, [sp] - cmp r0, 0x2 - beq _08190114 - b _08190154 -_081900C4: - cmp r2, 0xA - beq _08190146 - cmp r2, 0xA - ble _08190146 - cmp r2, 0x28 - beq _0819014A - cmp r2, 0x28 - bgt _081900DA - cmp r2, 0x14 - beq _08190104 - b _08190146 -_081900DA: - cmp r2, 0x50 - bne _08190146 - b _08190100 -_081900E0: - cmp r2, 0xA - beq _08190104 - cmp r2, 0xA - bgt _081900F2 - cmp r2, 0 - beq _08190100 - cmp r2, 0x5 - beq _0819014A - b _08190146 -_081900F2: - cmp r2, 0x28 - beq _08190108 - cmp r2, 0x28 - ble _08190146 - cmp r2, 0x50 - beq _0819010E - b _08190146 -_08190100: - movs r2, 0x8 - b _08190154 -_08190104: - movs r2, 0x2 - b _08190154 -_08190108: - movs r2, 0x2 - negs r2, r2 - b _08190154 -_0819010E: - movs r2, 0x4 - negs r2, r2 - b _08190154 -_08190114: - cmp r2, 0xA - beq _08190146 - cmp r2, 0xA - bgt _08190126 - cmp r2, 0 - beq _0819013A - cmp r2, 0x5 - beq _08190140 - b _08190146 -_08190126: - cmp r2, 0x28 - beq _0819014E - cmp r2, 0x28 - bgt _08190134 - cmp r2, 0x14 - beq _0819014A - b _08190146 -_08190134: - cmp r2, 0x50 - beq _08190152 - b _08190146 -_0819013A: - movs r2, 0x10 - negs r2, r2 - b _08190154 -_08190140: - movs r2, 0x8 - negs r2, r2 - b _08190154 -_08190146: - movs r2, 0 - b _08190154 -_0819014A: - movs r2, 0x4 - b _08190154 -_0819014E: - movs r2, 0xC - b _08190154 -_08190152: - movs r2, 0x14 -_08190154: - adds r0, r2, 0 -_08190156: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_818FFC0 - - thumb_func_start sub_8190168 -sub_8190168: @ 8190168 - push {lr} - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - cmp r0, 0x63 - bls _0819019A - movs r1, 0x6 - cmp r0, 0x77 - bls _0819019A - movs r1, 0x9 - cmp r0, 0x8B - bls _0819019A - movs r1, 0xC - cmp r0, 0x9F - bls _0819019A - movs r1, 0xF - cmp r0, 0xB3 - bls _0819019A - movs r1, 0x12 - cmp r0, 0xC7 - bls _0819019A - movs r1, 0x1F - cmp r0, 0xDB - bhi _0819019A - movs r1, 0x15 -_0819019A: - adds r0, r1, 0 - pop {r1} - bx r1 - thumb_func_end sub_8190168 - - thumb_func_start sub_81901A0 -sub_81901A0: @ 81901A0 - push {r4-r7,lr} - adds r3, r0, 0 - adds r2, r1, 0 - movs r5, 0 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r4, =0x00000d24 - adds r1, r4 - ldrh r1, [r1] - lsls r1, 22 - lsrs r1, 22 - mov r12, r0 - ldr r6, =gUnknown_0860D10C - cmp r1, r2 - beq _081901D8 - mov r7, r12 -_081901C0: - adds r5, 0x1 - cmp r5, 0xF - bgt _081901D8 - ldr r0, [r7] - lsls r1, r5, 2 - adds r0, r1 - adds r0, r4 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - cmp r0, r2 - bne _081901C0 -_081901D8: - cmp r3, 0 - beq _0819026C - cmp r3, 0x3 - bne _081901FC - lsls r0, r5, 2 - adds r1, r0, 0x3 - adds r1, r6 - ldrb r1, [r1] - adds r4, r1, 0 - adds r4, 0x8 - b _08190206 - .pool -_081901FC: - lsls r0, r5, 2 - adds r1, r3, r0 - adds r1, r6 - ldrb r1, [r1] - adds r4, r1, 0x4 -_08190206: - adds r0, r3, r0 - adds r0, r6 - ldrb r2, [r0] - cmp r2, r4 - bge _08190256 - ldr r1, =gUnknown_0860D14C - adds r0, r2, r1 - ldrb r3, [r0] - adds r6, r1, 0 - cmp r3, r5 - beq _08190234 - mov r1, r12 - ldr r0, [r1] - lsls r1, r3, 2 - adds r0, r1 - ldr r3, =0x00000d25 - adds r0, r3 - b _0819024E - .pool -_08190234: - adds r2, 0x1 - cmp r2, r4 - bge _08190256 - adds r0, r2, r6 - ldrb r1, [r0] - cmp r1, r5 - beq _08190234 - mov r3, r12 - ldr r0, [r3] - lsls r1, 2 - adds r0, r1 - ldr r1, =0x00000d25 - adds r0, r1 -_0819024E: - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - blt _08190234 -_08190256: - cmp r2, r4 - beq _08190286 - ldr r0, =gUnknown_0860D14C - adds r0, r2, r0 - ldrb r0, [r0] - b _08190292 - .pool -_0819026C: - mov r3, r12 - ldr r1, [r3] - lsls r0, r5, 2 - adds r0, r6 - ldrb r2, [r0] - lsls r0, r2, 2 - adds r1, r0 - ldr r0, =0x00000d25 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 29 - cmp r0, 0 - bge _08190290 -_08190286: - movs r0, 0xFF - b _08190292 - .pool -_08190290: - adds r0, r2, 0 -_08190292: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81901A0 - - thumb_func_start sub_8190298 -sub_8190298: @ 8190298 - push {lr} - bl sub_81902AC - ldr r1, =gTrainerBattleOpponent_A - strh r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8190298 - - thumb_func_start sub_81902AC -sub_81902AC: @ 81902AC - push {r4,lr} - ldr r0, =gSaveBlock2Ptr - ldr r4, [r0] - ldr r1, =0x00000cb2 - adds r0, r4, r1 - ldrh r0, [r0] - ldr r1, =0x000003ff - bl sub_81901A0 - lsls r0, 2 - adds r4, r0 - ldr r0, =0x00000d24 - adds r4, r0 - ldrh r0, [r4] - lsls r0, 22 - lsrs r0, 22 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81902AC - - thumb_func_start sub_81902E4 -sub_81902E4: @ 81902E4 - push {lr} - ldr r0, =gTrainerBattleOpponent_A - ldrh r0, [r0] - movs r1, 0 - bl sub_8162614 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81902E4 - - thumb_func_start sub_81902F8 -sub_81902F8: @ 81902F8 - push {r4,lr} - ldr r4, =gSaveBlock2Ptr - ldr r0, [r4] - ldr r1, =gSpecialVar_0x8005 - ldrh r1, [r1] - ldr r2, =0x00000ca8 - adds r0, r2 - strb r1, [r0] - movs r0, 0x80 - lsls r0, 7 - movs r1, 0 - bl VarSet - ldr r1, [r4] - ldr r0, =0x00000ca9 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - bl sub_81A4C30 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81902F8 - - thumb_func_start sub_819033C -sub_819033C: @ 819033C - push {r4,r5,lr} - ldr r5, =gSaveBlock2Ptr - ldr r0, [r5] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r4, [r0] - lsls r4, 30 - lsrs r4, 30 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 24 - ldr r1, [r5] - lsls r4, 1 - lsrs r0, 22 - adds r4, r0 - ldr r3, =0x00000d0c - adds r1, r3 - adds r1, r4 - ldrh r0, [r1] - ldr r2, =0x000003e6 - cmp r0, r2 - bhi _0819036E - adds r0, 0x1 - strh r0, [r1] -_0819036E: - ldr r0, [r5] - ldr r1, =0x00000d1c - adds r0, r1 - adds r1, r0, r4 - ldrh r0, [r1] - cmp r0, r2 - bhi _08190380 - adds r0, 0x1 - strh r0, [r1] -_08190380: - ldr r0, [r5] - adds r1, r0, r3 - adds r1, r4 - ldr r2, =0x00000d14 - adds r0, r2 - adds r0, r4 - ldrh r1, [r1] - ldrh r2, [r0] - cmp r1, r2 - bls _08190396 - strh r1, [r0] -_08190396: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819033C - - thumb_func_start sub_81903B8 -sub_81903B8: @ 81903B8 - push {r4,r5,lr} - ldr r0, =sub_8190400 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - movs r5, 0 - strh r5, [r4, 0x8] - bl sub_81902AC - lsls r0, 16 - lsrs r0, 16 - bl sub_8195358 - strh r0, [r4, 0xA] - strh r5, [r4, 0xC] - strh r5, [r4, 0xE] - ldr r0, =sub_8194B54 - bl SetMainCallback2 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81903B8 - - thumb_func_start sub_8190400 -sub_8190400: @ 8190400 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r1, =gTasks - lsls r0, 2 - add r0, r10 - lsls r0, 3 - adds r6, r0, r1 - movs r0, 0xA - ldrsh r5, [r6, r0] - movs r2, 0xC - ldrsh r1, [r6, r2] - mov r9, r1 - movs r0, 0xE - ldrsh r7, [r6, r0] - movs r1, 0x8 - ldrsh r4, [r6, r1] - cmp r4, 0x1 - beq _08190508 - cmp r4, 0x1 - bgt _08190440 - cmp r4, 0 - beq _0819044E - b _08190772 - .pool -_08190440: - cmp r4, 0x2 - bne _08190446 - b _08190570 -_08190446: - cmp r4, 0x3 - bne _0819044C - b _08190634 -_0819044C: - b _08190772 -_0819044E: - movs r0, 0 - bl SetHBlankCallback - movs r0, 0 - bl SetVBlankCallback - movs r0, 0x1 - bl EnableInterrupts - str r4, [sp, 0x4] - movs r1, 0xC0 - lsls r1, 19 - ldr r2, =0x05006000 - add r0, sp, 0x4 - bl CpuSet - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0860CE84 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r0, =gUnknown_0860CEB4 - bl InitWindows - bl DeactivateAllTextPrinters - ldr r0, =gBattle_BG0_X - strh r4, [r0] - ldr r0, =gBattle_BG0_Y - strh r4, [r0] - ldr r0, =gBattle_BG1_X - strh r4, [r0] - ldr r0, =gBattle_BG1_Y - strh r4, [r0] - ldr r0, =gBattle_BG3_X - strh r4, [r0] - ldr r0, =gBattle_BG3_Y - strh r4, [r0] - mov r2, r9 - cmp r2, 0x2 - bne _081904DC - ldr r0, =gBattle_BG2_X - strh r4, [r0] - ldr r0, =gBattle_BG2_Y - strh r4, [r0] - b _081904E6 - .pool -_081904DC: - ldr r0, =gBattle_BG2_X - strh r4, [r0] - ldr r1, =gBattle_BG2_Y - movs r0, 0xA0 - strh r0, [r1] -_081904E6: - ldr r0, =gTasks - mov r2, r10 - lsls r1, r2, 2 - add r1, r10 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _08190772 - .pool -_08190508: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4C - movs r1, 0 - bl SetGpuReg - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x42 - movs r1, 0 - bl SetGpuReg - movs r0, 0x46 - movs r1, 0 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x3F - bl SetGpuReg - bl ResetPaletteFade - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r1, =gReservedSpritePaletteCount - movs r0, 0x4 - strb r0, [r1] - b _08190602 - .pool -_08190570: - ldr r1, =gUnknown_08D83D50 - movs r5, 0x80 - lsls r5, 6 - movs r7, 0 - str r7, [sp] - movs r0, 0x2 - adds r2, r5, 0 - movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree - ldr r1, =gUnknown_08D84970 - movs r4, 0x1 - str r4, [sp] - movs r0, 0x2 - adds r2, r5, 0 - movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree - ldr r1, =gUnknown_08D84F00 - movs r2, 0x80 - lsls r2, 4 - str r4, [sp] - movs r0, 0x3 - movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree - ldr r0, =gUnknown_0860CF50 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_08D85358 - movs r4, 0x80 - lsls r4, 2 - movs r1, 0 - adds r2, r4, 0 - bl LoadCompressedPalette - ldr r0, =gUnknown_08D85444 - movs r1, 0x80 - lsls r1, 1 - adds r2, r4, 0 - bl LoadCompressedPalette - ldr r0, =gUnknown_08D85600 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadCompressedPalette - mov r0, r9 - cmp r0, 0x2 - bne _081905DE - ldr r0, =gUnknown_08D854C8 - movs r1, 0x50 - movs r2, 0x20 - bl LoadCompressedPalette -_081905DE: - str r7, [sp, 0x8] - add r0, sp, 0x8 - ldr r1, =gPlttBufferFaded - ldr r2, =0x05000100 - bl CpuSet - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg -_08190602: - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - b _08190772 - .pool -_08190634: - ldr r0, =sub_8194B70 - bl SetVBlankCallback - ldr r4, =gUnknown_0203CD78 - movs r0, 0x14 - bl AllocZeroed - str r0, [r4] - movs r6, 0 - lsls r5, 24 - movs r2, 0xFF -_0819064A: - ldr r1, [r4] - adds r1, r6 - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] - adds r6, 0x1 - cmp r6, 0xF - ble _0819064A - bl LoadMonIconPalettes - ldr r0, =sub_8190CD4 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - strh r1, [r0, 0xC] - mov r1, r9 - strh r1, [r0, 0xE] - strh r7, [r0, 0x10] - mov r2, r9 - cmp r2, 0x2 - bne _081906A8 - lsrs r1, r5, 24 - movs r0, 0 - bl sub_819314C - ldr r0, =gUnknown_0203CD78 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1, 0x10] - b _081906B0 - .pool -_081906A8: - lsrs r1, r5, 24 - movs r0, 0 - bl sub_81924E0 -_081906B0: - movs r1, 0xFA - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - mov r0, r9 - cmp r0, 0 - beq _0819076C - ldr r5, =gUnknown_0860D068 - adds r0, r5, 0 - movs r1, 0x78 - movs r2, 0x4 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - ldr r1, =gSprites - mov r8, r1 - add r4, r8 - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim - strh r6, [r4, 0x2E] - adds r0, r5, 0 - movs r1, 0x78 - movs r2, 0x9C - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - add r4, r8 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - strh r6, [r4, 0x2E] - ldr r5, =gUnknown_0860D050 - adds r0, r5, 0 - movs r1, 0x6 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - mov r2, r8 - adds r4, r0, r2 - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim - strh r6, [r4, 0x2E] - movs r0, 0 - strh r0, [r4, 0x30] - mov r1, r9 - cmp r1, 0x1 - bne _08190746 - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_08190746: - adds r0, r5, 0 - movs r1, 0xEA - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - add r4, r8 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - strh r6, [r4, 0x2E] - movs r0, 0x1 - strh r0, [r4, 0x30] -_0819076C: - mov r0, r10 - bl DestroyTask -_08190772: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8190400 - - thumb_func_start sub_8190790 -sub_8190790: @ 8190790 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x22] - adds r1, r0, 0x4 - strh r1, [r2, 0x22] - movs r3, 0x2E - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _081907D4 - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - blt _081907BC - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] -_081907BC: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x28 - bne _081907F0 - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] - b _081907F0 - .pool -_081907D4: - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xBF - ble _081907F0 - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - movs r3, 0x32 - ldrsh r1, [r2, r3] - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - ldrh r0, [r2, 0x34] - bl sub_818D8F0 -_081907F0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8190790 - - thumb_func_start sub_81907F8 -sub_81907F8: @ 81907F8 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x22] - subs r1, r0, 0x4 - strh r1, [r2, 0x22] - movs r3, 0x2E - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _08190838 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xC0 - bgt _08190820 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] -_08190820: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x28 - bne _08190858 - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] - b _08190858 - .pool -_08190838: - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bgt _08190858 - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - movs r3, 0x32 - ldrsh r1, [r2, r3] - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - ldrh r0, [r2, 0x34] - bl sub_818D8F0 -_08190858: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81907F8 - - thumb_func_start sub_8190860 -sub_8190860: @ 8190860 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x20] - adds r1, r0, 0x4 - strh r1, [r2, 0x20] - movs r3, 0x2E - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _081908A4 - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - blt _0819088C - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] -_0819088C: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x40 - bne _081908C0 - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] - b _081908C0 - .pool -_081908A4: - lsls r1, 16 - ldr r0, =0x010f0000 - cmp r1, r0 - ble _081908C0 - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - movs r3, 0x32 - ldrsh r1, [r2, r3] - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - ldrh r0, [r2, 0x34] - bl sub_818D8F0 -_081908C0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8190860 - - thumb_func_start sub_81908CC -sub_81908CC: @ 81908CC - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x20] - subs r1, r0, 0x4 - strh r1, [r2, 0x20] - movs r3, 0x2E - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _08190910 - lsls r1, 16 - movs r0, 0x88 - lsls r0, 17 - cmp r1, r0 - bgt _081908F6 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] -_081908F6: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x40 - bne _08190930 - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] - b _08190930 - .pool -_08190910: - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bgt _08190930 - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - movs r3, 0x32 - ldrsh r1, [r2, r3] - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - ldrh r0, [r2, 0x34] - bl sub_818D8F0 -_08190930: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81908CC - - thumb_func_start sub_8190938 -sub_8190938: @ 8190938 - push {lr} - adds r1, r0, 0 - movs r2, 0x34 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0819094A - adds r0, r1, 0 - bl UpdateMonIconFrame -_0819094A: - pop {r0} - bx r0 - thumb_func_end sub_8190938 - - thumb_func_start sub_8190950 -sub_8190950: @ 8190950 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08190962 - adds r0, r4, 0 - bl UpdateMonIconFrame -_08190962: - ldrh r0, [r4, 0x22] - adds r1, r0, 0x4 - strh r1, [r4, 0x22] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _081909A4 - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - blt _0819098A - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_0819098A: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x28 - bne _081909C0 - ldr r0, =sub_8190938 - str r0, [r4, 0x1C] - b _081909C0 - .pool -_081909A4: - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xAF - ble _081909C0 - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - movs r2, 0x32 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - adds r0, r4, 0 - bl sub_80D2EF8 -_081909C0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8190950 - - thumb_func_start sub_81909CC -sub_81909CC: @ 81909CC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081909DE - adds r0, r4, 0 - bl UpdateMonIconFrame -_081909DE: - ldrh r0, [r4, 0x22] - subs r1, r0, 0x4 - strh r1, [r4, 0x22] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08190A1C - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xB0 - bgt _08190A02 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_08190A02: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x28 - bne _08190A3C - ldr r0, =sub_8190938 - str r0, [r4, 0x1C] - b _08190A3C - .pool -_08190A1C: - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bgt _08190A3C - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - movs r2, 0x32 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - adds r0, r4, 0 - bl sub_80D2EF8 -_08190A3C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81909CC - - thumb_func_start sub_8190A48 -sub_8190A48: @ 8190A48 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08190A5A - adds r0, r4, 0 - bl UpdateMonIconFrame -_08190A5A: - ldrh r0, [r4, 0x20] - adds r1, r0, 0x4 - strh r1, [r4, 0x20] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08190A9C - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - blt _08190A82 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_08190A82: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x40 - bne _08190AB8 - ldr r0, =sub_8190938 - str r0, [r4, 0x1C] - b _08190AB8 - .pool -_08190A9C: - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _08190AB8 - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - movs r2, 0x32 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - adds r0, r4, 0 - bl sub_80D2EF8 -_08190AB8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8190A48 - - thumb_func_start sub_8190AC4 -sub_8190AC4: @ 8190AC4 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08190AD6 - adds r0, r4, 0 - bl UpdateMonIconFrame -_08190AD6: - ldrh r0, [r4, 0x20] - subs r1, r0, 0x4 - strh r1, [r4, 0x20] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08190B14 - lsls r1, 16 - movs r0, 0x80 - lsls r0, 17 - cmp r1, r0 - bgt _08190AFC - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_08190AFC: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x40 - bne _08190B34 - ldr r0, =sub_8190938 - str r0, [r4, 0x1C] - b _08190B34 - .pool -_08190B14: - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bgt _08190B34 - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - movs r2, 0x32 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - adds r0, r4, 0 - bl sub_80D2EF8 -_08190B34: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8190AC4 - - thumb_func_start sub_8190B40 -sub_8190B40: @ 8190B40 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r3, r0, 0 - movs r0, 0x2E - ldrsh r6, [r3, r0] - ldr r2, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r2 - movs r7, 0x10 - ldrsh r1, [r4, r7] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0xA - ldrsh r0, [r0, r1] - ldr r1, =gUnknown_0860D080 - adds r0, r1 - ldrb r0, [r0] - mov r10, r0 - ldr r1, =gSaveBlock2Ptr - ldr r5, [r1] - ldr r7, =0x00000cb2 - adds r0, r5, r7 - ldrh r0, [r0] - mov r12, r0 - movs r7, 0xE - ldrsh r0, [r4, r7] - mov r9, r2 - mov r8, r1 - cmp r0, 0x1 - bne _08190C0C - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _08190BFC - mov r2, r10 - lsls r0, r2, 2 - adds r1, r5, r0 - ldr r7, =0x00000d25 - adds r1, r7 - ldrb r2, [r1] - lsls r1, r2, 29 - adds r4, r0, 0 - cmp r1, 0 - bge _08190BB6 - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r1, [r0, 0x10] - subs r1, 0x1 - lsls r0, r2, 27 - lsrs r0, 30 - cmp r1, r0 - blt _08190C32 -_08190BB6: - mov r1, r8 - ldr r0, [r1] - adds r0, r4 - ldr r2, =0x00000d25 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - blt _08190BD4 - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - subs r0, 0x1 - cmp r0, r12 - blt _08190C32 -_08190BD4: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - add r0, r9 - movs r7, 0x8 - ldrsh r0, [r0, r7] - b _08190C4C - .pool -_08190BFC: - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - cmp r0, 0 - bne _08190C32 - b _08190C48 - .pool -_08190C0C: - movs r2, 0x30 - ldrsh r0, [r3, r2] - cmp r0, 0 - beq _08190C28 - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - cmp r0, 0x1 - bls _08190C32 - movs r7, 0x8 - ldrsh r0, [r4, r7] - b _08190C4C - .pool -_08190C28: - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - cmp r0, 0 - beq _08190C48 -_08190C32: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - b _08190C5C - .pool -_08190C48: - movs r1, 0x8 - ldrsh r0, [r4, r1] -_08190C4C: - cmp r0, 0x2 - bne _08190C5C - adds r0, r3, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_08190C5C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8190B40 - - thumb_func_start sub_8190C6C -sub_8190C6C: @ 8190C6C - push {lr} - adds r3, r0, 0 - movs r0, 0x2E - ldrsh r1, [r3, r0] - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r1, r0, r2 - movs r2, 0xE - ldrsh r0, [r1, r2] - cmp r0, 0x1 - bne _08190C9C - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - cmp r0, 0 - bne _08190CA6 - b _08190CC0 - .pool -_08190C9C: - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - cmp r0, 0x1 - beq _08190CC0 -_08190CA6: - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0x2 - bne _08190CCE - adds r0, r3, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _08190CCE - .pool -_08190CC0: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_08190CCE: - pop {r0} - bx r0 - thumb_func_end sub_8190C6C - - thumb_func_start sub_8190CD4 -sub_8190CD4: @ 8190CD4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r3, 0xE - ldrsh r2, [r0, r3] - mov r9, r2 - movs r4, 0x10 - ldrsh r7, [r0, r4] - movs r5, 0x8 - ldrsh r0, [r0, r5] - cmp r0, 0x8 - bls _08190D06 - bl _08192202 -_08190D06: - lsls r0, 2 - ldr r1, =_08190D18 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08190D18: - .4byte _08190D3C - .4byte _08190D7C - .4byte _08190DA8 - .4byte _08190E48 - .4byte _08191FF8 - .4byte _08192038 - .4byte _08192078 - .4byte _081920BC - .4byte _08192106 -_08190D3C: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08190D50 - bl _08192202 -_08190D50: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, =gTasks - mov r6, r8 - lsls r0, r6, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x8] - bl _08192202 - .pool -_08190D7C: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08190D8C - bl _08192202 -_08190D8C: - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - ldr r2, =gTasks - adds r0, r2 - movs r1, 0x2 - strh r1, [r0, 0x8] - bl _08192202 - .pool -_08190DA8: - mov r0, r8 - bl sub_819221C - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x8 - bgt _08190DBE - cmp r6, 0x1 - bge _08190DF0 - bl _08192202 -_08190DBE: - cmp r6, 0x9 - beq _08190DC6 - bl _08192202 -_08190DC6: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - strh r1, [r0, 0x8] - bl _08192202 - .pool -_08190DF0: - ldr r1, =gTasks - mov r4, r8 - lsls r2, r4, 2 - adds r0, r2, r4 - lsls r0, 3 - adds r0, r1 - strh r6, [r0, 0x12] - movs r5, 0xC - ldrsh r0, [r0, r5] - movs r1, 0 - mov r9, r2 - cmp r0, 0 - beq _08190E0C - movs r1, 0x9 -_08190E0C: - adds r6, r1, 0 - adds r0, r6, 0 - adds r0, 0x9 - cmp r6, r0 - bge _08190E32 - adds r5, r0, 0 -_08190E18: - lsls r4, r6, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x2 - bl CopyWindowToVram - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r6, 0x1 - cmp r6, r5 - blt _08190E18 -_08190E32: - ldr r0, =gTasks - mov r1, r9 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x3 - strh r0, [r1, 0x8] - bl _08192202 - .pool -_08190E48: - mov r6, r8 - lsls r1, r6, 2 - adds r0, r1, r6 - lsls r0, 3 - ldr r2, =gTasks - adds r0, r2 - movs r3, 0x12 - ldrsh r6, [r0, r3] - subs r0, r6, 0x1 - mov r9, r1 - cmp r0, 0x7 - bls _08190E64 - bl _08192202 -_08190E64: - lsls r0, 2 - ldr r1, =_08190E78 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08190E78: - .4byte _08190E98 - .4byte _08191234 - .4byte _081915CC - .4byte _08191B08 - .4byte _08190E98 - .4byte _08191234 - .4byte _0819187C - .4byte _08191D68 -_08190E98: - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r4, =gTasks - adds r0, r4 - movs r5, 0xC - ldrsh r2, [r0, r5] - cmp r2, 0 - beq _08190ED4 - ldr r0, =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG0_Y - strh r1, [r0] - ldr r0, =gBattle_BG1_X - strh r1, [r0] - ldr r1, =gBattle_BG1_Y - movs r0, 0xA0 - strh r0, [r1] - b _08190EE6 - .pool -_08190ED4: - ldr r0, =gBattle_BG0_X - strh r2, [r0] - ldr r1, =gBattle_BG0_Y - movs r0, 0xA0 - strh r0, [r1] - ldr r0, =gBattle_BG1_X - strh r2, [r0] - ldr r0, =gBattle_BG1_Y - strh r2, [r0] -_08190EE6: - cmp r6, 0x1 - bne _08190F9C - ldr r5, =gUnknown_0203CD78 - ldr r0, [r5] - ldrb r1, [r0, 0x10] - cmp r1, 0 - bne _08190F50 - ldr r0, =gBattle_BG2_X - strh r1, [r0] - ldr r1, =gBattle_BG2_Y - movs r6, 0xA0 - lsls r6, 1 - adds r0, r6, 0 - strh r0, [r1] - ldr r3, =gUnknown_0860D080 - ldr r2, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r2 - movs r4, 0xA - ldrsh r1, [r0, r4] - adds r1, r3 - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r2 - ldrb r2, [r0, 0xC] - movs r0, 0x10 - orrs r0, r2 - ldrb r1, [r1] - bl sub_81924E0 - b _08191084 - .pool -_08190F50: - ldr r1, =gBattle_BG2_X - movs r6, 0x80 - lsls r6, 1 - adds r0, r6, 0 - strh r0, [r1] - ldr r0, =gBattle_BG2_Y - movs r4, 0 - strh r4, [r0] - ldr r3, =gUnknown_0860D080 - ldr r2, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r2 - movs r6, 0xA - ldrsh r1, [r0, r6] - adds r1, r3 - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r2 - ldrb r2, [r0, 0xC] - movs r0, 0x10 - orrs r0, r2 - ldrb r1, [r1] - bl sub_81924E0 - ldr r0, [r5] - strb r4, [r0, 0x10] - b _08191084 - .pool -_08190F9C: - ldr r6, =gUnknown_0203CD78 - ldr r1, [r6] - ldrb r5, [r1, 0x10] - cmp r5, 0 - bne _08190FF8 - ldr r4, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r4 - movs r2, 0xA - ldrsh r0, [r0, r2] - adds r2, r0, 0 - subs r2, 0x10 - lsls r0, r2, 24 - lsrs r0, 24 - adds r1, 0x11 - bl sub_8192F08 - ldr r0, =gBattle_BG2_X - strh r5, [r0] - ldr r1, =gBattle_BG2_Y - movs r3, 0xA0 - lsls r3, 1 - adds r0, r3, 0 - strh r0, [r1] - ldr r2, [r6] - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r4 - ldrb r1, [r0, 0xC] - movs r0, 0x10 - orrs r0, r1 - ldrb r1, [r2, 0x11] - bl sub_81924E0 - b _08191084 - .pool -_08190FF8: - cmp r5, 0x2 - bne _0819104C - ldr r4, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r4 - movs r5, 0xA - ldrsh r0, [r0, r5] - adds r2, r0, 0 - subs r2, 0x10 - lsls r0, r2, 24 - lsrs r0, 24 - adds r1, 0x11 - bl sub_8192F08 - ldr r1, =gBattle_BG2_X - movs r0, 0 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - movs r2, 0xA0 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - ldr r2, [r6] - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r4 - ldrb r1, [r0, 0xC] - movs r0, 0x10 - orrs r0, r1 - ldrb r1, [r2, 0x12] - bl sub_81924E0 - b _08191084 - .pool -_0819104C: - ldr r1, =gBattle_BG2_X - movs r3, 0x80 - lsls r3, 1 - adds r0, r3, 0 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - movs r0, 0xA0 - strh r0, [r1] - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - movs r4, 0xA - ldrsh r0, [r0, r4] - adds r2, r0, 0 - subs r2, 0x10 - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0xC] - movs r0, 0x10 - orrs r0, r1 - lsls r1, r2, 24 - lsrs r1, 24 - bl sub_819314C -_08191084: - movs r6, 0 - ldr r5, =gUnknown_0203CD78 - mov r10, r5 - ldr r3, =gSprites - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - mov r12, r6 - adds r4, r3, 0 - adds r4, 0x1C - movs r7, 0x1 -_0819109E: - cmp r6, 0x1 - bgt _0819110C - mov r2, r10 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191150 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_8190790 - str r1, [r0] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r5, 0xC] - eors r0, r7 - strh r0, [r1, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - mov r1, r12 - strh r1, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r1, [r0, 0x34] - b _08191150 - .pool -_0819110C: - mov r2, r10 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191150 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_8190950 - str r1, [r0] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r5, 0xC] - eors r0, r7 - strh r0, [r1, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - mov r1, r12 - strh r1, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] -_08191150: - adds r6, 0x1 - cmp r6, 0x7 - ble _0819109E - movs r6, 0x8 - ldr r2, =gUnknown_0203CD78 - mov r12, r2 - ldr r3, =gSprites - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r5, r0, r1 - movs r4, 0 - adds r7, r3, 0 - adds r7, 0x1C -_0819116E: - cmp r6, 0x9 - bgt _081911D4 - mov r1, r12 - ldr r0, [r1] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191214 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, =sub_8190790 - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r5, 0xC] - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r1, [r0, 0x34] - b _08191214 - .pool -_081911D4: - mov r2, r12 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191214 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, =sub_8190950 - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r5, 0xC] - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] -_08191214: - adds r6, 0x1 - cmp r6, 0xF - ble _0819116E - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r3, =gTasks - adds r0, r3 - movs r2, 0 - movs r1, 0x4 - bl _08191FE8 - .pool -_08191234: - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r4, =gTasks - adds r0, r4 - movs r5, 0xC - ldrsh r2, [r0, r5] - cmp r2, 0 - beq _08191278 - ldr r0, =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG0_Y - strh r1, [r0] - ldr r0, =gBattle_BG1_X - strh r1, [r0] - ldr r1, =gBattle_BG1_Y - ldr r2, =0x0000ff60 - adds r0, r2, 0 - strh r0, [r1] - b _0819128C - .pool -_08191278: - ldr r0, =gBattle_BG0_X - strh r2, [r0] - ldr r1, =gBattle_BG0_Y - ldr r3, =0x0000ff60 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, =gBattle_BG1_X - strh r2, [r0] - ldr r0, =gBattle_BG1_Y - strh r2, [r0] -_0819128C: - cmp r6, 0x2 - bne _0819133C - ldr r5, =gUnknown_0203CD78 - ldr r0, [r5] - ldrb r1, [r0, 0x10] - cmp r1, 0 - bne _081912F4 - ldr r0, =gBattle_BG2_X - strh r1, [r0] - ldr r1, =gBattle_BG2_Y - movs r0, 0xA0 - strh r0, [r1] - ldr r3, =gUnknown_0860D080 - ldr r2, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r2 - movs r4, 0xA - ldrsh r1, [r0, r4] - adds r1, r3 - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r2 - ldrb r2, [r0, 0xC] - movs r0, 0x4 - orrs r0, r2 - ldrb r1, [r1] - bl sub_81924E0 - b _0819141C - .pool -_081912F4: - ldr r0, =gBattle_BG2_X - movs r4, 0 - strh r4, [r0] - ldr r0, =gBattle_BG2_Y - strh r4, [r0] - ldr r3, =gUnknown_0860D080 - ldr r2, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r2 - movs r6, 0xA - ldrsh r1, [r0, r6] - adds r1, r3 - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r2 - ldrb r2, [r0, 0xC] - movs r0, 0x4 - orrs r0, r2 - ldrb r1, [r1] - bl sub_81924E0 - ldr r0, [r5] - strb r4, [r0, 0x10] - b _0819141C - .pool -_0819133C: - ldr r6, =gUnknown_0203CD78 - ldr r1, [r6] - ldrb r5, [r1, 0x10] - cmp r5, 0 - bne _08191394 - ldr r4, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r4 - movs r2, 0xA - ldrsh r0, [r0, r2] - adds r2, r0, 0 - subs r2, 0x10 - lsls r0, r2, 24 - lsrs r0, 24 - adds r1, 0x11 - bl sub_8192F08 - ldr r0, =gBattle_BG2_X - strh r5, [r0] - ldr r1, =gBattle_BG2_Y - movs r0, 0xA0 - strh r0, [r1] - ldr r2, [r6] - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r4 - ldrb r1, [r0, 0xC] - movs r0, 0x4 - orrs r0, r1 - ldrb r1, [r2, 0x11] - bl sub_81924E0 - b _0819141C - .pool -_08191394: - cmp r5, 0x2 - bne _081913E4 - ldr r4, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r4 - movs r3, 0xA - ldrsh r0, [r0, r3] - adds r2, r0, 0 - subs r2, 0x10 - lsls r0, r2, 24 - lsrs r0, 24 - adds r1, 0x11 - bl sub_8192F08 - ldr r1, =gBattle_BG2_X - movs r0, 0 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - movs r0, 0xA0 - strh r0, [r1] - ldr r2, [r6] - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r4 - ldrb r1, [r0, 0xC] - movs r0, 0x4 - orrs r0, r1 - ldrb r1, [r2, 0x12] - bl sub_81924E0 - b _0819141C - .pool -_081913E4: - ldr r1, =gBattle_BG2_X - movs r4, 0x80 - lsls r4, 1 - adds r0, r4, 0 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - movs r0, 0 - strh r0, [r1] - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - movs r5, 0xA - ldrsh r0, [r0, r5] - adds r2, r0, 0 - subs r2, 0x10 - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0xC] - movs r0, 0x4 - orrs r0, r1 - lsls r1, r2, 24 - lsrs r1, 24 - bl sub_819314C -_0819141C: - movs r6, 0 - ldr r0, =gUnknown_0203CD78 - mov r10, r0 - ldr r3, =gSprites - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - mov r12, r6 - adds r4, r3, 0 - adds r4, 0x1C - movs r7, 0x1 -_08191436: - cmp r6, 0x1 - bgt _081914A4 - mov r2, r10 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _081914E8 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_81907F8 - str r1, [r0] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r5, 0xC] - eors r0, r7 - strh r0, [r1, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - mov r1, r12 - strh r1, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r1, [r0, 0x34] - b _081914E8 - .pool -_081914A4: - mov r2, r10 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _081914E8 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_81909CC - str r1, [r0] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r5, 0xC] - eors r0, r7 - strh r0, [r1, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - mov r1, r12 - strh r1, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] -_081914E8: - adds r6, 0x1 - cmp r6, 0x7 - ble _08191436 - movs r6, 0x8 - ldr r2, =gUnknown_0203CD78 - mov r12, r2 - ldr r3, =gSprites - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r5, r0, r1 - movs r4, 0 - adds r7, r3, 0 - adds r7, 0x1C -_08191506: - cmp r6, 0x9 - bgt _0819156C - mov r1, r12 - ldr r0, [r1] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _081915AC - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, =sub_81907F8 - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r5, 0xC] - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r1, [r0, 0x34] - b _081915AC - .pool -_0819156C: - mov r2, r12 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _081915AC - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, =sub_81909CC - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r5, 0xC] - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] -_081915AC: - adds r6, 0x1 - cmp r6, 0xF - ble _08191506 - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r3, =gTasks - adds r0, r3 - movs r2, 0 - movs r1, 0x5 - bl _08191FE8 - .pool -_081915CC: - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r4, =gTasks - adds r0, r4 - movs r5, 0xC - ldrsh r2, [r0, r5] - cmp r2, 0 - beq _0819160C - ldr r0, =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG0_Y - strh r1, [r0] - ldr r2, =gBattle_BG1_X - movs r6, 0x80 - lsls r6, 1 - adds r0, r6, 0 - strh r0, [r2] - ldr r0, =gBattle_BG1_Y - strh r1, [r0] - b _08191622 - .pool -_0819160C: - ldr r1, =gBattle_BG0_X - movs r3, 0x80 - lsls r3, 1 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, =gBattle_BG0_Y - strh r2, [r0] - ldr r0, =gBattle_BG1_X - strh r2, [r0] - ldr r0, =gBattle_BG1_Y - strh r2, [r0] -_08191622: - ldr r0, =gUnknown_0203CD78 - ldr r4, [r0] - ldrb r0, [r4, 0x10] - cmp r0, 0 - bne _08191688 - ldr r1, =gBattle_BG2_X - movs r4, 0x80 - lsls r4, 1 - adds r0, r4, 0 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - movs r0, 0xA0 - strh r0, [r1] - ldr r3, =gUnknown_0860D080 - ldr r2, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r2 - movs r5, 0xA - ldrsh r1, [r0, r5] - adds r1, r3 - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r2 - ldrb r2, [r0, 0xC] - movs r0, 0x8 - orrs r0, r2 - ldrb r1, [r1] - bl sub_81924E0 - b _081916C6 - .pool -_08191688: - ldr r1, =gBattle_BG2_X - movs r6, 0x80 - lsls r6, 1 - adds r0, r6, 0 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - movs r0, 0 - strh r0, [r1] - ldr r3, =gUnknown_0860D15C - ldr r2, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r2 - movs r5, 0xA - ldrsh r1, [r0, r5] - lsls r1, 2 - subs r1, 0x1 - ldrb r4, [r4, 0x10] - adds r1, r4 - adds r1, r3 - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r2 - ldrb r2, [r0, 0xC] - movs r0, 0x8 - orrs r0, r2 - ldrb r1, [r1] - bl sub_819314C -_081916C6: - movs r6, 0 - ldr r0, =gUnknown_0203CD78 - mov r10, r0 - ldr r3, =gSprites - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - mov r12, r6 - adds r4, r3, 0 - adds r4, 0x1C - movs r7, 0x1 -_081916E0: - cmp r6, 0x1 - bgt _08191754 - mov r2, r10 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191798 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_8190860 - str r1, [r0] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r5, 0xC] - eors r0, r7 - strh r0, [r1, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - mov r1, r12 - strh r1, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r1, [r0, 0x34] - b _08191798 - .pool -_08191754: - mov r2, r10 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191798 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_8190A48 - str r1, [r0] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r5, 0xC] - eors r0, r7 - strh r0, [r1, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - mov r1, r12 - strh r1, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] -_08191798: - adds r6, 0x1 - cmp r6, 0x7 - ble _081916E0 - movs r6, 0x8 - ldr r2, =gUnknown_0203CD78 - mov r12, r2 - ldr r3, =gSprites - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r5, r0, r1 - movs r4, 0 - adds r7, r3, 0 - adds r7, 0x1C -_081917B6: - cmp r6, 0x9 - bgt _0819181C - mov r1, r12 - ldr r0, [r1] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _0819185C - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, =sub_8190860 - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r5, 0xC] - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r1, [r0, 0x34] - b _0819185C - .pool -_0819181C: - mov r2, r12 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _0819185C - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, =sub_8190A48 - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r5, 0xC] - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] -_0819185C: - adds r6, 0x1 - cmp r6, 0xF - ble _081917B6 - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r3, =gTasks - adds r0, r3 - movs r2, 0 - movs r1, 0x6 - b _08191FE8 - .pool -_0819187C: - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r4, =gTasks - adds r0, r4 - movs r5, 0xC - ldrsh r2, [r0, r5] - cmp r2, 0 - beq _081918BC - ldr r0, =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG0_Y - strh r1, [r0] - ldr r2, =gBattle_BG1_X - movs r6, 0x80 - lsls r6, 1 - adds r0, r6, 0 - strh r0, [r2] - ldr r0, =gBattle_BG1_Y - strh r1, [r0] - b _081918D2 - .pool -_081918BC: - ldr r1, =gBattle_BG0_X - movs r3, 0x80 - lsls r3, 1 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, =gBattle_BG0_Y - strh r2, [r0] - ldr r0, =gBattle_BG1_X - strh r2, [r0] - ldr r0, =gBattle_BG1_Y - strh r2, [r0] -_081918D2: - ldr r0, =gUnknown_0203CD78 - ldr r2, [r0] - ldrb r0, [r2, 0x10] - cmp r0, 0 - bne _08191924 - ldr r1, =gBattle_BG2_X - movs r4, 0x80 - lsls r4, 1 - adds r0, r4, 0 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - movs r0, 0xA0 - strh r0, [r1] - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0xC] - movs r0, 0x8 - orrs r0, r1 - ldrb r1, [r2, 0x11] - bl sub_81924E0 - b _08191958 - .pool -_08191924: - ldr r1, =gBattle_BG2_X - movs r0, 0 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - movs r0, 0xA0 - strh r0, [r1] - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - movs r5, 0xA - ldrsh r0, [r0, r5] - adds r2, r0, 0 - subs r2, 0x10 - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0xC] - movs r0, 0x8 - orrs r0, r1 - lsls r1, r2, 24 - lsrs r1, 24 - bl sub_819314C -_08191958: - movs r6, 0 - ldr r0, =gUnknown_0203CD78 - mov r10, r0 - ldr r3, =gSprites - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - mov r12, r6 - adds r4, r3, 0 - adds r4, 0x1C - movs r7, 0x1 -_08191972: - cmp r6, 0x1 - bgt _081919E0 - mov r2, r10 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191A24 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_8190860 - str r1, [r0] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r5, 0xC] - eors r0, r7 - strh r0, [r1, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - mov r1, r12 - strh r1, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r1, [r0, 0x34] - b _08191A24 - .pool -_081919E0: - mov r2, r10 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191A24 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_8190A48 - str r1, [r0] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r5, 0xC] - eors r0, r7 - strh r0, [r1, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - mov r1, r12 - strh r1, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] -_08191A24: - adds r6, 0x1 - cmp r6, 0x7 - ble _08191972 - movs r6, 0x8 - ldr r2, =gUnknown_0203CD78 - mov r12, r2 - ldr r3, =gSprites - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r5, r0, r1 - movs r4, 0 - adds r7, r3, 0 - adds r7, 0x1C -_08191A42: - cmp r6, 0x9 - bgt _08191AA8 - mov r1, r12 - ldr r0, [r1] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191AE8 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, =sub_8190860 - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r5, 0xC] - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r1, [r0, 0x34] - b _08191AE8 - .pool -_08191AA8: - mov r2, r12 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191AE8 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, =sub_8190A48 - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r5, 0xC] - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] -_08191AE8: - adds r6, 0x1 - cmp r6, 0xF - ble _08191A42 - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r3, =gTasks - adds r0, r3 - movs r2, 0 - movs r1, 0x6 - b _08191FE8 - .pool -_08191B08: - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r4, =gTasks - adds r0, r4 - movs r5, 0xC - ldrsh r2, [r0, r5] - cmp r2, 0 - beq _08191B48 - ldr r0, =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG0_Y - strh r1, [r0] - ldr r2, =gBattle_BG1_X - movs r6, 0xFF - lsls r6, 8 - adds r0, r6, 0 - strh r0, [r2] - ldr r0, =gBattle_BG1_Y - strh r1, [r0] - b _08191B5E - .pool -_08191B48: - ldr r1, =gBattle_BG0_X - movs r3, 0xFF - lsls r3, 8 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, =gBattle_BG0_Y - strh r2, [r0] - ldr r0, =gBattle_BG1_X - strh r2, [r0] - ldr r0, =gBattle_BG1_Y - strh r2, [r0] -_08191B5E: - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - cmp r0, 0x1 - bne _08191B94 - ldr r1, =gBattle_BG2_X - movs r0, 0 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - movs r0, 0xA0 - strh r0, [r1] - b _08191B9E - .pool -_08191B94: - ldr r0, =gBattle_BG2_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] -_08191B9E: - ldr r4, =gUnknown_0860D15C - ldr r5, =gUnknown_0203CD78 - ldr r3, [r5] - ldr r2, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r2 - movs r6, 0xA - ldrsh r1, [r0, r6] - lsls r1, 2 - subs r1, 0x1 - ldrb r3, [r3, 0x10] - adds r1, r3 - adds r1, r4 - mov r4, r9 - add r4, r8 - lsls r4, 3 - adds r4, r2 - ldrb r2, [r4, 0xC] - movs r0, 0x2 - orrs r0, r2 - ldrb r1, [r1] - bl sub_819314C - movs r6, 0 - ldr r7, =gSprites - mov r12, r6 - mov r10, r5 - adds r5, r7, 0 - adds r5, 0x1C -_08191BDC: - cmp r6, 0x1 - bgt _08191C50 - mov r1, r10 - ldr r0, [r1] - adds r3, r0, r6 - ldrb r0, [r3] - cmp r0, 0xFF - beq _08191C96 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, =sub_81908CC - str r1, [r0] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r4, 0xC] - movs r2, 0x1 - eors r1, r2 - strh r1, [r0, 0x2E] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - mov r2, r12 - strh r2, [r0, 0x30] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r6, [r0, 0x32] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r1, [r0, 0x34] - b _08191C96 - .pool -_08191C50: - mov r3, r10 - ldr r0, [r3] - adds r3, r0, r6 - ldrb r0, [r3] - cmp r0, 0xFF - beq _08191C96 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, =sub_8190AC4 - str r1, [r0] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r4, 0xC] - movs r2, 0x1 - eors r1, r2 - strh r1, [r0, 0x2E] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - mov r1, r12 - strh r1, [r0, 0x30] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r6, [r0, 0x32] -_08191C96: - adds r6, 0x1 - cmp r6, 0x7 - ble _08191BDC - movs r6, 0x8 - ldr r2, =gUnknown_0203CD78 - mov r12, r2 - ldr r3, =gSprites - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r5, r0, r1 - movs r4, 0 - adds r7, r3, 0 - adds r7, 0x1C -_08191CB4: - cmp r6, 0x9 - bgt _08191D1C - mov r1, r12 - ldr r0, [r1] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191D5C - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, =sub_81908CC - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r5, 0xC] - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r1, [r0, 0x34] - b _08191D5C - .pool -_08191D1C: - mov r2, r12 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191D5C - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, =sub_8190AC4 - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r5, 0xC] - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] -_08191D5C: - adds r6, 0x1 - cmp r6, 0xF - ble _08191CB4 - b _08191FDA - .pool -_08191D68: - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r4, =gTasks - adds r0, r4 - movs r5, 0xC - ldrsh r2, [r0, r5] - cmp r2, 0 - beq _08191DA8 - ldr r0, =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG0_Y - strh r1, [r0] - ldr r2, =gBattle_BG1_X - movs r6, 0xFF - lsls r6, 8 - adds r0, r6, 0 - strh r0, [r2] - ldr r0, =gBattle_BG1_Y - strh r1, [r0] - b _08191DBE - .pool -_08191DA8: - ldr r1, =gBattle_BG0_X - movs r3, 0xFF - lsls r3, 8 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, =gBattle_BG0_Y - strh r2, [r0] - ldr r0, =gBattle_BG1_X - strh r2, [r0] - ldr r0, =gBattle_BG1_Y - strh r2, [r0] -_08191DBE: - ldr r0, =gUnknown_0203CD78 - ldr r2, [r0] - ldrb r0, [r2, 0x10] - cmp r0, 0x2 - bne _08191E10 - ldr r1, =gBattle_BG2_X - movs r4, 0x80 - lsls r4, 1 - adds r0, r4, 0 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - movs r0, 0xA0 - strh r0, [r1] - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0xC] - movs r0, 0x2 - orrs r0, r1 - ldrb r1, [r2, 0x12] - bl sub_81924E0 - b _08191E44 - .pool -_08191E10: - ldr r1, =gBattle_BG2_X - movs r0, 0 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - movs r0, 0xA0 - strh r0, [r1] - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - movs r5, 0xA - ldrsh r0, [r0, r5] - adds r2, r0, 0 - subs r2, 0x10 - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0xC] - movs r0, 0x2 - orrs r0, r1 - lsls r1, r2, 24 - lsrs r1, 24 - bl sub_819314C -_08191E44: - movs r6, 0 - ldr r0, =gUnknown_0203CD78 - mov r10, r0 - ldr r3, =gSprites - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - mov r12, r6 - adds r4, r3, 0 - adds r4, 0x1C - movs r7, 0x1 -_08191E5E: - cmp r6, 0x1 - bgt _08191ECC - mov r2, r10 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191F10 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_81908CC - str r1, [r0] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r5, 0xC] - eors r0, r7 - strh r0, [r1, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - mov r1, r12 - strh r1, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r1, [r0, 0x34] - b _08191F10 - .pool -_08191ECC: - mov r2, r10 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191F10 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_8190AC4 - str r1, [r0] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r5, 0xC] - eors r0, r7 - strh r0, [r1, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - mov r1, r12 - strh r1, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] -_08191F10: - adds r6, 0x1 - cmp r6, 0x7 - ble _08191E5E - movs r6, 0x8 - ldr r2, =gUnknown_0203CD78 - mov r12, r2 - ldr r3, =gSprites - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r5, r0, r1 - movs r4, 0 - adds r7, r3, 0 - adds r7, 0x1C -_08191F2E: - cmp r6, 0x9 - bgt _08191F94 - mov r1, r12 - ldr r0, [r1] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191FD4 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, =sub_81908CC - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r5, 0xC] - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r1, [r0, 0x34] - b _08191FD4 - .pool -_08191F94: - mov r2, r12 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191FD4 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, =sub_8190AC4 - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r5, 0xC] - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] -_08191FD4: - adds r6, 0x1 - cmp r6, 0xF - ble _08191F2E -_08191FDA: - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r3, =gTasks - adds r0, r3 - movs r2, 0 - movs r1, 0x7 -_08191FE8: - strh r1, [r0, 0x8] - strh r2, [r0, 0x12] - b _08192202 - .pool -_08191FF8: - mov r4, r8 - lsls r0, r4, 2 - add r0, r8 - lsls r0, 3 - ldr r5, =gTasks - adds r1, r0, r5 - ldrh r0, [r1, 0x12] - adds r0, 0x1 - strh r0, [r1, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x29 - beq _08192100 - ldr r1, =gBattle_BG0_Y - ldrh r0, [r1] - subs r0, 0x4 - strh r0, [r1] - ldr r1, =gBattle_BG1_Y - ldrh r0, [r1] - subs r0, 0x4 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - b _081920A4 - .pool -_08192038: - mov r6, r8 - lsls r0, r6, 2 - add r0, r8 - lsls r0, 3 - ldr r2, =gTasks - adds r1, r0, r2 - ldrh r0, [r1, 0x12] - adds r0, 0x1 - strh r0, [r1, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x29 - beq _08192100 - ldr r1, =gBattle_BG0_Y - ldrh r0, [r1] - adds r0, 0x4 - strh r0, [r1] - ldr r1, =gBattle_BG1_Y - ldrh r0, [r1] - adds r0, 0x4 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - b _081920E8 - .pool -_08192078: - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - ldr r4, =gTasks - adds r1, r0, r4 - ldrh r0, [r1, 0x12] - adds r0, 0x1 - strh r0, [r1, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x41 - beq _08192100 - ldr r1, =gBattle_BG0_X - ldrh r0, [r1] - subs r0, 0x4 - strh r0, [r1] - ldr r1, =gBattle_BG1_X - ldrh r0, [r1] - subs r0, 0x4 - strh r0, [r1] - ldr r1, =gBattle_BG2_X -_081920A4: - ldrh r0, [r1] - subs r0, 0x4 - strh r0, [r1] - b _08192202 - .pool -_081920BC: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - ldr r6, =gTasks - adds r1, r0, r6 - ldrh r0, [r1, 0x12] - adds r0, 0x1 - strh r0, [r1, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x41 - beq _08192100 - ldr r1, =gBattle_BG0_X - ldrh r0, [r1] - adds r0, 0x4 - strh r0, [r1] - ldr r1, =gBattle_BG1_X - ldrh r0, [r1] - adds r0, 0x4 - strh r0, [r1] - ldr r1, =gBattle_BG2_X -_081920E8: - ldrh r0, [r1] - adds r0, 0x4 - strh r0, [r1] - b _08192202 - .pool -_08192100: - movs r0, 0x2 - strh r0, [r1, 0x8] - b _08192202 -_08192106: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08192202 - movs r6, 0 - ldr r4, =gUnknown_0203CD78 -_08192116: - cmp r6, 0x1 - bgt _08192134 - ldr r0, [r4] - adds r1, r0, r6 - ldrb r0, [r1] - cmp r0, 0xFF - beq _0819214E - bl sub_818D8F0 - b _0819214E - .pool -_08192134: - ldr r0, [r4] - adds r1, r0, r6 - ldrb r0, [r1] - cmp r0, 0xFF - beq _0819214E - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl sub_80D2EF8 -_0819214E: - adds r6, 0x1 - cmp r6, 0x7 - ble _08192116 - movs r6, 0x8 - ldr r4, =gUnknown_0203CD78 -_08192158: - cmp r6, 0x9 - bgt _08192174 - ldr r0, [r4] - adds r1, r0, r6 - ldrb r0, [r1] - cmp r0, 0xFF - beq _0819218E - bl sub_818D8F0 - b _0819218E - .pool -_08192174: - ldr r0, [r4] - adds r1, r0, r6 - ldrb r0, [r1] - cmp r0, 0xFF - beq _0819218E - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl sub_80D2EF8 -_0819218E: - adds r6, 0x1 - cmp r6, 0xF - ble _08192158 - bl FreeMonIconPalettes - ldr r4, =gUnknown_0203CD78 - ldr r0, [r4] - bl Free - movs r5, 0 - str r5, [r4] - bl FreeAllWindowBuffers - mov r0, r9 - cmp r0, 0 - bne _081921C4 - ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl SetMainCallback2 - b _081921FC - .pool -_081921C4: - ldr r0, =sub_8194220 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r6, r0, 24 - ldr r2, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0x8] - strh r5, [r1, 0xA] - movs r0, 0x3 - strh r0, [r1, 0xC] - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r2 - ldrh r0, [r0, 0x10] - strh r0, [r1, 0xE] - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r2 - ldrh r0, [r0, 0x14] - strh r0, [r1, 0x10] -_081921FC: - mov r0, r8 - bl DestroyTask -_08192202: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8190CD4 - - thumb_func_start sub_819221C -sub_819221C: @ 819221C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r7, 0 - ldr r2, =gTasks - lsls r0, 2 - add r0, r9 - lsls r0, 3 - adds r0, r2 - mov r12, r0 - movs r1, 0x10 - ldrsh r6, [r0, r1] - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r2 - movs r3, 0xA - ldrsh r5, [r0, r3] - ldr r0, =gUnknown_0860D080 - adds r0, r5, r0 - ldrb r0, [r0] - mov r10, r0 - ldr r3, =gSaveBlock2Ptr - ldr r0, [r3] - ldr r1, =0x00000cb2 - adds r0, r1 - ldrh r0, [r0] - mov r8, r0 - ldr r1, =gMain - ldrh r4, [r1, 0x2E] - movs r0, 0x3 - ands r0, r4 - adds r2, r1, 0 - cmp r0, 0 - beq _0819226E - movs r7, 0x9 -_0819226E: - mov r3, r12 - movs r1, 0xE - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _0819227A - b _081924CC -_0819227A: - cmp r0, 0x1 - beq _08192280 - b _081923B0 -_08192280: - movs r0, 0x40 - ands r0, r4 - cmp r0, 0 - beq _081922BA - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - cmp r0, 0 - bne _081922BA - cmp r5, 0 - bne _081922B4 - movs r5, 0xF - b _081922B6 - .pool -_081922B4: - subs r5, 0x1 -_081922B6: - movs r7, 0x1 - b _08192360 -_081922BA: - ldrh r1, [r2, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081922E2 - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - cmp r0, 0 - bne _081922E2 - cmp r5, 0xF - bne _081922DC - movs r5, 0 - b _081922DE - .pool -_081922DC: - adds r5, 0x1 -_081922DE: - movs r7, 0x2 - b _08192360 -_081922E2: - ldrh r1, [r2, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08192304 - ldr r0, =gUnknown_0203CD78 - ldr r1, [r0] - ldrb r0, [r1, 0x10] - cmp r0, 0 - beq _08192304 - subs r0, 0x1 - strb r0, [r1, 0x10] - movs r7, 0x3 - b _08192360 - .pool -_08192304: - ldrh r1, [r2, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08192360 - ldr r2, =gSaveBlock2Ptr - ldr r0, [r2] - mov r3, r10 - lsls r1, r3, 2 - adds r0, r1 - ldr r2, =0x00000d25 - adds r0, r2 - ldrb r3, [r0] - lsls r0, r3, 29 - mov r12, r1 - cmp r0, 0 - bge _0819233C - ldr r0, =gUnknown_0203CD78 - ldr r2, [r0] - ldrb r4, [r2, 0x10] - subs r1, r4, 0x1 - lsls r0, r3, 27 - lsrs r0, 30 - cmp r1, r0 - bge _0819233C - adds r0, r4, 0x1 - strb r0, [r2, 0x10] - movs r7, 0x4 -_0819233C: - ldr r3, =gSaveBlock2Ptr - ldr r0, [r3] - add r0, r12 - ldr r1, =0x00000d25 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - blt _08192360 - ldr r0, =gUnknown_0203CD78 - ldr r3, [r0] - ldrb r1, [r3, 0x10] - subs r0, r1, 0x1 - cmp r0, r8 - bge _08192360 - adds r0, r1, 0x1 - strb r0, [r3, 0x10] - movs r7, 0x4 -_08192360: - cmp r7, 0x9 - beq _08192366 - b _081924A0 -_08192366: - ldr r0, =gUnknown_0203CD78 - ldr r3, [r0] - ldrb r0, [r3, 0x10] - cmp r0, 0 - beq _081923A0 - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - ldr r2, =gTasks - adds r1, r2 - ldr r2, =gUnknown_0860D1A0 - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r0, 1 - lsls r0, 2 - subs r0, 0x1 - ldrb r3, [r3, 0x10] - adds r0, r3 - b _08192482 - .pool -_081923A0: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r3, =gTasks - adds r0, r3 - b _0819249E - .pool -_081923B0: - movs r0, 0x40 - ands r0, r4 - cmp r0, 0 - beq _081923DE - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - cmp r0, 0x1 - bne _081923DE - cmp r5, 0x10 - bne _081923D8 - ldr r0, =gUnknown_0860D19C - add r0, r8 - ldrb r5, [r0] - b _081923DA - .pool -_081923D8: - subs r5, 0x1 -_081923DA: - movs r7, 0x5 - b _08192446 -_081923DE: - ldrh r1, [r2, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0819240E - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - cmp r0, 0x1 - bne _0819240E - ldr r0, =gUnknown_0860D19C - add r0, r8 - ldrb r0, [r0] - cmp r5, r0 - bne _08192408 - movs r5, 0x10 - b _0819240A - .pool -_08192408: - adds r5, 0x1 -_0819240A: - movs r7, 0x6 - b _08192446 -_0819240E: - ldrh r1, [r2, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0819242C - ldr r0, =gUnknown_0203CD78 - ldr r1, [r0] - ldrb r0, [r1, 0x10] - cmp r0, 0 - beq _0819242C - movs r7, 0x7 - subs r0, 0x1 - b _08192444 - .pool -_0819242C: - ldrh r1, [r2, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08192446 - ldr r0, =gUnknown_0203CD78 - ldr r1, [r0] - ldrb r0, [r1, 0x10] - cmp r0, 0x1 - bhi _08192446 - movs r7, 0x8 - adds r0, 0x1 -_08192444: - strb r0, [r1, 0x10] -_08192446: - cmp r7, 0x9 - bne _081924A0 - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r1, [r0, 0x10] - cmp r1, 0 - bne _08192470 - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - ldr r2, =gTasks - adds r1, r2 - ldr r2, =gUnknown_0860D1C0 - ldrb r0, [r0, 0x11] - b _08192482 - .pool -_08192470: - cmp r1, 0x2 - bne _08192494 - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - ldr r3, =gTasks - adds r1, r3 - ldr r2, =gUnknown_0860D1C0 - ldrb r0, [r0, 0x12] -_08192482: - adds r0, r2 - ldrb r0, [r0] - strh r0, [r1, 0xA] - b _081924A0 - .pool -_08192494: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks - adds r0, r1 -_0819249E: - strh r5, [r0, 0xA] -_081924A0: - cmp r7, 0 - beq _081924CC - cmp r7, 0x9 - beq _081924CC - movs r0, 0x5 - bl PlaySE - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0xA] - mov r2, r9 - lsls r0, r2, 2 - add r0, r9 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0xC] - movs r2, 0x1 - eors r1, r2 - strh r1, [r0, 0xC] -_081924CC: - adds r0, r7, 0 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_819221C - - thumb_func_start sub_81924E0 -sub_81924E0: @ 81924E0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x58 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x1C] - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x20] - movs r5, 0 - movs r0, 0 - str r0, [sp, 0x28] - movs r1, 0 - str r1, [sp, 0x2C] - movs r2, 0 - str r2, [sp, 0x30] - movs r4, 0 - movs r0, 0x24 - bl AllocZeroed - mov r8, r0 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r3, [sp, 0x20] - lsls r0, r3, 2 - adds r0, r1, r0 - ldr r2, =0x00000d24 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - str r0, [sp, 0x24] - movs r0, 0x1 - ldr r3, [sp, 0x1C] - ands r0, r3 - cmp r0, 0 - beq _08192538 - movs r5, 0x8 - movs r4, 0x9 - str r4, [sp, 0x28] - movs r4, 0x2 -_08192538: - movs r0, 0x2 - ldr r2, [sp, 0x1C] - ands r0, r2 - cmp r0, 0 - beq _08192548 - movs r3, 0x80 - lsls r3, 1 - str r3, [sp, 0x2C] -_08192548: - movs r0, 0x4 - ldr r2, [sp, 0x1C] - ands r0, r2 - cmp r0, 0 - beq _08192556 - movs r3, 0xA0 - str r3, [sp, 0x30] -_08192556: - movs r0, 0x8 - ldr r2, [sp, 0x1C] - ands r0, r2 - cmp r0, 0 - beq _08192564 - ldr r3, =0xffffff00 - str r3, [sp, 0x2C] -_08192564: - movs r0, 0x10 - ldr r2, [sp, 0x1C] - ands r0, r2 - cmp r0, 0 - beq _08192574 - movs r3, 0xA0 - negs r3, r3 - str r3, [sp, 0x30] -_08192574: - ldr r0, =0x000003ff - ldr r2, [sp, 0x24] - cmp r2, r0 - bne _08192598 - ldrb r0, [r1, 0x8] - bl PlayerGenderToFrontTrainerPicId - lsls r0, 16 - lsrs r0, 16 - b _081925B6 - .pool -_08192598: - ldr r0, =0x000003fe - ldr r3, [sp, 0x24] - cmp r3, r0 - bne _081925AC - bl sub_8195910 - b _081925B2 - .pool -_081925AC: - ldr r0, [sp, 0x24] - bl GetFrontierTrainerFrontSpriteId -_081925B2: - lsls r0, 24 - lsrs r0, 24 -_081925B6: - ldr r2, [sp, 0x2C] - adds r2, 0x30 - ldr r3, [sp, 0x30] - adds r3, 0x40 - adds r1, r4, 0 - adds r1, 0xC - str r1, [sp] - ldr r1, =0x0000ffff - str r1, [sp, 0x4] - movs r1, 0x1 - bl sub_818D8AC - ldr r1, =gUnknown_0203CD78 - ldr r1, [r1] - adds r1, r5 - strb r0, [r1] - movs r0, 0x1E - ldr r4, [sp, 0x1C] - ands r0, r4 - cmp r0, 0 - beq _081925FC - ldr r2, =gSprites - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_081925FC: - movs r7, 0 - ldr r0, [sp, 0x20] - lsls r0, 1 - str r0, [sp, 0x3C] - adds r1, r5, 0x2 - ldr r2, [sp, 0x28] - lsls r2, 24 - str r2, [sp, 0x44] - ldr r3, [sp, 0x28] - adds r3, 0x4 - str r3, [sp, 0x40] - ldr r4, [sp, 0x20] - adds r0, r4 - ldr r6, =gUnknown_0203CD78 - ldr r2, =gSprites - mov r10, r2 - adds r4, r1, 0 - lsls r5, r0, 1 - movs r3, 0 - mov r9, r3 -_08192624: - ldr r0, =0x000003ff - ldr r1, [sp, 0x24] - cmp r1, r0 - bne _08192660 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000d64 - adds r0, r2 - adds r0, r5 - ldrh r0, [r0] - ldr r1, =gUnknown_0860D340 - adds r1, r7, r1 - ldrb r2, [r1] - ldr r3, [sp, 0x2C] - orrs r2, r3 - b _081926B0 - .pool -_08192660: - ldr r0, =0x000003fe - ldr r3, [sp, 0x24] - cmp r3, r0 - bne _08192690 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000d64 - adds r0, r1 - adds r0, r5 - ldrh r0, [r0] - ldr r1, =gUnknown_0860D340 - adds r1, r7, r1 - ldrb r2, [r1] - ldr r3, [sp, 0x2C] - orrs r2, r3 - b _081926B0 - .pool -_08192690: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r3, =0x00000d64 - adds r0, r3 - adds r0, r5 - ldrh r1, [r0] - ldr r0, =gUnknown_0203BC8C - ldr r0, [r0] - lsls r1, 4 - adds r1, r0 - ldrh r0, [r1] - ldr r1, =gUnknown_0860D340 - adds r1, r7, r1 - ldrb r2, [r1] - ldr r1, [sp, 0x2C] - orrs r2, r1 -_081926B0: - ldr r1, =gUnknown_0860D343 - adds r1, r7, r1 - ldrb r3, [r1] - ldr r1, [sp, 0x30] - adds r3, r1 - mov r1, r9 - str r1, [sp] - str r1, [sp, 0x4] - movs r1, 0x1 - str r1, [sp, 0x8] - ldr r1, =sub_8190938 - bl CreateMonIcon - ldr r1, [r6] - adds r1, r4 - strb r0, [r1] - ldr r0, [r6] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r10 - ldrb r1, [r0, 0x5] - movs r2, 0xD - negs r2, r2 - ands r1, r2 - strb r1, [r0, 0x5] - movs r0, 0x1E - ldr r3, [sp, 0x1C] - ands r0, r3 - cmp r0, 0 - beq _0819270A - ldr r0, [r6] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r10 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_0819270A: - adds r4, 0x1 - adds r5, 0x2 - adds r7, 0x1 - cmp r7, 0x2 - ble _08192624 - add r0, sp, 0xC - movs r2, 0 - movs r3, 0x2 - strb r3, [r0, 0x5] - strb r2, [r0, 0x6] - strb r2, [r0, 0x7] - adds r1, r0, 0 - adds r0, r2, 0 - strb r0, [r1, 0x8] - adds r0, r1, 0 - ldrb r0, [r0, 0x7] - strb r0, [r1, 0x9] - adds r0, r1, 0 - strb r3, [r0, 0xA] - strb r2, [r0, 0xB] - adds r3, r0, 0 - ldrb r2, [r3, 0xC] - movs r1, 0x10 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3, 0xC] - adds r2, r3, 0 - movs r0, 0xE0 - strb r0, [r2, 0xC] - ldrb r0, [r2, 0xD] - ands r1, r0 - strb r1, [r2, 0xD] - adds r1, r2, 0 - movs r0, 0xD0 - strb r0, [r1, 0xD] - movs r7, 0 - ldr r0, =0x000003ff - ldr r4, [sp, 0x24] - cmp r4, r0 - bne _08192784 - ldr r0, =gFacilityClassToTrainerClass - adds r0, 0x3C - ldrb r5, [r0] - b _081927A2 - .pool -_08192784: - ldr r0, =0x000003fe - ldr r1, [sp, 0x24] - cmp r1, r0 - bne _08192798 - bl sub_8195924 - b _0819279E - .pool -_08192798: - ldr r0, [sp, 0x24] - bl GetFrontierOpponentClass -_0819279E: - lsls r0, 24 - lsrs r5, r0, 24 -_081927A2: - ldr r2, =gTrainerClassNames - movs r0, 0xD - adds r1, r5, 0 - muls r1, r0 - adds r0, r7, r1 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0xFF - beq _081927CA - ldr r3, =gStringVar1 - adds r0, r1, r2 - adds r2, r7, r0 -_081927BA: - adds r0, r7, r3 - ldrb r1, [r2] - strb r1, [r0] - adds r2, 0x1 - adds r7, 0x1 - ldrb r0, [r2] - cmp r0, 0xFF - bne _081927BA -_081927CA: - ldr r5, =gStringVar1 - adds r1, r7, r5 - movs r0, 0 - strb r0, [r1] - adds r0, r7, 0x1 - adds r0, r5 - movs r1, 0xFF - strb r1, [r0] - ldr r0, =0x000003ff - ldr r2, [sp, 0x24] - cmp r2, r0 - bne _08192800 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r0, r5, 0 - bl StringAppend - b _08192836 - .pool -_08192800: - ldr r0, =0x000003fe - ldr r3, [sp, 0x24] - cmp r3, r0 - bne _08192824 - ldr r4, =gStringVar2 - adds r0, r4, 0 - bl sub_8195938 - adds r0, r5, 0 - adds r1, r4, 0 - bl StringAppend - b _08192836 - .pool -_08192824: - ldr r4, =gStringVar2 - ldr r1, [sp, 0x24] - adds r0, r4, 0 - bl sub_8195898 - adds r0, r5, 0 - adds r1, r4, 0 - bl StringAppend -_08192836: - add r0, sp, 0xC - ldrb r0, [r0, 0x5] - ldr r4, =gStringVar1 - add r1, sp, 0xC - ldrb r3, [r1, 0xA] - adds r1, r4, 0 - movs r2, 0xD0 - bl GetStringCenterAlignXOffsetWithLetterSpacing - add r1, sp, 0xC - movs r5, 0 - strb r0, [r1, 0x8] - str r4, [sp, 0xC] - adds r0, r1, 0 - add r4, sp, 0x28 - ldrb r4, [r4] - strb r4, [r0, 0x4] - ldr r0, [sp, 0x44] - lsrs r4, r0, 24 - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - add r0, sp, 0xC - movs r1, 0 - movs r2, 0 - bl AddTextPrinter - add r0, sp, 0xC - strb r5, [r0, 0xA] - movs r7, 0 - adds r6, r0, 0 - ldr r1, [sp, 0x3C] - ldr r2, [sp, 0x20] - adds r0, r1, r2 - lsls r0, 1 - mov r9, r0 - movs r3, 0xB - mov r10, r3 -_0819288A: - ldr r0, =gUnknown_0860D346 - adds r0, r7, r0 - ldrb r0, [r0] - strb r0, [r6, 0x9] - ldr r0, =0x000003ff - ldr r4, [sp, 0x24] - cmp r4, r0 - bne _081928C0 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - lsls r0, r7, 1 - add r0, r9 - ldr r2, =0x00000d64 - adds r1, r2 - b _081928FA - .pool -_081928C0: - ldr r0, =0x000003fe - ldr r4, [sp, 0x24] - cmp r4, r0 - bne _081928E4 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - lsls r0, r7, 1 - add r0, r9 - ldr r2, =0x00000d64 - adds r1, r2 - b _081928FA - .pool -_081928E4: - ldr r4, =gSaveBlock2Ptr - ldr r1, [r4] - lsls r0, r7, 1 - add r0, r9 - ldr r2, =0x00000d64 - adds r1, r2 - adds r1, r0 - ldrh r1, [r1] - ldr r0, =gUnknown_0203BC8C - ldr r0, [r0] - lsls r1, 4 -_081928FA: - adds r1, r0 - ldrh r0, [r1] - mov r3, r10 - muls r3, r0 - adds r0, r3, 0 - ldr r1, =gSpeciesNames - adds r0, r1 - str r0, [sp, 0xC] - adds r0, r7, 0x1 - ldr r4, [sp, 0x28] - adds r0, r4 - movs r1, 0 - strb r0, [r6, 0x4] - cmp r7, 0x1 - bne _08192930 - movs r0, 0x7 - strb r0, [r6, 0x8] - b _08192932 - .pool -_08192930: - strb r1, [r6, 0x8] -_08192932: - adds r5, r7, 0x1 - ldr r0, [sp, 0x28] - adds r4, r5, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - add r0, sp, 0xC - movs r1, 0 - movs r2, 0 - bl AddTextPrinter - adds r7, r5, 0 - cmp r7, 0x2 - ble _0819288A - ldr r4, [sp, 0x40] - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =0x000003fe - ldr r1, [sp, 0x24] - cmp r1, r0 - bne _08192980 - ldr r0, =gBattleDomePotentialPointers - ldr r0, [r0, 0x40] - b _0819298A - .pool -_08192980: - ldr r0, =gBattleDomePotentialPointers - ldr r2, [sp, 0x20] - lsls r1, r2, 2 - adds r1, r0 - ldr r0, [r1] -_0819298A: - str r0, [sp, 0xC] - add r1, sp, 0xC - movs r2, 0 - movs r0, 0x1 - strb r0, [r1, 0x5] - adds r0, r1, 0 - add r3, sp, 0x40 - ldrb r3, [r3] - strb r3, [r0, 0x4] - strb r2, [r0, 0x8] - movs r1, 0x4 - strb r1, [r0, 0x7] - strb r1, [r0, 0x9] - movs r1, 0 - bl AddTextPrinter - movs r7, 0 - ldr r3, =gUnknown_0860B358 -_081929AE: - movs r5, 0 - adds r4, r7, 0x1 - str r4, [sp, 0x38] - lsls r0, r7, 1 - str r0, [sp, 0x34] - lsls r2, r7, 4 -_081929BA: - movs r6, 0 - lsls r1, r5, 1 - mov r10, r1 - mov r4, r8 - mov r9, r2 -_081929C4: - ldr r0, =0x000003fe - ldr r1, [sp, 0x24] - cmp r1, r0 - bne _08192A00 - lsls r0, r7, 24 - lsls r1, r5, 24 - lsrs r0, 24 - lsrs r1, 24 - str r2, [sp, 0x48] - str r3, [sp, 0x4C] - bl sub_81A5060 - lsls r0, 16 - lsrs r0, 12 - adds r0, r6, r0 - ldr r3, [sp, 0x4C] - adds r0, r3 - ldrh r1, [r4] - ldrb r0, [r0] - adds r1, r0 - strh r1, [r4] - ldr r2, [sp, 0x48] - b _08192A58 - .pool -_08192A00: - ldr r0, =0x000003ff - ldr r1, [sp, 0x24] - cmp r1, r0 - bne _08192A20 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000efc - adds r0, r1 - add r0, r9 - b _08192A48 - .pool -_08192A20: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - mov r12, r0 - ldr r0, [sp, 0x3C] - ldr r1, [sp, 0x20] - adds r0, r1 - str r0, [sp, 0x50] - lsls r0, 1 - ldr r1, [sp, 0x34] - adds r0, r1, r0 - ldr r1, =0x00000d64 - add r1, r12 - adds r1, r0 - ldrh r0, [r1] - ldr r1, =gUnknown_0203BC8C - ldr r1, [r1] - lsls r0, 4 - adds r0, r1 - adds r0, 0x2 - add r0, r10 -_08192A48: - ldrh r0, [r0] - lsls r0, 4 - adds r0, r6, r0 - adds r0, r3 - ldrh r1, [r4] - ldrb r0, [r0] - adds r1, r0 - strh r1, [r4] -_08192A58: - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0xF - ble _081929C4 - adds r2, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _081929BA - ldr r7, [sp, 0x38] - cmp r7, 0x2 - ble _081929AE - movs r7, 0 - ldr r2, =gBattleDomeOpponentStylePointers - mov r9, r2 - ldr r3, =gUnknown_0860C988 - mov r10, r3 -_08192A78: - movs r4, 0 - movs r6, 0 - movs r5, 0 - mov r3, r8 - lsls r0, r7, 4 - mov r1, r10 - adds r2, r0, r1 -_08192A86: - ldrb r0, [r2] - cmp r0, 0 - beq _08192A9E - adds r4, 0x1 - movs r1, 0 - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _08192A9E - ldrb r1, [r2] - cmp r0, r1 - blt _08192A9E - adds r6, 0x1 -_08192A9E: - adds r3, 0x2 - adds r2, 0x1 - adds r5, 0x1 - cmp r5, 0xF - ble _08192A86 - cmp r4, r6 - beq _08192AB2 - adds r7, 0x1 - cmp r7, 0x1E - bls _08192A78 -_08192AB2: - lsls r0, r7, 2 - add r0, r9 - ldr r0, [r0] - str r0, [sp, 0xC] - add r0, sp, 0xC - movs r1, 0x14 - strb r1, [r0, 0x7] - strb r1, [r0, 0x9] - movs r1, 0 - movs r2, 0 - bl AddTextPrinter - movs r1, 0 - mov r0, r8 - adds r0, 0x22 -_08192AD0: - strh r1, [r0] - subs r0, 0x2 - cmp r0, r8 - bge _08192AD0 - ldr r2, [sp, 0x24] - ldr r3, =0xfffffc02 - adds r0, r2, r3 - cmp r0, 0x1 - bls _08192AE4 - b _08192C24 -_08192AE4: - movs r7, 0 - movs r4, 0 - mov r9, r4 -_08192AEA: - movs r5, 0 - mov r4, r8 - mov r6, r9 -_08192AF0: - ldr r0, =0x000003fe - ldr r1, [sp, 0x24] - cmp r1, r0 - bne _08192B24 - lsls r1, r5, 24 - lsrs r1, 24 - lsrs r0, r6, 24 - bl sub_81A50F0 - lsls r0, 24 - lsrs r0, 24 - b _08192B34 - .pool -_08192B24: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - lsls r1, r7, 4 - adds r1, r5, r1 - ldr r2, =0x00000f04 - adds r0, r2 - adds r0, r1 - ldrb r0, [r0] -_08192B34: - strh r0, [r4] - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x5 - ble _08192AF0 - mov r3, r8 - ldrh r0, [r3] - ldrh r4, [r3, 0xC] - adds r0, r4 - strh r0, [r3, 0xC] - movs r5, 0 - mov r4, r8 -_08192B4C: - ldr r0, =0x000003fe - ldr r1, [sp, 0x24] - cmp r1, r0 - bne _08192B70 - mov r2, r9 - lsrs r0, r2, 24 - bl sub_81A50B0 - lsls r0, 24 - lsrs r2, r0, 24 - b _08192B7E - .pool -_08192B70: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - lsls r1, r7, 4 - adds r0, r1 - ldr r3, =0x00000f0a - adds r0, r3 - ldrb r2, [r0] -_08192B7E: - ldr r1, =gNatureStatTable - lsls r0, r2, 2 - adds r0, r2 - adds r0, r5, r0 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - ble _08192BB4 - movs r0, 0x2 - ldrsh r1, [r4, r0] - movs r0, 0x6E - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - ldrh r1, [r4, 0xE] - adds r1, r0 - strh r1, [r4, 0xE] - b _08192BDC - .pool -_08192BB4: - cmp r0, 0 - bge _08192BD4 - movs r2, 0x2 - ldrsh r1, [r4, r2] - movs r0, 0x5A - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - ldrh r1, [r4, 0xE] - adds r1, r0 - strh r1, [r4, 0xE] - ldrh r0, [r4, 0x1A] - adds r0, 0x1 - strh r0, [r4, 0x1A] - b _08192BDC -_08192BD4: - ldrh r0, [r4, 0x2] - ldrh r3, [r4, 0xE] - adds r0, r3 - strh r0, [r4, 0xE] -_08192BDC: - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x4 - ble _08192B4C - movs r4, 0x80 - lsls r4, 17 - add r9, r4 - adds r7, 0x1 - cmp r7, 0x2 - bgt _08192BF2 - b _08192AEA -_08192BF2: - movs r5, 0 - mov r1, r8 - movs r7, 0x5 -_08192BF8: - movs r2, 0xC - ldrsh r0, [r1, r2] - adds r5, r0 - adds r1, 0x2 - subs r7, 0x1 - cmp r7, 0 - bge _08192BF8 - movs r6, 0x64 - mov r4, r8 - movs r7, 0x5 -_08192C0C: - movs r3, 0xC - ldrsh r0, [r4, r3] - muls r0, r6 - adds r1, r5, 0 - bl __divsi3 - strh r0, [r4] - adds r4, 0x2 - subs r7, 0x1 - cmp r7, 0 - bge _08192C0C - b _08192D70 -_08192C24: - ldr r4, =gUnknown_0203BC8C - mov r10, r4 - ldr r1, [sp, 0x3C] - ldr r2, [sp, 0x20] - adds r0, r1, r2 - lsls r0, 1 - mov r9, r0 - movs r7, 0x2 -_08192C34: - ldr r3, =gSaveBlock2Ptr - ldr r0, [r3] - ldr r4, =0x00000d64 - adds r0, r4 - add r0, r9 - ldrh r0, [r0] - mov r2, r10 - ldr r1, [r2] - lsls r0, 4 - adds r0, r1 - ldrb r2, [r0, 0xB] - movs r6, 0 - movs r4, 0 - movs r3, 0x1 - mov r1, r8 - movs r5, 0x5 -_08192C54: - strh r4, [r1] - adds r0, r2, 0 - ands r0, r3 - cmp r0, 0 - beq _08192C60 - adds r6, 0x1 -_08192C60: - asrs r2, 1 - adds r1, 0x2 - subs r5, 0x1 - cmp r5, 0 - bge _08192C54 - movs r0, 0xFF - lsls r0, 1 - adds r1, r6, 0 - bl __divsi3 - adds r6, r0, 0 - ldr r3, =gSaveBlock2Ptr - ldr r0, [r3] - ldr r4, =0x00000d64 - adds r0, r4 - add r0, r9 - ldrh r0, [r0] - mov r2, r10 - ldr r1, [r2] - lsls r0, 4 - adds r0, r1 - ldrb r2, [r0, 0xB] - movs r3, 0x1 - mov r1, r8 - movs r5, 0x5 -_08192C92: - adds r0, r2, 0 - ands r0, r3 - cmp r0, 0 - beq _08192C9C - strh r6, [r1] -_08192C9C: - asrs r2, 1 - adds r1, 0x2 - subs r5, 0x1 - cmp r5, 0 - bge _08192C92 - mov r3, r8 - ldrh r0, [r3] - ldrh r4, [r3, 0xC] - adds r0, r4 - strh r0, [r3, 0xC] - movs r5, 0 - mov r4, r8 -_08192CB4: - ldr r1, =gSaveBlock2Ptr - ldr r0, [r1] - ldr r2, =0x00000d64 - adds r0, r2 - add r0, r9 - ldrh r0, [r0] - mov r3, r10 - ldr r1, [r3] - lsls r0, 4 - adds r0, r1 - ldrb r2, [r0, 0xC] - lsls r0, r2, 2 - adds r0, r2 - adds r0, r5, r0 - ldr r1, =gNatureStatTable - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - ble _08192D04 - movs r2, 0x2 - ldrsh r1, [r4, r2] - movs r0, 0x6E - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - ldrh r1, [r4, 0xE] - adds r1, r0 - strh r1, [r4, 0xE] - b _08192D2C - .pool -_08192D04: - cmp r0, 0 - bge _08192D24 - movs r3, 0x2 - ldrsh r1, [r4, r3] - movs r0, 0x5A - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - ldrh r1, [r4, 0xE] - adds r1, r0 - strh r1, [r4, 0xE] - ldrh r0, [r4, 0x1A] - adds r0, 0x1 - strh r0, [r4, 0x1A] - b _08192D2C -_08192D24: - ldrh r0, [r4, 0x2] - ldrh r1, [r4, 0xE] - adds r0, r1 - strh r0, [r4, 0xE] -_08192D2C: - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x4 - ble _08192CB4 - movs r2, 0x2 - add r9, r2 - subs r7, 0x1 - cmp r7, 0 - blt _08192D40 - b _08192C34 -_08192D40: - movs r5, 0 - mov r1, r8 - movs r7, 0x5 -_08192D46: - movs r3, 0xC - ldrsh r0, [r1, r3] - adds r5, r0 - adds r1, 0x2 - subs r7, 0x1 - cmp r7, 0 - bge _08192D46 - movs r6, 0x64 - mov r4, r8 - movs r7, 0x5 -_08192D5A: - movs r1, 0xC - ldrsh r0, [r4, r1] - muls r0, r6 - adds r1, r5, 0 - bl __divsi3 - strh r0, [r4] - adds r4, 0x2 - subs r7, 0x1 - cmp r7, 0 - bge _08192D5A -_08192D70: - movs r7, 0 - movs r5, 0 - movs r6, 0 - mov r4, r8 - mov r10, r8 - mov r9, r8 -_08192D7C: - movs r2, 0 - ldrsh r1, [r4, r2] - cmp r1, 0x1D - ble _08192DDE - cmp r7, 0x2 - bne _08192DD4 - mov r3, r8 - movs r0, 0xC - ldrsh r3, [r3, r0] - mov r12, r3 - cmp r12, r1 - bge _08192DC6 - mov r2, r8 - ldrh r2, [r2, 0xE] - add r3, sp, 0x54 - strh r2, [r3] - mov r2, r8 - movs r3, 0xE - ldrsh r0, [r2, r3] - cmp r0, r1 - bge _08192DBA - cmp r12, r0 - bge _08192DB4 - add r0, sp, 0x54 - ldrh r0, [r0] - strh r0, [r2, 0xC] - strh r6, [r2, 0xE] - b _08192DDE -_08192DB4: - mov r1, r8 - strh r6, [r1, 0xE] - b _08192DDE -_08192DBA: - add r2, sp, 0x54 - ldrh r3, [r2] - mov r2, r8 - strh r3, [r2, 0xC] - strh r6, [r2, 0xE] - b _08192DDE -_08192DC6: - mov r3, r8 - movs r2, 0xE - ldrsh r0, [r3, r2] - cmp r0, r1 - bge _08192DDE - strh r6, [r3, 0xE] - b _08192DDE -_08192DD4: - mov r3, r9 - strh r6, [r3, 0xC] - movs r0, 0x2 - add r9, r0 - adds r7, 0x1 -_08192DDE: - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08192E64 - cmp r5, 0x2 - bne _08192E5A - movs r2, 0x18 - ldrsh r0, [r4, r2] - cmp r0, 0x1 - bgt _08192E18 - cmp r0, 0x1 - bne _08192E64 - mov r3, r8 - movs r1, 0x10 - ldrsh r0, [r3, r1] - lsls r0, 1 - add r0, r8 - movs r2, 0x18 - ldrsh r0, [r0, r2] - cmp r0, 0 - bne _08192E22 - movs r1, 0x12 - ldrsh r0, [r3, r1] - lsls r0, 1 - add r0, r8 - movs r2, 0x18 - ldrsh r0, [r0, r2] - cmp r0, 0 - bne _08192E22 -_08192E18: - mov r3, r8 - ldrh r0, [r3, 0x12] - strh r0, [r3, 0x10] - strh r6, [r3, 0x12] - b _08192E64 -_08192E22: - movs r1, 0x18 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _08192E64 - mov r2, r8 - movs r3, 0x10 - ldrsh r0, [r2, r3] - lsls r0, 1 - add r0, r8 - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08192E44 - ldrh r0, [r2, 0x12] - strh r0, [r2, 0x10] - strh r6, [r2, 0x12] - b _08192E64 -_08192E44: - mov r2, r8 - movs r3, 0x12 - ldrsh r0, [r2, r3] - lsls r0, 1 - add r0, r8 - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08192E64 - strh r6, [r2, 0x12] - b _08192E64 -_08192E5A: - mov r2, r10 - strh r6, [r2, 0x10] - movs r3, 0x2 - add r10, r3 - adds r5, 0x1 -_08192E64: - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x5 - ble _08192D7C - cmp r7, 0x2 - bne _08192E8C - ldr r0, =gUnknown_0860D349 - mov r4, r8 - movs r1, 0xC - ldrsh r2, [r4, r1] - adds r0, r2, r0 - movs r3, 0xE - ldrsh r1, [r4, r3] - subs r1, 0x1 - subs r1, r2 - ldrb r0, [r0] - adds r7, r1, r0 - b _08192ED2 - .pool -_08192E8C: - cmp r7, 0x1 - bne _08192E9C - mov r4, r8 - movs r1, 0xC - ldrsh r0, [r4, r1] - adds r7, r0, 0 - adds r7, 0xF - b _08192ED2 -_08192E9C: - cmp r5, 0x2 - bne _08192EC0 - ldr r0, =gUnknown_0860D349 - mov r3, r8 - movs r4, 0x10 - ldrsh r2, [r3, r4] - adds r0, r2, r0 - movs r4, 0x12 - ldrsh r1, [r3, r4] - subs r1, 0x1 - subs r1, r2 - ldrb r0, [r0] - adds r1, r0 - adds r7, r1, 0 - adds r7, 0x15 - b _08192ED2 - .pool -_08192EC0: - cmp r5, 0x1 - bne _08192ED0 - mov r1, r8 - movs r2, 0x10 - ldrsh r0, [r1, r2] - adds r7, r0, 0 - adds r7, 0x24 - b _08192ED2 -_08192ED0: - movs r7, 0x2A -_08192ED2: - lsls r0, r7, 2 - ldr r3, =gBattleDomeOpponentStatsPointers - adds r0, r3 - ldr r0, [r0] - str r0, [sp, 0xC] - add r0, sp, 0xC - movs r1, 0x24 - strb r1, [r0, 0x7] - strb r1, [r0, 0x9] - movs r1, 0 - movs r2, 0 - bl AddTextPrinter - mov r0, r8 - bl Free - add sp, 0x58 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81924E0 - - thumb_func_start sub_8192F08 -sub_8192F08: @ 8192F08 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - str r1, [sp] - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0 - str r0, [sp, 0x4] - mov r8, r0 - ldr r2, =gUnknown_0860D3C4 - lsls r0, r7, 1 - adds r0, r7 - adds r1, r0, r2 - ldrb r6, [r1] - adds r1, r2, 0x1 - adds r0, r1 - ldrb r0, [r0] - adds r0, r6, r0 - adds r3, r2, 0 - cmp r6, r0 - bge _08192FD4 - ldr r5, =gSaveBlock2Ptr - ldr r1, =0x000003ff - mov r10, r1 - ldr r2, =0x000003fe - mov r9, r2 -_08192F42: - ldr r0, =gUnknown_0860D3B4 - adds r0, r6, r0 - ldrb r4, [r0] - ldr r0, [r5] - lsls r1, r4, 2 - adds r0, r1 - ldr r2, =0x00000d25 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - blt _08192FBE - ldr r0, [sp] - add r0, r8 - strb r4, [r0] - ldr r2, [r5] - adds r0, r2, r1 - ldr r1, =0x00000d24 - adds r0, r1 - ldrh r0, [r0] - lsls r1, r0, 22 - lsrs r0, r1, 22 - cmp r0, r10 - bne _08192F9C - ldr r0, =gStringVar1 - adds r1, r2, 0 - bl StringCopy - b _08192FB8 - .pool -_08192F9C: - lsrs r0, r1, 22 - cmp r0, r9 - bne _08192FB0 - ldr r0, =gStringVar1 - bl sub_8195938 - b _08192FB8 - .pool -_08192FB0: - lsrs r1, 22 - ldr r0, =gStringVar1 - bl sub_8195898 -_08192FB8: - movs r2, 0x1 - add r8, r2 - ldr r3, =gUnknown_0860D3C4 -_08192FBE: - adds r6, 0x1 - lsls r1, r7, 1 - adds r1, r7 - adds r0, r1, r3 - ldrb r2, [r0] - adds r0, r3, 0x1 - adds r1, r0 - ldrb r0, [r1] - adds r2, r0 - cmp r6, r2 - blt _08192F42 -_08192FD4: - mov r5, r8 - cmp r5, 0x2 - bne _08192FE8 - movs r0, 0 - b _0819313C - .pool -_08192FE8: - mov r12, r3 - lsls r3, r7, 1 - adds r0, r3, r7 - mov r2, r12 - adds r1, r0, r2 - ldrb r6, [r1] - mov r1, r12 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - adds r0, r6, r0 - str r3, [sp, 0x8] - cmp r6, r0 - blt _08193006 - b _08193126 -_08193006: - ldr r5, =gSaveBlock2Ptr - mov r10, r5 - ldr r0, =0x00000d25 - mov r9, r0 -_0819300E: - ldr r0, =gUnknown_0860D3B4 - adds r0, r6, r0 - ldrb r4, [r0] - mov r1, r10 - ldr r0, [r1] - lsls r2, r4, 2 - str r2, [sp, 0xC] - adds r0, r2 - add r0, r9 - ldrb r2, [r0] - lsls r0, r2, 29 - cmp r0, 0 - bge _08193100 - lsls r2, 27 - adds r1, r3, r7 - mov r0, r12 - adds r0, 0x2 - adds r1, r0 - lsrs r2, 30 - ldrb r1, [r1] - cmp r2, r1 - bcc _08193100 - ldr r0, [sp] - add r0, r8 - strb r4, [r0] - movs r5, 0x1 - add r8, r5 - mov r0, r10 - ldr r3, [r0] - ldr r5, [sp, 0xC] - adds r2, r3, r5 - adds r0, r2, 0 - add r0, r9 - ldrb r5, [r0] - mov r12, r5 - mov r0, r12 - lsls r0, 27 - lsrs r0, 30 - cmp r0, r1 - bne _081930BC - lsls r4, 1 - movs r1, 0xEC - lsls r1, 4 - adds r0, r3, r1 - adds r0, r4 - ldrh r1, [r0] - movs r0, 0xD - muls r1, r0 - ldr r0, =gMoveNames - adds r1, r0 - ldr r0, =gStringVar2 - bl StringCopy - mov r2, r10 - ldr r1, [r2] - ldr r5, [sp, 0xC] - adds r0, r1, r5 - add r0, r9 - ldrb r0, [r0] - lsls r2, r0, 24 - lsrs r0, r2, 29 - lsls r0, 1 - str r0, [sp, 0x4] - movs r0, 0xEC - lsls r0, 4 - adds r1, r0 - adds r1, r4 - ldrh r0, [r1] - cmp r0, 0 - bne _08193100 - lsrs r0, r2, 29 - cmp r0, 0 - bne _08193100 - movs r1, 0x4 - str r1, [sp, 0x4] - b _08193100 - .pool -_081930BC: - ldr r5, =0x00000d24 - adds r0, r2, r5 - ldrh r0, [r0] - lsls r1, r0, 22 - ldr r0, =0xffc00000 - cmp r1, r0 - bne _081930E0 - ldr r0, =gStringVar1 - adds r1, r3, 0 - bl StringCopy - b _08193100 - .pool -_081930E0: - ldr r0, =0xff800000 - cmp r1, r0 - bne _081930F8 - ldr r0, =gStringVar1 - bl sub_8195938 - b _08193100 - .pool -_081930F8: - lsrs r1, 22 - ldr r0, =gStringVar1 - bl sub_8195898 -_08193100: - mov r0, r8 - cmp r0, 0x2 - beq _08193126 - adds r6, 0x1 - ldr r1, =gUnknown_0860D3C4 - mov r12, r1 - ldr r3, [sp, 0x8] - adds r1, r3, r7 - mov r2, r12 - adds r0, r1, r2 - ldrb r2, [r0] - mov r0, r12 - adds r0, 0x1 - adds r1, r0 - ldrb r0, [r1] - adds r2, r0 - cmp r6, r2 - bge _08193126 - b _0819300E -_08193126: - cmp r7, 0xE - beq _08193138 - ldr r0, [sp, 0x4] - adds r0, 0x1 - b _0819313C - .pool -_08193138: - ldr r0, [sp, 0x4] - adds r0, 0x2 -_0819313C: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8192F08 - - thumb_func_start sub_819314C -sub_819314C: @ 819314C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x80 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x34] - lsls r1, 24 - lsrs r6, r1, 24 - movs r0, 0 - str r0, [sp, 0x3C] - movs r7, 0 - movs r1, 0 - str r1, [sp, 0x40] - movs r2, 0 - str r2, [sp, 0x44] - mov r9, r2 - movs r0, 0x1 - ldr r3, [sp, 0x34] - ands r0, r3 - cmp r0, 0 - beq _08193186 - movs r7, 0x8 - str r7, [sp, 0x3C] - movs r7, 0x9 - movs r0, 0x2 - mov r9, r0 -_08193186: - movs r0, 0x2 - ldr r1, [sp, 0x34] - ands r0, r1 - cmp r0, 0 - beq _08193196 - movs r2, 0x80 - lsls r2, 1 - str r2, [sp, 0x40] -_08193196: - movs r0, 0x4 - ldr r3, [sp, 0x34] - ands r0, r3 - cmp r0, 0 - beq _081931A4 - movs r0, 0xA0 - str r0, [sp, 0x44] -_081931A4: - movs r0, 0x8 - ldr r1, [sp, 0x34] - ands r0, r1 - cmp r0, 0 - beq _081931B2 - ldr r2, =0xffffff00 - str r2, [sp, 0x40] -_081931B2: - movs r0, 0x10 - ldr r3, [sp, 0x34] - ands r0, r3 - cmp r0, 0 - beq _081931C2 - movs r0, 0xA0 - negs r0, r0 - str r0, [sp, 0x44] -_081931C2: - ldr r4, =gUnknown_0203CD78 - ldr r1, [r4] - adds r1, 0x11 - adds r0, r6, 0 - bl sub_8192F08 - str r0, [sp, 0x38] - movs r5, 0 - mov r1, sp - adds r1, 0x1C - str r1, [sp, 0x48] - mov r2, sp - adds r2, 0x24 - str r2, [sp, 0x4C] - lsls r1, r6, 1 - mov r3, sp - adds r3, 0x2C - str r3, [sp, 0x50] - ldr r0, [sp, 0x40] - adds r0, 0x30 - mov r8, r0 - ldr r2, [sp, 0x44] - adds r2, 0x58 - str r2, [sp, 0x78] - movs r3, 0xC - add r3, r9 - mov r10, r3 - ldr r0, [sp, 0x40] - adds r0, 0xC0 - str r0, [sp, 0x7C] - mov r2, r9 - adds r2, 0xD - str r2, [sp, 0x74] - ldr r3, [sp, 0x3C] - adds r3, 0x1 - mov r9, r3 - ldr r0, [sp, 0x3C] - adds r0, 0x2 - str r0, [sp, 0x54] - ldr r2, [sp, 0x3C] - adds r2, 0x5 - str r2, [sp, 0x5C] - adds r3, r7, 0 - adds r3, 0x8 - str r3, [sp, 0x6C] - adds r0, r7, 0x6 - str r0, [sp, 0x64] - adds r2, r7, 0x7 - str r2, [sp, 0x68] - lsls r3, r6, 2 - str r3, [sp, 0x58] - adds r0, r7, 0x5 - str r0, [sp, 0x60] - ldr r0, [r4] - adds r0, 0x11 - mov r12, r0 - ldr r0, =gSaveBlock2Ptr - ldr r4, [r0] - ldr r0, =gUnknown_0860D3C6 - movs r3, 0 - adds r1, r6 - adds r1, r0 - ldrb r6, [r1] -_08193240: - ldr r1, [sp, 0x48] - adds r2, r3, r1 - mov r7, r12 - adds r0, r7, r5 - ldrb r0, [r0] - str r0, [r2] - ldr r7, [sp, 0x4C] - adds r1, r3, r7 - lsls r0, 2 - adds r0, r4, r0 - ldr r7, =0x00000d24 - adds r0, r7 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - str r0, [r1] - ldr r0, [r2] - lsls r0, 2 - adds r0, r4, r0 - ldr r1, =0x00000d25 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 27 - lsrs r0, 30 - cmp r0, r6 - bhi _0819329C - lsls r0, r1, 29 - cmp r0, 0 - bge _0819329C - ldr r2, [sp, 0x50] - adds r1, r3, r2 - movs r0, 0x1 - b _081932A2 - .pool -_0819329C: - ldr r7, [sp, 0x50] - adds r1, r3, r7 - movs r0, 0 -_081932A2: - str r0, [r1] - adds r3, 0x4 - adds r5, 0x1 - cmp r5, 0x1 - ble _08193240 - ldr r1, [sp, 0x24] - ldr r0, =0x000003ff - cmp r1, r0 - bne _081932D4 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - bl PlayerGenderToFrontTrainerPicId - lsls r0, 16 - lsrs r0, 16 - mov r2, r8 - ldr r3, [sp, 0x78] - mov r1, r10 - str r1, [sp] - b _081932F8 - .pool -_081932D4: - ldr r0, =0x000003fe - cmp r1, r0 - bne _081932E4 - bl sub_8195910 - b _081932EC - .pool -_081932E4: - lsls r0, r1, 16 - lsrs r0, 16 - bl GetFrontierTrainerFrontSpriteId -_081932EC: - lsls r0, 24 - lsrs r0, 24 - mov r2, r8 - ldr r3, [sp, 0x78] - mov r7, r10 - str r7, [sp] -_081932F8: - ldr r1, =0x0000ffff - str r1, [sp, 0x4] - movs r1, 0x1 - bl sub_818D8AC - ldr r1, =gUnknown_0203CD78 - ldr r1, [r1] - ldr r2, [sp, 0x3C] - adds r1, r2 - strb r0, [r1] - movs r0, 0x1E - ldr r3, [sp, 0x34] - ands r0, r3 - cmp r0, 0 - beq _08193334 - ldr r2, =gSprites - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldr r7, [sp, 0x3C] - adds r0, r7 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_08193334: - ldr r0, [sp, 0x2C] - cmp r0, 0 - beq _0819335A - ldr r2, =gSprites - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldr r1, [sp, 0x3C] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0, 0x5] - movs r1, 0xF - ands r1, r2 - movs r2, 0x30 - orrs r1, r2 - strb r1, [r0, 0x5] -_0819335A: - ldr r2, [sp, 0x4C] - ldr r1, [r2, 0x4] - ldr r0, =0x000003ff - cmp r1, r0 - bne _08193388 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - bl PlayerGenderToFrontTrainerPicId - lsls r0, 16 - lsrs r0, 16 - b _081933B0 - .pool -_08193388: - ldr r0, =0x000003fe - cmp r1, r0 - bne _081933A4 - bl sub_8195910 - lsls r0, 24 - lsrs r0, 24 - ldr r2, [sp, 0x7C] - ldr r3, [sp, 0x78] - ldr r1, [sp, 0x74] - str r1, [sp] - b _081933B8 - .pool -_081933A4: - lsls r0, r1, 16 - lsrs r0, 16 - bl GetFrontierTrainerFrontSpriteId - lsls r0, 24 - lsrs r0, 24 -_081933B0: - ldr r2, [sp, 0x7C] - ldr r3, [sp, 0x78] - ldr r7, [sp, 0x74] - str r7, [sp] -_081933B8: - ldr r1, =0x0000ffff - str r1, [sp, 0x4] - movs r1, 0x1 - bl sub_818D8AC - ldr r1, =gUnknown_0203CD78 - ldr r1, [r1] - add r1, r9 - strb r0, [r1] - movs r0, 0x1E - ldr r1, [sp, 0x34] - ands r0, r1 - cmp r0, 0 - beq _081933F0 - ldr r2, =gSprites - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - add r0, r9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_081933F0: - ldr r2, [sp, 0x50] - ldr r0, [r2, 0x4] - cmp r0, 0 - beq _08193416 - ldr r2, =gSprites - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - add r0, r9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0, 0x5] - movs r1, 0xF - ands r1, r2 - movs r2, 0x30 - orrs r1, r2 - strb r1, [r0, 0x5] -_08193416: - movs r5, 0 - ldr r3, [sp, 0x38] - lsls r3, 2 - str r3, [sp, 0x70] - mov r8, r5 - ldr r6, =gUnknown_0203CD78 - ldr r7, =gSprites - ldr r4, [sp, 0x54] - mov r9, r5 - movs r0, 0x1 - mov r10, r0 -_0819342C: - ldr r1, [sp, 0x24] - ldr r0, =0x000003ff - cmp r1, r0 - bne _08193464 - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r1, [sp, 0x1C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - add r0, r9 - ldr r1, =0x00000d64 - adds r2, r1 - adds r2, r0 - ldrh r0, [r2] - b _081934B0 - .pool -_08193464: - ldr r0, =0x000003fe - cmp r1, r0 - bne _08193490 - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r1, [sp, 0x1C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - add r0, r9 - ldr r1, =0x00000d64 - adds r2, r1 - adds r2, r0 - ldrh r0, [r2] - b _081934B0 - .pool -_08193490: - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r1, [sp, 0x1C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - add r0, r9 - ldr r1, =0x00000d64 - adds r2, r1 - adds r2, r0 - ldrh r1, [r2] - ldr r0, =gUnknown_0203BC8C - ldr r0, [r0] - lsls r1, 4 - adds r1, r0 - ldrh r0, [r1] -_081934B0: - ldr r1, =gUnknown_0860D3A8 - adds r1, r5, r1 - ldrb r2, [r1] - ldr r3, [sp, 0x40] - orrs r2, r3 - ldr r1, =gUnknown_0860D3AB - adds r1, r5, r1 - ldrb r3, [r1] - ldr r1, [sp, 0x44] - adds r3, r1 - mov r1, r8 - str r1, [sp] - str r1, [sp, 0x4] - mov r1, r10 - str r1, [sp, 0x8] - ldr r1, =sub_8190938 - bl CreateMonIcon - ldr r1, [r6] - adds r1, r4 - strb r0, [r1] - ldr r0, [r6] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrb r1, [r0, 0x5] - movs r3, 0xD - negs r3, r3 - adds r2, r3, 0 - ands r1, r2 - strb r1, [r0, 0x5] - movs r0, 0x1E - ldr r1, [sp, 0x34] - ands r0, r1 - cmp r0, 0 - beq _08193516 - ldr r0, [r6] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_08193516: - ldr r0, [sp, 0x2C] - cmp r0, 0 - beq _08193548 - ldr r0, [r6] - adds r0, r4 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - movs r2, 0x30 - orrs r0, r2 - strb r0, [r1, 0x5] - ldr r0, [r6] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - mov r2, r10 - strh r2, [r0, 0x34] -_08193548: - adds r4, 0x1 - movs r3, 0x2 - add r9, r3 - adds r5, 0x1 - cmp r5, 0x2 - bgt _08193556 - b _0819342C -_08193556: - movs r5, 0 - ldr r6, =gUnknown_0203CD78 - ldr r7, =gSprites - mov r8, r7 - ldr r4, [sp, 0x5C] - mov r9, r5 - movs r7, 0 -_08193564: - ldr r0, [sp, 0x4C] - ldr r1, [r0, 0x4] - ldr r0, =0x000003ff - cmp r1, r0 - bne _081935AC - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r3, [sp, 0x48] - ldr r1, [r3, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - add r0, r9 - ldr r1, =0x00000d64 - adds r2, r1 - adds r2, r0 - ldrh r0, [r2] - b _081935FA - .pool -_081935AC: - ldr r0, =0x000003fe - cmp r1, r0 - bne _081935D8 - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r0, [sp, 0x48] - ldr r1, [r0, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - add r0, r9 - ldr r1, =0x00000d64 - adds r2, r1 - adds r2, r0 - ldrh r0, [r2] - b _081935FA - .pool -_081935D8: - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r0, [sp, 0x48] - ldr r1, [r0, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - add r0, r9 - ldr r1, =0x00000d64 - adds r2, r1 - adds r2, r0 - ldrh r1, [r2] - ldr r0, =gUnknown_0203BC8C - ldr r0, [r0] - lsls r1, 4 - adds r1, r0 - ldrh r0, [r1] -_081935FA: - ldr r1, =gUnknown_0860D3AE - adds r1, r5, r1 - ldrb r2, [r1] - ldr r3, [sp, 0x40] - orrs r2, r3 - ldr r1, =gUnknown_0860D3B1 - adds r1, r5, r1 - ldrb r3, [r1] - ldr r1, [sp, 0x44] - adds r3, r1 - str r7, [sp] - str r7, [sp, 0x4] - movs r1, 0x1 - str r1, [sp, 0x8] - ldr r1, =sub_8190938 - bl CreateMonIcon - ldr r1, [r6] - adds r1, r4 - strb r0, [r1] - ldr r0, [r6] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldrb r1, [r0, 0x5] - movs r3, 0xD - negs r3, r3 - adds r2, r3, 0 - ands r1, r2 - strb r1, [r0, 0x5] - movs r0, 0x1E - ldr r1, [sp, 0x34] - ands r0, r1 - cmp r0, 0 - beq _0819365E - ldr r0, [r6] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_0819365E: - ldr r2, [sp, 0x50] - ldr r0, [r2, 0x4] - cmp r0, 0 - beq _08193692 - ldr r0, [r6] - adds r0, r4 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - movs r2, 0x30 - orrs r0, r2 - strb r0, [r1, 0x5] - ldr r0, [r6] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - movs r1, 0x1 - strh r1, [r0, 0x34] -_08193692: - adds r4, 0x1 - movs r3, 0x2 - add r9, r3 - adds r5, 0x1 - cmp r5, 0x2 - bgt _081936A0 - b _08193564 -_081936A0: - add r0, sp, 0xC - movs r5, 0 - strb r5, [r0, 0x6] - adds r1, r0, 0 - movs r0, 0x2 - strb r0, [r1, 0x7] - adds r0, r1, 0 - ldrb r0, [r0, 0x6] - strb r0, [r1, 0x8] - adds r0, r1, 0 - ldrb r0, [r0, 0x7] - strb r0, [r1, 0x9] - adds r0, r1, 0 - strb r5, [r0, 0xA] - strb r5, [r0, 0xB] - adds r3, r0, 0 - ldrb r2, [r3, 0xC] - movs r1, 0x10 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3, 0xC] - adds r2, r3, 0 - movs r0, 0xE0 - strb r0, [r2, 0xC] - ldrb r0, [r2, 0xD] - ands r1, r0 - strb r1, [r2, 0xD] - adds r1, r2, 0 - movs r0, 0xD0 - strb r0, [r1, 0xD] - ldr r4, =gStringVar4 - ldr r0, =gBattleDomeWinStringsPointers - ldr r7, [sp, 0x70] - adds r0, r7, r0 - ldr r1, [r0] - adds r0, r4, 0 - bl StringExpandPlaceholders - str r4, [sp, 0xC] - add r0, sp, 0xC - add r1, sp, 0x6C - ldrb r1, [r1] - strb r1, [r0, 0x4] - adds r1, r0, 0 - movs r0, 0x1 - strb r0, [r1, 0x5] - ldr r4, [sp, 0x6C] - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - add r0, sp, 0xC - strb r5, [r0, 0x8] - adds r1, r0, 0 - strb r5, [r0, 0x7] - strb r5, [r1, 0x9] - movs r1, 0 - movs r2, 0 - bl AddTextPrinter - ldr r1, [sp, 0x24] - ldr r0, =0x000003ff - cmp r1, r0 - bne _0819375C - ldr r0, =gStringVar1 - ldr r1, =gSaveBlock2Ptr - ldr r1, [r1] - bl StringCopy - b _0819377E - .pool -_0819375C: - ldr r0, =0x000003fe - cmp r1, r0 - bne _08193774 - ldr r0, =gStringVar1 - bl sub_8195938 - b _0819377E - .pool -_08193774: - ldr r0, =gStringVar1 - lsls r1, 16 - lsrs r1, 16 - bl sub_8195898 -_0819377E: - add r0, sp, 0xC - movs r4, 0x2 - strb r4, [r0, 0x5] - strb r4, [r0, 0xA] - ldr r5, =gStringVar1 - str r5, [sp, 0xC] - add r2, sp, 0x64 - ldrb r2, [r2] - strb r2, [r0, 0x4] - ldrb r0, [r0, 0x5] - ldr r1, [sp, 0xC] - add r2, sp, 0xC - ldrb r3, [r2, 0xA] - movs r2, 0x40 - bl GetStringCenterAlignXOffsetWithLetterSpacing - add r1, sp, 0xC - strb r0, [r1, 0x8] - adds r0, r1, 0 - strb r4, [r0, 0x7] - strb r4, [r1, 0x9] - ldr r4, [sp, 0x64] - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - add r0, sp, 0xC - movs r1, 0 - movs r2, 0 - bl AddTextPrinter - ldr r3, [sp, 0x4C] - ldr r1, [r3, 0x4] - ldr r0, =0x000003ff - cmp r1, r0 - bne _081937E4 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r0, r5, 0 - bl StringCopy - b _08193802 - .pool -_081937E4: - ldr r0, =0x000003fe - cmp r1, r0 - bne _081937F8 - adds r0, r5, 0 - bl sub_8195938 - b _08193802 - .pool -_081937F8: - lsls r1, 16 - lsrs r1, 16 - adds r0, r5, 0 - bl sub_8195898 -_08193802: - ldr r0, =gStringVar1 - str r0, [sp, 0xC] - add r0, sp, 0xC - movs r6, 0 - add r7, sp, 0x68 - ldrb r7, [r7] - strb r7, [r0, 0x4] - ldrb r0, [r0, 0x5] - ldr r1, [sp, 0xC] - add r2, sp, 0xC - ldrb r3, [r2, 0xA] - movs r2, 0x40 - bl GetStringCenterAlignXOffsetWithLetterSpacing - add r1, sp, 0xC - strb r0, [r1, 0x8] - adds r0, r1, 0 - movs r5, 0x2 - strb r5, [r0, 0x7] - strb r5, [r1, 0x9] - ldr r4, [sp, 0x68] - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - add r0, sp, 0xC - movs r1, 0 - movs r2, 0 - bl AddTextPrinter - add r0, sp, 0xC - strb r6, [r0, 0xA] - ldr r0, =gBattleDomeMatchNumberPointers - ldr r1, [sp, 0x58] - adds r0, r1, r0 - ldr r0, [r0] - str r0, [sp, 0xC] - add r0, sp, 0xC - add r2, sp, 0x60 - ldrb r2, [r2] - strb r2, [r0, 0x4] - ldrb r0, [r0, 0x5] - ldr r1, [sp, 0xC] - add r2, sp, 0xC - ldrb r3, [r2, 0xA] - movs r2, 0xA0 - bl GetStringCenterAlignXOffsetWithLetterSpacing - add r1, sp, 0xC - strb r0, [r1, 0x8] - adds r0, r1, 0 - strb r5, [r0, 0x7] - strb r5, [r1, 0x9] - ldr r4, [sp, 0x60] - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - add r0, sp, 0xC - movs r1, 0 - movs r2, 0 - bl AddTextPrinter - add sp, 0x80 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819314C - - thumb_func_start sub_81938A4 -sub_81938A4: @ 81938A4 - push {lr} - ldr r0, =sub_8194220 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r2, [r1, 0xA] - movs r0, 0x2 - strh r0, [r1, 0xC] - strh r2, [r1, 0x10] - ldr r0, =sub_8194B54 - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81938A4 - - thumb_func_start sub_81938E0 -sub_81938E0: @ 81938E0 - push {r4,lr} - bl sub_8194D48 - ldr r4, =gSaveBlock2Ptr - ldr r2, [r4] - ldr r1, =0x00000d0a - adds r0, r2, r1 - ldrb r1, [r0] - subs r1, 0x1 - ldr r0, =0x00000ca9 - adds r2, r0 - movs r0, 0x3 - ands r1, r0 - ldrb r3, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r4] - ldr r1, =0x00000cb2 - adds r0, r1 - movs r4, 0 - movs r1, 0x3 - strh r1, [r0] - ldr r0, =sub_8194220 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - strh r4, [r1, 0xA] - movs r0, 0x2 - strh r0, [r1, 0xC] - movs r0, 0x1 - strh r0, [r1, 0x10] - ldr r0, =sub_8194B54 - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81938E0 - - thumb_func_start sub_819395C -sub_819395C: @ 819395C - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r2, 0xA - ldrsh r7, [r0, r2] - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x7 - bls _0819397E - b _08193BC2 -_0819397E: - lsls r0, 2 - ldr r1, =_08193990 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08193990: - .4byte _081939B0 - .4byte _08193A00 - .4byte _08193A20 - .4byte _08193AA8 - .4byte _08193BC2 - .4byte _08193B20 - .4byte _08193BC2 - .4byte _08193B84 -_081939B0: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _081939C2 - b _08193BC2 -_081939C2: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x8] - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - b _08193BC2 - .pool -_08193A00: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08193A0E - b _08193BC2 -_08193A0E: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - movs r1, 0x2 - strh r1, [r0, 0x8] - b _08193BC2 - .pool -_08193A20: - adds r0, r5, 0 - bl sub_8193BDC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08193A30 - b _08193BC2 -_08193A30: - cmp r0, 0x1 - ble _08193A3C - cmp r0, 0x2 - beq _08193A60 - cmp r0, 0x3 - beq _08193A84 -_08193A3C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x7 - strh r1, [r0, 0x8] - b _08193BC2 - .pool -_08193A60: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x3 - strh r1, [r0, 0x8] - b _08193BC2 - .pool -_08193A84: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x5 - strh r1, [r0, 0x8] - b _08193BC2 - .pool -_08193AA8: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - beq _08193ABA - b _08193BC2 -_08193ABA: - bl FreeAllWindowBuffers - bl ScanlineEffect_Stop - ldr r4, =gUnknown_0203CD7C - ldr r0, [r4] - bl Free - str r6, [r4] - ldr r0, =sub_8190400 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r2 - movs r3, 0 - strh r6, [r1, 0x8] - ldr r0, =gUnknown_0860D080 - adds r0, r7, r0 - ldrb r0, [r0] - strh r0, [r1, 0xA] - movs r0, 0x1 - strh r0, [r1, 0xC] - strh r5, [r1, 0xE] - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - movs r1, 0x4 - strh r1, [r0, 0x8] - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - strb r3, [r0, 0x10] - b _08193BC2 - .pool -_08193B20: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - bne _08193BC2 - bl FreeAllWindowBuffers - bl ScanlineEffect_Stop - ldr r4, =gUnknown_0203CD7C - ldr r0, [r4] - bl Free - str r6, [r4] - ldr r0, =sub_8190400 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r2 - strh r6, [r0, 0x8] - adds r1, r7, 0 - subs r1, 0x10 - strh r1, [r0, 0xA] - movs r1, 0x2 - strh r1, [r0, 0xC] - strh r5, [r0, 0xE] - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - movs r1, 0x6 - strh r1, [r0, 0x8] - b _08193BC2 - .pool -_08193B84: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - bne _08193BC2 - bl FreeAllWindowBuffers - bl ScanlineEffect_Stop - ldr r4, =gUnknown_0203CD7C - ldr r0, [r4] - bl Free - str r6, [r4] - ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl SetMainCallback2 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x16] - bl DestroyTask - adds r0, r5, 0 - bl DestroyTask -_08193BC2: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819395C - - thumb_func_start sub_8193BDC -sub_8193BDC: @ 8193BDC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0x1 - mov r9, r0 - movs r1, 0x4 - mov r8, r1 - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - movs r1, 0xA - ldrsh r5, [r0, r1] - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000cb2 - adds r0, r1 - ldrh r6, [r0] - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - adds r2, r1, 0 - adds r3, r0, 0 - cmp r2, 0x2 - beq _08193C20 - mov r0, r9 - ands r0, r1 - cmp r0, 0 - beq _08193C58 - cmp r5, 0x1F - bne _08193C3C -_08193C20: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - mov r9, r0 - b _08193CDE - .pool -_08193C3C: - cmp r5, 0xF - bgt _08193C4C - movs r0, 0x5 - bl PlaySE - movs r1, 0x2 - mov r9, r1 - b _08193CDE -_08193C4C: - movs r0, 0x5 - bl PlaySE - movs r0, 0x3 - mov r9, r0 - b _08193CDE -_08193C58: - cmp r2, 0x40 - bne _08193C78 - ldr r0, =gUnknown_0860CBF1 - lsls r1, r5, 2 - adds r1, r5 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0xFF - beq _08193C78 - movs r1, 0 - mov r8, r1 - b _08193CDE - .pool -_08193C78: - ldrh r0, [r3, 0x2E] - cmp r0, 0x80 - bne _08193C9C - ldr r0, =gUnknown_0860CBF1 - lsls r1, r5, 2 - adds r1, r5 - adds r1, r6 - lsls r1, 2 - adds r0, 0x1 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0xFF - beq _08193C9C - movs r0, 0x1 - b _08193CDC - .pool -_08193C9C: - ldrh r0, [r3, 0x2E] - cmp r0, 0x20 - bne _08193CC0 - ldr r0, =gUnknown_0860CBF1 - lsls r1, r5, 2 - adds r1, r5 - adds r1, r6 - lsls r1, 2 - adds r0, 0x2 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0xFF - beq _08193CC0 - movs r1, 0x2 - mov r8, r1 - b _08193CDE - .pool -_08193CC0: - ldrh r0, [r3, 0x2E] - cmp r0, 0x10 - bne _08193CDE - ldr r0, =gUnknown_0860CBF1 - lsls r1, r5, 2 - adds r1, r5 - adds r1, r6 - lsls r1, 2 - adds r0, 0x3 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0xFF - beq _08193CDE - movs r0, 0x3 -_08193CDC: - mov r8, r0 -_08193CDE: - mov r1, r8 - cmp r1, 0x4 - beq _08193D26 - movs r0, 0x5 - bl PlaySE - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - movs r1, 0 - bl StartSpriteAnim - ldr r2, =gUnknown_0860CBF1 - lsls r1, r6, 2 - add r1, r8 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 2 - adds r1, r0 - adds r1, r2 - ldrb r5, [r1] - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAnim - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0xA] -_08193D26: - mov r0, r9 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8193BDC - - thumb_func_start sub_8193D40 -sub_8193D40: @ 8193D40 - push {lr} - ldr r0, =sub_8194220 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - movs r0, 0x1 - strh r0, [r1, 0xA] - movs r0, 0x2 - strh r0, [r1, 0xC] - strh r2, [r1, 0x10] - ldr r0, =sub_8194B54 - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8193D40 - - thumb_func_start sub_8193D7C -sub_8193D7C: @ 8193D7C - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r7, =gSpecialVar_0x8005 - ldrh r0, [r7] - cmp r0, 0x1 - bne _08193E10 - ldr r5, =gTrainerBattleOpponent_A - ldrh r0, [r5] - bl sub_8195358 - ldr r4, =gSaveBlock2Ptr - ldr r2, [r4] - lsls r0, 2 - adds r2, r0 - ldr r6, =0x00000d25 - adds r2, r6 - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r5] - bl sub_8195358 - ldr r1, [r4] - lsls r0, 2 - adds r0, r1, r0 - ldr r2, =0x00000cb2 - mov r8, r2 - add r1, r8 - adds r0, r6 - movs r3, 0x3 - ldrb r2, [r1] - ands r2, r3 - lsls r2, 3 - ldrb r3, [r0] - movs r1, 0x19 - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0] - ldrh r0, [r5] - bl sub_8195358 - ldr r2, [r4] - lsls r0, 1 - movs r3, 0xEC - lsls r3, 4 - adds r1, r2, r3 - adds r1, r0 - ldr r0, =gBattleResults - ldrh r0, [r0, 0x22] - strh r0, [r1] - add r2, r8 - ldrh r0, [r2] - cmp r0, 0x2 - bhi _08193EAE - lsls r0, 24 - lsrs r0, 24 - bl sub_8195438 - b _08193EAE - .pool -_08193E10: - ldr r5, =0x000003ff - adds r0, r5, 0 - bl sub_8195358 - ldr r4, =gSaveBlock2Ptr - ldr r2, [r4] - lsls r0, 2 - adds r2, r0 - ldr r6, =0x00000d25 - adds r2, r6 - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - adds r0, r5, 0 - bl sub_8195358 - ldr r1, [r4] - lsls r0, 2 - adds r0, r1, r0 - ldr r2, =0x00000cb2 - adds r1, r2 - adds r0, r6 - movs r3, 0x3 - ldrb r2, [r1] - ands r2, r3 - lsls r2, 3 - ldrb r3, [r0] - movs r1, 0x19 - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0] - adds r0, r5, 0 - bl sub_8195358 - ldr r1, [r4] - lsls r0, 1 - movs r3, 0xEC - lsls r3, 4 - adds r1, r3 - adds r1, r0 - ldr r0, =gBattleResults - ldrh r0, [r0, 0x24] - strh r0, [r1] - ldr r0, =gBattleOutcome - ldrb r0, [r0] - cmp r0, 0x9 - beq _08193E78 - ldrh r0, [r7] - cmp r0, 0x9 - bne _08193E92 -_08193E78: - adds r0, r5, 0 - bl sub_8195358 - ldr r2, [r4] - lsls r0, 2 - adds r2, r0 - adds r2, r6 - ldrb r1, [r2] - movs r0, 0x1F - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2] -_08193E92: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000cb2 - adds r0, r1 - ldrh r4, [r0] - cmp r4, 0x3 - bgt _08193EAE -_08193EA0: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8195438 - adds r4, 0x1 - cmp r4, 0x3 - ble _08193EA0 -_08193EAE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8193D7C - - thumb_func_start sub_8193ED0 -sub_8193ED0: @ 8193ED0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x84 - str r0, [sp, 0x48] - str r1, [sp, 0x4C] - lsls r4, r2, 24 - lsrs r4, 24 - movs r0, 0 - str r0, [sp, 0x54] - movs r1, 0 - str r1, [sp, 0x58] - bl sub_8165C40 - movs r2, 0 - str r2, [sp, 0x50] - add r3, sp, 0x30 - mov r10, r3 - ldr r5, [sp, 0x4C] - lsls r5, 1 - str r5, [sp, 0x70] - subs r4, 0x1 - str r4, [sp, 0x78] -_08193F02: - movs r0, 0 - mov r9, r0 - ldr r1, [sp, 0x50] - lsls r1, 2 - str r1, [sp, 0x74] - ldr r2, [sp, 0x48] - lsls r2, 2 - str r2, [sp, 0x6C] - ldr r3, [sp, 0x50] - adds r3, 0x1 - str r3, [sp, 0x60] -_08193F18: - ldr r4, [sp, 0x74] - add r4, r9 - lsls r0, r4, 2 - mov r5, sp - adds r1, r5, r0 - movs r0, 0 - str r0, [r1] - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r1, [sp, 0x6C] - adds r0, r3, r1 - ldr r2, =0x00000d24 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 22 - ldr r1, =0xff800000 - cmp r0, r1 - bne _08193F60 - ldr r3, [sp, 0x50] - lsls r0, r3, 24 - mov r5, r9 - lsls r1, r5, 24 - lsrs r1, 24 - lsrs r0, 24 - bl sub_81A5060 - lsls r1, r4, 1 - add r1, r10 - strh r0, [r1] - b _08193F8C - .pool -_08193F60: - lsls r2, r4, 1 - add r2, r10 - ldr r1, [sp, 0x48] - lsls r0, r1, 1 - adds r0, r1 - ldr r4, [sp, 0x50] - adds r0, r4 - lsls r0, 1 - ldr r5, =0x00000d64 - adds r1, r3, r5 - adds r1, r0 - ldrh r0, [r1] - ldr r1, =gUnknown_0203BC8C - ldr r1, [r1] - lsls r0, 4 - adds r0, r1 - mov r3, r9 - lsls r1, r3, 1 - adds r0, 0x2 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] -_08193F8C: - ldr r0, =gBattleMoves - ldr r1, [sp, 0x74] - add r1, r9 - lsls r1, 1 - add r1, r10 - ldrh r2, [r1] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r6, [r1, 0x1] - cmp r6, 0 - bne _08193FB8 - movs r6, 0x28 - b _08193FD0 - .pool -_08193FB8: - cmp r6, 0x1 - bne _08193FC0 - movs r6, 0x3C - b _08193FD0 -_08193FC0: - adds r1, r2, 0 - cmp r1, 0x78 - beq _08193FCA - cmp r1, 0x99 - bne _08193FD0 -_08193FCA: - lsrs r0, r6, 31 - adds r0, r6, r0 - asrs r6, r0, 1 -_08193FD0: - movs r1, 0 - mov r4, r9 - adds r4, 0x1 - str r4, [sp, 0x64] - ldr r5, [sp, 0x70] - ldr r2, [sp, 0x4C] - adds r0, r5, r2 - lsls r0, 1 - str r0, [sp, 0x5C] -_08193FE2: - lsls r7, r1, 1 - adds r1, 0x1 - str r1, [sp, 0x68] - ldr r3, [sp, 0x5C] - adds r3, r7 - mov r8, r3 -_08193FEE: - bl Random - adds r4, r0, 0 - bl Random - lsls r4, 16 - lsrs r5, r4, 16 - lsls r0, 16 - orrs r5, r0 - ldr r2, =gSaveBlock2Ptr - ldr r0, [r2] - ldr r4, =0x00000d64 - adds r0, r4 - add r0, r8 - ldrh r4, [r0] - ldr r3, =gUnknown_0203BC8C - ldr r0, [r3] - lsls r4, 4 - adds r4, r0 - adds r0, r5, 0 - str r2, [sp, 0x7C] - str r3, [sp, 0x80] - bl GetNatureFromPersonality - ldrb r1, [r4, 0xC] - lsls r0, 24 - lsrs r0, 24 - ldr r2, [sp, 0x7C] - ldr r3, [sp, 0x80] - cmp r1, r0 - bne _08193FEE - ldr r0, [r2] - ldr r2, [sp, 0x5C] - adds r1, r7, r2 - ldr r4, =0x00000d64 - adds r0, r4 - adds r0, r1 - ldrh r0, [r0] - ldr r1, [r3] - lsls r0, 4 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x1 - ands r5, r0 - cmp r5, 0 - beq _08194068 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r5, =gBaseStats - adds r0, r5 - ldrb r2, [r0, 0x17] - b _08194074 - .pool -_08194068: - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r2, =gBaseStats - adds r0, r2 - ldrb r2, [r0, 0x16] -_08194074: - ldr r4, [sp, 0x74] - add r4, r9 - lsls r0, r4, 1 - add r0, r10 - ldrh r0, [r0] - bl AI_TypeCalc - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x6 - ands r0, r5 - cmp r0, 0x6 - bne _0819409C - lsls r0, r4, 2 - mov r3, sp - adds r1, r3, r0 - b _081940D8 - .pool -_0819409C: - movs r0, 0x29 - ands r0, r5 - cmp r0, 0 - bne _081940DE - movs r0, 0x2 - ands r0, r5 - cmp r0, 0 - beq _081940B6 - lsls r0, r4, 2 - mov r5, sp - adds r2, r5, r0 - lsls r1, r6, 1 - b _081940CA -_081940B6: - movs r0, 0x4 - ands r5, r0 - cmp r5, 0 - beq _081940D2 - lsls r0, r4, 2 - mov r1, sp - adds r2, r1, r0 - lsrs r1, r6, 31 - adds r1, r6, r1 - asrs r1, 1 -_081940CA: - ldr r0, [r2] - adds r0, r1 - str r0, [r2] - b _081940DE -_081940D2: - lsls r0, r4, 2 - mov r2, sp - adds r1, r2, r0 -_081940D8: - ldr r0, [r1] - adds r0, r6 - str r0, [r1] -_081940DE: - ldr r1, [sp, 0x68] - cmp r1, 0x2 - bgt _081940E6 - b _08193FE2 -_081940E6: - ldr r2, [sp, 0x74] - add r2, r9 - lsls r0, r2, 2 - add r0, sp - ldr r1, [r0] - ldr r3, [sp, 0x54] - cmp r3, r1 - bge _08194104 - lsls r0, r2, 16 - lsrs r0, 16 - str r0, [sp, 0x58] - lsls r0, r1, 16 - lsrs r0, 16 - str r0, [sp, 0x54] - b _08194122 -_08194104: - ldr r4, [sp, 0x54] - cmp r4, r1 - bne _08194122 - ldr r5, [sp, 0x58] - lsls r0, r5, 1 - add r0, r10 - lsls r1, r2, 1 - add r1, r10 - ldrh r0, [r0] - ldrh r1, [r1] - cmp r0, r1 - bcs _08194122 - lsls r0, r2, 16 - lsrs r0, 16 - str r0, [sp, 0x58] -_08194122: - ldr r0, [sp, 0x64] - mov r9, r0 - cmp r0, 0x3 - bgt _0819412C - b _08193F18 -_0819412C: - ldr r1, [sp, 0x60] - str r1, [sp, 0x50] - cmp r1, 0x2 - bgt _08194136 - b _08193F02 -_08194136: - ldr r2, [sp, 0x58] - mov r9, r2 - b _08194182 -_0819413C: - movs r3, 0 - mov r9, r3 - movs r1, 0 - mov r4, r10 - mov r3, r10 - mov r2, sp -_08194148: - ldr r0, [r2] - ldr r5, [sp, 0x54] - cmp r5, r0 - bge _0819415A - mov r9, r1 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x54] - b _08194170 -_0819415A: - ldr r5, [sp, 0x54] - cmp r5, r0 - bne _08194170 - mov r5, r9 - lsls r0, r5, 1 - adds r0, r4, r0 - ldrh r0, [r0] - ldrh r5, [r3] - cmp r0, r5 - bcs _08194170 - mov r9, r1 -_08194170: - adds r3, 0x2 - adds r2, 0x4 - adds r1, 0x1 - cmp r1, 0xB - ble _08194148 - ldr r0, [sp, 0x50] - ldr r1, [sp, 0x78] - cmp r0, r1 - beq _081941F4 -_08194182: - movs r2, 0 - str r2, [sp, 0x50] - mov r3, r9 - lsls r7, r3, 2 - ldr r4, [sp, 0x78] - cmp r2, r4 - bge _081941CA - lsls r0, r3, 1 - mov r5, r10 - adds r6, r5, r0 - ldr r0, [sp, 0x48] - lsls r5, r0, 24 -_0819419A: - ldr r0, =gSaveBlock2Ptr - ldr r4, [r0] - ldr r2, [sp, 0x50] - lsls r1, r2, 24 - lsrs r1, 24 - lsrs r0, r5, 24 - bl sub_81953E8 - lsls r0, 24 - lsrs r0, 23 - movs r3, 0xEC - lsls r3, 4 - adds r4, r3 - adds r4, r0 - ldrh r0, [r4] - ldrh r4, [r6] - cmp r0, r4 - beq _081941CA - ldr r0, [sp, 0x50] - adds r0, 0x1 - str r0, [sp, 0x50] - ldr r1, [sp, 0x78] - cmp r0, r1 - blt _0819419A -_081941CA: - ldr r2, [sp, 0x50] - ldr r3, [sp, 0x78] - cmp r2, r3 - beq _081941F4 - mov r4, sp - adds r1, r4, r7 - movs r0, 0 - str r0, [r1] - movs r5, 0 - str r5, [sp, 0x54] - mov r9, r5 - mov r2, sp - movs r1, 0xB -_081941E4: - ldm r2!, {r0} - add r9, r0 - subs r1, 0x1 - cmp r1, 0 - bge _081941E4 - mov r0, r9 - cmp r0, 0 - bne _0819413C -_081941F4: - mov r1, r9 - lsls r0, r1, 2 - add r0, sp - ldr r0, [r0] - cmp r0, 0 - bne _08194204 - ldr r2, [sp, 0x58] - mov r9, r2 -_08194204: - mov r3, r9 - lsls r0, r3, 1 - add r0, r10 - ldrh r0, [r0] - add sp, 0x84 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8193ED0 - - thumb_func_start sub_8194220 -sub_8194220: @ 8194220 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x28 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r2, 0xA - ldrsh r1, [r0, r2] - mov r10, r1 - movs r3, 0xC - ldrsh r4, [r0, r3] - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0x5 - bls _08194250 - b _081948C2 -_08194250: - lsls r0, 2 - ldr r1, =_08194264 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08194264: - .4byte _0819427C - .4byte _0819431C - .4byte _0819438C - .4byte _0819447C - .4byte _081944FC - .4byte _081947C8 -_0819427C: - movs r0, 0 - bl SetHBlankCallback - movs r0, 0 - bl SetVBlankCallback - movs r0, 0x3 - bl EnableInterrupts - movs r4, 0 - str r4, [sp, 0x14] - add r0, sp, 0x14 - movs r1, 0xC0 - lsls r1, 19 - ldr r2, =0x05006000 - bl CpuSet - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0860CE74 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r0, =gUnknown_0860CE94 - bl InitWindows - bl DeactivateAllTextPrinters - ldr r0, =gBattle_BG0_X - strh r4, [r0] - ldr r0, =gBattle_BG0_Y - strh r4, [r0] - ldr r0, =gBattle_BG1_X - strh r4, [r0] - ldr r0, =gBattle_BG1_Y - strh r4, [r0] - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r1, 0xB0 - lsls r1, 4 - movs r0, 0x3 - movs r2, 0 - bl ChangeBgY - ldr r1, =gTasks - mov r2, r8 - lsls r0, r2, 2 - b _0819443C - .pool -_0819431C: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4C - movs r1, 0 - bl SetGpuReg - ldr r1, =0x00005860 - movs r0, 0x40 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0x9F - bl SetGpuReg - ldr r1, =0x00009098 - movs r0, 0x42 - bl SetGpuReg - movs r0, 0x46 - movs r1, 0x9F - bl SetGpuReg - movs r0, 0x48 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x3F - bl SetGpuReg - bl ResetPaletteFade - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r1, =gTasks - mov r3, r8 - lsls r0, r3, 2 - b _0819443C - .pool -_0819438C: - ldr r4, =gUnknown_0203CD7C - movs r0, 0x80 - lsls r0, 4 - bl AllocZeroed - adds r1, r0, 0 - str r1, [r4] - ldr r0, =gUnknown_08D83900 - bl LZDecompressWram - ldr r1, [r4] - movs r0, 0x1 - bl SetBgTilemapBuffer - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - ldr r1, =gUnknown_08D82F10 - movs r5, 0x80 - lsls r5, 6 - movs r6, 0 - str r6, [sp] - movs r0, 0x1 - adds r2, r5, 0 - movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree - ldr r1, =gUnknown_08D834FC - str r6, [sp] - movs r0, 0x2 - adds r2, r5, 0 - movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree - ldr r1, =gUnknown_08D83B2C - movs r4, 0x1 - str r4, [sp] - movs r0, 0x2 - adds r2, r5, 0 - movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree - ldr r1, =gUnknown_08D83C3C - str r4, [sp] - movs r0, 0x3 - adds r2, r5, 0 - movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree - ldr r0, =gUnknown_08D85358 - movs r4, 0x80 - lsls r4, 2 - movs r1, 0 - adds r2, r4, 0 - bl LoadCompressedPalette - ldr r0, =gUnknown_08D85444 - movs r1, 0x80 - lsls r1, 1 - adds r2, r4, 0 - bl LoadCompressedPalette - ldr r0, =gUnknown_08D85600 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadCompressedPalette - str r6, [sp, 0x18] - add r0, sp, 0x18 - ldr r1, =gPlttBufferFaded - ldr r2, =0x05000100 - bl CpuSet - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - ldr r1, =gTasks - mov r4, r8 - lsls r0, r4, 2 -_0819443C: - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _081948C2 - .pool -_0819447C: - ldr r0, =gUnknown_0860CF50 - bl LoadCompressedObjectPic - mov r0, r8 - lsls r0, 2 - str r0, [sp, 0x1C] - mov r1, r10 - cmp r1, 0 - bne _081944E8 - movs r5, 0 - ldr r4, =gUnknown_0860D411 -_08194492: - ldrb r1, [r4] - ldrb r2, [r4, 0x1] - ldr r0, =gUnknown_0860CFA8 - movs r3, 0 - bl CreateSprite - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x1E - bls _08194492 - ldr r0, =gTasks - ldr r1, [sp, 0x1C] - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r2, 0x10 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _081944DC - ldr r0, =gUnknown_0860D008 - movs r1, 0xDA - movs r2, 0xC - movs r3, 0 - bl CreateSprite - b _081944E8 - .pool -_081944DC: - ldr r0, =gUnknown_0860CFD8 - movs r1, 0xDA - movs r2, 0xC - movs r3, 0 - bl CreateSprite -_081944E8: - ldr r1, =0x00007f40 - movs r0, 0 - bl SetGpuReg - b _081947A6 - .pool -_081944FC: - add r0, sp, 0x4 - movs r2, 0 - movs r1, 0x2 - strb r1, [r0, 0x5] - ldr r0, =gText_BattleTourney - str r0, [sp, 0x4] - add r0, sp, 0x4 - strb r1, [r0, 0x4] - strb r2, [r0, 0x6] - strb r2, [r0, 0x7] - strb r1, [r0, 0xA] - strb r2, [r0, 0xB] - ldrb r0, [r0, 0x5] - ldr r1, [sp, 0x4] - add r2, sp, 0x4 - ldrb r3, [r2, 0xA] - movs r2, 0x70 - bl GetStringCenterAlignXOffsetWithLetterSpacing - add r1, sp, 0x4 - strb r0, [r1, 0x8] - movs r0, 0x1 - strb r0, [r1, 0x9] - adds r3, r1, 0 - ldrb r2, [r3, 0xC] - movs r1, 0x10 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3, 0xC] - adds r2, r3, 0 - movs r0, 0xE0 - strb r0, [r2, 0xC] - ldrb r0, [r2, 0xD] - ands r1, r0 - strb r1, [r2, 0xD] - adds r1, r2, 0 - movs r0, 0xD0 - strb r0, [r1, 0xD] - adds r0, r1, 0 - movs r1, 0 - movs r2, 0 - bl AddTextPrinter - mov r3, r8 - lsls r3, 2 - str r3, [sp, 0x1C] - add r4, sp, 0x4 - movs r0, 0xF - mov r9, r0 - movs r1, 0 - str r1, [sp, 0x20] - movs r2, 0 - str r2, [sp, 0x24] - movs r7, 0 - movs r5, 0xF -_0819456C: - ldr r3, =gSaveBlock2Ptr - ldr r0, [r3] - adds r0, r7 - ldr r1, =0x00000d24 - adds r0, r1 - ldrh r1, [r0] - lsls r1, 22 - lsrs r1, 22 - ldr r0, =gDisplayedStringBattle - bl sub_8195898 - mov r2, r10 - cmp r2, 0x1 - bne _081945C4 - ldr r3, =gSaveBlock2Ptr - ldr r2, [r3] - adds r0, r2, r7 - ldr r1, =0x00000d25 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 29 - cmp r0, 0 - blt _081945DC - ldr r3, =0x00000cb2 - adds r0, r2, r3 - ldrh r1, [r0] - cmp r1, 0x1 - beq _08194634 - ldr r2, [sp, 0x24] - lsrs r0, r2, 24 - subs r1, 0x2 - b _081945EA - .pool -_081945C4: - mov r3, r10 - cmp r3, 0 - bne _08194634 - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - adds r0, r2, r7 - ldr r1, =0x00000d25 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 29 - cmp r0, 0 - bge _081945FC -_081945DC: - lsls r1, 27 - lsrs r0, r1, 30 - cmp r0, 0 - beq _08194634 - subs r1, r0, 0x1 - ldr r2, [sp, 0x24] - lsrs r0, r2, 24 -_081945EA: - lsls r1, 24 - lsrs r1, 24 - bl sub_81948EC - b _08194634 - .pool -_081945FC: - ldr r3, =0x00000cb2 - adds r1, r2, r3 - ldrh r0, [r1] - cmp r0, 0 - beq _08194634 - ldr r0, [sp, 0x1C] - add r0, r8 - lsls r0, 3 - ldr r2, =gTasks - adds r0, r2 - movs r3, 0x10 - ldrsh r0, [r0, r3] - cmp r0, 0 - beq _08194624 - ldrh r1, [r1] - b _08194628 - .pool -_08194624: - ldrh r0, [r1] - subs r1, r0, 0x1 -_08194628: - ldr r2, [sp, 0x24] - lsrs r0, r2, 24 - lsls r1, 24 - lsrs r1, 24 - bl sub_81948EC -_08194634: - ldr r0, [sp, 0x1C] - add r0, r8 - lsls r0, 3 - ldr r3, =gTasks - adds r0, r3 - movs r1, 0x10 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08194660 - ldr r2, =gSaveBlock2Ptr - ldr r0, [r2] - ldr r3, =0x00000cb2 - adds r0, r3 - ldrh r3, [r0] - adds r6, r2, 0 - b _0819466E - .pool -_08194660: - ldr r1, =gSaveBlock2Ptr - ldr r0, [r1] - ldr r2, =0x00000cb2 - adds r0, r2 - ldrh r0, [r0] - subs r3, r0, 0x1 - adds r6, r1, 0 -_0819466E: - mov r0, r10 - cmp r0, 0x1 - bne _0819468E - ldr r2, [r6] - adds r0, r2, r7 - ldr r1, =0x00000d25 - adds r0, r1 - ldrb r1, [r0] - lsls r1, 27 - lsrs r1, 30 - ldr r0, =0x00000cb2 - adds r2, r0 - ldrh r0, [r2] - subs r0, 0x1 - cmp r1, r0 - blt _081946A6 -_0819468E: - mov r1, r10 - cmp r1, 0 - bne _081946FA - ldr r0, [r6] - adds r0, r7 - ldr r2, =0x00000d25 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 27 - lsrs r0, 30 - cmp r0, r3 - bgt _081946FA -_081946A6: - ldr r0, [r6] - adds r1, r0, r7 - ldr r3, =0x00000d25 - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - bge _081946FA - ldr r2, =0x00000d24 - adds r0, r1, r2 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - ldr r3, =0x000003ff - cmp r0, r3 - bne _081946F0 - ldrb r1, [r4, 0xC] - mov r0, r9 - ands r0, r1 - movs r1, 0x30 - orrs r0, r1 - strb r0, [r4, 0xC] - ldrb r1, [r4, 0xD] - mov r0, r9 - ands r0, r1 - movs r1, 0x40 - b _08194740 - .pool -_081946F0: - ldrb r1, [r4, 0xC] - mov r0, r9 - ands r0, r1 - movs r1, 0xB0 - b _08194734 -_081946FA: - ldr r0, [r6] - adds r0, r7 - ldr r1, =0x00000d24 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - ldr r2, =0x000003ff - cmp r0, r2 - bne _0819472C - ldrb r1, [r4, 0xC] - mov r0, r9 - ands r0, r1 - movs r1, 0x30 - orrs r0, r1 - strb r0, [r4, 0xC] - ldrb r1, [r4, 0xD] - mov r0, r9 - ands r0, r1 - movs r1, 0x40 - b _08194740 - .pool -_0819472C: - ldrb r1, [r4, 0xC] - mov r0, r9 - ands r0, r1 - movs r1, 0xE0 -_08194734: - orrs r0, r1 - strb r0, [r4, 0xC] - ldrb r1, [r4, 0xD] - mov r0, r9 - ands r0, r1 - movs r1, 0xD0 -_08194740: - orrs r0, r1 - strb r0, [r4, 0xD] - ldr r0, =gUnknown_0860D3F1 - ldr r3, [sp, 0x20] - adds r0, r3, r0 - ldrb r0, [r0] - cmp r0, 0 - bne _08194768 - ldrb r0, [r4, 0x5] - ldrb r3, [r4, 0xA] - ldr r1, =gDisplayedStringBattle - movs r2, 0x3D - bl GetStringWidthDifference - b _0819476A - .pool -_08194768: - movs r0, 0x3 -_0819476A: - strb r0, [r4, 0x8] - ldr r0, =gDisplayedStringBattle - str r0, [sp, 0x4] - ldr r0, =gUnknown_0860D3F1 - ldr r1, [sp, 0x20] - adds r0, r1, r0 - ldrb r0, [r0] - strb r0, [r4, 0x4] - ldr r2, =gUnknown_0860D3F2 - adds r0, r1, r2 - ldrb r0, [r0] - strb r0, [r4, 0x9] - add r0, sp, 0x4 - movs r1, 0 - movs r2, 0 - bl AddTextPrinter - ldr r3, [sp, 0x20] - adds r3, 0x2 - str r3, [sp, 0x20] - ldr r0, [sp, 0x24] - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - str r0, [sp, 0x24] - adds r7, 0x4 - subs r5, 0x1 - cmp r5, 0 - blt _081947A6 - b _0819456C -_081947A6: - ldr r0, =gTasks - ldr r1, [sp, 0x1C] - add r1, r8 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _081948C2 - .pool -_081947C8: - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x2 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0x2 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =sub_8194BEC - bl SetHBlankCallback - ldr r0, =sub_8194CE4 - bl SetVBlankCallback - cmp r4, 0x2 - bne _0819485C - mov r2, r10 - cmp r2, 0 - bne _08194844 - ldr r0, =sub_819395C - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r2 - mov r3, r10 - strh r3, [r1, 0x8] - strh r3, [r1, 0xA] - mov r4, r8 - lsls r0, r4, 2 - add r0, r8 - lsls r0, 3 - adds r0, r2 - ldrh r0, [r0, 0x10] - strh r0, [r1, 0x14] - b _08194878 - .pool -_08194844: - ldr r0, =sub_8194950 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - b _0819486C - .pool -_0819485C: - ldr r1, =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r3, 0xE - ldrsh r5, [r0, r3] -_0819486C: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] -_08194878: - bl ScanlineEffect_Clear - ldr r0, =gScanlineEffectRegBuffers - ldr r2, =0x00001f0a - movs r4, 0xF0 - lsls r4, 3 - adds r1, r0, r4 - movs r5, 0x5A -_08194888: - strh r2, [r0] - strh r2, [r1] - adds r1, 0x2 - adds r0, 0x2 - subs r5, 0x1 - cmp r5, 0 - bge _08194888 - movs r5, 0x5B - ldr r3, =gUnknown_0860CF44 - ldr r0, =gScanlineEffectRegBuffers - ldr r2, =0x00001f09 - ldr r4, =0x00000836 - adds r1, r0, r4 - adds r0, 0xB6 -_081948A4: - strh r2, [r0] - strh r2, [r1] - adds r1, 0x2 - adds r0, 0x2 - adds r5, 0x1 - cmp r5, 0x9F - ble _081948A4 - ldr r0, [r3] - ldr r1, [r3, 0x4] - ldr r2, [r3, 0x8] - bl ScanlineEffect_SetParams - mov r0, r8 - bl DestroyTask -_081948C2: - add sp, 0x28 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8194220 - - thumb_func_start sub_81948EC -sub_81948EC: @ 81948EC - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r4, =gUnknown_0860DD10 - lsls r2, r1, 2 - lsls r3, r0, 4 - adds r2, r3 - adds r2, r4 - ldr r3, [r2] - ldr r2, =gUnknown_0860DE10 - lsls r0, 2 - adds r1, r0 - adds r1, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _08194938 - movs r7, 0x1 - adds r4, r3, 0 - adds r5, r4, 0x2 - adds r6, r0, 0 -_0819491A: - ldrb r2, [r4] - ldrb r3, [r4, 0x1] - str r7, [sp] - str r7, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x1 - adds r1, r5, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - adds r4, 0x4 - adds r5, 0x4 - subs r6, 0x1 - cmp r6, 0 - bne _0819491A -_08194938: - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81948EC - - thumb_func_start sub_8194950 -sub_8194950: @ 8194950 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x4 - bls _08194974 - b _08194B3C -_08194974: - lsls r0, 2 - ldr r1, =_08194988 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08194988: - .4byte _0819499C - .4byte _081949C0 - .4byte _08194AD4 - .4byte _08194AEE - .4byte _08194B24 -_0819499C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x8] - b _08194B3C - .pool -_081949C0: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081949CE - b _08194B3C -_081949CE: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r2 - movs r2, 0 - movs r3, 0x2 - movs r1, 0x2 - strh r1, [r0, 0x8] - movs r1, 0x40 - strh r1, [r0, 0xE] - add r0, sp, 0x4 - strb r3, [r0, 0x5] - strb r2, [r0, 0x6] - strb r2, [r0, 0x7] - strb r3, [r0, 0xA] - strb r2, [r0, 0xB] - adds r3, r0, 0 - ldrb r2, [r3, 0xC] - subs r1, 0x50 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3, 0xC] - adds r2, r3, 0 - movs r0, 0xB0 - strb r0, [r2, 0xC] - ldrb r0, [r2, 0xD] - ands r1, r0 - strb r1, [r2, 0xD] - adds r1, r2, 0 - movs r0, 0xD0 - strb r0, [r1, 0xD] - movs r7, 0 - ldr r0, =gDisplayedStringBattle - mov r9, r0 - ldr r1, =gSaveBlock2Ptr - mov r8, r1 - adds r4, r2, 0 - ldr r6, =gUnknown_0860D3F1 - movs r5, 0 -_08194A1C: - mov r2, r8 - ldr r0, [r2] - adds r0, r5 - ldr r1, =0x00000d24 - adds r0, r1 - ldrh r1, [r0] - lsls r1, 22 - lsrs r1, 22 - mov r0, r9 - bl sub_8195898 - mov r0, r8 - ldr r2, [r0] - adds r0, r2, r5 - ldr r1, =0x00000d25 - adds r0, r1 - ldrb r3, [r0] - lsls r1, r3, 27 - lsrs r1, 30 - ldr r0, =0x00000cb2 - adds r2, r0 - ldrh r0, [r2] - subs r0, 0x1 - cmp r1, r0 - bne _08194A9E - lsls r0, r3, 29 - cmp r0, 0 - bge _08194A9E - ldrb r0, [r6] - cmp r0, 0 - bne _08194A84 - ldrb r0, [r4, 0x5] - ldrb r3, [r4, 0xA] - mov r1, r9 - movs r2, 0x3D - bl GetStringWidthDifference - b _08194A86 - .pool -_08194A84: - movs r0, 0x3 -_08194A86: - strb r0, [r4, 0x8] - mov r1, r9 - str r1, [sp, 0x4] - ldrb r0, [r6] - strb r0, [r4, 0x4] - ldrb r0, [r6, 0x1] - strb r0, [r4, 0x9] - add r0, sp, 0x4 - movs r1, 0 - movs r2, 0 - bl AddTextPrinter -_08194A9E: - mov r2, r8 - ldr r1, [r2] - adds r0, r1, r5 - ldr r2, =0x00000d25 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - blt _08194AC4 - subs r2, 0x73 - adds r0, r1, r2 - ldrh r1, [r0] - subs r1, 0x1 - lsls r0, r7, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - bl sub_81948EC -_08194AC4: - adds r6, 0x2 - adds r5, 0x4 - adds r7, 0x1 - cmp r7, 0xF - ble _08194A1C - b _08194B3C - .pool -_08194AD4: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r0, [r1, 0xE] - subs r0, 0x1 - strh r0, [r1, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _08194B3C - movs r0, 0x3 - strh r0, [r1, 0x8] - b _08194B3C -_08194AEE: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _08194B3C - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x4 - strh r1, [r0, 0x8] - b _08194B3C - .pool -_08194B24: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08194B3C - ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_08194B3C: - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8194950 - - thumb_func_start sub_8194B54 -sub_8194B54: @ 8194B54 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - bl RunTasks - pop {r0} - bx r0 - thumb_func_end sub_8194B54 - - thumb_func_start sub_8194B70 -sub_8194B70: @ 8194B70 - push {lr} - movs r0, 0x3 - movs r1, 0x80 - movs r2, 0x1 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0x80 - movs r2, 0x2 - bl ChangeBgY - ldr r0, =gBattle_BG0_X - ldrh r1, [r0] - movs r0, 0x10 - bl SetGpuReg - ldr r0, =gBattle_BG0_Y - ldrh r1, [r0] - movs r0, 0x12 - bl SetGpuReg - ldr r0, =gBattle_BG1_X - ldrh r1, [r0] - movs r0, 0x14 - bl SetGpuReg - ldr r0, =gBattle_BG1_Y - ldrh r1, [r0] - movs r0, 0x16 - bl SetGpuReg - ldr r0, =gBattle_BG2_X - ldrh r1, [r0] - movs r0, 0x18 - bl SetGpuReg - ldr r0, =gBattle_BG2_Y - ldrh r1, [r0] - movs r0, 0x1A - bl SetGpuReg - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - .pool - thumb_func_end sub_8194B70 - - thumb_func_start sub_8194BEC -sub_8194BEC: @ 8194BEC - push {lr} - ldr r0, =0x04000006 - ldrh r0, [r0] - adds r1, r0, 0 - cmp r0, 0x29 - bls _08194CC8 - cmp r0, 0x31 - bhi _08194C1C - ldr r1, =0x04000048 - ldr r2, =0x00003b3b - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0x8 - ldr r0, =0x989b5558 - b _08194CD4 - .pool -_08194C1C: - cmp r0, 0x39 - bls _08194CC8 - cmp r0, 0x4A - bhi _08194C40 - ldr r1, =0x04000048 - ldr r2, =0x00003b3b - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0x8 - ldr r0, =0x90985860 - b _08194CD4 - .pool -_08194C40: - cmp r0, 0x51 - bhi _08194C60 - ldr r1, =0x04000048 - ldr r2, =0x00003b3b - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0x8 - ldr r0, =0x989b5558 - b _08194CD4 - .pool -_08194C60: - cmp r0, 0x5E - bls _08194CC8 - cmp r0, 0x66 - bhi _08194C84 - ldr r1, =0x04000048 - ldr r2, =0x00003737 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0x8 - ldr r0, =0x989b5558 - b _08194CD4 - .pool -_08194C84: - cmp r0, 0x76 - bhi _08194CA4 - ldr r1, =0x04000048 - ldr r2, =0x00003737 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0x8 - ldr r0, =0x90985860 - b _08194CD4 - .pool -_08194CA4: - cmp r0, 0x7E - bls _08194CC8 - cmp r1, 0x86 - bhi _08194CC8 - ldr r1, =0x04000048 - ldr r2, =0x00003737 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0x8 - ldr r0, =0x989b5558 - b _08194CD4 - .pool -_08194CC8: - ldr r1, =0x04000048 - ldr r2, =0x00003f3f - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0x8 - movs r0, 0 -_08194CD4: - str r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8194BEC - - thumb_func_start sub_8194CE4 -sub_8194CE4: @ 8194CE4 - push {lr} - ldr r0, =gBattle_BG0_X - ldrh r1, [r0] - movs r0, 0x10 - bl SetGpuReg - ldr r0, =gBattle_BG0_Y - ldrh r1, [r0] - movs r0, 0x12 - bl SetGpuReg - ldr r0, =gBattle_BG1_X - ldrh r1, [r0] - movs r0, 0x14 - bl SetGpuReg - ldr r0, =gBattle_BG1_Y - ldrh r1, [r0] - movs r0, 0x16 - bl SetGpuReg - movs r0, 0x2 - movs r1, 0x80 - movs r2, 0x2 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0x80 - movs r2, 0x1 - bl ChangeBgY - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - bl ScanlineEffect_InitHBlankDmaTransfer - pop {r0} - bx r0 - .pool - thumb_func_end sub_8194CE4 - - thumb_func_start sub_8194D48 -sub_8194D48: @ 8194D48 - ldr r1, =gUnknown_0203BC8C - ldr r0, =gBattleFrontierMons - str r0, [r1] - ldr r1, =gUnknown_0203BC88 - ldr r0, =gBattleFrontierTrainers - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8194D48 - - thumb_func_start sub_8194D68 -sub_8194D68: @ 8194D68 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r3, 0 -_08194D76: - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r0, =gUnknown_0203CEF8 - adds r0, r3, r0 - ldrb r0, [r0] - subs r0, 0x1 - lsls r0, 1 - ldr r2, =0x00000caa - adds r1, r2 - adds r1, r0 - ldrh r0, [r1] - subs r0, 0x1 - mov r10, r0 - movs r6, 0 - adds r0, r3, 0x1 - str r0, [sp] - movs r1, 0x64 - mov r0, r10 - muls r0, r1 - movs r2, 0x8E - lsls r2, 2 - adds r2, r0 - mov r9, r2 - adds r7, r3, 0 - muls r7, r1 -_08194DA8: - movs r5, 0 - adds r0, r6, 0x1 - mov r8, r0 - b _08194DBE - .pool -_08194DBC: - adds r5, 0x1 -_08194DBE: - cmp r5, 0x3 - bgt _08194DEA - ldr r1, =gSaveBlock1Ptr - ldr r0, [r1] - add r0, r9 - adds r1, r5, 0 - adds r1, 0xD - movs r2, 0 - str r3, [sp, 0x4] - bl GetMonData - adds r4, r0, 0 - adds r1, r6, 0 - adds r1, 0xD - ldr r2, =gPlayerParty - adds r0, r7, r2 - movs r2, 0 - bl GetMonData - ldr r3, [sp, 0x4] - cmp r4, r0 - bne _08194DBC -_08194DEA: - cmp r5, 0x4 - bne _08194E00 - lsls r2, r6, 24 - lsrs r2, 24 - ldr r1, =gPlayerParty - adds r0, r7, r1 - movs r1, 0xA6 - str r3, [sp, 0x4] - bl SetMonMoveSlot - ldr r3, [sp, 0x4] -_08194E00: - mov r6, r8 - cmp r6, 0x3 - ble _08194DA8 - ldr r2, =gSaveBlock1Ptr - ldr r0, [r2] - movs r2, 0x64 - mov r1, r10 - muls r1, r2 - adds r0, r1 - movs r1, 0x8E - lsls r1, 2 - adds r0, r1 - adds r1, r3, 0 - muls r1, r2 - ldr r2, =gPlayerParty - adds r1, r2 - movs r2, 0x64 - bl memcpy - ldr r3, [sp] - cmp r3, 0x1 - ble _08194D76 - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8194D68 - - thumb_func_start sub_8194E44 -sub_8194E44: @ 8194E44 - push {r4-r7,lr} - sub sp, 0x4 - movs r4, 0 - ldr r7, =gSaveBlock1Ptr - movs r6, 0x64 - movs r5, 0 -_08194E50: - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r0, =gUnknown_0203CEF8 - adds r0, r4, r0 - ldrb r0, [r0] - subs r0, 0x1 - lsls r0, 1 - ldr r2, =0x00000caa - adds r1, r2 - adds r1, r0 - ldrh r0, [r1] - subs r0, 0x1 - adds r1, r0, 0 - muls r1, r6 - movs r0, 0x8E - lsls r0, 2 - adds r1, r0 - ldr r0, [r7] - adds r0, r1 - movs r1, 0xC - movs r2, 0 - bl GetMonData - mov r1, sp - strh r0, [r1] - ldr r0, =gPlayerParty - adds r0, r5, r0 - movs r1, 0xC - mov r2, sp - bl SetMonData - adds r5, 0x64 - adds r4, 0x1 - cmp r4, 0x1 - ble _08194E50 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8194E44 - - thumb_func_start sub_8194EB4 -sub_8194EB4: @ 8194EB4 - push {lr} - bl sub_80F94E8 - pop {r0} - bx r0 - thumb_func_end sub_8194EB4 - - thumb_func_start sub_8194EC0 -sub_8194EC0: @ 8194EC0 - push {r4,lr} - ldr r0, =gTrainerBattleOpponent_A - ldrh r0, [r0] - bl sub_8195358 - adds r4, r0, 0 - ldr r0, =0x000003ff - bl sub_8195358 - cmp r4, r0 - ble _08194EE8 - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - b _08194EEC - .pool -_08194EE8: - ldr r1, =gSpecialVar_Result - movs r0, 0x2 -_08194EEC: - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8194EC0 - - thumb_func_start sub_8194EF8 -sub_8194EF8: @ 8194EF8 - push {r4,lr} - bl sub_8194D48 - movs r2, 0 - ldr r3, =gSaveBlock2Ptr - ldr r0, [r3] - ldr r1, =0x00000d25 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - bge _08194F2A - adds r4, r3, 0 - adds r3, r1, 0 -_08194F14: - adds r2, 0x1 - cmp r2, 0xF - bgt _08194F2A - ldr r0, [r4] - lsls r1, r2, 2 - adds r0, r1 - adds r0, r3 - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - blt _08194F14 -_08194F2A: - ldr r0, =gStringVar1 - ldr r1, =gSaveBlock2Ptr - ldr r1, [r1] - lsls r2, 2 - adds r1, r2 - ldr r2, =0x00000d24 - adds r1, r2 - ldrh r1, [r1] - lsls r1, 22 - lsrs r1, 22 - bl sub_8195898 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8194EF8 - - thumb_func_start sub_8194F58 -sub_8194F58: @ 8194F58 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x40 - movs r0, 0 - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r0, [sp, 0x10] - ldr r4, =gSaveBlock2Ptr - ldr r2, [r4] - ldr r5, =0x00000d0a - adds r0, r2, r5 - ldrb r1, [r0] - ldr r6, =0x00000d0b - adds r0, r2, r6 - ldrb r0, [r0] - cmn r1, r0 - beq _08194F8C - ldr r1, =0x00000ca8 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08194F8C - b _0819533E -_08194F8C: - movs r0, 0x20 - bl AllocZeroed - str r0, [sp, 0x18] - movs r0, 0x18 - bl AllocZeroed - str r0, [sp, 0x1C] - ldr r1, [r4] - ldr r2, =0x00000ca9 - adds r1, r2 - ldrb r2, [r1] - lsls r0, r2, 30 - lsrs r0, 30 - str r0, [sp, 0x14] - movs r0, 0x4 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r0, [r4] - movs r1, 0x1 - adds r0, r5 - strb r1, [r0] - ldr r0, [r4] - adds r0, r6 - strb r1, [r0] - movs r3, 0 - mov r10, r3 - movs r4, 0 - str r4, [sp, 0x38] - movs r5, 0 - str r5, [sp, 0x3C] -_08194FCC: - mov r0, r10 - cmp r0, 0x4 - bgt _08194FFC - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - lsrs r4, r0, 16 - b _08195030 - .pool -_08194FFC: - mov r1, r10 - cmp r1, 0xE - bgt _0819501A - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x14 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - adds r4, r0, 0 - adds r4, 0xA - b _08195030 -_0819501A: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - adds r4, r0, 0 - adds r4, 0x1E -_08195030: - movs r6, 0 - cmp r6, r10 - bge _08195064 - ldr r2, =gSaveBlock2Ptr - ldr r0, [r2] - ldr r3, =0x00000d24 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - cmp r0, r4 - beq _08195064 - adds r3, r2, 0 - ldr r2, =0x00000d24 -_0819504C: - adds r6, 0x1 - cmp r6, r10 - bge _08195064 - ldr r0, [r3] - lsls r1, r6, 2 - adds r0, r1 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - cmp r0, r4 - bne _0819504C -_08195064: - cmp r6, r10 - bne _08194FCC - ldr r5, =gSaveBlock2Ptr - ldr r3, [r5] - ldr r0, [sp, 0x38] - adds r3, r0 - ldr r1, =0x00000d24 - adds r3, r1 - ldr r2, =0x000003ff - adds r0, r2, 0 - adds r2, r4, 0 - ands r2, r0 - ldrh r0, [r3] - ldr r5, =0xfffffc00 - adds r1, r5, 0 - ands r0, r1 - orrs r0, r2 - strh r0, [r3] - movs r6, 0 - lsls r4, 16 - str r4, [sp, 0x30] - ldr r0, [sp, 0x3C] - str r0, [sp, 0x20] -_08195092: - adds r1, r6, 0x1 - str r1, [sp, 0x24] - lsls r2, r6, 2 - str r2, [sp, 0x2C] - lsls r3, r6, 1 - str r3, [sp, 0x28] -_0819509E: - ldr r4, [sp, 0x30] - lsrs r0, r4, 16 - bl sub_8163524 - lsls r0, 16 - lsrs r5, r0, 16 - movs r7, 0 - cmp r7, r6 - bge _081950F4 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =gUnknown_0203BC8C - mov r9, r1 - ldr r2, [sp, 0x8] - mov r8, r2 - ldr r3, [sp, 0xC] - mov r12, r3 - ldr r4, =0x00000d64 - adds r0, r4 - ldr r1, [sp, 0x20] - adds r4, r1, r0 -_081950C8: - ldrh r3, [r4] - cmp r3, r5 - beq _081950F4 - mov r2, r9 - ldr r1, [r2] - lsls r0, r5, 4 - adds r2, r0, r1 - ldrh r0, [r2] - cmp r8, r0 - beq _081950F4 - cmp r12, r0 - beq _081950F4 - lsls r0, r3, 4 - adds r0, r1 - ldrb r0, [r0, 0xA] - ldrb r2, [r2, 0xA] - cmp r0, r2 - beq _081950F4 - adds r4, 0x2 - adds r7, 0x1 - cmp r7, r6 - blt _081950C8 -_081950F4: - cmp r7, r6 - bne _0819509E - ldr r3, =gSaveBlock2Ptr - ldr r0, [r3] - ldr r4, [sp, 0x28] - ldr r2, [sp, 0x3C] - adds r1, r4, r2 - ldr r3, =0x00000d64 - adds r0, r3 - adds r0, r1 - strh r5, [r0] - ldr r2, [sp, 0x2C] - add r2, sp - adds r2, 0x8 - ldr r3, =gUnknown_0203BC8C - ldr r1, [r3] - lsls r0, r5, 4 - adds r0, r1 - ldrh r0, [r0] - str r0, [r2] - ldr r6, [sp, 0x24] - cmp r6, 0x2 - ble _08195092 - ldr r4, =gSaveBlock2Ptr - ldr r2, [r4] - ldr r5, [sp, 0x38] - adds r2, r5 - ldr r0, =0x00000d25 - adds r2, r0 - ldrb r0, [r2] - movs r4, 0x5 - negs r4, r4 - adds r1, r4, 0 - ands r0, r1 - strb r0, [r2] - ldr r5, =gSaveBlock2Ptr - ldr r2, [r5] - ldr r0, [sp, 0x38] - adds r2, r0 - ldr r1, =0x00000d25 - adds r2, r1 - ldrb r0, [r2] - subs r4, 0x14 - adds r1, r4, 0 - ands r0, r1 - strb r0, [r2] - ldr r1, [r5] - ldr r5, [sp, 0x38] - adds r1, r5 - ldr r0, =0x00000d25 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x1F - ands r0, r2 - strb r0, [r1] - adds r5, 0x4 - str r5, [sp, 0x38] - ldr r1, [sp, 0x3C] - adds r1, 0x6 - str r1, [sp, 0x3C] - movs r2, 0x1 - add r10, r2 - mov r4, r10 - cmp r4, 0xF - bgt _08195178 - b _08194FCC -_08195178: - movs r5, 0 - mov r10, r5 - ldr r5, [sp, 0x18] - movs r0, 0 - str r0, [sp, 0x34] -_08195182: - movs r7, 0 - strh r7, [r5] - ldr r1, =gSaveBlock2Ptr - ldr r0, [r1] - mov r2, r10 - lsls r1, r2, 2 - adds r0, r1 - ldr r3, =0x00000d24 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - bl sub_8190168 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r6, 0 - ldr r4, [sp, 0x34] - mov r9, r4 -_081951AA: - ldr r1, =gSaveBlock2Ptr - ldr r0, [r1] - mov r4, r9 - add r4, r10 - adds r4, r6 - lsls r4, 1 - ldr r2, =0x00000d64 - adds r0, r2 - adds r0, r4 - ldrh r1, [r0] - ldr r3, =gUnknown_0203BC8C - ldr r0, [r3] - lsls r1, 4 - adds r1, r0 - ldrh r0, [r1] - ldrb r3, [r1, 0xB] - ldrb r1, [r1, 0xC] - str r1, [sp] - ldr r1, [sp, 0x1C] - str r1, [sp, 0x4] - movs r1, 0x32 - mov r2, r8 - bl sub_818F720 - ldr r2, [sp, 0x1C] - ldr r1, [r2, 0x4] - ldrh r0, [r5] - adds r0, r1 - ldr r1, [r2, 0x8] - adds r0, r1 - ldr r1, [r2, 0x10] - adds r0, r1 - ldr r1, [r2, 0x14] - adds r0, r1 - ldr r1, [r2, 0xC] - adds r0, r1 - ldr r1, [r2] - adds r0, r1 - strh r0, [r5] - ldr r3, =gSaveBlock2Ptr - ldr r0, [r3] - ldr r1, =0x00000d64 - adds r0, r1 - adds r0, r4 - ldrh r0, [r0] - ldr r2, =gUnknown_0203BC8C - ldr r1, [r2] - lsls r0, 4 - adds r0, r1 - ldrh r0, [r0] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r3, =gBaseStats - adds r1, r3 - ldrb r0, [r1, 0x6] - lsls r0, 2 - ldr r4, =gBitTable - adds r0, r4 - ldr r0, [r0] - orrs r7, r0 - ldrb r0, [r1, 0x7] - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - orrs r7, r0 - adds r6, 0x1 - cmp r6, 0x2 - ble _081951AA - movs r4, 0 - movs r1, 0x1 - movs r6, 0x1F -_0819523A: - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _08195244 - adds r4, 0x1 -_08195244: - asrs r7, 1 - subs r6, 0x1 - cmp r6, 0 - bge _0819523A - movs r1, 0x32 - adds r0, r4, 0 - muls r0, r1 - movs r1, 0x14 - bl __divsi3 - ldrh r1, [r5] - adds r1, r0 - strh r1, [r5] - adds r5, 0x2 - ldr r2, [sp, 0x34] - adds r2, 0x2 - str r2, [sp, 0x34] - movs r3, 0x1 - add r10, r3 - mov r4, r10 - cmp r4, 0xF - ble _08195182 - movs r5, 0 - mov r10, r5 - ldr r7, [sp, 0x18] -_08195276: - mov r6, r10 - adds r6, 0x1 - cmp r6, 0xF - bgt _081952F8 - mov r8, r7 - ldr r5, =0x00000d24 - lsls r0, r6, 1 - ldr r1, [sp, 0x18] - adds r4, r0, r1 -_08195288: - mov r2, r8 - ldrh r1, [r2] - ldrh r0, [r4] - cmp r1, r0 - bcs _081952C4 - mov r0, r10 - adds r1, r6, 0 - ldr r2, [sp, 0x18] - bl sub_818F904 - b _081952F0 - .pool -_081952C4: - cmp r1, r0 - bne _081952F0 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - mov r3, r10 - lsls r0, r3, 2 - adds r0, r1, r0 - adds r0, r5 - ldrh r2, [r0] - lsls r2, 22 - lsls r0, r6, 2 - adds r1, r0 - adds r1, r5 - ldrh r0, [r1] - lsls r0, 22 - cmp r2, r0 - bls _081952F0 - mov r0, r10 - adds r1, r6, 0 - ldr r2, [sp, 0x18] - bl sub_818F904 -_081952F0: - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0xF - ble _08195288 -_081952F8: - adds r7, 0x2 - movs r4, 0x1 - add r10, r4 - mov r5, r10 - cmp r5, 0xE - ble _08195276 - ldr r0, [sp, 0x18] - bl Free - ldr r0, [sp, 0x1C] - bl Free - movs r0, 0 - mov r10, r0 -_08195314: - mov r1, r10 - lsls r0, r1, 24 - lsrs r0, 24 - bl sub_8195438 - movs r2, 0x1 - add r10, r2 - mov r3, r10 - cmp r3, 0x3 - ble _08195314 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r4, =0x00000ca9 - adds r1, r4 - ldrb r2, [r1] - movs r0, 0x4 - negs r0, r0 - ands r0, r2 - ldr r5, [sp, 0x14] - orrs r0, r5 - strb r0, [r1] -_0819533E: - add sp, 0x40 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8194F58 - - thumb_func_start sub_8195358 -sub_8195358: @ 8195358 - push {r4,r5,lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r4, =gSaveBlock2Ptr - ldr r0, [r4] - ldr r1, =0x00000d24 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - cmp r0, r3 - beq _0819538E - adds r5, r4, 0 - adds r4, r1, 0 -_08195376: - adds r2, 0x1 - cmp r2, 0xF - bgt _0819538E - ldr r0, [r5] - lsls r1, r2, 2 - adds r0, r1 - adds r0, r4 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - cmp r0, r3 - bne _08195376 -_0819538E: - adds r0, r2, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8195358 - - thumb_func_start sub_81953A0 -sub_81953A0: @ 81953A0 - push {r4,r5,lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r4, =gSaveBlock2Ptr - ldr r0, [r4] - ldr r1, =0x00000d24 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - cmp r0, r3 - beq _081953D6 - adds r5, r4, 0 - adds r4, r1, 0 -_081953BE: - adds r2, 0x1 - cmp r2, 0xF - bgt _081953D6 - ldr r0, [r5] - lsls r1, r2, 2 - adds r0, r1 - adds r0, r4 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - cmp r0, r3 - bne _081953BE -_081953D6: - adds r0, r2, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81953A0 - - thumb_func_start sub_81953E8 -sub_81953E8: @ 81953E8 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gUnknown_0860D1A0 - ldr r0, =gUnknown_0860D1C0 - adds r0, r4, r0 - ldrb r0, [r0] - lsrs r0, 1 - lsls r0, 2 - adds r1, r0 - adds r1, r2 - ldrb r0, [r1] - subs r0, 0x10 - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - bl sub_8192F08 - mov r0, sp - ldrb r0, [r0] - cmp r4, r0 - beq _0819542C - mov r0, sp - ldrb r0, [r0] - b _08195430 - .pool -_0819542C: - mov r0, sp - ldrb r0, [r0, 0x1] -_08195430: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81953E8 - - thumb_func_start sub_8195438 -sub_8195438: @ 8195438 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x40 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0xC] - movs r1, 0 - str r1, [sp, 0x10] - movs r5, 0 - movs r1, 0x3 - ldr r0, [sp] - ands r0, r1 - lsls r0, 3 - str r0, [sp, 0x14] -_0819545E: - ldr r2, =gSaveBlock2Ptr - ldr r0, [r2] - lsls r4, r5, 2 - adds r1, r0, r4 - ldr r3, =0x00000d25 - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, 29 - adds r2, r5, 0x1 - str r2, [sp, 0x24] - cmp r0, 0 - bge _08195478 - b _08195876 -_08195478: - subs r3, 0x1 - adds r0, r1, r3 - ldrh r0, [r0] - lsls r1, r0, 22 - ldr r0, =0xffc00000 - cmp r1, r0 - bne _08195488 - b _08195876 -_08195488: - str r5, [sp, 0x4] - lsrs r1, 22 - ldr r0, [sp] - bl sub_81901A0 - str r0, [sp, 0x8] - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - adds r0, r3, r4 - ldr r1, =0x00000d24 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 22 - ldr r1, =0xff800000 - cmp r0, r1 - bne _08195504 - ldr r2, [sp, 0x8] - cmp r2, 0xFF - beq _08195504 - lsls r2, 2 - adds r1, r3, r2 - ldr r3, =0x00000d25 - adds r1, r3 - ldrb r0, [r1] - movs r3, 0x4 - orrs r0, r3 - strb r0, [r1] - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r1, r2 - ldr r2, =0x00000d25 - adds r1, r2 - ldrb r0, [r1] - subs r3, 0x1D - ands r0, r3 - ldr r2, [sp, 0x14] - orrs r0, r2 - strb r0, [r1] - adds r0, r5, 0 - ldr r1, [sp, 0x8] - ldr r2, [sp] - bl sub_8193ED0 - ldr r3, =gSaveBlock2Ptr - ldr r1, [r3] - ldr r5, [sp, 0x8] - lsls r2, r5, 1 - movs r3, 0xEC - lsls r3, 4 - adds r1, r3 - adds r1, r2 - b _08195874 - .pool -_08195504: - ldr r4, =gSaveBlock2Ptr - ldr r3, [r4] - ldr r0, [sp, 0x8] - lsls r2, r0, 2 - adds r0, r3, r2 - ldr r1, =0x00000d24 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 22 - ldr r1, =0xff800000 - str r2, [sp, 0x30] - cmp r0, r1 - bne _0819557C - ldr r2, [sp, 0x4] - cmp r2, 0xFF - beq _0819557C - lsls r2, 2 - adds r1, r3, r2 - ldr r3, =0x00000d25 - adds r1, r3 - ldrb r0, [r1] - movs r3, 0x4 - orrs r0, r3 - strb r0, [r1] - ldr r1, [r4] - adds r1, r2 - ldr r0, =0x00000d25 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x19 - negs r2, r2 - ands r0, r2 - ldr r3, [sp, 0x14] - orrs r0, r3 - strb r0, [r1] - ldr r0, [sp, 0x8] - ldr r1, [sp, 0x4] - ldr r2, [sp] - bl sub_8193ED0 - ldr r1, [r4] - ldr r3, [sp, 0x4] - lsls r2, r3, 1 - movs r3, 0xEC - lsls r3, 4 - adds r1, r3 - adds r1, r2 - strh r0, [r1] - adds r5, 0x1 - str r5, [sp, 0x24] - b _08195876 - .pool -_0819557C: - adds r5, 0x1 - str r5, [sp, 0x24] - ldr r5, [sp, 0x8] - cmp r5, 0xFF - bne _08195588 - b _08195876 -_08195588: - movs r0, 0 - mov r10, r0 - lsls r1, r5, 1 - str r1, [sp, 0x2C] - ldr r2, [sp, 0x4] - lsls r2, 1 - str r2, [sp, 0x28] - ldr r3, [sp, 0x4] - adds r0, r2, r3 - lsls r0, 1 - mov r9, r0 - adds r0, r1, r5 - lsls r0, 1 - str r0, [sp, 0x18] -_081955A4: - movs r5, 0 - mov r0, r9 - str r0, [sp, 0x38] -_081955AA: - movs r6, 0 - lsls r7, r5, 1 - ldr r4, [sp, 0x18] -_081955B0: - ldr r2, =gSaveBlock2Ptr - ldr r1, [r2] - ldr r3, =0x00000d64 - adds r1, r3 - ldr r2, [sp, 0x38] - adds r0, r1, r2 - ldrh r0, [r0] - ldr r3, =gUnknown_0203BC8C - mov r8, r3 - ldr r2, [r3] - lsls r0, 4 - adds r0, r2 - adds r0, 0x2 - adds r0, r7 - ldrh r0, [r0] - adds r1, r4 - ldrh r1, [r1] - lsls r1, 4 - adds r1, r2 - ldrh r1, [r1] - movs r2, 0x2 - bl sub_818FFC0 - ldr r1, [sp, 0xC] - adds r1, r0 - str r1, [sp, 0xC] - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x2 - ble _081955B0 - adds r5, 0x1 - cmp r5, 0x3 - ble _081955AA - ldr r2, =gSaveBlock2Ptr - ldr r0, [r2] - ldr r3, =0x00000d64 - adds r0, r3 - add r0, r9 - ldrh r0, [r0] - mov r5, r8 - ldr r1, [r5] - lsls r0, 4 - adds r0, r1 - ldrh r2, [r0] - ldr r0, =gBaseStats - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - ldrb r2, [r1, 0x1] - adds r0, r2 - ldrb r2, [r1, 0x2] - adds r0, r2 - ldrb r2, [r1, 0x3] - adds r0, r2 - ldrb r3, [r1, 0x4] - adds r0, r3 - ldrb r1, [r1, 0x5] - adds r0, r1 - movs r1, 0xA - bl __divsi3 - ldr r5, [sp, 0xC] - adds r5, r0 - str r5, [sp, 0xC] - movs r0, 0x2 - add r9, r0 - movs r1, 0x1 - add r10, r1 - mov r2, r10 - cmp r2, 0x2 - ble _081955A4 - bl Random - movs r1, 0x1F - ands r1, r0 - adds r5, r1 - ldr r3, [sp, 0x4] - adds r5, r3 - str r5, [sp, 0xC] - movs r5, 0 - mov r10, r5 - ldr r1, [sp, 0x2C] - ldr r2, [sp, 0x8] - adds r0, r1, r2 - lsls r0, 1 - str r0, [sp, 0x1C] - ldr r5, [sp, 0x28] - adds r0, r5, r3 - lsls r0, 1 - str r0, [sp, 0x20] -_08195668: - movs r5, 0 - mov r0, r10 - lsls r3, r0, 1 - movs r1, 0x1 - add r10, r1 - ldr r2, [sp, 0x1C] - adds r2, r3 - mov r8, r2 -_08195678: - movs r6, 0 - lsls r7, r5, 1 - adds r5, 0x1 - str r5, [sp, 0x3C] - ldr r4, [sp, 0x20] -_08195682: - ldr r5, =gSaveBlock2Ptr - ldr r1, [r5] - ldr r0, =0x00000d64 - adds r1, r0 - mov r2, r8 - adds r0, r1, r2 - ldrh r0, [r0] - ldr r5, =gUnknown_0203BC8C - mov r9, r5 - ldr r2, [r5] - lsls r0, 4 - adds r0, r2 - adds r0, 0x2 - adds r0, r7 - ldrh r0, [r0] - adds r1, r4 - ldrh r1, [r1] - lsls r1, 4 - adds r1, r2 - ldrh r1, [r1] - movs r2, 0x2 - str r3, [sp, 0x34] - bl sub_818FFC0 - ldr r1, [sp, 0x10] - adds r1, r0 - str r1, [sp, 0x10] - adds r4, 0x2 - adds r6, 0x1 - ldr r3, [sp, 0x34] - cmp r6, 0x2 - ble _08195682 - ldr r5, [sp, 0x3C] - cmp r5, 0x3 - ble _08195678 - ldr r2, =gSaveBlock2Ptr - ldr r0, [r2] - ldr r5, [sp, 0x1C] - adds r1, r3, r5 - ldr r2, =0x00000d64 - adds r0, r2 - adds r0, r1 - ldrh r0, [r0] - mov r3, r9 - ldr r1, [r3] - lsls r0, 4 - adds r0, r1 - ldrh r2, [r0] - ldr r0, =gBaseStats - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - ldrb r2, [r1, 0x1] - adds r0, r2 - ldrb r5, [r1, 0x2] - adds r0, r5 - ldrb r2, [r1, 0x3] - adds r0, r2 - ldrb r2, [r1, 0x4] - adds r0, r2 - ldrb r1, [r1, 0x5] - adds r0, r1 - movs r1, 0xA - bl __divsi3 - ldr r3, [sp, 0x10] - adds r3, r0 - str r3, [sp, 0x10] - mov r5, r10 - cmp r5, 0x2 - ble _08195668 - bl Random - movs r1, 0x1F - ands r1, r0 - ldr r0, [sp, 0x10] - adds r0, r1 - ldr r1, [sp, 0x8] - adds r0, r1 - str r0, [sp, 0x10] - ldr r2, [sp, 0xC] - cmp r2, r0 - ble _08195784 - ldr r3, =gSaveBlock2Ptr - ldr r1, [r3] - ldr r5, [sp, 0x30] - adds r1, r5 - ldr r0, =0x00000d25 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r1, [r3] - adds r1, r5 - ldr r3, =0x00000d25 - adds r1, r3 - ldrb r0, [r1] - movs r5, 0x19 - negs r5, r5 - ands r0, r5 - ldr r2, [sp, 0x14] - orrs r0, r2 - strb r0, [r1] - ldr r0, [sp, 0x4] - ldr r1, [sp, 0x8] - ldr r2, [sp] - bl sub_8193ED0 - ldr r3, =gSaveBlock2Ptr - ldr r1, [r3] - movs r5, 0xEC - lsls r5, 4 - adds r1, r5 - ldr r2, [sp, 0x2C] - adds r1, r2 - b _08195874 - .pool -_08195784: - ldr r3, [sp, 0xC] - ldr r5, [sp, 0x10] - cmp r3, r5 - bge _081957DC - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r3, [sp, 0x4] - lsls r2, r3, 2 - adds r1, r2 - ldr r5, =0x00000d25 - adds r1, r5 - ldrb r0, [r1] - movs r3, 0x4 - orrs r0, r3 - strb r0, [r1] - ldr r5, =gSaveBlock2Ptr - ldr r1, [r5] - adds r1, r2 - ldr r0, =0x00000d25 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x19 - negs r2, r2 - ands r0, r2 - ldr r3, [sp, 0x14] - orrs r0, r3 - strb r0, [r1] - ldr r0, [sp, 0x8] - ldr r1, [sp, 0x4] - ldr r2, [sp] - bl sub_8193ED0 - ldr r1, [r5] - movs r5, 0xEC - lsls r5, 4 - adds r1, r5 - ldr r2, [sp, 0x28] - adds r1, r2 - b _08195874 - .pool -_081957DC: - ldr r3, [sp, 0x4] - ldr r5, [sp, 0x8] - cmp r3, r5 - ble _08195830 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r2, [sp, 0x30] - adds r1, r2 - ldr r3, =0x00000d25 - adds r1, r3 - ldrb r0, [r1] - movs r5, 0x4 - orrs r0, r5 - strb r0, [r1] - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r1, r2 - adds r1, r3 - ldrb r0, [r1] - movs r2, 0x19 - negs r2, r2 - ands r0, r2 - ldr r3, [sp, 0x14] - orrs r0, r3 - strb r0, [r1] - ldr r0, [sp, 0x4] - ldr r1, [sp, 0x8] - ldr r2, [sp] - bl sub_8193ED0 - ldr r5, =gSaveBlock2Ptr - ldr r1, [r5] - movs r2, 0xEC - lsls r2, 4 - adds r1, r2 - ldr r3, [sp, 0x2C] - b _08195872 - .pool -_08195830: - ldr r5, =gSaveBlock2Ptr - ldr r1, [r5] - ldr r0, [sp, 0x4] - lsls r2, r0, 2 - adds r1, r2 - ldr r3, =0x00000d25 - adds r1, r3 - ldrb r0, [r1] - movs r5, 0x4 - orrs r0, r5 - strb r0, [r1] - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r1, r2 - adds r1, r3 - ldrb r0, [r1] - movs r2, 0x19 - negs r2, r2 - ands r0, r2 - ldr r3, [sp, 0x14] - orrs r0, r3 - strb r0, [r1] - ldr r0, [sp, 0x8] - ldr r1, [sp, 0x4] - ldr r2, [sp] - bl sub_8193ED0 - ldr r5, =gSaveBlock2Ptr - ldr r1, [r5] - movs r2, 0xEC - lsls r2, 4 - adds r1, r2 - ldr r3, [sp, 0x28] -_08195872: - adds r1, r3 -_08195874: - strh r0, [r1] -_08195876: - ldr r5, [sp, 0x24] - cmp r5, 0xF - bgt _0819587E - b _0819545E -_0819587E: - add sp, 0x40 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8195438 - - thumb_func_start sub_8195898 -sub_8195898: @ 8195898 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - movs r4, 0 - bl sub_8165C40 - ldr r0, =0x000003fe - cmp r5, r0 - bne _081958B8 - adds r0, r6, 0 - bl sub_8195938 - b _08195902 - .pool -_081958B8: - ldr r0, =0x000003ff - cmp r5, r0 - bne _081958DC - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] -_081958C2: - adds r0, r6, r4 - adds r1, r2, r4 - ldrb r1, [r1] - strb r1, [r0] - adds r4, 0x1 - cmp r4, 0x6 - ble _081958C2 - b _081958FC - .pool -_081958DC: - ldr r0, =0x0000012b - cmp r5, r0 - bhi _081958FC - ldr r0, =gUnknown_0203BC88 - ldr r1, [r0] - movs r0, 0x34 - muls r0, r5 - adds r0, r1 - adds r2, r0, 0x4 -_081958EE: - adds r0, r6, r4 - adds r1, r2, r4 - ldrb r1, [r1] - strb r1, [r0] - adds r4, 0x1 - cmp r4, 0x6 - ble _081958EE -_081958FC: - adds r1, r6, r4 - movs r0, 0xFF - strb r0, [r1] -_08195902: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8195898 - - thumb_func_start sub_8195910 -sub_8195910: @ 8195910 - ldr r0, =gTrainers - ldr r1, =0x00007df3 - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_8195910 - - thumb_func_start sub_8195924 -sub_8195924: @ 8195924 - ldr r0, =gTrainers - ldr r1, =0x00007df1 - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_8195924 - - thumb_func_start sub_8195938 -sub_8195938: @ 8195938 - push {r4,lr} - adds r3, r0, 0 - movs r2, 0 - ldr r4, =(gTrainers + 806 * 0x28 + 0x4) @ TRAINER_TUCKER name -_08195940: - adds r0, r3, r2 - adds r1, r2, r4 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x6 - ble _08195940 - adds r1, r3, r2 - movs r0, 0xFF - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8195938 - - thumb_func_start sub_8195960 -sub_8195960: @ 8195960 - push {lr} - ldr r1, =gUnknown_0860DE50 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8195960 - - thumb_func_start sub_8195980 -sub_8195980: @ 8195980 - push {r4-r7,lr} - ldr r4, =gSaveBlock2Ptr - ldr r0, [r4] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r5, r0, 30 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, [r4] - ldr r2, =0x00000ca8 - adds r0, r2 - movs r6, 0 - strb r6, [r0] - ldr r1, [r4] - adds r2, 0xA - adds r0, r1, r2 - strh r6, [r0] - ldr r0, =0x00000ca9 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r1, [r4] - ldr r2, =0x00000ca9 - adds r1, r2 - ldrb r2, [r1] - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r4, [r4] - ldr r0, =0x00000cdc - adds r3, r4, r0 - ldr r2, =gUnknown_0860DE98 - lsls r1, r5, 2 - lsls r0, r7, 3 - adds r1, r0 - adds r1, r2 - ldr r0, [r3] - ldr r1, [r1] - ands r0, r1 - cmp r0, 0 - bne _081959F2 - lsls r0, r5, 1 - lsls r1, r7, 2 - adds r0, r1 - ldr r2, =0x00000dc8 - adds r1, r4, r2 - adds r1, r0 - strh r6, [r1] -_081959F2: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x4 - ldrsb r1, [r0, r1] - movs r2, 0x5 - ldrsb r2, [r0, r2] - movs r3, 0x1 - negs r3, r3 - movs r0, 0 - bl saved_warp2_set - ldr r0, =gTrainerBattleOpponent_A - strh r6, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8195980 - - thumb_func_start sub_8195A38 -sub_8195A38: @ 8195A38 - push {r4-r7,lr} - ldr r5, =gSaveBlock2Ptr - ldr r0, [r5] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r7, r0, 30 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0x1 - beq _08195A90 - cmp r0, 0x1 - bgt _08195A74 - cmp r0, 0 - beq _08195A7A - b _08195AD0 - .pool -_08195A74: - cmp r0, 0x2 - beq _08195AB0 - b _08195AD0 -_08195A7A: - ldr r0, =gSpecialVar_Result - ldr r1, [r5] - ldr r2, =0x00000dc6 - adds r1, r2 - ldrh r1, [r1] - strh r1, [r0] - b _08195AD0 - .pool -_08195A90: - ldr r3, =gSpecialVar_Result - ldr r0, [r5] - lsls r1, r7, 1 - lsls r2, r6, 2 - adds r1, r2 - ldr r2, =0x00000dc8 - adds r0, r2 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r3] - b _08195AD0 - .pool -_08195AB0: - ldr r4, =gSpecialVar_Result - ldr r2, [r5] - ldr r0, =0x00000cdc - adds r2, r0 - ldr r3, =gUnknown_0860DE98 - lsls r0, r7, 2 - lsls r1, r6, 3 - adds r0, r1 - adds r0, r3 - ldr r1, [r2] - ldr r0, [r0] - ands r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - strh r0, [r4] -_08195AD0: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8195A38 - - thumb_func_start sub_8195AE4 -sub_8195AE4: @ 8195AE4 - push {r4-r6,lr} - ldr r6, =gSaveBlock2Ptr - ldr r0, [r6] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r5, r0, 30 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0x1 - beq _08195B3C - cmp r0, 0x1 - bgt _08195B20 - cmp r0, 0 - beq _08195B26 - b _08195BA0 - .pool -_08195B20: - cmp r0, 0x2 - beq _08195B5C - b _08195BA0 -_08195B26: - ldr r0, [r6] - ldr r1, =gSpecialVar_0x8006 - ldrh r1, [r1] - ldr r2, =0x00000dc6 - adds r0, r2 - strh r1, [r0] - b _08195BA0 - .pool -_08195B3C: - ldr r2, [r6] - lsls r0, r5, 1 - lsls r1, r4, 2 - adds r0, r1 - ldr r1, =0x00000dc8 - adds r2, r1 - adds r2, r0 - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - strh r0, [r2] - b _08195BA0 - .pool -_08195B5C: - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - cmp r0, 0 - beq _08195B88 - ldr r2, [r6] - ldr r0, =0x00000cdc - adds r2, r0 - ldr r3, =gUnknown_0860DE98 - lsls r1, r5, 2 - lsls r0, r4, 3 - adds r1, r0 - adds r1, r3 - ldr r0, [r2] - ldr r1, [r1] - orrs r0, r1 - b _08195B9E - .pool -_08195B88: - ldr r2, [r6] - ldr r1, =0x00000cdc - adds r2, r1 - ldr r3, =gUnknown_0860DEA8 - lsls r1, r5, 2 - lsls r0, r4, 3 - adds r1, r0 - adds r1, r3 - ldr r0, [r2] - ldr r1, [r1] - ands r0, r1 -_08195B9E: - str r0, [r2] -_08195BA0: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8195AE4 - - thumb_func_start sub_8195BB0 -sub_8195BB0: @ 8195BB0 - push {r4,lr} - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - ldr r1, =gSaveBlock2Ptr - ldr r2, [r1] - ldr r3, =0x00000ca9 - adds r1, r2, r3 - ldrb r1, [r1] - lsls r1, 30 - lsrs r1, 29 - lsrs r0, 14 - adds r1, r0 - ldr r0, =0x00000dc8 - adds r2, r0 - adds r2, r1 - ldrh r0, [r2] - cmp r0, 0x31 - bhi _08195C00 - ldr r4, =gSpecialVar_Result - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - strh r0, [r4] - b _08195C16 - .pool -_08195C00: - cmp r0, 0x62 - bhi _08195C10 - ldr r1, =gSpecialVar_Result - movs r0, 0x3 - b _08195C14 - .pool -_08195C10: - ldr r1, =gSpecialVar_Result - movs r0, 0x4 -_08195C14: - strh r0, [r1] -_08195C16: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8195BB0 - - thumb_func_start sub_8195C20 -sub_8195C20: @ 8195C20 - push {r4,lr} - ldr r4, =gTrainerBattleOpponent_A - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xFF - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 2 - adds r1, r0 - lsrs r1, 6 - strh r1, [r4] - ldrh r0, [r4] - movs r1, 0 - bl sub_8162614 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8195C20 - - thumb_func_start sub_8195C50 -sub_8195C50: @ 8195C50 - push {lr} - ldr r3, =gTrainerBattleOpponent_A - ldrh r1, [r3] - ldr r0, =0x0000012b - cmp r1, r0 - bhi _08195C6C - ldr r2, =gUnknown_0203BC88 - movs r0, 0x34 - muls r1, r0 - ldr r0, [r2] - adds r0, r1 - adds r0, 0xC - bl ConvertBattleFrontierTrainerSpeechToString -_08195C6C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8195C50 thumb_func_start sub_8195C7C sub_8195C7C: @ 8195C7C diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index 2ab474037..4df690e59 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -4,10033 +4,7 @@ .syntax unified .text - - thumb_func_start sub_819A44C -sub_819A44C: @ 819A44C - push {r4,r5,lr} - adds r5, r0, 0 - ldrb r4, [r5, 0x5] - lsrs r4, 4 - movs r0, 0x65 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsls r4, 16 - lsrs r4, 16 - lsrs r0, 24 - cmp r4, r0 - bne _0819A4BA - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0819A4B0 - ldrh r1, [r5, 0x2E] - movs r2, 0x2E - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _0819A484 - subs r0, r1, 0x1 - strh r0, [r5, 0x2E] - b _0819A4C2 -_0819A484: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x5 - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - bne _0819A4A6 - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAnim - movs r0, 0x20 - strh r0, [r5, 0x2E] - b _0819A4C2 -_0819A4A6: - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim - b _0819A4C2 -_0819A4B0: - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnimIfDifferent - b _0819A4C2 -_0819A4BA: - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent -_0819A4C2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_819A44C - - thumb_func_start sub_819A4C8 -sub_819A4C8: @ 819A4C8 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - bl RunTasks - pop {r0} - bx r0 - thumb_func_end sub_819A4C8 - - thumb_func_start sub_819A4E4 -sub_819A4E4: @ 819A4E4 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_819A4E4 - - thumb_func_start sub_819A4F8 -sub_819A4F8: @ 819A4F8 - push {lr} - ldr r0, =gUnknown_0300127C - movs r1, 0 - str r1, [r0] - ldr r0, =sub_819A514 - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_819A4F8 - - thumb_func_start sub_819A514 -sub_819A514: @ 819A514 - push {r4,r5,lr} - sub sp, 0xC - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xA - bls _0819A528 - b _0819A98E -_0819A528: - lsls r0, 2 - ldr r1, =_0819A53C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0819A53C: - .4byte _0819A568 - .4byte _0819A5C0 - .4byte _0819A69C - .4byte _0819A77C - .4byte _0819A7CC - .4byte _0819A868 - .4byte _0819A8A4 - .4byte _0819A8AC - .4byte _0819A8C4 - .4byte _0819A8DC - .4byte _0819A8FC -_0819A568: - ldr r4, =gUnknown_0203CE3C - ldr r0, [r4] - cmp r0, 0 - beq _0819A578 - bl Free - movs r0, 0 - str r0, [r4] -_0819A578: - movs r0, 0 - bl SetHBlankCallback - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - str r0, [sp, 0x8] - movs r1, 0xC0 - lsls r1, 19 - ldr r2, =0x05006000 - add r0, sp, 0x8 - bl CpuSet - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_08610428 - movs r0, 0 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r0, =gUnknown_08610434 - bl InitWindows - bl DeactivateAllTextPrinters - b _0819A8E6 - .pool -_0819A5C0: - ldr r5, =gUnknown_0203CE2C - movs r4, 0x88 - lsls r4, 3 - adds r0, r4, 0 - bl Alloc - str r0, [r5] - ldr r5, =gUnknown_0203CE30 - adds r0, r4, 0 - bl AllocZeroed - str r0, [r5] - ldr r5, =gUnknown_0203CE34 - movs r4, 0x80 - lsls r4, 4 - adds r0, r4, 0 - bl Alloc - str r0, [r5] - ldr r5, =gUnknown_0203CE38 - adds r0, r4, 0 - bl AllocZeroed - str r0, [r5] - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4C - movs r1, 0 - bl SetGpuReg - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x42 - movs r1, 0 - bl SetGpuReg - movs r0, 0x46 - movs r1, 0 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _0819A8EE - .pool -_0819A69C: - bl ResetPaletteFade - bl ResetSpriteData - bl ResetTasks - bl FreeAllSpritePalettes - ldr r0, =gFrontierFactorySelectMenu_Gfx - ldr r5, =gUnknown_0203CE2C - ldr r1, [r5] - movs r2, 0x88 - lsls r2, 2 - bl CpuSet - ldr r0, =gUnknown_0861033C - ldr r4, =gUnknown_0203CE30 - ldr r1, [r4] - movs r2, 0x30 - bl CpuSet - ldr r1, [r5] - movs r2, 0x88 - lsls r2, 3 - movs r0, 0x1 - movs r3, 0 - bl LoadBgTiles - ldr r1, [r4] - movs r0, 0x3 - movs r2, 0x60 - movs r3, 0 - bl LoadBgTiles - ldr r0, =gFrontierFactorySelectMenu_Tilemap - ldr r4, =gUnknown_0203CE34 - ldr r1, [r4] - movs r2, 0x80 - lsls r2, 3 - bl CpuSet - ldr r1, [r4] - movs r2, 0x80 - lsls r2, 4 - movs r0, 0x1 - movs r3, 0 - bl LoadBgTilemap - ldr r0, =gFrontierFactorySelectMenu_Pal - movs r1, 0 - movs r2, 0x40 - bl LoadPalette - ldr r4, =gUnknown_0861046C - adds r0, r4, 0 - movs r1, 0xF0 - movs r2, 0x8 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0xE0 - movs r2, 0xA - bl LoadPalette - ldr r0, =gUnknown_0300127C - ldr r1, [r0] - ldrb r0, [r1, 0x6] - cmp r0, 0x1 - bne _0819A738 - ldr r0, =gPlttBufferUnfaded - movs r2, 0xA9 - lsls r2, 2 - adds r1, r2 - ldrh r1, [r1] - movs r3, 0xE4 - lsls r3, 1 - adds r0, r3 - strh r1, [r0] -_0819A738: - ldr r0, =gUnknown_0861039C - movs r1, 0x20 - movs r2, 0x4 - bl LoadPalette - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0819A8EE - .pool -_0819A77C: - ldr r0, =gUnknown_0203CE38 - ldr r1, [r0] - movs r0, 0x3 - bl SetBgTilemapBuffer - ldr r5, =gUnknown_0861023C - movs r4, 0x8 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x3 - adds r1, r5, 0 - movs r2, 0xB - movs r3, 0x4 - bl CopyToBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x3 - adds r1, r5, 0 - movs r2, 0x2 - movs r3, 0x4 - bl CopyToBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x3 - adds r1, r5, 0 - movs r2, 0x14 - movs r3, 0x4 - bl CopyToBgTilemapBufferRect - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - b _0819A8E6 - .pool -_0819A7CC: - ldr r0, =gUnknown_086103F4 - bl LoadSpritePalettes - ldr r0, =gUnknown_086103BC - bl LoadSpriteSheets - ldr r0, =gUnknown_086103E4 - bl LoadCompressedObjectPic - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - ldr r0, =sub_819A4E4 - bl SetVBlankCallback - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r1, 0x9A - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - ldrb r0, [r0, 0x6] - cmp r0, 0x1 - bne _0819A854 - movs r0, 0x58 - movs r1, 0x98 - movs r2, 0x20 - movs r3, 0x60 - bl sub_819C5D0 - movs r0, 0x3 - bl ShowBg - ldr r1, =0x00001248 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x0000040b - movs r0, 0x52 - bl SetGpuReg - b _0819A85A - .pool -_0819A854: - movs r0, 0x3 - bl HideBg -_0819A85A: - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _0819A8EE - .pool -_0819A868: - ldr r4, =gUnknown_0300127C - ldr r1, [r4] - ldrb r0, [r1, 0x6] - cmp r0, 0x1 - bne _0819A878 - ldr r0, =gUnknown_0203CF20 - ldrb r0, [r0] - strb r0, [r1, 0x3] -_0819A878: - bl sub_819A9AC - bl sub_819AA18 - ldr r0, [r4] - ldrb r0, [r0, 0x6] - cmp r0, 0x1 - bne _0819A88C - bl sub_819BE34 -_0819A88C: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0819A8EE - .pool -_0819A8A4: - bl sub_819BA64 - movs r0, 0x2 - b _0819A8E2 -_0819A8AC: - bl sub_819BCF8 - movs r0, 0x5 - bl PutWindowTilemap - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _0819A8EE - .pool -_0819A8C4: - bl sub_819B9E8 - movs r0, 0x1 - bl PutWindowTilemap - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0819A8EE - .pool -_0819A8DC: - bl sub_819B9B4 - movs r0, 0 -_0819A8E2: - bl PutWindowTilemap -_0819A8E6: - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 -_0819A8EE: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0819A98E - .pool -_0819A8FC: - ldr r0, =sub_819C69C - movs r1, 0 - bl CreateTask - ldr r2, =gUnknown_0300127C - ldr r1, [r2] - ldr r3, =0x000002a1 - adds r1, r3 - strb r0, [r1] - ldr r3, [r2] - ldrb r5, [r3, 0x6] - cmp r5, 0 - bne _0819A954 - ldr r4, =gTasks - ldr r1, =0x000002a1 - adds r0, r3, r1 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - strh r5, [r0, 0x8] - ldr r0, =sub_819B378 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - strh r5, [r0, 0x8] - b _0819A988 - .pool -_0819A954: - ldr r4, =gTasks - ldr r2, =0x000002a1 - adds r0, r3, r2 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r2, 0 - movs r1, 0x1 - strh r1, [r0, 0x8] - ldr r1, =0x000002a2 - adds r0, r3, r1 - strb r2, [r0] - ldr r0, =sub_819B124 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r1, 0xD - strh r1, [r0, 0x8] -_0819A988: - ldr r0, =sub_819A4C8 - bl SetMainCallback2 -_0819A98E: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819A514 - - thumb_func_start sub_819A9AC -sub_819A9AC: @ 819A9AC - push {r4,r5,lr} - ldr r5, =gUnknown_0300127C - ldr r4, [r5] - cmp r4, 0 - bne _0819AA12 - movs r0, 0xAB - lsls r0, 2 - bl AllocZeroed - str r0, [r5] - strb r4, [r0, 0x3] - ldr r1, [r5] - movs r0, 0x1 - strb r0, [r1, 0x5] - ldr r0, [r5] - strb r4, [r0, 0x6] - movs r2, 0 - movs r4, 0x6C - movs r3, 0 -_0819A9D2: - ldr r0, [r5] - adds r1, r2, 0 - muls r1, r4 - adds r0, r1 - strb r3, [r0, 0x10] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x5 - bls _0819A9D2 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x2 - beq _0819AA0C - movs r0, 0 - bl sub_819B484 - b _0819AA12 - .pool -_0819AA0C: - movs r0, 0 - bl sub_819B63C -_0819AA12: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_819A9AC - - thumb_func_start sub_819AA18 -sub_819AA18: @ 819AA18 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r4, 0 - mov r8, r4 - ldr r7, =gSprites -_0819AA24: - lsls r1, r4, 3 - adds r1, r4 - lsls r1, 2 - subs r1, r4 - adds r1, 0x20 - lsls r1, 16 - asrs r1, 16 - ldr r0, =gUnknown_086105D8 - movs r2, 0x40 - movs r3, 0x1 - bl CreateSprite - ldr r6, =gUnknown_0300127C - ldr r2, [r6] - movs r5, 0x6C - adds r1, r4, 0 - muls r1, r5 - adds r2, r1 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r2, 0xE] - ldrh r1, [r2, 0xE] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - mov r1, r8 - strh r1, [r0, 0x2E] - adds r0, r4, 0 - bl sub_819ADAC - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0819AA24 - ldr r0, [r6] - ldrb r1, [r0, 0x3] - ldr r4, =gSprites - muls r1, r5 - adds r0, r1 - ldrh r0, [r0, 0xE] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldr r0, =gUnknown_086105F0 - movs r2, 0x20 - ldrsh r1, [r1, r2] - movs r2, 0x58 - movs r3, 0 - bl CreateSprite - ldr r1, [r6] - movs r5, 0 - strb r0, [r1, 0x4] - ldr r0, =gUnknown_08610608 - movs r1, 0xB0 - movs r2, 0x70 - movs r3, 0 - bl CreateSprite - ldr r1, [r6] - strb r0, [r1, 0x1] - ldr r0, =gUnknown_08610620 - movs r1, 0xB0 - movs r2, 0x90 - movs r3, 0 - bl CreateSprite - ldr r1, [r6] - strb r0, [r1, 0x2] - ldr r0, [r6] - ldrb r1, [r0, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r6] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldr r0, [r6] - ldrb r1, [r0, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x28 - strb r5, [r0] - ldr r0, [r6] - ldrb r1, [r0, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x29 - strb r5, [r0] - ldr r0, [r6] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x28 - strb r5, [r0] - ldr r0, [r6] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x29 - strb r5, [r0] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819AA18 - - thumb_func_start sub_819AB40 -sub_819AB40: @ 819AB40 - push {r4-r6,lr} - movs r4, 0 -_0819AB44: - ldr r6, =gUnknown_0300127C - ldr r1, [r6] - movs r0, 0x6C - muls r0, r4 - adds r1, r0 - ldrh r1, [r1, 0xE] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, =gSprites - adds r0, r5 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0819AB44 - ldr r0, [r6] - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - ldr r0, [r6] - ldrb r1, [r0, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - ldr r0, [r6] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819AB40 - - thumb_func_start sub_819ABA8 -sub_819ABA8: @ 819ABA8 - push {r4,lr} - lsls r0, 24 - cmp r0, 0 - ble _0819ABC8 - ldr r0, =gUnknown_0300127C - ldr r1, [r0] - ldrb r3, [r1, 0x3] - adds r2, r0, 0 - cmp r3, 0x5 - beq _0819ABC4 - adds r0, r3, 0x1 - b _0819ABDE - .pool -_0819ABC4: - movs r0, 0 - b _0819ABDE -_0819ABC8: - ldr r0, =gUnknown_0300127C - ldr r1, [r0] - ldrb r3, [r1, 0x3] - adds r2, r0, 0 - cmp r3, 0 - beq _0819ABDC - subs r0, r3, 0x1 - b _0819ABDE - .pool -_0819ABDC: - movs r0, 0x5 -_0819ABDE: - strb r0, [r1, 0x3] - ldr r2, [r2] - ldrb r3, [r2, 0x3] - ldr r4, =gSprites - ldrb r0, [r2, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r0, 0x6C - muls r0, r3 - adds r2, r0 - ldrh r2, [r2, 0xE] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x20] - strh r0, [r1, 0x20] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819ABA8 - - thumb_func_start sub_819AC10 -sub_819AC10: @ 819AC10 - push {lr} - lsls r0, 24 - cmp r0, 0 - ble _0819AC30 - ldr r0, =gUnknown_0300127C - ldr r1, [r0] - ldrb r3, [r1] - adds r2, r0, 0 - cmp r3, 0x2 - beq _0819AC2C - adds r0, r3, 0x1 - b _0819AC46 - .pool -_0819AC2C: - movs r0, 0 - b _0819AC46 -_0819AC30: - ldr r0, =gUnknown_0300127C - ldr r1, [r0] - ldrb r3, [r1] - adds r2, r0, 0 - cmp r3, 0 - beq _0819AC44 - subs r0, r3, 0x1 - b _0819AC46 - .pool -_0819AC44: - movs r0, 0x2 -_0819AC46: - strb r0, [r1] - ldr r3, =gSprites - ldr r2, [r2] - ldrb r0, [r2, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r0, [r2] - lsls r0, 4 - adds r0, 0x70 - strh r0, [r1, 0x22] - ldrb r0, [r2, 0x2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r0, [r2] - lsls r0, 4 - adds r0, 0x70 - strh r0, [r1, 0x22] - pop {r0} - bx r0 - .pool - thumb_func_end sub_819AC10 - - thumb_func_start sub_819AC78 -sub_819AC78: @ 819AC78 - push {lr} - lsls r0, 24 - cmp r0, 0 - ble _0819AC98 - ldr r0, =gUnknown_0300127C - ldr r1, [r0] - ldrb r3, [r1, 0x7] - adds r2, r0, 0 - cmp r3, 0x1 - beq _0819AC94 - adds r0, r3, 0x1 - b _0819ACAE - .pool -_0819AC94: - movs r0, 0 - b _0819ACAE -_0819AC98: - ldr r0, =gUnknown_0300127C - ldr r1, [r0] - ldrb r3, [r1, 0x7] - adds r2, r0, 0 - cmp r3, 0 - beq _0819ACAC - subs r0, r3, 0x1 - b _0819ACAE - .pool -_0819ACAC: - movs r0, 0x1 -_0819ACAE: - strb r0, [r1, 0x7] - ldr r3, =gSprites - ldr r2, [r2] - ldrb r0, [r2, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r0, [r2, 0x7] - lsls r0, 4 - adds r0, 0x70 - strh r0, [r1, 0x22] - ldrb r0, [r2, 0x2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r0, [r2, 0x7] - lsls r0, 4 - adds r0, 0x70 - strh r0, [r1, 0x22] - pop {r0} - bx r0 - .pool - thumb_func_end sub_819AC78 - - thumb_func_start sub_819ACE0 -sub_819ACE0: @ 819ACE0 - push {r4-r6,lr} - ldr r5, =gUnknown_0300127C - ldr r0, [r5] - ldrb r6, [r0, 0x3] - movs r1, 0x6C - adds r4, r6, 0 - muls r4, r1 - adds r0, r4 - ldrb r0, [r0, 0x10] - cmp r0, 0 - beq _0819AD60 - movs r0, 0x64 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, [r5] - ldrb r0, [r1, 0x5] - cmp r0, 0x3 - bne _0819AD44 - adds r0, r1, r4 - ldrb r0, [r0, 0x10] - cmp r0, 0x1 - bne _0819AD44 - movs r2, 0 - ldrb r0, [r1, 0x10] - cmp r0, 0x2 - beq _0819AD32 - movs r4, 0x6C -_0819AD1A: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x5 - bhi _0819AD32 - ldr r0, [r5] - adds r1, r2, 0 - muls r1, r4 - adds r0, r1 - ldrb r0, [r0, 0x10] - cmp r0, 0x2 - bne _0819AD1A -_0819AD32: - cmp r2, 0x6 - beq _0819AD9C - ldr r0, =gUnknown_0300127C - ldr r1, [r0] - movs r0, 0x6C - muls r0, r2 - adds r1, r0 - movs r0, 0x1 - strb r0, [r1, 0x10] -_0819AD44: - ldr r2, =gUnknown_0300127C - ldr r1, [r2] - movs r0, 0x6C - muls r0, r6 - adds r1, r0 - movs r0, 0 - strb r0, [r1, 0x10] - ldr r1, [r2] - ldrb r0, [r1, 0x5] - subs r0, 0x1 - b _0819AD78 - .pool -_0819AD60: - movs r0, 0x65 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, [r5] - adds r1, r0, r4 - ldrb r0, [r0, 0x5] - strb r0, [r1, 0x10] - ldr r1, [r5] - ldrb r0, [r1, 0x5] - adds r0, 0x1 -_0819AD78: - strb r0, [r1, 0x5] - ldr r2, =gSprites - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - movs r1, 0x6C - muls r1, r6 - adds r0, r1 - ldrh r0, [r0, 0xE] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - lsls r3, 4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] -_0819AD9C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819ACE0 - - thumb_func_start sub_819ADAC -sub_819ADAC: @ 819ADAC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - movs r1, 0x6C - muls r1, r4 - adds r0, r1 - ldrb r0, [r0, 0x10] - cmp r0, 0 - beq _0819ADCC - movs r0, 0x65 - b _0819ADCE - .pool -_0819ADCC: - movs r0, 0x64 -_0819ADCE: - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, =gSprites - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - movs r1, 0x6C - muls r1, r4 - adds r0, r1 - ldrh r0, [r0, 0xE] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - lsls r3, 4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819ADAC - - thumb_func_start sub_819AE08 -sub_819AE08: @ 819AE08 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r6, r0, r1 - movs r1, 0x8 - ldrsh r0, [r6, r1] - cmp r0, 0x7 - beq _0819AE64 - cmp r0, 0x7 - bgt _0819AE30 - cmp r0, 0x6 - beq _0819AE36 - b _0819AF50 - .pool -_0819AE30: - cmp r0, 0x8 - beq _0819AEE8 - b _0819AF50 -_0819AE36: - ldr r1, =gPlttBufferUnfaded - ldr r0, =gPlttBufferFaded - movs r2, 0xE4 - lsls r2, 1 - adds r0, r2 - ldrh r0, [r0] - adds r1, r2 - movs r2, 0 - strh r0, [r1] - movs r0, 0x1 - negs r0, r0 - str r2, [sp] - movs r1, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x7 - strh r0, [r6, 0x8] - b _0819AF50 - .pool -_0819AE64: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0819AF50 - ldr r4, =gUnknown_0300127C - ldr r0, [r4] - ldr r2, =0x000002a1 - adds r0, r2 - ldrb r0, [r0] - bl DestroyTask - ldr r1, [r4] - movs r3, 0xA6 - lsls r3, 2 - adds r0, r1, r3 - ldr r0, [r0] - movs r2, 0xA8 - lsls r2, 2 - adds r1, r2 - bl sub_819F444 - bl sub_819AB40 - ldr r4, =gUnknown_0203CE2C - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203CE30 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203CE34 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203CE38 - ldr r0, [r4] - bl Free - str r5, [r4] - bl FreeAllWindowBuffers - movs r0, 0x8 - strh r0, [r6, 0x8] - b _0819AF50 - .pool -_0819AEE8: - ldr r4, =gUnknown_0300127C - ldr r1, [r4] - ldr r0, =gPlttBufferUnfaded - movs r3, 0xE4 - lsls r3, 1 - adds r0, r3 - ldrh r0, [r0] - adds r3, 0xDC - adds r1, r3 - strh r0, [r1] - adds r0, r2, 0 - bl DestroyTask - ldr r1, [r4] - movs r0, 0x1 - strb r0, [r1, 0x6] - ldr r0, [r4] - ldrb r6, [r0, 0x3] - ldr r4, =gUnknown_0203CE3C - movs r0, 0x96 - lsls r0, 2 - bl AllocZeroed - str r0, [r4] - movs r4, 0 -_0819AF1A: - ldr r5, =gUnknown_0203CE3C - ldr r1, [r5] - movs r0, 0x64 - muls r0, r4 - adds r0, r1 - ldr r1, =gUnknown_0300127C - ldr r1, [r1] - movs r2, 0x6C - muls r2, r4 - adds r1, r2 - adds r1, 0x14 - movs r2, 0x64 - bl memcpy - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0819AF1A - ldr r1, [r5] - ldr r0, =sub_819A514 - str r0, [sp] - movs r0, 0x1 - adds r2, r6, 0 - movs r3, 0x5 - bl sub_81BF8EC -_0819AF50: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819AE08 - - thumb_func_start bc_exit_to_overworld -bc_exit_to_overworld: @ 819AF68 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r7, =gUnknown_0300127C - ldr r0, [r7] - movs r1, 0xA8 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0819B00E - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0 - beq _0819AFA0 - cmp r1, 0x1 - beq _0819AFB8 - b _0819B00E - .pool -_0819AFA0: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0819B00E -_0819AFB8: - bl UpdatePaletteFade - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0819B00E - bl sub_819B764 - ldr r0, [r7] - ldr r1, =0x000002a1 - adds r0, r1 - ldrb r0, [r0] - bl DestroyTask - bl sub_819AB40 - ldr r4, =gUnknown_0203CE2C - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203CE34 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203CE38 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r0, [r7] - bl Free - str r5, [r7] - bl FreeAllWindowBuffers - ldr r0, =CB2_ReturnToFieldContinueScript - bl SetMainCallback2 - adds r0, r6, 0 - bl DestroyTask -_0819B00E: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end bc_exit_to_overworld - - thumb_func_start sub_819B02C -sub_819B02C: @ 819B02C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r7, =gUnknown_0300127C - ldr r0, [r7] - movs r1, 0xA8 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0819B11A - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x5 - beq _0819B084 - cmp r0, 0x5 - bgt _0819B06C - cmp r0, 0x4 - beq _0819B07A - b _0819B11A - .pool -_0819B06C: - cmp r0, 0xA - bne _0819B11A - bl sub_819C4B4 - movs r0, 0x4 - strh r0, [r5, 0x8] - b _0819B11A -_0819B07A: - bl sub_819B8D4 - movs r0, 0x5 - strh r0, [r5, 0x8] - b _0819B11A -_0819B084: - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - mov r8, r0 - movs r6, 0x1 - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0819B0B8 - movs r0, 0x5 - bl PlaySE - ldr r0, [r7] - ldrb r4, [r0, 0x7] - cmp r4, 0 - bne _0819B0C6 - bl sub_819C568 - strh r4, [r5, 0x8] - ldr r0, =bc_exit_to_overworld - str r0, [r5] - b _0819B11A - .pool -_0819B0B8: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0819B0EC - movs r0, 0x5 - bl PlaySE -_0819B0C6: - movs r0, 0x4 - bl sub_819B958 - bl sub_819BC9C - ldr r0, [r7] - ldr r1, =0x000002a2 - adds r0, r1 - mov r1, r8 - strb r1, [r0] - strh r6, [r5, 0x8] - ldr r0, =sub_819B378 - str r0, [r5] - b _0819B11A - .pool -_0819B0EC: - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0819B106 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl sub_819AC78 - b _0819B11A -_0819B106: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0819B11A - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl sub_819AC78 -_0819B11A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_819B02C - - thumb_func_start sub_819B124 -sub_819B124: @ 819B124 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x8] - subs r0, 0x2 - lsls r0, 16 - asrs r0, 16 - adds r6, r1, 0 - cmp r0, 0xB - bls _0819B144 - b _0819B36E -_0819B144: - lsls r0, 2 - ldr r1, =_0819B158 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0819B158: - .4byte _0819B188 - .4byte _0819B1EC - .4byte _0819B36E - .4byte _0819B36E - .4byte _0819B36E - .4byte _0819B36E - .4byte _0819B36E - .4byte _0819B1BC - .4byte _0819B36E - .4byte _0819B36E - .4byte _0819B300 - .4byte _0819B35C -_0819B188: - ldr r0, =gUnknown_0300127C - ldr r1, [r0] - ldrb r0, [r1, 0x6] - cmp r0, 0 - bne _0819B1A2 - ldr r2, =0x00000299 - adds r0, r1, r2 - movs r7, 0xA8 - lsls r7, 2 - adds r1, r7 - movs r2, 0 - bl sub_819F2B4 -_0819B1A2: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r0, 0x9 - b _0819B36C - .pool -_0819B1BC: - ldr r4, =gUnknown_0300127C - ldr r0, [r4] - movs r1, 0xA8 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0819B1CE - b _0819B36E -_0819B1CE: - bl sub_819B844 - ldr r1, [r4] - movs r0, 0 - strb r0, [r1, 0x6] - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - b _0819B344 - .pool -_0819B1EC: - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r7, 0x1 - movs r6, 0x1 - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0819B27C - movs r0, 0x5 - bl PlaySE - bl sub_819BC04 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x1 - bne _0819B228 - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - ldr r2, =0x000002a2 - adds r0, r2 - b _0819B2AC - .pool -_0819B228: - cmp r0, 0x2 - bne _0819B248 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0xA - strh r1, [r0, 0x8] - ldr r1, =sub_819B02C - str r1, [r0] - b _0819B36E - .pool -_0819B248: - cmp r1, 0x3 - bne _0819B260 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0xB - strh r1, [r0, 0x8] - b _0819B2BA - .pool -_0819B260: - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x6 - strh r1, [r0, 0x8] - ldr r1, =sub_819AE08 - str r1, [r0] - b _0819B36E - .pool -_0819B27C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0819B2D0 - movs r0, 0x5 - bl PlaySE - ldr r4, =gUnknown_0300127C - ldr r1, [r4] - movs r2, 0xA6 - lsls r2, 2 - adds r0, r1, r2 - ldr r0, [r0] - adds r2, 0x8 - adds r1, r2 - movs r2, 0 - bl sub_819F3F8 - movs r0, 0x3 - bl sub_819B958 - ldr r0, [r4] - ldr r1, =0x000002a2 - adds r0, r1 -_0819B2AC: - strb r7, [r0] - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r6, [r0, 0x8] -_0819B2BA: - ldr r1, =sub_819B378 - str r1, [r0] - b _0819B36E - .pool -_0819B2D0: - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0819B2EA - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl sub_819AC10 - b _0819B36E -_0819B2EA: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0819B36E - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl sub_819AC10 - b _0819B36E -_0819B300: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - bne _0819B36E - ldr r4, =gUnknown_0300127C - ldr r2, [r4] - ldrb r0, [r2, 0x6] - cmp r0, 0x1 - bne _0819B338 - ldr r1, =gPlttBufferFaded - movs r7, 0xA9 - lsls r7, 2 - adds r0, r2, r7 - ldrh r0, [r0] - movs r2, 0xE4 - lsls r2, 1 - adds r1, r2 - strh r0, [r1] - ldr r0, =gPlttBufferUnfaded - subs r7, 0xBC - adds r1, r0, r7 - ldrh r1, [r1] - adds r0, r2 - strh r1, [r0] -_0819B338: - ldr r0, [r4] - strb r3, [r0, 0x6] - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r6 -_0819B344: - movs r1, 0x3 - strh r1, [r0, 0x8] - b _0819B36E - .pool -_0819B35C: - bl sub_819B844 - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r0, 0xC -_0819B36C: - strh r0, [r1, 0x8] -_0819B36E: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819B124 - - thumb_func_start sub_819B378 -sub_819B378: @ 819B378 - push {r4-r7,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r5, =gUnknown_0300127C - ldr r3, [r5] - movs r7, 0xA8 - lsls r7, 2 - adds r0, r3, r7 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0819B476 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _0819B3DC - cmp r1, 0x1 - bgt _0819B3B4 - cmp r1, 0 - beq _0819B3BA - b _0819B476 - .pool -_0819B3B4: - cmp r1, 0xB - beq _0819B440 - b _0819B476 -_0819B3BA: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0819B476 - movs r0, 0x1 - movs r1, 0x1 - strh r1, [r4, 0x8] - ldr r2, =0x000002a2 - adds r1, r3, r2 - strb r0, [r1] - b _0819B476 - .pool -_0819B3DC: - ldr r2, =gMain - ldrh r0, [r2, 0x2E] - ands r1, r0 - cmp r1, 0 - beq _0819B40C - movs r0, 0x5 - bl PlaySE - ldr r0, [r5] - ldr r1, =0x000002a2 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - movs r0, 0x2 - strh r0, [r4, 0x8] - ldr r0, =sub_819B124 - str r0, [r4] - b _0819B476 - .pool -_0819B40C: - ldrh r1, [r2, 0x30] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0819B422 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _0819B432 -_0819B422: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0819B476 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_0819B432: - bl sub_819ABA8 - bl sub_819BCF8 - bl sub_819B9E8 - b _0819B476 -_0819B440: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r6, 0x1 - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0819B476 - movs r0, 0x5 - bl PlaySE - ldr r1, [r5] - movs r2, 0xA6 - lsls r2, 2 - adds r0, r1, r2 - ldr r0, [r0] - adds r1, r7 - movs r2, 0 - bl sub_819F3F8 - bl sub_819BA64 - ldr r0, [r5] - ldr r1, =0x000002a2 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - strh r6, [r4, 0x8] -_0819B476: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819B378 - - thumb_func_start sub_819B484 -sub_819B484: @ 819B484 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x10] - movs r6, 0 - add r0, sp, 0xC - strb r6, [r0] - ldr r0, =0x000040ce - bl VarGet - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - ldr r7, =gSaveBlock2Ptr - ldr r2, [r7] - ldr r0, =0x00000ca9 - adds r4, r2, r0 - ldrb r0, [r4] - lsls r0, 30 - lsrs r0, 30 - adds r5, r0, 0 - lsls r0, r5, 1 - lsls r1, r6, 2 - adds r0, r1 - ldr r1, =0x00000de2 - adds r2, r1 - adds r2, r0 - ldrh r0, [r2] - movs r1, 0x7 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x18] - ldr r1, =gUnknown_0203BC8C - ldr r0, =gBattleFrontierMons - str r0, [r1] - ldrb r1, [r4] - movs r0, 0x3 - ands r0, r1 - movs r2, 0x32 - str r2, [sp, 0x14] - cmp r0, 0 - beq _0819B4EA - movs r3, 0x64 - str r3, [sp, 0x14] -_0819B4EA: - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_81A6F70 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x1C] - ldr r1, [r7] - ldrb r0, [r1, 0xA] - mov r9, r0 - ldrb r0, [r1, 0xB] - lsls r0, 8 - mov r2, r9 - orrs r2, r0 - ldrb r0, [r1, 0xC] - lsls r0, 16 - orrs r2, r0 - ldrb r0, [r1, 0xD] - lsls r0, 24 - orrs r2, r0 - mov r9, r2 - movs r3, 0 - mov r8, r3 -_0819B518: - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - mov r2, r8 - lsls r0, r2, 1 - add r0, r8 - lsls r0, 2 - adds r1, r0 - movs r3, 0xE7 - lsls r3, 4 - adds r1, r3 - ldrh r5, [r1] - ldr r0, =gUnknown_0300127C - ldr r1, [r0] - ldr r2, [sp, 0x10] - add r2, r8 - movs r3, 0x6C - adds r0, r2, 0 - muls r0, r3 - adds r1, r0 - strh r5, [r1, 0xC] - mov r10, r2 - ldr r0, [sp, 0x1C] - cmp r8, r0 - bcs _0819B570 - ldr r0, [sp, 0x18] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - b _0819B572 - .pool -_0819B570: - ldr r0, [sp, 0x18] -_0819B572: - movs r1, 0 - bl sub_81A6CA8 - lsls r0, 24 - lsrs r6, r0, 24 - movs r1, 0x6C - mov r4, r10 - muls r4, r1 - adds r4, 0xC - ldr r2, =gUnknown_0300127C - ldr r0, [r2] - adds r0, r4 - adds r0, 0x8 - ldr r1, =gUnknown_0203BC8C - ldr r2, [r1] - lsls r5, 4 - adds r2, r5, r2 - ldrh r1, [r2] - ldrb r3, [r2, 0xC] - str r6, [sp] - ldrb r2, [r2, 0xB] - str r2, [sp, 0x4] - mov r2, r9 - str r2, [sp, 0x8] - ldr r2, [sp, 0x14] - bl CreateMonWithEVSpreadPersonalityOTID - movs r1, 0 - add r0, sp, 0xC - strb r1, [r0] - movs r6, 0 - adds r7, r5, 0 - movs r3, 0x1 - add r8, r3 - ldr r3, =gUnknown_0300127C -_0819B5B8: - ldr r0, [r3] - adds r0, r4 - adds r0, 0x8 - ldr r5, =gUnknown_0203BC8C - ldr r1, [r5] - adds r1, r7, r1 - lsls r2, r6, 1 - adds r1, 0x2 - adds r1, r2 - ldrh r1, [r1] - adds r2, r6, 0 - str r3, [sp, 0x20] - bl sub_81A7024 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r3, [sp, 0x20] - cmp r6, 0x3 - bls _0819B5B8 - movs r0, 0x6C - mov r4, r10 - muls r4, r0 - adds r4, 0xC - ldr r1, =gUnknown_0300127C - ldr r0, [r1] - adds r0, r4 - adds r0, 0x8 - movs r1, 0x20 - add r2, sp, 0xC - bl SetMonData - ldr r2, =gUnknown_0300127C - ldr r0, [r2] - adds r0, r4 - adds r0, 0x8 - ldr r1, [r5] - adds r1, r7, r1 - ldrb r2, [r1, 0xA] - lsls r2, 1 - ldr r1, =gBattleFrontierHeldItems - adds r2, r1 - movs r1, 0xC - bl SetMonData - mov r3, r8 - lsls r0, r3, 24 - lsrs r0, 24 - mov r8, r0 - cmp r0, 0x5 - bhi _0819B620 - b _0819B518 -_0819B620: - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819B484 - - thumb_func_start sub_819B63C -sub_819B63C: @ 819B63C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x10] - add r0, sp, 0xC - movs r1, 0 - strb r1, [r0] - ldr r2, =gUnknown_0203BC8C - ldr r0, =gSlateportBattleTentMons - str r0, [r2] - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldrb r3, [r1, 0xA] - ldrb r0, [r1, 0xB] - lsls r0, 8 - orrs r3, r0 - ldrb r0, [r1, 0xC] - lsls r0, 16 - orrs r3, r0 - ldrb r0, [r1, 0xD] - lsls r0, 24 - orrs r3, r0 - mov r10, r3 - movs r7, 0 - mov r9, r7 -_0819B678: - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - mov r2, r9 - lsls r0, r2, 1 - add r0, r9 - lsls r0, 2 - adds r1, r0 - movs r3, 0xE7 - lsls r3, 4 - adds r1, r3 - ldrh r1, [r1] - mov r8, r1 - ldr r7, =gUnknown_0300127C - ldr r0, [r7] - ldr r6, [sp, 0x10] - add r6, r9 - movs r1, 0x6C - adds r4, r6, 0 - muls r4, r1 - adds r1, r0, r4 - mov r2, r8 - strh r2, [r1, 0xC] - adds r4, 0xC - adds r0, r4 - adds r0, 0x8 - ldr r3, =gUnknown_0203BC8C - ldr r2, [r3] - mov r7, r8 - lsls r5, r7, 4 - adds r2, r5, r2 - ldrh r1, [r2] - ldrb r3, [r2, 0xC] - movs r7, 0 - str r7, [sp] - ldrb r2, [r2, 0xB] - str r2, [sp, 0x4] - mov r2, r10 - str r2, [sp, 0x8] - movs r2, 0x1E - bl CreateMonWithEVSpreadPersonalityOTID - add r0, sp, 0xC - movs r3, 0 - strb r3, [r0] - movs r0, 0x1 - add r9, r0 -_0819B6D4: - ldr r1, =gUnknown_0300127C - ldr r0, [r1] - adds r0, r4 - adds r0, 0x8 - ldr r3, =gUnknown_0203BC8C - ldr r2, [r3] - mov r3, r8 - lsls r1, r3, 4 - adds r1, r2 - lsls r2, r7, 1 - adds r1, 0x2 - adds r1, r2 - ldrh r1, [r1] - adds r2, r7, 0 - bl sub_81A7024 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x3 - bls _0819B6D4 - movs r7, 0x6C - adds r4, r6, 0 - muls r4, r7 - adds r4, 0xC - ldr r1, =gUnknown_0300127C - ldr r0, [r1] - adds r0, r4 - adds r0, 0x8 - movs r1, 0x20 - add r2, sp, 0xC - bl SetMonData - ldr r2, =gUnknown_0300127C - ldr r0, [r2] - adds r0, r4 - adds r0, 0x8 - ldr r3, =gUnknown_0203BC8C - ldr r1, [r3] - adds r1, r5, r1 - ldrb r2, [r1, 0xA] - lsls r2, 1 - ldr r1, =gBattleFrontierHeldItems - adds r2, r1 - movs r1, 0xC - bl SetMonData - mov r7, r9 - lsls r0, r7, 24 - lsrs r0, 24 - mov r9, r0 - cmp r0, 0x5 - bls _0819B678 - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819B63C - - thumb_func_start sub_819B764 -sub_819B764: @ 819B764 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r7, 0 - ldr r0, =gUnknown_0300127C - mov r10, r0 - ldr r1, =gSaveBlock2Ptr - mov r8, r1 -_0819B778: - movs r2, 0 - adds r0, r7, 0x1 - mov r9, r0 -_0819B77E: - mov r1, r10 - ldr r0, [r1] - movs r1, 0x6C - adds r6, r2, 0 - muls r6, r1 - adds r1, r0, r6 - ldrb r0, [r1, 0x10] - cmp r0, r9 - bne _0819B81C - movs r0, 0x64 - adds r5, r7, 0 - muls r5, r0 - ldr r2, =gPlayerParty - adds r5, r2 - adds r1, 0x14 - adds r0, r5, 0 - movs r2, 0x64 - bl memcpy - mov r0, r8 - ldr r1, [r0] - lsls r4, r7, 1 - adds r4, r7 - lsls r4, 2 - adds r1, r4 - mov r2, r10 - ldr r0, [r2] - adds r0, r6 - ldrh r0, [r0, 0xC] - movs r2, 0xE7 - lsls r2, 4 - adds r1, r2 - strh r0, [r1] - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - mov r2, r8 - ldr r1, [r2] - ldr r2, =0x00000e74 - adds r1, r2 - adds r1, r4 - str r0, [r1] - adds r0, r5, 0 - movs r1, 0x2E - movs r2, 0 - bl GetBoxMonData - mov r2, r8 - ldr r1, [r2] - adds r1, r4 - ldr r2, =0x00000e79 - adds r1, r2 - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0x28 - movs r2, 0 - bl GetBoxMonData - mov r2, r8 - ldr r1, [r2] - adds r1, r4 - ldr r2, =0x00000e78 - adds r1, r2 - strb r0, [r1] - b _0819B826 - .pool -_0819B81C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x5 - bls _0819B77E -_0819B826: - mov r1, r9 - lsls r0, r1, 24 - lsrs r7, r0, 24 - cmp r7, 0x2 - bls _0819B778 - bl CalculatePlayerPartyCount - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_819B764 - - thumb_func_start sub_819B844 -sub_819B844: @ 819B844 - push {r4,r5,lr} - ldr r5, =gUnknown_0300127C - ldr r1, [r5] - ldrb r0, [r1, 0x6] - cmp r0, 0 - bne _0819B852 - strb r0, [r1] -_0819B852: - ldr r4, =gSprites - ldr r2, [r5] - ldrb r1, [r2, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xB0 - strh r1, [r0, 0x20] - ldrb r0, [r2, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r2] - lsls r0, 4 - adds r0, 0x70 - strh r0, [r1, 0x22] - ldrb r1, [r2, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xD0 - strh r1, [r0, 0x20] - ldrb r0, [r2, 0x2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r2] - lsls r0, 4 - adds r0, 0x70 - strh r0, [r1, 0x22] - ldrb r0, [r2, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - ldr r0, [r5] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - bl sub_819BAFC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819B844 - - thumb_func_start sub_819B8D4 -sub_819B8D4: @ 819B8D4 - push {r4,r5,lr} - ldr r5, =gUnknown_0300127C - ldr r1, [r5] - movs r0, 0 - strb r0, [r1, 0x7] - ldr r4, =gSprites - ldr r2, [r5] - ldrb r1, [r2, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xB0 - strh r1, [r0, 0x20] - ldrb r1, [r2, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r3, 0x70 - strh r3, [r0, 0x22] - ldrb r1, [r2, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xD0 - strh r1, [r0, 0x20] - ldrb r1, [r2, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r3, [r0, 0x22] - ldrb r0, [r2, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - ldr r0, [r5] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - bl sub_819BBA8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819B8D4 - - thumb_func_start sub_819B958 -sub_819B958: @ 819B958 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =gSprites - ldr r3, =gUnknown_0300127C - ldr r0, [r3] - ldrb r1, [r0, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r3] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0 - movs r1, 0x2 - bl CopyWindowToVram - adds r0, r4, 0 - bl ClearWindowTilemap - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819B958 - - thumb_func_start sub_819B9B4 -sub_819B9B4: @ 819B9B4 - push {lr} - sub sp, 0xC - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r2, =gText_RentalPkmn2 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0x2 - bl PrintTextOnWindow - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_819B9B4 - - thumb_func_start sub_819B9E8 -sub_819B9E8: @ 819B9E8 - push {r4,r5,lr} - sub sp, 0xC - ldr r5, =gUnknown_0300127C - ldr r0, [r5] - ldrb r4, [r0, 0x3] - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x6C - muls r0, r4 - ldr r1, [r5] - adds r0, r1 - adds r0, 0x14 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - ldr r4, =gStringVar4 - movs r1, 0xB - muls r1, r0 - ldr r0, =gSpeciesNames - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x56 - bl GetStringRightAlignXOffset - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_08610479 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0x1 - bl box_print - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819B9E8 - - thumb_func_start sub_819BA64 -sub_819BA64: @ 819BA64 - push {lr} - sub sp, 0xC - movs r0, 0x2 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - ldrb r0, [r0, 0x5] - cmp r0, 0x1 - bne _0819BA88 - ldr r2, =gText_SelectFirstPkmn - b _0819BA9C - .pool -_0819BA88: - cmp r0, 0x2 - bne _0819BA94 - ldr r2, =gText_SelectSecondPkmn - b _0819BA9C - .pool -_0819BA94: - ldr r2, =gText_TheseThreePkmnOkay - cmp r0, 0x3 - bne _0819BA9C - ldr r2, =gText_SelectThirdPkmn -_0819BA9C: - movs r0, 0x5 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x1 - movs r3, 0x2 - bl PrintTextOnWindow - movs r0, 0x2 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_819BA64 - - thumb_func_start sub_819BAC8 -sub_819BAC8: @ 819BAC8 - push {lr} - sub sp, 0xC - movs r0, 0x2 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r2, =gText_CantSelectSamePkmn - movs r0, 0x5 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x1 - movs r3, 0x2 - bl PrintTextOnWindow - movs r0, 0x2 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_819BAC8 - - thumb_func_start sub_819BAFC -sub_819BAFC: @ 819BAFC - push {r4-r6,lr} - sub sp, 0xC - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - ldrb r2, [r0, 0x3] - movs r1, 0x6C - muls r1, r2 - adds r0, r1 - ldrb r5, [r0, 0x10] - movs r0, 0x3 - bl PutWindowTilemap - movs r0, 0x3 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r4, =gUnknown_08610476 - str r4, [sp] - movs r6, 0 - str r6, [sp, 0x4] - ldr r0, =gText_Summary - str r0, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0x7 - movs r3, 0x1 - bl box_print - cmp r5, 0 - beq _0819BB60 - str r4, [sp] - str r6, [sp, 0x4] - ldr r0, =gText_Deselect - str r0, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0x7 - movs r3, 0x11 - bl box_print - b _0819BB74 - .pool -_0819BB60: - str r4, [sp] - str r5, [sp, 0x4] - ldr r0, =gText_Rent - str r0, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0x7 - movs r3, 0x11 - bl box_print -_0819BB74: - ldr r0, =gUnknown_08610476 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - ldr r0, =gText_Others2 - str r0, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0x7 - movs r3, 0x21 - bl box_print - movs r0, 0x3 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819BAFC - - thumb_func_start sub_819BBA8 -sub_819BBA8: @ 819BBA8 - push {r4,r5,lr} - sub sp, 0xC - movs r0, 0x4 - bl PutWindowTilemap - movs r0, 0x4 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r5, =gUnknown_08610476 - str r5, [sp] - movs r4, 0 - str r4, [sp, 0x4] - ldr r0, =gText_Yes2 - str r0, [sp, 0x8] - movs r0, 0x4 - movs r1, 0x1 - movs r2, 0x7 - movs r3, 0x1 - bl box_print - str r5, [sp] - str r4, [sp, 0x4] - ldr r0, =gText_No2 - str r0, [sp, 0x8] - movs r0, 0x4 - movs r1, 0x1 - movs r2, 0x7 - movs r3, 0x11 - bl box_print - movs r0, 0x4 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819BBA8 - - thumb_func_start sub_819BC04 -sub_819BC04: @ 819BC04 - push {lr} - ldr r2, =gUnknown_030062E8 - ldr r1, =gUnknown_0861041C - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [r2] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_819BC04 - - thumb_func_start sub_819BC30 -sub_819BC30: @ 819BC30 - push {r4,lr} - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - ldrb r2, [r0, 0x3] - movs r1, 0x6C - muls r1, r2 - adds r0, r1 - ldrb r1, [r0, 0x10] - ldrh r0, [r0, 0xC] - cmp r1, 0 - bne _0819BC60 - bl sub_819C634 - cmp r0, 0 - bne _0819BC60 - bl sub_819BAC8 - movs r0, 0x3 - bl sub_819B958 - movs r0, 0x3 - b _0819BC96 - .pool -_0819BC60: - ldr r4, =gUnknown_0300127C - ldr r1, [r4] - movs r2, 0xA6 - lsls r2, 2 - adds r0, r1, r2 - ldr r0, [r0] - adds r2, 0x8 - adds r1, r2 - movs r2, 0 - bl sub_819F3F8 - bl sub_819ACE0 - bl sub_819BA64 - movs r0, 0x3 - bl sub_819B958 - ldr r0, [r4] - ldrb r0, [r0, 0x5] - cmp r0, 0x3 - bhi _0819BC94 - movs r0, 0x1 - b _0819BC96 - .pool -_0819BC94: - movs r0, 0x2 -_0819BC96: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_819BC30 - - thumb_func_start sub_819BC9C -sub_819BC9C: @ 819BC9C - push {lr} - bl sub_819C568 - bl sub_819ACE0 - bl sub_819BA64 - movs r0, 0x3 - bl sub_819B958 - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - ldrb r0, [r0, 0x5] - cmp r0, 0x3 - bhi _0819BCC4 - movs r0, 0x1 - b _0819BCC6 - .pool -_0819BCC4: - movs r0, 0x2 -_0819BCC6: - pop {r1} - bx r1 - thumb_func_end sub_819BC9C - - thumb_func_start sub_819BCCC -sub_819BCCC: @ 819BCCC - movs r0, 0 - bx lr - thumb_func_end sub_819BCCC - - thumb_func_start sub_819BCD0 -sub_819BCD0: @ 819BCD0 - push {lr} - ldr r0, =gUnknown_0300127C - ldr r1, [r0] - movs r2, 0xA6 - lsls r2, 2 - adds r0, r1, r2 - ldr r0, [r0] - adds r2, 0x8 - adds r1, r2 - movs r2, 0 - bl sub_819F3F8 - movs r0, 0x3 - bl sub_819B958 - movs r0, 0x1 - pop {r1} - bx r1 - .pool - thumb_func_end sub_819BCD0 - - thumb_func_start sub_819BCF8 -sub_819BCF8: @ 819BCF8 - push {r4,r5,lr} - sub sp, 0x2C - ldr r5, =gUnknown_0300127C - ldr r0, [r5] - ldrb r4, [r0, 0x3] - cmp r4, 0x5 - bhi _0819BD64 - movs r0, 0x5 - bl PutWindowTilemap - movs r0, 0x5 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x6C - muls r0, r4 - ldr r1, [r5] - adds r0, r1 - adds r0, 0x14 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - add r1, sp, 0xC - bl CopyMonCategoryText - movs r0, 0x1 - add r1, sp, 0xC - movs r2, 0x76 - bl GetStringRightAlignXOffset - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x5 - movs r1, 0x1 - add r2, sp, 0xC - bl PrintTextOnWindow - movs r0, 0x5 - movs r1, 0x2 - bl CopyWindowToVram -_0819BD64: - add sp, 0x2C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819BCF8 - - thumb_func_start sub_819BD70 -sub_819BD70: @ 819BD70 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x10 - ldr r6, =gUnknown_0300127C - ldr r2, [r6] - ldrb r1, [r2, 0x3] - movs r0, 0x6C - adds r4, r1, 0 - muls r4, r0 - adds r4, r2 - adds r4, 0x14 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - mov r8, r0 - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - movs r0, 0x58 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - ldr r0, =0x0000ffff - str r0, [sp, 0xC] - adds r0, r5, 0 - mov r2, r8 - movs r3, 0x1 - bl sub_818D7D8 - ldr r1, [r6] - movs r2, 0xA6 - lsls r2, 2 - adds r1, r2 - movs r3, 0 - strb r0, [r1] - ldr r4, =gSprites - ldr r0, [r6] - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x28 - strb r3, [r0] - ldr r0, [r6] - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x29 - strb r3, [r0] - ldr r0, [r6] - movs r1, 0xA8 - lsls r1, 2 - adds r0, r1 - strb r3, [r0] - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819BD70 - - thumb_func_start sub_819BE20 -sub_819BE20: @ 819BE20 - ldr r1, =gUnknown_0300127C - ldr r1, [r1] - movs r2, 0xA8 - lsls r2, 2 - adds r1, r2 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_819BE20 - - thumb_func_start sub_819BE34 -sub_819BE34: @ 819BE34 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - ldr r0, =gUnknown_08610638 - movs r1, 0x78 - movs r2, 0x40 - movs r3, 0x1 - bl CreateSprite - ldr r6, =gUnknown_0300127C - ldr r1, [r6] - ldr r2, =0x00000299 - mov r10, r2 - add r1, r10 - movs r7, 0 - strb r0, [r1] - ldr r0, [r6] - add r0, r10 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - mov r8, r1 - add r0, r8 - movs r1, 0x2 - bl StartSpriteAffineAnim - ldr r2, [r6] - ldrb r1, [r2, 0x3] - movs r0, 0x6C - adds r4, r1, 0 - muls r4, r0 - adds r4, r2 - adds r4, 0x14 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - mov r9, r0 - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - movs r0, 0x58 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - ldr r0, =0x0000ffff - str r0, [sp, 0xC] - adds r0, r5, 0 - mov r2, r9 - movs r3, 0x1 - bl sub_818D7D8 - ldr r1, [r6] - movs r2, 0xA6 - lsls r2, 2 - adds r1, r2 - strb r0, [r1] - ldr r0, [r6] - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - adds r0, 0x28 - strb r7, [r0] - ldr r0, [r6] - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - adds r0, 0x29 - strb r7, [r0] - ldr r0, [r6] - add r0, r10 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819BE34 - - thumb_func_start sub_819BF2C -sub_819BF2C: @ 819BF2C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - movs r7, 0 - ldr r0, =gUnknown_0300127C - mov r9, r0 -_0819BF3E: - movs r2, 0 - adds r1, r7, 0x1 - mov r10, r1 - lsls r0, r7, 2 - mov r8, r0 -_0819BF48: - mov r0, r9 - ldr r1, [r0] - movs r0, 0x6C - adds r4, r2, 0 - muls r4, r0 - adds r0, r1, r4 - ldrb r0, [r0, 0x10] - cmp r0, r10 - bne _0819C008 - adds r4, r1 - adds r4, 0x14 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - adds r6, r0, 0 - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - lsls r0, r7, 3 - adds r0, r7 - lsls r0, 19 - movs r2, 0x80 - lsls r2, 13 - adds r0, r2 - asrs r0, 16 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - adds r0, r7, 0 - adds r0, 0xD - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x8] - ldr r0, =0x0000ffff - str r0, [sp, 0xC] - adds r0, r5, 0 - adds r2, r6, 0 - movs r3, 0x1 - bl sub_818D7D8 - mov r2, r9 - ldr r1, [r2] - add r1, r8 - movs r2, 0xA5 - lsls r2, 2 - adds r1, r2 - strb r0, [r1] - mov r1, r9 - ldr r0, [r1] - add r0, r8 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r2, =gSprites - adds r0, r2 - adds r0, 0x28 - movs r1, 0 - strb r1, [r0] - mov r2, r9 - ldr r0, [r2] - add r0, r8 - movs r1, 0xA5 - lsls r1, 2 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r2, =gSprites - adds r0, r2 - adds r0, 0x29 - movs r1, 0 - strb r1, [r0] - b _0819C012 - .pool -_0819C008: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x5 - bls _0819BF48 -_0819C012: - mov r2, r10 - lsls r0, r2, 24 - lsrs r7, r0, 24 - cmp r7, 0x2 - bls _0819BF3E - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - movs r1, 0xA8 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819BF2C - - thumb_func_start sub_819C040 -sub_819C040: @ 819C040 - push {r4-r6,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0819C0DC - ldr r3, =gSprites - ldr r6, =gUnknown_0300127C - ldr r2, [r6] - ldr r0, =0x00000295 - adds r5, r2, r0 - ldrb r0, [r5] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - adds r1, 0x3F - ldrb r0, [r1] - lsls r0, 26 - cmp r0, 0 - bge _0819C0DC - ldr r1, =0x0000029d - adds r0, r2, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _0819C0DC - adds r1, r4, 0 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldr r0, [r6] - ldr r1, =0x0000029d - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldr r0, =sub_819C1D0 - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] -_0819C0DC: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819C040 - - thumb_func_start sub_819C100 -sub_819C100: @ 819C100 - push {r4-r7,lr} - adds r5, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0819C1BA - ldr r6, =gSprites - ldr r4, =gUnknown_0300127C - ldr r2, [r4] - ldr r7, =0x00000295 - adds r0, r2, r7 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _0819C1BA - ldr r1, =0x0000029d - adds r0, r2, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _0819C1BA - ldrb r0, [r5, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldr r0, [r4] - adds r0, r7 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldr r0, [r4] - ldr r1, =0x0000029d - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldr r0, [r4] - movs r1, 0xA8 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - adds r0, r7 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - bl DestroySprite - ldr r0, [r4] - ldr r1, =0x0000029d - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - bl DestroySprite - adds r0, r5, 0 - bl DestroySprite -_0819C1BA: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819C100 - - thumb_func_start sub_819C1D0 -sub_819C1D0: @ 819C1D0 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0819C24E - cmp r0, 0x1 - bgt _0819C1F8 - cmp r0, 0 - beq _0819C1FE - b _0819C2BA - .pool -_0819C1F8: - cmp r0, 0x2 - beq _0819C270 - b _0819C2BA -_0819C1FE: - movs r0, 0x10 - strh r0, [r4, 0xE] - movs r0, 0xE0 - strh r0, [r4, 0x38] - movs r0, 0x40 - strh r0, [r4, 0x12] - movs r0, 0x41 - strh r0, [r4, 0x18] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0x38] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x40 - bl SetGpuReg - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x18] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x37 - bl SetGpuReg - b _0819C2C6 -_0819C24E: - movs r0, 0x3 - bl ShowBg - ldr r1, =0x00001248 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x0000040b - movs r0, 0x52 - bl SetGpuReg - b _0819C2C6 - .pool -_0819C270: - ldrh r0, [r4, 0x12] - subs r0, 0x4 - strh r0, [r4, 0x12] - ldrh r1, [r4, 0x18] - adds r1, 0x4 - strh r1, [r4, 0x18] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x20 - ble _0819C28C - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x5F - ble _0819C29E -_0819C28C: - movs r0, 0x20 - strh r0, [r4, 0x12] - movs r0, 0x60 - strh r0, [r4, 0x18] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl ClearGpuRegBits -_0819C29E: - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x18] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0x20 - bne _0819C2CC - b _0819C2C6 -_0819C2BA: - adds r0, r2, 0 - bl DestroyTask - bl sub_819BF2C - b _0819C2CC -_0819C2C6: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0819C2CC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_819C1D0 - - thumb_func_start sub_819C2D4 -sub_819C2D4: @ 819C2D4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0819C2F6 - b _0819C410 -_0819C2F6: - cmp r0, 0x1 - bne _0819C2FC - b _0819C460 -_0819C2FC: - movs r0, 0x3 - bl HideBg - ldr r4, =gSprites - ldr r0, =gUnknown_0300127C - mov r8, r0 - ldr r0, [r0] - ldr r1, =0x00000299 - mov r12, r1 - add r0, r12 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r2, [r1] - movs r3, 0x5 - negs r3, r3 - adds r0, r3, 0 - ands r0, r2 - strb r0, [r1] - mov r0, r8 - ldr r2, [r0] - mov r1, r12 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r6, r4, 0 - adds r6, 0x1C - adds r0, r6 - ldr r1, =sub_819C100 - str r1, [r0] - ldr r0, =0x00000295 - mov r9, r0 - add r2, r9 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r2, [r0] - adds r1, r3, 0 - ands r1, r2 - strb r1, [r0] - mov r1, r8 - ldr r2, [r1] - mov r1, r9 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldr r1, =SpriteCallbackDummy - mov r10, r1 - str r1, [r0] - ldr r5, =0x0000029d - adds r2, r5 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r3, r1 - strb r3, [r0] - mov r0, r8 - ldr r2, [r0] - adds r0, r2, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r1, r10 - str r1, [r0] - add r2, r12 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAffineAnim - mov r1, r8 - ldr r0, [r1] - add r0, r9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAffineAnim - mov r1, r8 - ldr r0, [r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAffineAnim - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl ClearGpuRegBits - adds r0, r7, 0 - bl DestroyTask - b _0819C4A4 - .pool -_0819C410: - movs r0, 0x10 - strh r0, [r4, 0xE] - movs r0, 0xE0 - strh r0, [r4, 0x38] - movs r0, 0x20 - strh r0, [r4, 0x12] - movs r0, 0x60 - strh r0, [r4, 0x18] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0x38] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x40 - bl SetGpuReg - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x18] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x37 - bl SetGpuReg - b _0819C49E -_0819C460: - ldrh r0, [r4, 0x12] - adds r0, 0x4 - strh r0, [r4, 0x12] - ldrh r1, [r4, 0x18] - subs r1, 0x4 - strh r1, [r4, 0x18] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3F - bgt _0819C47C - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x41 - bgt _0819C484 -_0819C47C: - movs r0, 0x40 - strh r0, [r4, 0x12] - movs r0, 0x41 - strh r0, [r4, 0x18] -_0819C484: - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x18] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0x40 - bne _0819C4A4 -_0819C49E: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0819C4A4: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_819C2D4 - - thumb_func_start sub_819C4B4 -sub_819C4B4: @ 819C4B4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r4, =gUnknown_08610638 - adds r0, r4, 0 - movs r1, 0x78 - movs r2, 0x40 - movs r3, 0x1 - bl CreateSprite - ldr r6, =gUnknown_0300127C - ldr r1, [r6] - ldr r2, =0x00000299 - mov r8, r2 - add r1, r8 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x2C - movs r2, 0x40 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r6] - ldr r5, =0x00000295 - adds r1, r5 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0xC4 - movs r2, 0x40 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r6] - ldr r4, =0x0000029d - adds r1, r4 - strb r0, [r1] - ldr r3, =gSprites - ldr r2, [r6] - add r8, r2 - mov r0, r8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, 0x1C - adds r0, r3 - ldr r1, =sub_819C040 - str r1, [r0] - adds r5, r2, r5 - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldr r5, =SpriteCallbackDummy - str r5, [r0] - adds r4, r2, r4 - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - str r5, [r0] - movs r0, 0xA8 - lsls r0, 2 - adds r2, r0 - movs r0, 0x1 - strb r0, [r2] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819C4B4 - - thumb_func_start sub_819C568 -sub_819C568: @ 819C568 - push {r4,lr} - ldr r4, =gUnknown_0300127C - ldr r0, [r4] - movs r1, 0xA5 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - bl sub_818D820 - ldr r0, [r4] - movs r1, 0xA6 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - bl sub_818D820 - ldr r0, [r4] - movs r1, 0xA7 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - bl sub_818D820 - ldr r0, =sub_819C2D4 - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - ldr r0, [r4] - movs r1, 0xA8 - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819C568 - - thumb_func_start sub_819C5D0 -sub_819C5D0: @ 819C5D0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - adds r6, r1, 0 - adds r5, r2, 0 - mov r8, r3 - lsls r4, 16 - lsrs r4, 16 - lsls r6, 16 - lsrs r6, 16 - lsls r5, 16 - lsrs r5, 16 - mov r0, r8 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - lsls r4, 24 - lsrs r4, 16 - orrs r4, r6 - movs r0, 0x40 - adds r1, r4, 0 - bl SetGpuReg - lsls r5, 24 - lsrs r5, 16 - mov r0, r8 - orrs r5, r0 - movs r0, 0x44 - adds r1, r5, 0 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x37 - bl SetGpuReg - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_819C5D0 - - thumb_func_start sub_819C634 -sub_819C634: @ 819C634 - push {r4-r7,lr} - lsls r0, 16 - ldr r2, =gUnknown_0203BC8C - ldr r1, [r2] - lsrs r0, 12 - adds r0, r1 - ldrh r6, [r0] - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - ldrb r5, [r0, 0x5] - movs r3, 0x1 - cmp r3, r5 - bcs _0819C694 - adds r4, r0, 0 - movs r0, 0x6C - mov r12, r0 - adds r7, r2, 0 -_0819C656: - movs r2, 0 -_0819C658: - mov r0, r12 - muls r0, r2 - adds r1, r4, r0 - ldrb r0, [r1, 0x10] - cmp r0, r3 - bne _0819C680 - ldrh r0, [r1, 0xC] - ldr r1, [r7] - lsls r0, 4 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r6 - bne _0819C68A - movs r0, 0 - b _0819C696 - .pool -_0819C680: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x5 - bls _0819C658 -_0819C68A: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r5 - bcc _0819C656 -_0819C694: - movs r0, 0x1 -_0819C696: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_819C634 - - thumb_func_start sub_819C69C -sub_819C69C: @ 819C69C - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - movs r0, 0x8 - ldrsh r2, [r5, r0] - cmp r2, 0x1 - beq _0819C6F8 - cmp r2, 0x1 - bgt _0819C6C4 - cmp r2, 0 - beq _0819C6CA - b _0819C7D8 - .pool -_0819C6C4: - cmp r2, 0x2 - beq _0819C7B4 - b _0819C7D8 -_0819C6CA: - ldr r1, =gUnknown_0300127C - ldr r0, [r1] - ldr r3, =0x000002a7 - adds r0, r3 - strb r2, [r0] - ldr r0, [r1] - adds r3, 0x1 - adds r0, r3 - strb r2, [r0] - ldr r0, [r1] - ldr r1, =0x000002a6 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - strh r1, [r5, 0x8] - b _0819C7D8 - .pool -_0819C6F8: - ldr r0, =gUnknown_0300127C - ldr r3, [r0] - ldr r2, =0x000002a2 - adds r1, r3, r2 - ldrb r1, [r1] - adds r7, r0, 0 - cmp r1, 0 - beq _0819C7D8 - ldr r1, =0x000002a9 - adds r0, r3, r1 - ldrb r4, [r0] - cmp r4, 0 - beq _0819C724 - movs r0, 0x2 - strh r0, [r5, 0x8] - b _0819C7D8 - .pool -_0819C724: - ldr r2, =0x000002a7 - adds r1, r3, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r7] - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0x6 - bls _0819C764 - strb r4, [r1] - ldr r1, [r7] - subs r2, 0x1 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _0819C758 - movs r3, 0xAA - lsls r3, 2 - adds r1, r3 - ldrb r0, [r1] - subs r0, 0x1 - b _0819C762 - .pool -_0819C758: - movs r0, 0xAA - lsls r0, 2 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 -_0819C762: - strb r0, [r1] -_0819C764: - movs r0, 0x80 - lsls r0, 7 - ldr r1, [r7] - movs r4, 0xAA - lsls r4, 2 - adds r1, r4 - ldrb r1, [r1] - movs r2, 0 - bl BlendPalettes - ldr r2, [r7] - adds r4, r2, r4 - ldrb r0, [r4] - cmp r0, 0x5 - bls _0819C790 - ldr r3, =0x000002a6 - adds r1, r2, r3 - movs r0, 0 - b _0819C7D6 - .pool -_0819C790: - cmp r0, 0 - bne _0819C7D8 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - movs r1, 0x2 - strh r1, [r0, 0x8] - ldr r0, =0x000002a6 - adds r1, r2, r0 - movs r0, 0x1 - b _0819C7D6 - .pool -_0819C7B4: - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - ldr r2, =0x000002a9 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0xE - bls _0819C7D4 - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - strh r0, [r5, 0x8] - b _0819C7D8 - .pool -_0819C7D4: - adds r0, 0x1 -_0819C7D6: - strb r0, [r1] -_0819C7D8: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_819C69C - - thumb_func_start sub_819C7E0 -sub_819C7E0: @ 819C7E0 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - bl RunTasks - pop {r0} - bx r0 - thumb_func_end sub_819C7E0 - - thumb_func_start sub_819C7FC -sub_819C7FC: @ 819C7FC - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_819C7FC - - thumb_func_start sub_819C810 -sub_819C810: @ 819C810 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - ldr r4, =gPlayerParty - ldr r5, =gUnknown_03001284 - ldr r1, [r5] - ldrb r0, [r1, 0x12] - movs r6, 0x64 - muls r0, r6 - adds r0, r4 - ldr r2, =gEnemyParty - mov r9, r2 - ldrb r1, [r1, 0x13] - muls r1, r6 - add r1, r9 - movs r2, 0x64 - bl memcpy - movs r1, 0 - mov r0, sp - strb r1, [r0] - ldr r0, [r5] - ldrb r0, [r0, 0x12] - muls r0, r6 - adds r0, r4 - movs r1, 0x20 - mov r2, sp - bl SetMonData - ldr r3, =gSaveBlock2Ptr - mov r8, r3 - ldr r3, [r3] - ldr r4, [r5] - ldrb r0, [r4, 0x12] - lsls r2, r0, 1 - adds r2, r0 - lsls r2, 2 - adds r2, r3, r2 - ldrb r1, [r4, 0x13] - adds r1, 0x3 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r3, r0 - movs r1, 0xE7 - lsls r1, 4 - adds r0, r1 - ldrh r0, [r0] - adds r2, r1 - strh r0, [r2] - ldrb r0, [r4, 0x12] - lsls r2, r0, 1 - adds r2, r0 - lsls r2, 2 - adds r2, r3, r2 - ldrb r1, [r4, 0x13] - adds r1, 0x3 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r3, r0 - ldr r0, =0x00000e78 - adds r3, r0 - ldrb r1, [r3] - adds r2, r0 - strb r1, [r2] - ldr r0, [r5] - ldrb r0, [r0, 0x13] - muls r0, r6 - add r0, r9 - movs r1, 0 - movs r2, 0 - bl GetMonData - mov r1, r8 - ldr r2, [r1] - ldr r4, [r5] - ldrb r3, [r4, 0x12] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 2 - ldr r3, =0x00000e74 - adds r2, r3 - adds r2, r1 - str r0, [r2] - ldrb r0, [r4, 0x13] - muls r0, r6 - add r0, r9 - movs r1, 0x2E - movs r2, 0 - bl GetBoxMonData - mov r1, r8 - ldr r2, [r1] - ldr r1, [r5] - ldrb r3, [r1, 0x12] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 2 - adds r2, r1 - ldr r3, =0x00000e79 - adds r2, r3 - strb r0, [r2] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819C810 - - thumb_func_start sub_819C90C -sub_819C90C: @ 819C90C - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r6, r0, r1 - movs r1, 0x8 - ldrsh r0, [r6, r1] - cmp r0, 0x7 - beq _0819C950 - cmp r0, 0x7 - bgt _0819C934 - cmp r0, 0x6 - beq _0819C93A - b _0819C9F0 - .pool -_0819C934: - cmp r0, 0x8 - beq _0819C9C4 - b _0819C9F0 -_0819C93A: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x7 - strh r0, [r6, 0x8] - b _0819C9F0 -_0819C950: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0819C9F0 - ldr r4, =gUnknown_03001284 - ldr r0, [r4] - adds r0, 0x21 - ldrb r0, [r0] - bl DestroyTask - ldr r1, [r4] - ldr r0, [r1, 0x2C] - adds r1, 0x30 - bl sub_819F444 - bl sub_819E538 - ldr r4, =gUnknown_0203CE40 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203CE44 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203CE48 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203CE4C - ldr r0, [r4] - bl Free - str r5, [r4] - bl FreeAllWindowBuffers - movs r0, 0x8 - strh r0, [r6, 0x8] - b _0819C9F0 - .pool -_0819C9C4: - adds r0, r2, 0 - bl DestroyTask - ldr r2, =gUnknown_03001284 - ldr r1, [r2] - movs r0, 0x1 - strb r0, [r1, 0x15] - ldr r2, [r2] - ldr r0, =gPlttBufferUnfaded - movs r1, 0xF4 - lsls r1, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2, 0x24] - ldr r1, =gPlayerParty - ldrb r2, [r2, 0x3] - ldr r0, =sub_819DC1C - str r0, [sp] - movs r0, 0 - movs r3, 0x2 - bl sub_81BF8EC -_0819C9F0: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819C90C - - thumb_func_start sub_819CA08 -sub_819CA08: @ 819CA08 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r7, =gUnknown_03001284 - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0x30 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0819CAFE - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _0819CA78 - cmp r1, 0x1 - bgt _0819CA44 - cmp r1, 0 - beq _0819CA4E - b _0819CAFE - .pool -_0819CA44: - cmp r1, 0x2 - beq _0819CA8C - cmp r1, 0x3 - beq _0819CAA4 - b _0819CAFE -_0819CA4E: - adds r0, r2, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0819CA68 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldr r0, =gSpecialVar_Result - strh r1, [r0] - b _0819CAFE - .pool -_0819CA68: - movs r0, 0x2 - strh r0, [r4, 0x8] - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] - b _0819CAFE - .pool -_0819CA78: - adds r0, r2, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0819CA9C - ldrb r0, [r2, 0x3] - strb r0, [r2, 0x13] - bl sub_819C810 - b _0819CA9C -_0819CA8C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_0819CA9C: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0819CAFE -_0819CAA4: - bl UpdatePaletteFade - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0819CAFE - ldr r0, [r7] - adds r0, 0x21 - ldrb r0, [r0] - bl DestroyTask - bl sub_819E538 - ldr r4, =gUnknown_0203CE40 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203CE44 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203CE48 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203CE4C - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r0, [r7] - bl Free - str r5, [r7] - bl FreeAllWindowBuffers - ldr r0, =CB2_ReturnToFieldContinueScript - bl SetMainCallback2 - adds r0, r6, 0 - bl DestroyTask -_0819CAFE: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819CA08 - - thumb_func_start sub_819CB1C -sub_819CB1C: @ 819CB1C - push {r4-r7,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r7, =gUnknown_03001284 - ldr r0, [r7] - adds r0, 0x30 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0819CBD6 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x4 - beq _0819CB50 - cmp r0, 0x5 - beq _0819CB5A - b _0819CBD6 - .pool -_0819CB50: - bl sub_819E9E0 - movs r0, 0x5 - strh r0, [r4, 0x8] - b _0819CBD6 -_0819CB5A: - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r6, 0x1 - adds r5, r6, 0 - ands r5, r1 - cmp r5, 0 - beq _0819CB86 - movs r0, 0x5 - bl PlaySE - ldr r0, [r7] - ldrb r0, [r0, 0x16] - cmp r0, 0 - bne _0819CB80 - strh r6, [r4, 0xA] - b _0819CB9C - .pool -_0819CB80: - movs r0, 0 - strh r0, [r4, 0xA] - b _0819CB96 -_0819CB86: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0819CBA8 - movs r0, 0x5 - bl PlaySE - strh r5, [r4, 0xA] -_0819CB96: - movs r0, 0x4 - bl sub_819EA64 -_0819CB9C: - ldrh r0, [r4, 0x14] - ldrh r1, [r4, 0x16] - lsls r0, 16 - orrs r0, r1 - str r0, [r4] - b _0819CBD6 -_0819CBA8: - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0819CBC2 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl sub_819E758 - b _0819CBD6 -_0819CBC2: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0819CBD6 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl sub_819E758 -_0819CBD6: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_819CB1C - - thumb_func_start sub_819CBDC -sub_819CBDC: @ 819CBDC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r2, r1, r2 - movs r1, 0xA - ldrsh r0, [r2, r1] - cmp r0, 0x1 - bne _0819CC04 - movs r0, 0 - strh r0, [r2, 0x8] - ldr r0, =sub_819CA08 - b _0819CC16 - .pool -_0819CC04: - movs r0, 0 - strh r0, [r2, 0x8] - ldr r1, =sub_819CE40 - lsrs r0, r1, 16 - strh r0, [r2, 0x14] - strh r1, [r2, 0x16] - movs r0, 0x1 - strh r0, [r2, 0x12] - ldr r0, =sub_819D770 -_0819CC16: - str r0, [r2] - pop {r0} - bx r0 - .pool - thumb_func_end sub_819CBDC - - thumb_func_start sub_819CC24 -sub_819CC24: @ 819CC24 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - movs r0, 0x8 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _0819CC5A - ldr r0, =gText_QuitSwapping - bl sub_819EBEC - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - adds r0, 0x20 - strb r5, [r0] - movs r0, 0x4 - strh r0, [r4, 0x8] - ldr r1, =sub_819CBDC - lsrs r0, r1, 16 - strh r0, [r4, 0x14] - strh r1, [r4, 0x16] - ldr r0, =sub_819CB1C - str r0, [r4] -_0819CC5A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819CC24 - - thumb_func_start sub_819CC74 -sub_819CC74: @ 819CC74 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gUnknown_03001284 - ldr r1, [r0] - ldr r0, [r1, 0x2C] - adds r1, 0x30 - movs r2, 0x1 - bl sub_819F3F8 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r1 - movs r1, 0xA - ldrsh r0, [r2, r1] - cmp r0, 0x1 - bne _0819CCB0 - movs r0, 0 - strh r0, [r2, 0x8] - ldr r0, =sub_819CA08 - b _0819CCC2 - .pool -_0819CCB0: - movs r0, 0 - strh r0, [r2, 0x8] - ldr r1, =sub_819CE40 - lsrs r0, r1, 16 - strh r0, [r2, 0x14] - strh r1, [r2, 0x16] - movs r0, 0x1 - strh r0, [r2, 0x12] - ldr r0, =sub_819D770 -_0819CCC2: - str r0, [r2] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819CC74 - - thumb_func_start sub_819CCD4 -sub_819CCD4: @ 819CCD4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0819CD1A - ldr r4, =gUnknown_03001284 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x2D - adds r1, 0x30 - movs r2, 0x1 - bl sub_819F2B4 - ldr r0, =gText_AcceptThisPkmn - bl sub_819EBEC - ldr r0, [r4] - adds r0, 0x20 - movs r1, 0x1 - strb r1, [r0] - movs r0, 0x4 - strh r0, [r5, 0x8] - ldr r1, =sub_819CC74 - lsrs r0, r1, 16 - strh r0, [r5, 0x14] - strh r1, [r5, 0x16] - ldr r0, =sub_819CB1C - str r0, [r5] -_0819CD1A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819CCD4 - - thumb_func_start sub_819CD34 -sub_819CD34: @ 819CD34 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x3 - beq _0819CDA4 - cmp r0, 0x3 - bgt _0819CD60 - cmp r0, 0x2 - beq _0819CD66 - b _0819CE36 - .pool -_0819CD60: - cmp r0, 0x9 - beq _0819CD88 - b _0819CE36 -_0819CD66: - ldr r0, =gUnknown_03001284 - ldr r1, [r0] - ldrb r0, [r1, 0x15] - cmp r0, 0 - bne _0819CD7C - adds r0, r1, 0 - adds r0, 0x2D - adds r1, 0x30 - movs r2, 0x1 - bl sub_819F2B4 -_0819CD7C: - movs r0, 0x9 - strh r0, [r5, 0x8] - b _0819CE36 - .pool -_0819CD88: - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - adds r0, 0x30 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0819CE36 - bl sub_819E944 - movs r0, 0x3 - strh r0, [r5, 0x8] - b _0819CE36 - .pool -_0819CDA4: - ldr r7, =gUnknown_03001284 - ldr r0, [r7] - adds r0, 0x30 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0819CE36 - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - mov r8, r0 - mov r4, r8 - ands r4, r1 - cmp r4, 0 - beq _0819CDD8 - movs r0, 0x5 - bl PlaySE - adds r0, r6, 0 - bl sub_819F0A0 - b _0819CE36 - .pool -_0819CDD8: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0819CE14 - movs r0, 0x5 - bl PlaySE - ldr r1, [r7] - ldr r0, [r1, 0x2C] - adds r1, 0x30 - movs r2, 0x1 - bl sub_819F3F8 - movs r0, 0x3 - bl sub_819EA64 - strh r4, [r5, 0x8] - ldr r1, =sub_819CE40 - lsrs r0, r1, 16 - strh r0, [r5, 0x14] - strh r1, [r5, 0x16] - mov r1, r8 - strh r1, [r5, 0x12] - ldr r0, =sub_819D770 - str r0, [r5] - b _0819CE36 - .pool -_0819CE14: - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0819CE28 - movs r0, 0x1 - negs r0, r0 - bl sub_819E7C0 - b _0819CE36 -_0819CE28: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0819CE36 - movs r0, 0x1 - bl sub_819E7C0 -_0819CE36: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_819CD34 - - thumb_func_start sub_819CE40 -sub_819CE40: @ 819CE40 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0819CE64 - cmp r0, 0x1 - beq _0819CE88 - b _0819CF4C - .pool -_0819CE64: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0819CF4C - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - adds r0, 0x22 - movs r1, 0x1 - strb r1, [r0] - strh r1, [r4, 0x8] - b _0819CF4C - .pool -_0819CE88: - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - adds r5, r1, 0 - ands r5, r0 - cmp r5, 0 - beq _0819CEBC - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - adds r0, 0x22 - movs r1, 0 - strb r1, [r0] - bl sub_819EE08 - bl sub_819EAC0 - adds r0, r6, 0 - bl sub_819F184 - b _0819CF4C - .pool -_0819CEBC: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0819CEF8 - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - adds r0, 0x22 - strb r5, [r0] - bl sub_819EE08 - bl sub_819EAC0 - ldr r1, =sub_819CC24 - lsrs r0, r1, 16 - strh r0, [r4, 0x14] - strh r1, [r4, 0x16] - strh r5, [r4, 0x8] - strh r5, [r4, 0x12] - ldr r0, =sub_819D588 - str r0, [r4] - b _0819CF4C - .pool -_0819CEF8: - ldrh r1, [r2, 0x30] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0819CF0C - movs r0, 0x1 - negs r0, r0 - bl sub_819E694 - b _0819CF2A -_0819CF0C: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0819CF1C - movs r0, 0x1 - bl sub_819E694 - b _0819CF2A -_0819CF1C: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0819CF34 - movs r0, 0x1 - bl sub_819E6E8 -_0819CF2A: - bl sub_819EFA8 - bl sub_819EB4C - b _0819CF4C -_0819CF34: - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0819CF4C - movs r0, 0x1 - negs r0, r0 - bl sub_819E6E8 - bl sub_819EFA8 - bl sub_819EB4C -_0819CF4C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_819CE40 - - thumb_func_start sub_819CF54 -sub_819CF54: @ 819CF54 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r2, [r4, r0] - cmp r2, 0x1 - beq _0819CFA0 - cmp r2, 0x1 - bgt _0819CF7C - cmp r2, 0 - beq _0819CF82 - b _0819D05C - .pool -_0819CF7C: - cmp r2, 0x2 - beq _0819D03C - b _0819D05C -_0819CF82: - ldr r1, =gUnknown_03001284 - ldr r0, [r1] - adds r0, 0x27 - strb r2, [r0] - ldr r0, [r1] - adds r0, 0x28 - strb r2, [r0] - ldr r0, [r1] - adds r0, 0x26 - movs r1, 0x1 - strb r1, [r0] - strh r1, [r4, 0x8] - b _0819D05C - .pool -_0819CFA0: - ldr r1, =gUnknown_03001284 - ldr r2, [r1] - adds r0, r2, 0 - adds r0, 0x22 - ldrb r0, [r0] - adds r6, r1, 0 - cmp r0, 0 - beq _0819D05C - adds r0, r2, 0 - adds r0, 0x29 - ldrb r3, [r0] - cmp r3, 0 - beq _0819CFC4 - movs r0, 0x2 - strh r0, [r4, 0x8] - b _0819D05C - .pool -_0819CFC4: - adds r1, r2, 0 - adds r1, 0x27 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x27 - ldrb r0, [r1] - cmp r0, 0x6 - bls _0819CFF8 - strb r3, [r1] - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0x26 - ldrb r0, [r0] - cmp r0, 0 - bne _0819CFF0 - adds r1, 0x28 - ldrb r0, [r1] - subs r0, 0x1 - b _0819CFF6 -_0819CFF0: - adds r1, 0x28 - ldrb r0, [r1] - adds r0, 0x1 -_0819CFF6: - strb r0, [r1] -_0819CFF8: - movs r0, 0x80 - lsls r0, 7 - ldr r1, [r6] - adds r1, 0x28 - ldrb r1, [r1] - movs r2, 0 - bl BlendPalettes - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0x28 - ldrb r0, [r0] - cmp r0, 0x5 - bls _0819D01C - adds r1, r2, 0 - adds r1, 0x26 - movs r0, 0 - b _0819D05A -_0819D01C: - cmp r0, 0 - bne _0819D05C - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x2 - strh r1, [r0, 0x8] - adds r1, r2, 0 - adds r1, 0x26 - movs r0, 0x1 - b _0819D05A - .pool -_0819D03C: - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0x29 - ldrb r0, [r1] - cmp r0, 0xE - bls _0819D058 - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - strh r0, [r4, 0x8] - b _0819D05C - .pool -_0819D058: - adds r0, 0x1 -_0819D05A: - strb r0, [r1] -_0819D05C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_819CF54 - - thumb_func_start sub_819D064 -sub_819D064: @ 819D064 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _0819D0A4 - cmp r1, 0x1 - bgt _0819D08C - cmp r1, 0 - beq _0819D092 - b _0819D118 - .pool -_0819D08C: - cmp r1, 0x2 - beq _0819D0BC - b _0819D118 -_0819D092: - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - adds r0, 0x27 - strb r1, [r0] - strh r1, [r4, 0x10] - b _0819D0AE - .pool -_0819D0A4: - ldr r0, =gPlttBufferUnfaded+ 0x1E0 - movs r1, 0xE0 - movs r2, 0xA - bl LoadPalette -_0819D0AE: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0819D118 - .pool -_0819D0BC: - ldr r2, =gUnknown_03001284 - ldr r0, [r2] - adds r0, 0x28 - ldrb r0, [r0] - cmp r0, 0xF - bls _0819D0D2 - movs r0, 0x1 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0819D0D2: - ldr r1, [r2] - adds r1, 0x27 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - adds r1, r0, 0 - adds r1, 0x27 - ldrb r0, [r1] - cmp r0, 0x3 - bls _0819D108 - movs r0, 0 - strb r0, [r1] - ldr r1, =gPlttBufferUnfaded - ldr r0, =gPlttBufferFaded - movs r3, 0xE4 - lsls r3, 1 - adds r0, r3 - ldrh r0, [r0] - adds r3, 0x20 - adds r1, r3 - strh r0, [r1] - ldr r1, [r2] - adds r1, 0x28 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0819D108: - movs r0, 0x80 - lsls r0, 7 - ldr r1, [r2] - adds r1, 0x28 - ldrb r1, [r1] - movs r2, 0 - bl BlendPalettes -_0819D118: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819D064 - - thumb_func_start sub_819D12C -sub_819D12C: @ 819D12C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - ldr r1, =gTasks - lsls r0, 2 - ldr r2, [sp] - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - movs r2, 0x8 - ldrsh r3, [r4, r2] - cmp r3, 0 - beq _0819D15C - cmp r3, 0x1 - beq _0819D168 - b _0819D310 - .pool -_0819D15C: - strh r3, [r4, 0xA] - strh r3, [r4, 0xC] - strh r3, [r4, 0xE] - movs r0, 0x1 - strh r0, [r4, 0x8] - b _0819D310 -_0819D168: - movs r3, 0 - str r3, [sp, 0x4] - movs r1, 0x2 - str r0, [sp, 0x8] - ldr r0, =gTasks - str r0, [sp, 0xC] -_0819D174: - lsls r0, r1, 24 - asrs r4, r0, 24 - mov r9, r0 - cmp r4, 0x2 - beq _0819D1F2 - ldr r2, =gSprites - ldr r3, =gUnknown_03001284 - ldr r0, [r3] - adds r0, 0x5 - mov r8, r0 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r6, r0, r2 - ldrh r1, [r6, 0x20] - mov r12, r1 - mov r7, r12 - ldr r1, [sp, 0x4] - subs r0, r1, r7 - lsls r0, 24 - lsrs r5, r0, 24 - mov r10, r2 - cmp r5, 0x10 - beq _0819D1BE - adds r0, r4, 0x2 - lsls r0, 1 - ldr r2, [sp, 0x8] - adds r0, r2 - ldr r1, =gTasks - adds r1, 0x8 - adds r0, r1 - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r0, 0x1 - bne _0819D1D8 -_0819D1BE: - lsls r0, r7, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - mov r0, r12 - adds r0, 0xA - strh r0, [r6, 0x20] - b _0819D210 - .pool -_0819D1D8: - cmp r5, 0x10 - bls _0819D210 - adds r0, r4, 0x1 - add r0, r8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r10 - ldrh r0, [r0, 0x20] - subs r0, 0x30 - strh r0, [r6, 0x20] - b _0819D210 -_0819D1F2: - ldr r3, =gSprites - ldr r4, =gUnknown_03001284 - ldr r0, [r4] - ldrb r1, [r0, 0x7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r2, [r0, 0x20] - lsls r1, r2, 24 - lsrs r1, 24 - str r1, [sp, 0x4] - adds r2, 0xA - strh r2, [r0, 0x20] - mov r10, r3 -_0819D210: - mov r0, r9 - asrs r2, r0, 24 - adds r0, r2, 0x1 - lsls r0, 1 - ldr r1, [sp, 0x8] - adds r0, r1 - ldr r1, =gTasks - adds r1, 0x8 - adds r0, r1 - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r0, 0x1 - bne _0819D26A - ldr r1, =gUnknown_03001284 - ldr r0, [r1] - adds r0, 0x5 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - mov r3, r10 - adds r1, r0, r3 - movs r0, 0x20 - ldrsh r3, [r1, r0] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 4 - adds r0, 0x48 - cmp r3, r0 - ble _0819D260 - strh r0, [r1, 0x20] - movs r7, 0x1 - b _0819D26C - .pool -_0819D260: - movs r7, 0 - cmp r3, r0 - bne _0819D26C - movs r7, 0x1 - b _0819D26C -_0819D26A: - movs r7, 0 -_0819D26C: - mov r6, r10 - ldr r5, =gUnknown_03001284 - ldr r2, [r5] - mov r1, r9 - asrs r4, r1, 24 - adds r0, r2, 0x5 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r6 - movs r3, 0x20 - ldrsh r0, [r1, r3] - subs r0, 0x10 - cmp r0, 0xF0 - ble _0819D2F8 - ldrh r0, [r1, 0x20] - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - ldr r0, =0x0000fff0 - strh r0, [r1, 0x20] - ldrb r0, [r2, 0x14] - cmp r0, 0x1 - bne _0819D2C0 - movs r0, 0x65 - bl IndexOfSpritePaletteTag - ldr r1, [r5] - adds r1, 0x5 - adds r1, r4 - ldrb r1, [r1] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r6 - b _0819D2D8 - .pool -_0819D2C0: - movs r0, 0x64 - bl IndexOfSpritePaletteTag - ldr r2, =gUnknown_03001284 - ldr r1, [r2] - adds r1, 0x5 - adds r1, r4 - ldrb r1, [r1] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - add r2, r10 -_0819D2D8: - lsls r0, 4 - ldrb r3, [r2, 0x5] - movs r1, 0xF - ands r1, r3 - orrs r1, r0 - strb r1, [r2, 0x5] - mov r3, r9 - asrs r0, r3, 23 - adds r0, 0x2 - ldr r1, [sp, 0x8] - adds r0, r1 - ldr r2, [sp, 0xC] - adds r2, 0x8 - adds r0, r2 - movs r1, 0x1 - strh r1, [r0] -_0819D2F8: - movs r0, 0xFF - lsls r0, 24 - add r0, r9 - lsrs r1, r0, 24 - cmp r0, 0 - blt _0819D306 - b _0819D174 -_0819D306: - cmp r7, 0x1 - bne _0819D310 - ldr r0, [sp] - bl DestroyTask -_0819D310: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819D12C - - thumb_func_start sub_819D324 -sub_819D324: @ 819D324 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0 - mov r8, r0 - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r2, r0, r1 - ldrb r4, [r2, 0xE] - movs r0, 0xC - ldrsh r5, [r2, r0] - mov r10, r1 - cmp r5, 0x1 - bne _0819D352 - lsls r0, r4, 24 - negs r0, r0 - lsrs r4, r0, 24 -_0819D352: - movs r1, 0x8 - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _0819D368 - cmp r0, 0x1 - bne _0819D360 - b _0819D480 -_0819D360: - b _0819D570 - .pool -_0819D368: - ldr r3, =gSprites - ldr r2, =gUnknown_03001284 - ldr r0, [r2] - ldrb r1, [r0, 0x8] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x20] - cmp r5, 0 - bne _0819D39C - lsls r0, 16 - asrs r0, 16 - lsls r2, r4, 24 - asrs r1, r2, 24 - adds r0, r1 - movs r1, 0x1 - cmp r0, 0xEF - ble _0819D3B2 - movs r1, 0 - movs r0, 0xF0 - b _0819D3B0 - .pool -_0819D39C: - lsls r0, 16 - asrs r0, 16 - lsls r2, r4, 24 - asrs r1, r2, 24 - adds r0, r1 - movs r1, 0x1 - cmp r0, 0xA0 - bgt _0819D3B2 - movs r1, 0 - movs r0, 0xA0 -_0819D3B0: - mov r8, r0 -_0819D3B2: - cmp r1, 0x1 - bne _0819D3FC - movs r3, 0 - ldr r7, =gSprites - ldr r6, =gUnknown_03001284 - asrs r5, r2, 24 -_0819D3BE: - movs r4, 0 - adds r2, r3, 0x1 -_0819D3C2: - ldr r1, [r6] - lsls r0, r4, 1 - adds r0, r4 - adds r0, r3, r0 - adds r1, 0x8 - adds r1, r0 - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, r5 - strh r1, [r0, 0x20] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0819D3C2 - lsls r0, r2, 24 - lsrs r3, r0, 24 - cmp r3, 0x2 - bls _0819D3BE - b _0819D570 - .pool -_0819D3FC: - movs r4, 0 - lsls r1, r7, 2 - mov r12, r1 - mov r6, r8 - adds r6, 0x10 - movs r0, 0x30 - add r0, r8 - mov r9, r0 - ldr r5, =gSprites -_0819D40E: - ldr r1, =gUnknown_03001284 - ldr r2, [r1] - lsls r3, r4, 1 - adds r3, r4 - adds r0, r2, 0 - adds r0, 0x8 - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r8 - strh r1, [r0, 0x20] - adds r0, r2, 0 - adds r0, 0x9 - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r6, [r0, 0x20] - adds r2, 0xA - adds r2, r3 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r9 - strh r1, [r0, 0x20] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0819D40E - mov r1, r12 - adds r0, r1, r7 - lsls r0, 3 - add r0, r10 - ldrb r1, [r0, 0xA] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - add r0, r10 - movs r1, 0x1 - strh r1, [r0, 0xE] - adds r0, r7, 0 - bl DestroyTask - b _0819D570 - .pool -_0819D480: - ldr r2, =gSprites - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - ldrb r1, [r0, 0xE] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x20] - cmp r5, 0 - bne _0819D4B4 - lsls r0, 16 - asrs r0, 16 - lsls r2, r4, 24 - asrs r1, r2, 24 - adds r0, r1 - movs r1, 0x1 - cmp r0, 0xEF - ble _0819D4CA - movs r1, 0 - movs r0, 0xF0 - b _0819D4C8 - .pool -_0819D4B4: - lsls r0, 16 - asrs r0, 16 - lsls r2, r4, 24 - asrs r1, r2, 24 - adds r0, r1 - movs r1, 0x1 - cmp r0, 0xC0 - bgt _0819D4CA - movs r1, 0 - movs r0, 0xC0 -_0819D4C8: - mov r8, r0 -_0819D4CA: - cmp r1, 0x1 - bne _0819D510 - movs r3, 0 - ldr r7, =gSprites - ldr r6, =gUnknown_03001284 - asrs r5, r2, 24 -_0819D4D6: - movs r4, 0 - adds r2, r3, 0x1 -_0819D4DA: - ldr r0, [r6] - lsls r1, r4, 1 - adds r1, r3, r1 - adds r0, 0xE - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, r5 - strh r1, [r0, 0x20] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0819D4DA - lsls r0, r2, 24 - lsrs r3, r0, 24 - cmp r3, 0x1 - bls _0819D4D6 - b _0819D570 - .pool -_0819D510: - movs r4, 0 - lsls r1, r7, 2 - mov r12, r1 - mov r6, r8 - adds r6, 0x10 - ldr r5, =gSprites - ldr r0, =gUnknown_03001284 - mov r9, r0 -_0819D520: - mov r1, r9 - ldr r2, [r1] - lsls r3, r4, 1 - adds r0, r2, 0 - adds r0, 0xE - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r8 - strh r1, [r0, 0x20] - adds r2, 0xF - adds r2, r3 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r6, [r0, 0x20] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0819D520 - mov r1, r12 - adds r0, r1, r7 - lsls r0, 3 - add r0, r10 - ldrb r1, [r0, 0xA] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - add r0, r10 - movs r1, 0x1 - strh r1, [r0, 0x10] - adds r0, r7, 0 - bl DestroyTask -_0819D570: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819D324 - - thumb_func_start sub_819D588 -sub_819D588: @ 819D588 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - mov r8, r1 - cmp r0, 0x5 - bls _0819D5AA - b _0819D762 -_0819D5AA: - lsls r0, 2 - ldr r1, =_0819D5BC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0819D5BC: - .4byte _0819D5D4 - .4byte _0819D5F0 - .4byte _0819D60C - .4byte _0819D63C - .4byte _0819D6F0 - .4byte _0819D73A -_0819D5D4: - ldr r0, =gUnknown_08610918 - movs r1, 0xE0 - movs r2, 0xA - bl LoadPalette - bl sub_819ED34 - movs r0, 0x5 - bl PutWindowTilemap - b _0819D622 - .pool -_0819D5F0: - movs r0, 0x3 - bl sub_819EA64 - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0819D762 - .pool -_0819D60C: - movs r0, 0x80 - lsls r0, 7 - ldr r1, =gUnknown_0860F13C - adds r1, 0x4A - ldrh r1, [r1] - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_0819D622: - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _0819D762 - .pool -_0819D63C: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - beq _0819D64E - b _0819D762 -_0819D64E: - movs r0, 0x5 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x5 - movs r1, 0x2 - bl CopyWindowToVram - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - ldrb r0, [r0, 0x14] - cmp r0, 0x1 - bne _0819D6B0 - ldr r0, =sub_819D324 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r2, r5, 2 - adds r2, r5 - lsls r2, 3 - adds r2, r1 - strh r6, [r2, 0xE] - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0xA] - strh r6, [r0, 0x8] - strh r6, [r0, 0xC] - movs r1, 0x6 - strh r1, [r0, 0xE] - movs r0, 0x5 - strh r0, [r2, 0xC] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - b _0819D762 - .pool -_0819D6B0: - ldr r0, =sub_819D324 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - ldr r3, =gTasks - lsls r2, r5, 2 - adds r2, r5 - lsls r2, 3 - adds r2, r3 - movs r1, 0x1 - strh r1, [r2, 0xE] - strh r6, [r2, 0x10] - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r3 - strh r5, [r0, 0xA] - strh r1, [r0, 0x8] - strh r6, [r0, 0xC] - movs r1, 0x6 - strh r1, [r0, 0xE] - ldrh r0, [r2, 0x8] - adds r0, 0x2 - strh r0, [r2, 0x8] - b _0819D762 - .pool -_0819D6F0: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - mov r1, r8 - adds r6, r0, r1 - ldrh r0, [r6, 0xC] - movs r2, 0xC - ldrsh r7, [r6, r2] - cmp r7, 0 - bne _0819D734 - ldr r0, =sub_819D324 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - strh r7, [r6, 0x10] - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - add r0, r8 - strh r5, [r0, 0xA] - movs r1, 0x1 - strh r1, [r0, 0x8] - strh r7, [r0, 0xC] - movs r1, 0x6 - strh r1, [r0, 0xE] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - b _0819D762 - .pool -_0819D734: - subs r0, 0x1 - strh r0, [r6, 0xC] - b _0819D762 -_0819D73A: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - mov r1, r8 - adds r2, r0, r1 - movs r1, 0xE - ldrsh r0, [r2, r1] - cmp r0, 0x1 - bne _0819D762 - movs r1, 0x10 - ldrsh r0, [r2, r1] - cmp r0, 0x1 - bne _0819D762 - ldrh r0, [r2, 0x12] - strh r0, [r2, 0x8] - ldrh r0, [r2, 0x14] - ldrh r1, [r2, 0x16] - lsls r0, 16 - orrs r0, r1 - str r0, [r2] -_0819D762: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_819D588 - - thumb_func_start sub_819D770 -sub_819D770: @ 819D770 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gUnknown_03001284 - ldr r0, [r1] - adds r0, 0x30 - ldrb r0, [r0] - adds r3, r1, 0 - cmp r0, 0x1 - bne _0819D78C - b _0819D9D8 -_0819D78C: - ldr r0, =gTasks - lsls r2, r6, 2 - adds r1, r2, r6 - lsls r1, 3 - adds r1, r0 - movs r4, 0x8 - ldrsh r1, [r1, r4] - mov r8, r0 - adds r5, r2, 0 - cmp r1, 0x8 - bls _0819D7A4 - b _0819D9D8 -_0819D7A4: - lsls r0, r1, 2 - ldr r1, =_0819D7BC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0819D7BC: - .4byte _0819D7E0 - .4byte _0819D868 - .4byte _0819D8AE - .4byte _0819D8F4 - .4byte _0819D910 - .4byte _0819D928 - .4byte _0819D936 - .4byte _0819D948 - .4byte _0819D9B0 -_0819D7E0: - ldr r0, [r3] - ldrb r7, [r0, 0x14] - cmp r7, 0x1 - bne _0819D828 - ldr r0, =sub_819D324 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - ldr r3, =gTasks - adds r2, r5, r6 - lsls r2, 3 - adds r2, r3 - movs r1, 0 - strh r1, [r2, 0xE] - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r3 - strh r6, [r0, 0xA] - strh r1, [r0, 0x8] - strh r7, [r0, 0xC] - movs r1, 0x6 - strh r1, [r0, 0xE] - movs r0, 0xA - strh r0, [r2, 0xC] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - b _0819D9D8 - .pool -_0819D828: - ldr r0, =sub_819D324 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - ldr r3, =gTasks - adds r2, r5, r6 - lsls r2, 3 - adds r2, r3 - movs r0, 0 - movs r1, 0x1 - strh r1, [r2, 0xE] - strh r0, [r2, 0x10] - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r3 - strh r6, [r0, 0xA] - strh r1, [r0, 0x8] - strh r1, [r0, 0xC] - movs r1, 0x6 - strh r1, [r0, 0xE] - ldrh r0, [r2, 0x8] - adds r0, 0x2 - strh r0, [r2, 0x8] - b _0819D9D8 - .pool -_0819D868: - adds r0, r5, r6 - lsls r0, 3 - mov r1, r8 - adds r5, r0, r1 - ldrh r0, [r5, 0xC] - movs r2, 0xC - ldrsh r7, [r5, r2] - cmp r7, 0 - bne _0819D8A8 - ldr r0, =sub_819D324 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - strh r7, [r5, 0x10] - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - add r0, r8 - strh r6, [r0, 0xA] - movs r1, 0x1 - strh r1, [r0, 0x8] - strh r1, [r0, 0xC] - movs r1, 0x6 - strh r1, [r0, 0xE] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _0819D9D8 - .pool -_0819D8A8: - subs r0, 0x1 - strh r0, [r5, 0xC] - b _0819D9D8 -_0819D8AE: - adds r0, r5, r6 - lsls r0, 3 - mov r1, r8 - adds r4, r0, r1 - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0x1 - beq _0819D8C0 - b _0819D9D8 -_0819D8C0: - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0819D8CA - b _0819D9D8 -_0819D8CA: - ldr r1, =gPlttBufferFaded - ldr r0, =gUnknown_0860F13C - adds r0, 0x4A - ldrh r0, [r0] - movs r2, 0xE2 - lsls r2, 1 - adds r1, r2 - strh r0, [r1] - bl sub_819ED34 - movs r0, 0x5 - bl PutWindowTilemap - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0819D9D8 - .pool -_0819D8F4: - movs r0, 0x80 - lsls r0, 7 - ldr r1, =gUnknown_0860F13C - adds r1, 0x4A - ldrh r1, [r1] - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _0819D990 - .pool -_0819D910: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0819D9D8 - movs r0, 0 - bl sub_819EDBC - b _0819D990 - .pool -_0819D928: - movs r0, 0x1 - bl sub_819EDBC - movs r0, 0x3 - bl PutWindowTilemap - b _0819D990 -_0819D936: - movs r0, 0x5 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x5 - movs r1, 0x2 - bl CopyWindowToVram - b _0819D990 -_0819D948: - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - ldrb r0, [r0, 0x14] - cmp r0, 0 - bne _0819D964 - ldr r0, =gText_SelectPkmnToSwap - bl sub_819EBEC - b _0819D96A - .pool -_0819D964: - ldr r0, =gText_SelectPkmnToAccept - bl sub_819EBEC -_0819D96A: - ldr r0, =gUnknown_03001284 - ldr r1, [r0] - ldrb r0, [r1, 0x3] - cmp r0, 0x2 - bhi _0819D98C - ldr r2, =gSprites - ldrb r1, [r1, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_0819D98C: - bl sub_819EFA8 -_0819D990: - ldr r0, =gTasks - adds r1, r5, r6 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0819D9D8 - .pool -_0819D9B0: - bl sub_819EEF0 - bl sub_819EADC - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - adds r0, 0x22 - movs r1, 0x1 - strb r1, [r0] - ldr r1, =gTasks - adds r0, r5, r6 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x12] - strh r1, [r0, 0x8] - ldrh r1, [r0, 0x14] - ldrh r2, [r0, 0x16] - lsls r1, 16 - orrs r1, r2 - str r1, [r0] -_0819D9D8: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819D770 - - thumb_func_start sub_819D9EC -sub_819D9EC: @ 819D9EC - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - adds r0, 0x30 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0819DA00 - b _0819DBCA -_0819DA00: - ldr r0, =gTasks - lsls r2, r6, 2 - adds r1, r2, r6 - lsls r1, 3 - adds r1, r0 - movs r3, 0x8 - ldrsh r1, [r1, r3] - adds r3, r0, 0 - adds r7, r2, 0 - cmp r1, 0x4 - bls _0819DA18 - b _0819DBCA -_0819DA18: - lsls r0, r1, 2 - ldr r1, =_0819DA30 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0819DA30: - .4byte _0819DA44 - .4byte _0819DA58 - .4byte _0819DA8C - .4byte _0819DABC - .4byte _0819DBB0 -_0819DA44: - bl sub_819EEF0 - ldr r0, =gTasks - adds r1, r7, r6 - lsls r1, 3 - adds r1, r0 - b _0819DB96 - .pool -_0819DA58: - bl sub_819EADC - ldr r2, =gSprites - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, =gTasks - adds r1, r7, r6 - lsls r1, 3 - adds r1, r0 - b _0819DB96 - .pool -_0819DA8C: - ldr r0, =sub_819D12C - movs r1, 0 - bl CreateTask - ldr r2, =gTasks - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - adds r0, 0x21 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, =sub_819D064 - str r1, [r0] - b _0819DB90 - .pool -_0819DABC: - ldr r0, =sub_819D12C - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _0819DACA - b _0819DBCA -_0819DACA: - ldr r2, =gTasks - ldr r4, =gUnknown_03001284 - ldr r0, [r4] - adds r0, 0x21 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x10 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - bne _0819DBCA - bl sub_819EAC0 - ldr r0, [r4] - ldrb r0, [r0, 0x14] - cmp r0, 0 - bne _0819DB04 - movs r0, 0x1 - bl sub_819F048 - b _0819DB32 - .pool -_0819DB04: - movs r0, 0 - bl sub_819F048 - movs r2, 0 - ldr r5, =gSprites - movs r3, 0x4 -_0819DB10: - ldr r0, [r4] - adds r0, 0xB - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x2 - bls _0819DB10 -_0819DB32: - ldr r5, =gSprites - ldr r4, =gUnknown_03001284 - ldr r3, [r4] - ldrb r0, [r3, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r0, r3, 0x5 - ldrb r2, [r3, 0x3] - adds r0, r2 - ldrb r2, [r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r5 - ldrh r0, [r0, 0x20] - movs r5, 0 - strh r0, [r1, 0x20] - ldr r2, =gTasks - adds r0, r3, 0 - adds r0, 0x21 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, =sub_819CF54 - str r1, [r0] - adds r3, 0x27 - strb r5, [r3] - ldr r0, [r4] - adds r0, 0x28 - movs r1, 0x6 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x26 - strb r5, [r0] - ldr r0, [r4] - adds r0, 0x21 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x1 - strh r1, [r0, 0x8] -_0819DB90: - adds r1, r7, r6 - lsls r1, 3 - adds r1, r2 -_0819DB96: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0819DBCA - .pool -_0819DBB0: - adds r0, r7, r6 - lsls r0, 3 - adds r0, r3 - movs r1, 0 - strh r1, [r0, 0x8] - ldr r2, =sub_819CE40 - lsrs r1, r2, 16 - strh r1, [r0, 0x14] - strh r2, [r0, 0x16] - movs r1, 0x1 - strh r1, [r0, 0x12] - ldr r1, =sub_819D770 - str r1, [r0] -_0819DBCA: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819D9EC - - thumb_func_start sub_819DBD8 -sub_819DBD8: @ 819DBD8 - push {r4,r5,lr} - ldr r5, =gUnknown_03001284 - ldr r4, [r5] - cmp r4, 0 - bne _0819DBF6 - movs r0, 0x34 - bl AllocZeroed - str r0, [r5] - strb r4, [r0, 0x3] - ldr r0, [r5] - adds r0, 0x30 - strb r4, [r0] - ldr r0, [r5] - strb r4, [r0, 0x15] -_0819DBF6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819DBD8 - - thumb_func_start sub_819DC00 -sub_819DC00: @ 819DC00 - push {lr} - ldr r0, =gUnknown_03001284 - movs r1, 0 - str r1, [r0] - ldr r0, =sub_819DC1C - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_819DC00 - - thumb_func_start sub_819DC1C -sub_819DC1C: @ 819DC1C - push {r4-r6,lr} - sub sp, 0xC - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0xF - bls _0819DC32 - b _0819E0AA -_0819DC32: - lsls r0, 2 - ldr r1, =_0819DC44 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0819DC44: - .4byte _0819DC84 - .4byte _0819DCD4 - .4byte _0819DDA8 - .4byte _0819DE68 - .4byte _0819DE94 - .4byte _0819DECC - .4byte _0819DEEC - .4byte _0819DF10 - .4byte _0819DF30 - .4byte _0819DF3C - .4byte _0819DF64 - .4byte _0819DF70 - .4byte _0819DF78 - .4byte _0819DF8C - .4byte _0819DFA4 - .4byte _0819E01C -_0819DC84: - movs r0, 0 - bl SetHBlankCallback - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - str r0, [sp, 0x8] - movs r1, 0xC0 - lsls r1, 19 - ldr r2, =0x05006000 - add r0, sp, 0x8 - bl CpuSet - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_086108B8 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r0, =gUnknown_086108C8 - bl InitWindows - bl DeactivateAllTextPrinters - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0819E00E - .pool -_0819DCD4: - ldr r5, =gUnknown_0203CE40 - movs r4, 0x88 - lsls r4, 3 - adds r0, r4, 0 - bl Alloc - str r0, [r5] - ldr r5, =gUnknown_0203CE44 - adds r0, r4, 0 - bl AllocZeroed - str r0, [r5] - ldr r5, =gUnknown_0203CE48 - movs r4, 0x80 - lsls r4, 4 - adds r0, r4, 0 - bl Alloc - str r0, [r5] - ldr r5, =gUnknown_0203CE4C - adds r0, r4, 0 - bl AllocZeroed - str r0, [r5] - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4C - movs r1, 0 - bl SetGpuReg - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x42 - movs r1, 0 - bl SetGpuReg - movs r0, 0x46 - movs r1, 0 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - b _0819E006 - .pool -_0819DDA8: - bl ResetPaletteFade - bl ResetSpriteData - bl ResetTasks - bl FreeAllSpritePalettes - bl dp13_810BB8C - ldr r0, =gFrontierFactorySelectMenu_Gfx - ldr r5, =gUnknown_0203CE40 - ldr r1, [r5] - movs r2, 0x88 - lsls r2, 2 - bl CpuSet - ldr r0, =gUnknown_0861033C - ldr r4, =gUnknown_0203CE44 - ldr r1, [r4] - movs r2, 0x30 - bl CpuSet - ldr r1, [r5] - movs r2, 0x88 - lsls r2, 3 - movs r0, 0x1 - movs r3, 0 - bl LoadBgTiles - ldr r1, [r4] - movs r0, 0x3 - movs r2, 0x60 - movs r3, 0 - bl LoadBgTiles - ldr r0, =gFrontierFactorySelectMenu_Tilemap - ldr r4, =gUnknown_0203CE48 - ldr r1, [r4] - movs r2, 0x80 - lsls r2, 3 - bl CpuSet - ldr r1, [r4] - movs r2, 0x80 - lsls r2, 4 - movs r0, 0x1 - movs r3, 0 - bl LoadBgTilemap - ldr r0, =gFrontierFactorySelectMenu_Pal - movs r1, 0 - movs r2, 0x40 - bl LoadPalette - ldr r4, =gUnknown_08610918 - adds r0, r4, 0 - movs r1, 0xF0 - movs r2, 0xA - bl LoadPalette - adds r0, r4, 0 - movs r1, 0xE0 - movs r2, 0xA - bl LoadPalette - ldr r0, =gUnknown_0861039C - movs r1, 0x20 - movs r2, 0x4 - bl LoadPalette - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0819E00E - .pool -_0819DE68: - ldr r0, =gUnknown_0203CE4C - ldr r1, [r0] - movs r0, 0x3 - bl SetBgTilemapBuffer - ldr r1, =gUnknown_0861023C - movs r0, 0x8 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x3 - movs r2, 0xB - movs r3, 0x4 - bl CopyToBgTilemapBufferRect - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - b _0819E006 - .pool -_0819DE94: - ldr r0, =gUnknown_086106B0 - bl LoadSpritePalettes - ldr r0, =gUnknown_08610650 - bl LoadSpriteSheets - ldr r0, =gUnknown_086106A0 - bl LoadCompressedObjectPic - ldr r0, =sub_819C7FC - bl SetVBlankCallback - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0819E00E - .pool -_0819DECC: - ldr r0, =gUnknown_03001284 - ldr r1, [r0] - ldrb r0, [r1, 0x15] - cmp r0, 0x1 - bne _0819DEDC - ldr r0, =gUnknown_0203CF20 - ldrb r0, [r0] - strb r0, [r1, 0x3] -_0819DEDC: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - b _0819E00E - .pool -_0819DEEC: - bl sub_819DBD8 - bl sub_819E0C0 - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - ldrb r0, [r0, 0x15] - cmp r0, 0x1 - bne _0819DF02 - bl sub_819F304 -_0819DF02: - movs r0, 0 - bl sub_819F048 - b _0819E006 - .pool -_0819DF10: - ldr r0, =gText_SelectPkmnToSwap - bl sub_819EBEC - movs r0, 0x2 - bl PutWindowTilemap - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0819E00E - .pool -_0819DF30: - bl sub_819EFA8 - movs r0, 0x8 - bl PutWindowTilemap - b _0819E006 -_0819DF3C: - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - ldrb r0, [r0, 0x15] - cmp r0, 0 - bne _0819DF4A - bl sub_819EB4C -_0819DF4A: - movs r0, 0x1 - bl PutWindowTilemap - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0819E00E - .pool -_0819DF64: - bl sub_819EB18 - movs r0, 0 - bl PutWindowTilemap - b _0819E006 -_0819DF70: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - b _0819E00E -_0819DF78: - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - ldrb r0, [r0, 0x15] - cmp r0, 0 - beq _0819E006 - bl sub_819EE08 - b _0819E006 - .pool -_0819DF8C: - bl sub_819ED78 - movs r0, 0x3 - bl PutWindowTilemap - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0819E00E - .pool -_0819DFA4: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - ldrb r0, [r0, 0x15] - cmp r0, 0x1 - bne _0819E000 - movs r0, 0x3 - bl ShowBg - ldr r1, =0x00001248 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x0000040b - movs r0, 0x52 - bl SetGpuReg - b _0819E006 - .pool -_0819E000: - movs r0, 0x3 - bl HideBg -_0819E006: - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 -_0819E00E: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0819E0AA - .pool -_0819E01C: - ldr r0, =sub_819CF54 - movs r1, 0 - bl CreateTask - ldr r6, =gUnknown_03001284 - ldr r1, [r6] - adds r1, 0x21 - strb r0, [r1] - ldr r0, [r6] - ldrb r5, [r0, 0x15] - cmp r5, 0 - bne _0819E06C - ldr r4, =gTasks - adds r0, 0x21 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - strh r5, [r0, 0x8] - ldr r0, =sub_819CE40 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - strh r5, [r0, 0x8] - b _0819E0A4 - .pool -_0819E06C: - bl sub_819EAF8 - ldr r4, =gTasks - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0x21 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r3, 0 - movs r1, 0x1 - strh r1, [r0, 0x8] - adds r2, 0x22 - strb r3, [r2] - ldr r0, =sub_819CD34 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x8] -_0819E0A4: - ldr r0, =sub_819C7E0 - bl SetMainCallback2 -_0819E0AA: - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819DC1C - - thumb_func_start sub_819E0C0 -sub_819E0C0: @ 819E0C0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - mov r1, sp - ldr r0, =gUnknown_08610834 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r5,r6} - stm r1!, {r2,r5,r6} - mov r1, sp - movs r0, 0x65 - strh r0, [r1, 0x2] - movs r6, 0 - ldr r4, =gUnknown_03001284 - movs r7, 0 - ldr r5, =gSprites -_0819E0E6: - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 20 - movs r3, 0x90 - lsls r3, 15 - adds r1, r3 - asrs r1, 16 - mov r0, sp - movs r2, 0x40 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r4] - adds r1, 0x5 - adds r1, r6 - strb r0, [r1] - ldr r0, [r4] - adds r0, 0x5 - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r7, [r0, 0x2E] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bls _0819E0E6 - ldr r7, =gUnknown_03001284 - ldr r1, [r7] - adds r0, r1, 0x5 - ldrb r1, [r1, 0x3] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - movs r5, 0x20 - ldrsh r1, [r0, r5] - ldr r0, =gUnknown_0861084C - movs r2, 0x58 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - movs r4, 0 - strb r0, [r1, 0x4] - ldr r0, =gUnknown_08610864 - movs r1, 0xB0 - movs r2, 0x70 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - strb r0, [r1, 0x1] - ldr r0, =gUnknown_0861087C - movs r1, 0xB0 - movs r2, 0x90 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - strb r0, [r1, 0x2] - ldr r0, [r7] - ldrb r1, [r0, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r6, =gSprites - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r7] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldr r0, [r7] - ldrb r1, [r0, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x28 - strb r4, [r0] - ldr r0, [r7] - ldrb r1, [r0, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x29 - strb r4, [r0] - ldr r0, [r7] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x28 - strb r4, [r0] - ldr r0, [r7] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x29 - strb r4, [r0] - ldr r0, [r7] - ldrb r0, [r0, 0x15] - movs r1, 0xC0 - str r1, [sp, 0x18] - cmp r0, 0x1 - bne _0819E1E8 - movs r2, 0xF0 - str r2, [sp, 0x18] -_0819E1E8: - mov r1, sp - ldr r0, =gUnknown_0861084C - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - mov r0, sp - movs r4, 0x68 - mov r10, r4 - mov r5, r10 - strh r5, [r0] - movs r1, 0xF0 - movs r2, 0x78 - movs r3, 0xA - bl CreateSprite - ldr r1, [r7] - strb r0, [r1, 0x8] - mov r1, sp - ldr r0, =gUnknown_08610864 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - mov r0, sp - movs r1, 0x69 - mov r9, r1 - mov r2, r9 - strh r2, [r0] - movs r4, 0x80 - lsls r4, 1 - adds r1, r4, 0 - movs r2, 0x78 - movs r3, 0xA - bl CreateSprite - ldr r1, [r7] - strb r0, [r1, 0x9] - movs r5, 0x90 - lsls r5, 1 - mov r0, sp - adds r1, r5, 0 - movs r2, 0x78 - movs r3, 0xA - bl CreateSprite - ldr r1, [r7] - strb r0, [r1, 0xA] - mov r1, sp - ldr r0, =gUnknown_0861084C - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - mov r0, sp - movs r3, 0x6A - mov r8, r3 - mov r6, r8 - strh r6, [r0] - movs r1, 0xF0 - movs r2, 0x78 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r7] - strb r0, [r1, 0xB] - mov r1, sp - ldr r0, =gUnknown_08610864 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - mov r1, sp - movs r0, 0x6B - strh r0, [r1] - mov r0, sp - adds r1, r4, 0 - movs r2, 0x78 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r7] - strb r0, [r1, 0xC] - mov r0, sp - movs r6, 0x6C - strh r6, [r0] - adds r1, r5, 0 - movs r2, 0x78 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r7] - strb r0, [r1, 0xD] - mov r1, sp - ldr r0, =gUnknown_0861084C - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - mov r0, sp - mov r4, r10 - strh r4, [r0] - ldr r1, [sp, 0x18] - movs r2, 0x90 - movs r3, 0xA - bl CreateSprite - ldr r1, [r7] - strb r0, [r1, 0xE] - mov r1, sp - ldr r0, =gUnknown_08610864 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r4,r5} - stm r1!, {r2,r4,r5} - mov r0, sp - mov r3, r9 - strh r3, [r0] - ldr r4, [sp, 0x18] - adds r4, 0x10 - adds r1, r4, 0 - movs r2, 0x90 - movs r3, 0xA - bl CreateSprite - ldr r1, [r7] - strb r0, [r1, 0xF] - mov r1, sp - ldr r0, =gUnknown_0861084C - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - mov r0, sp - mov r5, r8 - strh r5, [r0] - ldr r1, [sp, 0x18] - movs r2, 0x90 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r7] - strb r0, [r1, 0x10] - mov r1, sp - ldr r0, =gUnknown_08610864 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - mov r0, sp - strh r6, [r0] - adds r1, r4, 0 - movs r2, 0x90 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r7] - strb r0, [r1, 0x11] - movs r6, 0 - ldr r5, =gSprites - adds r4, r7, 0 - movs r7, 0 - movs r0, 0x4 - mov r10, r0 -_0819E330: - ldr r0, [r4] - lsls r3, r6, 1 - adds r2, r3, r6 - adds r0, 0x8 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x28 - strb r7, [r0] - ldr r0, [r4] - adds r0, 0x8 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x29 - strb r7, [r0] - ldr r0, [r4] - adds r0, 0x9 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x28 - strb r7, [r0] - ldr r0, [r4] - adds r0, 0x9 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x29 - strb r7, [r0] - ldr r0, [r4] - adds r0, 0xA - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x28 - strb r7, [r0] - ldr r0, [r4] - adds r0, 0xA - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x29 - strb r7, [r0] - ldr r0, [r4] - adds r0, 0xE - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x28 - strb r7, [r0] - ldr r0, [r4] - adds r0, 0xE - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x29 - strb r7, [r0] - ldr r0, [r4] - adds r0, 0xF - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x28 - strb r7, [r0] - ldr r0, [r4] - adds r0, 0xF - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x29 - strb r7, [r0] - ldr r0, [r4] - adds r0, 0x8 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - mov r8, r0 - ldrb r1, [r0] - mov r0, r10 - orrs r1, r0 - mov r0, r8 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x9 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - mov r8, r0 - ldrb r1, [r0] - mov r0, r10 - orrs r1, r0 - mov r0, r8 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xA - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - mov r2, r10 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xE - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xF - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r3, =gUnknown_03001284 - mov r8, r3 - ldr r0, =gSprites - mov r9, r0 - cmp r6, 0x1 - bhi _0819E496 - b _0819E330 -_0819E496: - ldr r0, [r3] - ldrb r0, [r0, 0xE] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r9 - adds r1, 0x3E - ldrb r2, [r1] - movs r3, 0x5 - negs r3, r3 - adds r0, r3, 0 - b _0819E4C8 - .pool -_0819E4C8: - ands r0, r2 - strb r0, [r1] - mov r1, r8 - ldr r0, [r1] - ldrb r1, [r0, 0xF] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - adds r0, 0x3E - ldrb r2, [r0] - adds r1, r3, 0 - ands r1, r2 - strb r1, [r0] - mov r2, r8 - ldr r0, [r2] - ldrb r1, [r0, 0x8] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - adds r0, 0x3E - ldrb r2, [r0] - adds r1, r3, 0 - ands r1, r2 - strb r1, [r0] - mov r4, r8 - ldr r0, [r4] - ldrb r1, [r0, 0x9] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - adds r0, 0x3E - ldrb r2, [r0] - adds r1, r3, 0 - ands r1, r2 - strb r1, [r0] - ldr r0, [r4] - ldrb r1, [r0, 0xA] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - adds r0, 0x3E - ldrb r1, [r0] - ands r3, r1 - strb r3, [r0] - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_819E0C0 - - thumb_func_start sub_819E538 -sub_819E538: @ 819E538 - push {r4-r7,lr} - movs r5, 0 -_0819E53C: - ldr r6, =gUnknown_03001284 - ldr r0, [r6] - adds r0, 0x5 - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - bl DestroySprite - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _0819E53C - ldr r0, [r6] - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r0, [r6] - ldrb r1, [r0, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r0, [r6] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - movs r5, 0 -_0819E590: - movs r4, 0 - lsls r6, r5, 1 -_0819E594: - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - adds r1, r6, r5 - adds r1, r4, r1 - adds r0, 0x8 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0819E594 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bls _0819E590 - movs r5, 0 -_0819E5C6: - movs r4, 0 - adds r7, r5, 0x1 - lsls r6, r5, 1 -_0819E5CC: - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - adds r1, r4, r6 - adds r0, 0xE - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0819E5CC - lsls r0, r7, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bls _0819E5C6 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819E538 - - thumb_func_start sub_819E608 -sub_819E608: @ 819E608 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bhi _0819E65C - ldr r4, =gSprites - ldr r5, =gUnknown_03001284 - ldr r0, [r5] - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - bl sub_819E8EC - ldr r0, [r5] - ldrb r2, [r0, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - adds r0, 0x5 - adds r0, r6 - ldrb r2, [r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x20] - strh r0, [r1, 0x20] - b _0819E684 - .pool -_0819E65C: - ldr r2, =gSprites - ldr r3, =gUnknown_03001284 - ldr r0, [r3] - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r3] - ldr r1, [r0, 0x18] - lsls r0, r6, 3 - adds r0, r1 - ldrb r0, [r0] - bl sub_819E838 -_0819E684: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819E608 - - thumb_func_start sub_819E694 -sub_819E694: @ 819E694 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - lsls r4, 24 - cmp r4, 0 - ble _0819E6C0 - ldr r1, =gUnknown_03001284 - ldr r2, [r1] - ldrb r0, [r2, 0x3] - adds r0, 0x1 - ldrb r3, [r2, 0x17] - cmp r0, r3 - bne _0819E6D8 - movs r0, 0 - b _0819E6D8 - .pool -_0819E6C0: - ldr r0, =gUnknown_03001284 - ldr r2, [r0] - ldrb r3, [r2, 0x3] - adds r1, r0, 0 - cmp r3, 0 - beq _0819E6D4 - subs r0, r3, 0x1 - b _0819E6D8 - .pool -_0819E6D4: - ldrb r0, [r2, 0x17] - subs r0, 0x1 -_0819E6D8: - strb r0, [r2, 0x3] - ldr r0, [r1] - ldrb r0, [r0, 0x3] - bl sub_819E608 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_819E694 - - thumb_func_start sub_819E6E8 -sub_819E6E8: @ 819E6E8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - lsls r4, 24 - cmp r4, 0 - ble _0819E728 - ldr r0, =gUnknown_03001284 - ldr r2, [r0] - ldrb r1, [r2, 0x3] - adds r4, r0, 0 - cmp r1, 0x2 - bhi _0819E714 - movs r0, 0x3 - strb r0, [r2, 0x3] - b _0819E74A - .pool -_0819E714: - ldrb r0, [r2, 0x3] - adds r0, 0x1 - ldrb r1, [r2, 0x17] - cmp r0, r1 - beq _0819E722 - strb r0, [r2, 0x3] - b _0819E74A -_0819E722: - movs r0, 0 - strb r0, [r2, 0x3] - b _0819E74A -_0819E728: - ldr r0, =gUnknown_03001284 - ldr r1, [r0] - ldrb r3, [r1, 0x3] - adds r2, r3, 0 - adds r4, r0, 0 - cmp r2, 0x2 - bls _0819E744 - cmp r2, 0 - beq _0819E744 - subs r0, r3, 0x1 - b _0819E748 - .pool -_0819E744: - ldrb r0, [r1, 0x17] - subs r0, 0x1 -_0819E748: - strb r0, [r1, 0x3] -_0819E74A: - ldr r0, [r4] - ldrb r0, [r0, 0x3] - bl sub_819E608 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_819E6E8 - - thumb_func_start sub_819E758 -sub_819E758: @ 819E758 - push {lr} - lsls r0, 24 - cmp r0, 0 - ble _0819E778 - ldr r0, =gUnknown_03001284 - ldr r1, [r0] - ldrb r3, [r1, 0x16] - adds r2, r0, 0 - cmp r3, 0x1 - beq _0819E774 - adds r0, r3, 0x1 - b _0819E78E - .pool -_0819E774: - movs r0, 0 - b _0819E78E -_0819E778: - ldr r0, =gUnknown_03001284 - ldr r1, [r0] - ldrb r3, [r1, 0x16] - adds r2, r0, 0 - cmp r3, 0 - beq _0819E78C - subs r0, r3, 0x1 - b _0819E78E - .pool -_0819E78C: - movs r0, 0x1 -_0819E78E: - strb r0, [r1, 0x16] - ldr r3, =gSprites - ldr r2, [r2] - ldrb r0, [r2, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r0, [r2, 0x16] - lsls r0, 4 - adds r0, 0x70 - strh r0, [r1, 0x22] - ldrb r0, [r2, 0x2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r0, [r2, 0x16] - lsls r0, 4 - adds r0, 0x70 - strh r0, [r1, 0x22] - pop {r0} - bx r0 - .pool - thumb_func_end sub_819E758 - - thumb_func_start sub_819E7C0 -sub_819E7C0: @ 819E7C0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - lsls r4, 24 - cmp r4, 0 - ble _0819E7EC - ldr r0, =gUnknown_03001284 - ldr r1, [r0] - ldrb r3, [r1] - adds r2, r0, 0 - cmp r3, 0x2 - beq _0819E7E8 - adds r0, r3, 0x1 - b _0819E802 - .pool -_0819E7E8: - movs r0, 0 - b _0819E802 -_0819E7EC: - ldr r0, =gUnknown_03001284 - ldr r1, [r0] - ldrb r3, [r1] - adds r2, r0, 0 - cmp r3, 0 - beq _0819E800 - subs r0, r3, 0x1 - b _0819E802 - .pool -_0819E800: - movs r0, 0x2 -_0819E802: - strb r0, [r1] - ldr r3, =gSprites - ldr r2, [r2] - ldrb r0, [r2, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r0, [r2] - lsls r0, 4 - adds r0, 0x70 - strh r0, [r1, 0x22] - ldrb r0, [r2, 0x2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r0, [r2] - lsls r0, 4 - adds r0, 0x70 - strh r0, [r1, 0x22] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819E7C0 - - thumb_func_start sub_819E838 -sub_819E838: @ 819E838 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - movs r0, 0x5 - negs r0, r0 - mov r9, r0 - movs r2, 0x4 - mov r8, r2 - ldr r0, =gSprites - mov r12, r0 - ldr r7, =gUnknown_03001284 -_0819E856: - cmp r6, 0x2 - bne _0819E898 - ldr r5, =gSprites - ldr r3, =gUnknown_03001284 - ldr r0, [r3] - adds r0, 0xB - adds r0, r4 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r2, [r1] - mov r0, r9 - ands r0, r2 - strb r0, [r1] - cmp r4, 0x1 - bhi _0819E8D4 - ldr r0, [r3] - adds r0, 0x10 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - b _0819E8CA - .pool -_0819E898: - cmp r6, 0x3 - bne _0819E8D4 - cmp r4, 0x1 - bhi _0819E8BA - ldr r0, [r7] - adds r0, 0x10 - adds r0, r4 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r12 - adds r1, 0x3E - ldrb r2, [r1] - mov r0, r9 - ands r0, r2 - strb r0, [r1] -_0819E8BA: - ldr r0, [r7] - adds r0, 0xB - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r12 -_0819E8CA: - adds r0, 0x3E - ldrb r1, [r0] - mov r2, r8 - orrs r1, r2 - strb r1, [r0] -_0819E8D4: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0819E856 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_819E838 - - thumb_func_start sub_819E8EC -sub_819E8EC: @ 819E8EC - push {r4-r6,lr} - movs r2, 0 - ldr r5, =gSprites - ldr r4, =gUnknown_03001284 - adds r6, r5, 0 - movs r3, 0x4 -_0819E8F8: - ldr r0, [r4] - adds r0, 0xB - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - cmp r2, 0x1 - bhi _0819E92C - ldr r0, [r4] - adds r0, 0x10 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] -_0819E92C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x2 - bls _0819E8F8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819E8EC - - thumb_func_start sub_819E944 -sub_819E944: @ 819E944 - push {r4,r5,lr} - ldr r0, =gUnknown_03001284 - ldr r3, [r0] - ldrb r1, [r3, 0x15] - adds r5, r0, 0 - cmp r1, 0x1 - bne _0819E95C - movs r0, 0 - strb r0, [r3, 0x15] - b _0819E960 - .pool -_0819E95C: - movs r0, 0 - strb r0, [r3] -_0819E960: - ldr r4, =gSprites - ldr r2, [r5] - ldrb r1, [r2, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xB0 - strh r1, [r0, 0x20] - ldrb r0, [r2, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r2] - lsls r0, 4 - adds r0, 0x70 - strh r0, [r1, 0x22] - ldrb r1, [r2, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xD0 - strh r1, [r0, 0x20] - ldrb r0, [r2, 0x2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r2] - lsls r0, 4 - adds r0, 0x70 - strh r0, [r1, 0x22] - ldrb r0, [r2, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - ldr r0, [r5] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - bl sub_819EC20 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819E944 - - thumb_func_start sub_819E9E0 -sub_819E9E0: @ 819E9E0 - push {r4,r5,lr} - ldr r5, =gUnknown_03001284 - ldr r1, [r5] - movs r0, 0 - strb r0, [r1, 0x16] - ldr r4, =gSprites - ldr r2, [r5] - ldrb r1, [r2, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xB0 - strh r1, [r0, 0x20] - ldrb r1, [r2, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r3, 0x70 - strh r3, [r0, 0x22] - ldrb r1, [r2, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xD0 - strh r1, [r0, 0x20] - ldrb r1, [r2, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r3, [r0, 0x22] - ldrb r0, [r2, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - ldr r0, [r5] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - bl sub_819EC94 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819E9E0 - - thumb_func_start sub_819EA64 -sub_819EA64: @ 819EA64 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =gSprites - ldr r3, =gUnknown_03001284 - ldr r0, [r3] - ldrb r1, [r0, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r3] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0 - movs r1, 0x2 - bl CopyWindowToVram - adds r0, r4, 0 - bl ClearWindowTilemap - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819EA64 - - thumb_func_start sub_819EAC0 -sub_819EAC0: @ 819EAC0 - push {lr} - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - pop {r0} - bx r0 - thumb_func_end sub_819EAC0 - - thumb_func_start sub_819EADC -sub_819EADC: @ 819EADC - push {lr} - movs r0, 0x7 - bl PutWindowTilemap - movs r0, 0x7 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x7 - movs r1, 0x2 - bl CopyWindowToVram - pop {r0} - bx r0 - thumb_func_end sub_819EADC - - thumb_func_start sub_819EAF8 -sub_819EAF8: @ 819EAF8 - push {lr} - bl sub_819EAC0 - movs r0, 0x5 - bl PutWindowTilemap - movs r0, 0x5 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x5 - movs r1, 0x2 - bl CopyWindowToVram - pop {r0} - bx r0 - thumb_func_end sub_819EAF8 - - thumb_func_start sub_819EB18 -sub_819EB18: @ 819EB18 - push {lr} - sub sp, 0xC - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, =gText_PkmnSwap - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0x2 - bl PrintTextOnWindow - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_819EB18 - - thumb_func_start sub_819EB4C -sub_819EB4C: @ 819EB4C - push {r4,lr} - sub sp, 0xC - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r0, =gUnknown_03001284 - ldr r1, [r0] - ldrb r0, [r1, 0x3] - cmp r0, 0x2 - bls _0819EB70 - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - b _0819EBD4 - .pool -_0819EB70: - ldrb r2, [r1, 0x3] - ldrb r0, [r1, 0x14] - cmp r0, 0 - bne _0819EB84 - movs r0, 0x64 - muls r0, r2 - ldr r1, =gPlayerParty - b _0819EB8A - .pool -_0819EB84: - movs r0, 0x64 - muls r0, r2 - ldr r1, =gEnemyParty -_0819EB8A: - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - ldr r4, =gStringVar4 - movs r0, 0xB - muls r1, r0 - ldr r0, =gSpeciesNames - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x56 - bl GetStringRightAlignXOffset - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_08610925 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0x1 - bl box_print - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram -_0819EBD4: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819EB4C - - thumb_func_start sub_819EBEC -sub_819EBEC: @ 819EBEC - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r0, 0x2 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x5 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0x2 - bl PrintTextOnWindow - movs r0, 0x2 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_819EBEC - - thumb_func_start sub_819EC20 -sub_819EC20: @ 819EC20 - push {r4,r5,lr} - sub sp, 0xC - movs r0, 0x3 - bl PutWindowTilemap - movs r0, 0x3 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r5, =gUnknown_08610922 - str r5, [sp] - movs r4, 0 - str r4, [sp, 0x4] - ldr r0, =gText_Summary2 - str r0, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0xF - movs r3, 0x1 - bl box_print - str r5, [sp] - str r4, [sp, 0x4] - ldr r0, =gText_Swap - str r0, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0xF - movs r3, 0x11 - bl box_print - str r5, [sp] - str r4, [sp, 0x4] - ldr r0, =gText_Rechoose - str r0, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0xF - movs r3, 0x21 - bl box_print - movs r0, 0x3 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819EC20 - - thumb_func_start sub_819EC94 -sub_819EC94: @ 819EC94 - push {r4,r5,lr} - sub sp, 0xC - movs r0, 0x4 - bl PutWindowTilemap - movs r0, 0x4 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r5, =gUnknown_08610922 - str r5, [sp] - movs r4, 0 - str r4, [sp, 0x4] - ldr r0, =gText_Yes3 - str r0, [sp, 0x8] - movs r0, 0x4 - movs r1, 0x1 - movs r2, 0x7 - movs r3, 0x1 - bl box_print - str r5, [sp] - str r4, [sp, 0x4] - ldr r0, =gText_No3 - str r0, [sp, 0x8] - movs r0, 0x4 - movs r1, 0x1 - movs r2, 0x7 - movs r3, 0x11 - bl box_print - movs r0, 0x4 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819EC94 - - thumb_func_start sub_819ECF0 -sub_819ECF0: @ 819ECF0 - push {r4-r6,lr} - sub sp, 0xC - adds r6, r0, 0 - adds r5, r1, 0 - adds r4, r2, 0 - movs r0, 0 - adds r1, r6, 0 - movs r2, 0x46 - bl GetStringRightAlignXOffset - adds r2, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gUnknown_08610922 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r6, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0 - adds r3, r5, 0 - bl box_print - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819ECF0 - - thumb_func_start sub_819ED34 -sub_819ED34: @ 819ED34 - push {lr} - movs r0, 0x5 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - ldrb r0, [r0, 0x14] - cmp r0, 0 - beq _0819ED56 - cmp r0, 0x1 - bne _0819ED60 - ldr r0, =gText_PkmnForSwap - movs r1, 0 - movs r2, 0x5 - bl sub_819ECF0 -_0819ED56: - ldr r0, =gText_Cancel3 - movs r1, 0x18 - movs r2, 0x5 - bl sub_819ECF0 -_0819ED60: - movs r0, 0x5 - movs r1, 0x3 - bl CopyWindowToVram - pop {r0} - bx r0 - .pool - thumb_func_end sub_819ED34 - - thumb_func_start sub_819ED78 -sub_819ED78: @ 819ED78 - push {lr} - movs r0, 0x3 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - ldrb r0, [r0, 0x14] - cmp r0, 0 - beq _0819ED9A - cmp r0, 0x1 - bne _0819EDA4 - ldr r0, =gText_PkmnForSwap - movs r1, 0x8 - movs r2, 0x3 - bl sub_819ECF0 -_0819ED9A: - ldr r0, =gText_Cancel3 - movs r1, 0x20 - movs r2, 0x3 - bl sub_819ECF0 -_0819EDA4: - movs r0, 0x3 - movs r1, 0x3 - bl CopyWindowToVram - pop {r0} - bx r0 - .pool - thumb_func_end sub_819ED78 - - thumb_func_start sub_819EDBC -sub_819EDBC: @ 819EDBC - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0819EDCC - cmp r0, 0x1 - beq _0819EDEC - b _0819EDF6 -_0819EDCC: - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - ldrb r0, [r0, 0x14] - cmp r0, 0x1 - bne _0819EDF6 - ldr r0, =gText_PkmnForSwap - movs r1, 0x8 - movs r2, 0x3 - bl sub_819ECF0 - b _0819EDF6 - .pool -_0819EDEC: - ldr r0, =gText_Cancel3 - movs r1, 0x20 - movs r2, 0x3 - bl sub_819ECF0 -_0819EDF6: - movs r0, 0x3 - movs r1, 0x3 - bl CopyWindowToVram - pop {r0} - bx r0 - .pool - thumb_func_end sub_819EDBC - - thumb_func_start sub_819EE08 -sub_819EE08: @ 819EE08 - push {r4,lr} - sub sp, 0x18 - ldr r0, =gUnknown_08610918 - add r1, sp, 0xC - movs r2, 0x4 - bl CpuSet - ldr r0, =gUnknown_03001284 - ldr r2, [r0] - ldrb r0, [r2, 0x15] - cmp r0, 0 - bne _0819EE3C - add r0, sp, 0xC - ldr r1, =gPlttBufferFaded - movs r2, 0xE4 - lsls r2, 1 - adds r1, r2 - ldrh r1, [r1] - strh r1, [r0, 0x8] - b _0819EE42 - .pool -_0819EE3C: - add r1, sp, 0xC - ldrh r0, [r2, 0x24] - strh r0, [r1, 0x8] -_0819EE42: - add r0, sp, 0xC - movs r1, 0xF0 - movs r2, 0xA - bl LoadPalette - movs r0, 0x7 - bl PutWindowTilemap - movs r0, 0x7 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r0, =gUnknown_03001284 - ldr r1, [r0] - ldrb r0, [r1, 0x3] - cmp r0, 0x2 - bls _0819EE74 - movs r0, 0x7 - movs r1, 0x3 - bl CopyWindowToVram - b _0819EED8 - .pool -_0819EE74: - ldrb r2, [r1, 0x3] - ldrb r0, [r1, 0x14] - cmp r0, 0 - bne _0819EE88 - movs r0, 0x64 - muls r0, r2 - ldr r1, =gPlayerParty - b _0819EE8E - .pool -_0819EE88: - movs r0, 0x64 - muls r0, r2 - ldr r1, =gEnemyParty -_0819EE8E: - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - ldr r4, =gStringVar4 - movs r0, 0xB - muls r1, r0 - ldr r0, =gSpeciesNames - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x56 - bl GetStringRightAlignXOffset - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_08610925 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x7 - movs r1, 0x1 - movs r3, 0x1 - bl box_print - movs r0, 0x7 - movs r1, 0x3 - bl CopyWindowToVram -_0819EED8: - add sp, 0x18 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819EE08 - - thumb_func_start sub_819EEF0 -sub_819EEF0: @ 819EEF0 - push {r4,lr} - sub sp, 0xC - ldr r0, =gUnknown_08610918 - movs r1, 0xE0 - movs r2, 0xA - bl LoadPalette - ldr r0, =gPlttBufferUnfaded+ 0x1E0 - ldr r1, =gPlttBufferFaded + 0x1C0 - movs r2, 0x5 - bl CpuSet - ldr r0, =gUnknown_03001284 - ldr r1, [r0] - ldrb r0, [r1, 0x3] - cmp r0, 0x2 - bls _0819EF2C - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - b _0819EF90 - .pool -_0819EF2C: - ldrb r2, [r1, 0x3] - ldrb r0, [r1, 0x14] - cmp r0, 0 - bne _0819EF40 - movs r0, 0x64 - muls r0, r2 - ldr r1, =gPlayerParty - b _0819EF46 - .pool -_0819EF40: - movs r0, 0x64 - muls r0, r2 - ldr r1, =gEnemyParty -_0819EF46: - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - ldr r4, =gStringVar4 - movs r0, 0xB - muls r1, r0 - ldr r0, =gSpeciesNames - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x56 - bl GetStringRightAlignXOffset - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_08610925 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0x1 - bl box_print - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram -_0819EF90: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819EEF0 - - thumb_func_start sub_819EFA8 -sub_819EFA8: @ 819EFA8 - push {r4-r6,lr} - sub sp, 0x2C - ldr r6, =gUnknown_03001284 - ldr r0, [r6] - ldrb r4, [r0, 0x3] - adds r5, r4, 0 - movs r0, 0x8 - movs r1, 0 - bl FillWindowPixelBuffer - cmp r4, 0x2 - bls _0819EFD0 - movs r0, 0x8 - movs r1, 0x2 - bl CopyWindowToVram - b _0819F03A - .pool -_0819EFD0: - movs r0, 0x8 - bl PutWindowTilemap - ldr r0, [r6] - ldrb r0, [r0, 0x14] - cmp r0, 0 - bne _0819EFEC - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - b _0819EFF2 - .pool -_0819EFEC: - movs r0, 0x64 - muls r0, r5 - ldr r1, =gEnemyParty -_0819EFF2: - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - add r1, sp, 0xC - bl CopyMonCategoryText - movs r0, 0x1 - add r1, sp, 0xC - movs r2, 0x76 - bl GetStringRightAlignXOffset - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x8 - movs r1, 0x1 - add r2, sp, 0xC - bl PrintTextOnWindow - movs r0, 0x8 - movs r1, 0x2 - bl CopyWindowToVram -_0819F03A: - add sp, 0x2C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819EFA8 - - thumb_func_start sub_819F048 -sub_819F048: @ 819F048 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r4, =gUnknown_03001284 - ldr r3, [r4] - ldrb r0, [r3, 0x15] - cmp r0, 0x1 - beq _0819F094 - cmp r2, 0 - beq _0819F068 - cmp r2, 0x1 - beq _0819F080 - b _0819F094 - .pool -_0819F068: - strb r2, [r3, 0x14] - ldr r0, [r4] - strb r2, [r0, 0x3] - ldr r1, [r4] - movs r0, 0x4 - strb r0, [r1, 0x17] - ldr r1, [r4] - ldr r0, =gUnknown_08610928 - b _0819F092 - .pool -_0819F080: - movs r1, 0 - strb r2, [r3, 0x14] - ldr r0, [r4] - strb r1, [r0, 0x3] - ldr r1, [r4] - movs r0, 0x5 - strb r0, [r1, 0x17] - ldr r1, [r4] - ldr r0, =gUnknown_08610948 -_0819F092: - str r0, [r1, 0x18] -_0819F094: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819F048 - - thumb_func_start sub_819F0A0 -sub_819F0A0: @ 819F0A0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gUnknown_03001280 - ldr r2, =gUnknown_086108AC - ldr r1, =gUnknown_03001284 - ldr r1, [r1] - ldrb r1, [r1] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - str r1, [r3] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end sub_819F0A0 - - thumb_func_start sub_819F0CC -sub_819F0CC: @ 819F0CC - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =gUnknown_03001284 - ldr r1, [r5] - ldr r0, [r1, 0x2C] - adds r1, 0x30 - movs r2, 0x1 - bl sub_819F3F8 - ldr r0, [r5] - ldrb r1, [r0, 0x3] - movs r5, 0 - strb r1, [r0, 0x12] - movs r0, 0x3 - bl sub_819EA64 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x8] - ldr r1, =sub_819D9EC - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819F0CC - - thumb_func_start sub_819F114 -sub_819F114: @ 819F114 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x6 - strh r0, [r1, 0x8] - ldr r0, =sub_819C90C - str r0, [r1] - bx lr - .pool - thumb_func_end sub_819F114 - - thumb_func_start sub_819F134 -sub_819F134: @ 819F134 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gUnknown_03001284 - ldr r1, [r0] - ldr r0, [r1, 0x2C] - adds r1, 0x30 - movs r2, 0x1 - bl sub_819F3F8 - movs r0, 0x3 - bl sub_819EA64 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - ldr r2, =sub_819CE40 - lsrs r1, r2, 16 - strh r1, [r0, 0x14] - strh r2, [r0, 0x16] - movs r1, 0x1 - strh r1, [r0, 0x12] - ldr r1, =sub_819D770 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819F134 - - thumb_func_start sub_819F184 -sub_819F184: @ 819F184 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gUnknown_03001280 - ldr r1, =gUnknown_03001284 - ldr r2, [r1] - ldrb r1, [r2, 0x3] - ldr r2, [r2, 0x18] - lsls r1, 3 - adds r1, r2 - ldr r1, [r1, 0x4] - str r1, [r3] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end sub_819F184 - - thumb_func_start sub_819F1AC -sub_819F1AC: @ 819F1AC - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, =sub_819CC24 - lsrs r0, r2, 16 - movs r3, 0 - strh r0, [r1, 0x14] - strh r2, [r1, 0x16] - strh r3, [r1, 0x8] - strh r3, [r1, 0x12] - ldr r0, =sub_819D588 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_819F1AC - - thumb_func_start sub_819F1DC -sub_819F1DC: @ 819F1DC - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, =sub_819D9EC - lsrs r0, r2, 16 - movs r3, 0 - strh r0, [r1, 0x14] - strh r2, [r1, 0x16] - strh r3, [r1, 0x12] - strh r3, [r1, 0x8] - ldr r0, =sub_819D588 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_819F1DC - - thumb_func_start sub_819F20C -sub_819F20C: @ 819F20C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, =gUnknown_03001284 - ldr r1, [r5] - ldrb r0, [r1, 0x14] - cmp r0, 0 - bne _0819F240 - ldr r3, =gTasks - lsls r4, r6, 2 - adds r0, r4, r6 - lsls r0, 3 - adds r0, r3 - ldr r2, =sub_819CD34 - lsrs r1, r2, 16 - strh r1, [r0, 0x14] - strh r2, [r0, 0x16] - movs r1, 0x2 - strh r1, [r0, 0x12] - b _0819F292 - .pool -_0819F240: - ldrb r0, [r1, 0x3] - bl sub_819F59C - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bne _0819F278 - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x2D - adds r1, 0x30 - movs r2, 0x1 - bl sub_819F2B4 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - strh r4, [r0, 0x12] - ldr r1, =sub_819F488 - b _0819F29E - .pool -_0819F278: - ldr r4, =gTasks - lsls r5, r6, 2 - adds r0, r5, r6 - lsls r0, 3 - adds r0, r4 - ldr r2, =sub_819CCD4 - lsrs r1, r2, 16 - movs r3, 0 - strh r1, [r0, 0x14] - strh r2, [r0, 0x16] - strh r3, [r0, 0x12] - adds r3, r4, 0 - adds r4, r5, 0 -_0819F292: - adds r0, r4, r6 - lsls r0, 3 - adds r0, r3 - movs r1, 0 - strh r1, [r0, 0x8] - ldr r1, =sub_819D588 -_0819F29E: - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819F20C - - thumb_func_start sub_819F2B4 -sub_819F2B4: @ 819F2B4 - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r1, 0 - lsls r5, r2, 24 - lsrs r5, 24 - ldr r0, =gUnknown_08610894 - movs r1, 0x78 - movs r2, 0x40 - movs r3, 0x1 - bl CreateSprite - strb r0, [r4] - ldr r2, =gSprites - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r2, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_819F600 - str r1, [r0] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r5, [r0, 0x3C] - movs r0, 0x1 - strb r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819F2B4 - - thumb_func_start sub_819F304 -sub_819F304: @ 819F304 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x10 - ldr r0, =gUnknown_08610894 - movs r1, 0x78 - movs r2, 0x40 - movs r3, 0x1 - bl CreateSprite - ldr r6, =gUnknown_03001284 - ldr r1, [r6] - adds r1, 0x2D - movs r2, 0 - mov r10, r2 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x2D - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - mov r8, r1 - add r0, r8 - movs r1, 0x2 - bl StartSpriteAffineAnim - ldr r0, [r6] - ldrb r1, [r0, 0x3] - movs r0, 0x64 - adds r4, r1, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - mov r9, r0 - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - adds r2, r0, 0 - movs r0, 0x58 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - ldr r0, =0x0000ffff - str r0, [sp, 0xC] - adds r0, r5, 0 - mov r1, r9 - movs r3, 0x1 - bl sub_818D7D8 - ldr r1, [r6] - adds r1, 0x2C - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x2C - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - adds r0, 0x28 - mov r2, r10 - strb r2, [r0] - ldr r0, [r6] - adds r0, 0x2C - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - adds r0, 0x29 - strb r2, [r0] - ldr r0, [r6] - adds r0, 0x2D - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819F304 - - thumb_func_start sub_819F3F8 -sub_819F3F8: @ 819F3F8 - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r1, 0 - lsls r5, r2, 24 - lsrs r5, 24 - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_818D820 - ldr r0, =sub_819F7B4 - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0x16] - lsrs r4, 8 - lsls r4, 24 - lsrs r4, 24 - strh r4, [r1, 0x14] - ldr r1, [r1] - bl _call_via_r1 - movs r0, 0x1 - strb r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819F3F8 - - thumb_func_start sub_819F444 -sub_819F444: @ 819F444 - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r1, 0 - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_818D820 - ldr r5, =gSprites - lsls r4, 16 - lsrs r1, r4, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - movs r0, 0 - strb r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819F444 - - thumb_func_start sub_819F488 -sub_819F488: @ 819F488 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gUnknown_03001284 - ldr r0, [r1] - adds r0, 0x30 - ldrb r0, [r0] - adds r3, r1, 0 - cmp r0, 0x1 - beq _0819F58A - ldr r2, =gTasks - lsls r1, r4, 2 - adds r0, r1, r4 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r5, r1, 0 - cmp r0, 0x4 - bhi _0819F58A - lsls r0, 2 - ldr r1, =_0819F4C8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0819F4C8: - .4byte _0819F4DC - .4byte _0819F4F8 - .4byte _0819F52C - .4byte _0819F548 - .4byte _0819F568 -_0819F4DC: - ldr r0, =gText_SamePkmnInPartyAlready - bl sub_819EBEC - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - adds r0, 0x20 - movs r1, 0 - strb r1, [r0] - b _0819F54E - .pool -_0819F4F8: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0819F50C - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0819F58A -_0819F50C: - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_03001284 - ldr r1, [r0] - ldr r0, [r1, 0x2C] - adds r1, 0x30 - movs r2, 0x1 - bl sub_819F3F8 - b _0819F54E - .pool -_0819F52C: - ldr r0, [r3] - adds r0, 0x30 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0819F58A - movs r0, 0x5 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x5 - movs r1, 0x2 - bl CopyWindowToVram - b _0819F54E -_0819F548: - ldr r0, =gText_SelectPkmnToAccept - bl sub_819EBEC -_0819F54E: - ldr r0, =gTasks - adds r1, r5, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0819F58A - .pool -_0819F568: - bl sub_819EEF0 - bl sub_819EADC - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - adds r0, 0x22 - movs r1, 0x1 - strb r1, [r0] - ldr r1, =gTasks - adds r0, r5, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x12] - strh r1, [r0, 0x8] - ldr r1, =sub_819CE40 - str r1, [r0] -_0819F58A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819F488 - - thumb_func_start sub_819F59C -sub_819F59C: @ 819F59C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gEnemyParty - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - movs r4, 0 -_0819F5B8: - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - ldrb r0, [r0, 0x12] - cmp r4, r0 - beq _0819F5EC - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, r5 - bne _0819F5EC - movs r0, 0x1 - b _0819F5F8 - .pool -_0819F5EC: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0819F5B8 - movs r0, 0 -_0819F5F8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_819F59C - - thumb_func_start sub_819F600 -sub_819F600: @ 819F600 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0819F640 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =sub_819F69C - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r2, [r4, 0x3C] - strh r2, [r1, 0x16] - ldr r1, [r1] - bl _call_via_r1 - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] -_0819F640: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819F600 - - thumb_func_start sub_819F654 -sub_819F654: @ 819F654 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0819F694 - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _0819F688 - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - adds r0, 0x30 - movs r1, 0 - strb r1, [r0] - b _0819F68E - .pool -_0819F688: - movs r0, 0 - bl sub_819BE20 -_0819F68E: - adds r0, r4, 0 - bl DestroySprite -_0819F694: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_819F654 - - thumb_func_start sub_819F69C -sub_819F69C: @ 819F69C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0819F71A - cmp r0, 0x1 - bgt _0819F6C4 - cmp r0, 0 - beq _0819F6CA - b _0819F77C - .pool -_0819F6C4: - cmp r0, 0x2 - beq _0819F73C - b _0819F77C -_0819F6CA: - movs r0, 0x58 - strh r0, [r4, 0xE] - movs r0, 0x98 - strh r0, [r4, 0x38] - movs r0, 0x40 - strh r0, [r4, 0x12] - movs r0, 0x41 - strh r0, [r4, 0x18] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0x38] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x40 - bl SetGpuReg - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x18] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x37 - bl SetGpuReg - b _0819F7A6 -_0819F71A: - movs r0, 0x3 - bl ShowBg - ldr r1, =0x00001248 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x0000040b - movs r0, 0x52 - bl SetGpuReg - b _0819F7A6 - .pool -_0819F73C: - ldrh r0, [r4, 0x12] - subs r0, 0x4 - strh r0, [r4, 0x12] - ldrh r1, [r4, 0x18] - adds r1, 0x4 - strh r1, [r4, 0x18] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x20 - ble _0819F758 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x5F - ble _0819F760 -_0819F758: - movs r0, 0x20 - strh r0, [r4, 0x12] - movs r0, 0x60 - strh r0, [r4, 0x18] -_0819F760: - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x18] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0x20 - bne _0819F7AC - b _0819F7A6 -_0819F77C: - adds r0, r5, 0 - bl DestroyTask - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r2, 0x16 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - bne _0819F7A0 - bl sub_819F8E0 - b _0819F7AC - .pool -_0819F7A0: - bl sub_819BD70 - b _0819F7AC -_0819F7A6: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0819F7AC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_819F69C - - thumb_func_start sub_819F7B4 -sub_819F7B4: @ 819F7B4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0819F844 - cmp r0, 0x1 - beq _0819F894 - movs r0, 0x3 - bl HideBg - ldr r3, =gSprites - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r4, 0x16] - strh r1, [r0, 0x3C] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r3, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_819F654 - str r1, [r0] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x1 - bl StartSpriteAffineAnim - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl ClearGpuRegBits - adds r0, r5, 0 - bl DestroyTask - b _0819F8D8 - .pool -_0819F844: - movs r0, 0x58 - strh r0, [r4, 0xE] - movs r0, 0x98 - strh r0, [r4, 0x38] - movs r0, 0x20 - strh r0, [r4, 0x12] - movs r0, 0x60 - strh r0, [r4, 0x18] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0x38] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x40 - bl SetGpuReg - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x18] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x37 - bl SetGpuReg - b _0819F8D2 -_0819F894: - ldrh r0, [r4, 0x12] - adds r0, 0x4 - strh r0, [r4, 0x12] - ldrh r1, [r4, 0x18] - subs r1, 0x4 - strh r1, [r4, 0x18] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3F - bgt _0819F8B0 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x41 - bgt _0819F8B8 -_0819F8B0: - movs r0, 0x40 - strh r0, [r4, 0x12] - movs r0, 0x41 - strh r0, [r4, 0x18] -_0819F8B8: - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x18] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0x40 - bne _0819F8D8 -_0819F8D2: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0819F8D8: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_819F7B4 - - thumb_func_start sub_819F8E0 -sub_819F8E0: @ 819F8E0 - push {r4-r6,lr} - sub sp, 0x10 - ldr r0, =gUnknown_03001284 - ldr r1, [r0] - ldrb r0, [r1, 0x14] - cmp r0, 0 - bne _0819F900 - ldrb r1, [r1, 0x3] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - b _0819F908 - .pool -_0819F900: - ldrb r1, [r1, 0x3] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gEnemyParty -_0819F908: - adds r6, r1, r0 - adds r0, r6, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r6, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - adds r0, r6, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - movs r0, 0x58 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - ldr r0, =0x0000ffff - str r0, [sp, 0xC] - adds r0, r4, 0 - adds r2, r5, 0 - movs r3, 0x1 - bl sub_818D7D8 - ldr r2, =gUnknown_03001284 - ldr r1, [r2] - adds r1, 0x2C - movs r3, 0 - strb r0, [r1] - ldr r4, =gSprites - ldr r0, [r2] - adds r0, 0x2C - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x28 - strb r3, [r0] - ldr r0, [r2] - adds r0, 0x2C - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x29 - strb r3, [r0] - ldr r0, [r2] - adds r0, 0x30 - strb r3, [r0] - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819F8E0 - + thumb_func_start sub_819F99C sub_819F99C: @ 819F99C push {r4-r7,lr} @@ -11731,7 +1705,7 @@ _081A06B8: adds r0, r5, 0 movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 @@ -11771,7 +1745,7 @@ sub_81A070C: @ 81A070C ldrsh r0, [r4, r1] cmp r0, 0 bne _081A0730 - bl ProcessMenuInputNoWrapAround + bl Menu_ProcessInputNoWrapAround b _081A0734 .pool _081A0730: @@ -11843,7 +1817,7 @@ sub_81A0784: @ 81A0784 movs r1, 0 adds r2, r4, 0 adds r3, r5, 0 - bl sub_8198A50 + bl CreateWindowTemplate ldr r0, [sp, 0x10] ldr r1, [sp, 0x14] str r0, [sp, 0x18] @@ -12182,7 +2156,7 @@ sub_81A0A34: @ 81A0A34 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8197224 + bl RunTextPrintersAndIsPrinter0Active lsls r0, 16 cmp r0, 0 bne _081A0A68 @@ -14195,7 +4169,7 @@ sub_81A1B1C: @ 81A1B1C thumb_func_start sub_81A1B28 sub_81A1B28: @ 81A1B28 - ldr r1, =gUnknown_0203BC88 + ldr r1, =gFacilityTrainers ldr r0, =gBattleFrontierTrainers str r0, [r1] bx lr @@ -14357,7 +4331,7 @@ sub_81A1C4C: @ 81A1C4C str r1, [sp, 0x8] movs r1, 0x1 adds r2, r4, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0xC pop {r4,r5} pop {r0} @@ -14396,7 +4370,7 @@ _081A1C9E: movs r1, 0x1 adds r2, r4, 0 movs r3, 0x4 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0x34 pop {r4} pop {r0} @@ -14438,7 +4412,7 @@ sub_81A1CD8: @ 81A1CD8 movs r1, 0x1 adds r2, r5, 0 adds r3, r4, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, =0x0000270f cmp r6, r0 bls _081A1D24 @@ -14463,7 +4437,7 @@ _081A1D24: movs r1, 0x1 adds r2, r4, 0 ldr r3, [sp, 0xC] - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0x10 pop {r3-r5} mov r8, r3 @@ -14697,7 +4671,7 @@ _081A1F28: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x10 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r6] ldr r2, =gText_OpenLv movs r1, 0x61 @@ -14707,7 +4681,7 @@ _081A1F28: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x10 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0xA bl sub_81A1C90 mov r0, r8 @@ -14810,7 +4784,7 @@ sub_81A2008: @ 81A2008 str r1, [sp, 0x8] movs r1, 0x1 mov r2, r12 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, =gStringVar1 adds r1, r4, 0 movs r2, 0x1 @@ -14830,7 +4804,7 @@ sub_81A2008: @ 81A2008 movs r1, 0x1 adds r2, r4, 0 adds r3, r6, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0xC pop {r3-r5} mov r8, r3 @@ -14968,7 +4942,7 @@ _081A2184: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r1, =gRecordsWindowId ldrb r0, [r1] ldr r2, =gText_OpenLv @@ -14978,7 +4952,7 @@ _081A2184: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0xA bl sub_81A1C90 str r6, [sp] @@ -15104,7 +5078,7 @@ sub_81A22B8: @ 81A22B8 movs r1, 0x1 adds r2, r5, 0 adds r3, r4, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, =0x0000270f cmp r6, r0 bls _081A2304 @@ -15129,7 +5103,7 @@ _081A2304: movs r1, 0x1 adds r2, r4, 0 ldr r3, [sp, 0xC] - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0x10 pop {r3-r5} mov r8, r3 @@ -15322,7 +5296,7 @@ _081A24B0: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x10 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r6] ldr r2, =gText_OpenLv movs r1, 0x61 @@ -15332,7 +5306,7 @@ _081A24B0: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x10 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0xA bl sub_81A1C90 mov r0, r8 @@ -15432,7 +5406,7 @@ sub_81A258C: @ 81A258C str r1, [sp, 0x8] movs r1, 0x1 mov r2, r12 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, =gStringVar1 adds r1, r4, 0 movs r2, 0x1 @@ -15452,7 +5426,7 @@ sub_81A258C: @ 81A258C movs r1, 0x1 adds r2, r4, 0 adds r3, r6, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0xC pop {r3-r5} mov r8, r3 @@ -15560,7 +5534,7 @@ sub_81A2698: @ 81A2698 str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r6] ldr r2, =gText_OpenLv movs r1, 0x61 @@ -15569,7 +5543,7 @@ sub_81A2698: @ 81A2698 str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0xA bl sub_81A1C90 movs r0, 0 @@ -15685,7 +5659,7 @@ sub_81A27E8: @ 81A27E8 movs r1, 0x1 adds r2, r5, 0 adds r3, r4, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, =0x0000270f cmp r6, r0 bls _081A2834 @@ -15710,7 +5684,7 @@ _081A2834: movs r1, 0x1 adds r2, r4, 0 ldr r3, [sp, 0xC] - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0x10 pop {r3-r5} mov r8, r3 @@ -15865,7 +5839,7 @@ sub_81A2968: @ 81A2968 str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x10 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r5] ldr r2, =gText_OpenLv movs r1, 0x61 @@ -15874,7 +5848,7 @@ sub_81A2968: @ 81A2968 str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x10 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0 movs r1, 0x48 movs r2, 0x7E @@ -15947,7 +5921,7 @@ sub_81A2A28: @ 81A2A28 str r1, [sp, 0x8] movs r1, 0x1 mov r2, r12 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, =0x0000270f cmp r7, r0 bls _081A2A80 @@ -15973,7 +5947,7 @@ _081A2A80: movs r1, 0x1 adds r2, r4, 0 ldr r3, [sp, 0x10] - bl PrintTextOnWindow + bl AddTextPrinterParameterized adds r0, r5, 0 ldr r1, [sp, 0xC] movs r2, 0x1 @@ -15992,7 +5966,7 @@ _081A2A80: movs r1, 0x1 adds r2, r4, 0 ldr r3, [sp, 0x14] - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0x18 pop {r3-r5} mov r8, r3 @@ -16248,7 +6222,7 @@ _081A2CE0: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized mov r1, r8 ldrb r0, [r1] ldr r2, =gText_RentalSwap @@ -16257,7 +6231,7 @@ _081A2CE0: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x98 - bl PrintTextOnWindow + bl AddTextPrinterParameterized mov r1, r8 ldrb r0, [r1] ldr r2, =gText_OpenLv @@ -16267,7 +6241,7 @@ _081A2CE0: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0xA bl sub_81A1C90 movs r4, 0x9E @@ -16353,7 +6327,7 @@ sub_81A2DB4: @ 81A2DB4 movs r1, 0x1 adds r2, r5, 0 adds r3, r4, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, =0x0000270f cmp r6, r0 bls _081A2E00 @@ -16378,7 +6352,7 @@ _081A2E00: movs r1, 0x1 adds r2, r4, 0 ldr r3, [sp, 0xC] - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0x10 pop {r3-r5} mov r8, r3 @@ -16533,7 +6507,7 @@ sub_81A2F38: @ 81A2F38 str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r5] ldr r2, =gText_OpenLv movs r1, 0x61 @@ -16542,7 +6516,7 @@ sub_81A2F38: @ 81A2F38 str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0xA bl sub_81A1C90 movs r0, 0 @@ -16613,7 +6587,7 @@ sub_81A2FF8: @ 81A2FF8 movs r5, 0 str r5, [sp, 0x8] mov r2, r9 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r7, =gText_1st movs r0, 0x1 adds r1, r7, 0 @@ -16631,7 +6605,7 @@ sub_81A2FF8: @ 81A2FF8 str r5, [sp, 0x8] movs r1, 0x1 adds r2, r7, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r7, =gText_2nd movs r0, 0x1 adds r1, r7, 0 @@ -16648,7 +6622,7 @@ sub_81A2FF8: @ 81A2FF8 str r5, [sp, 0x8] movs r1, 0x1 adds r2, r7, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r7, =gText_3rd movs r0, 0x1 adds r1, r7, 0 @@ -16665,7 +6639,7 @@ sub_81A2FF8: @ 81A2FF8 str r5, [sp, 0x8] movs r1, 0x1 adds r2, r7, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r7, =gText_4th movs r0, 0x1 adds r1, r7, 0 @@ -16682,7 +6656,7 @@ sub_81A2FF8: @ 81A2FF8 str r5, [sp, 0x8] movs r1, 0x1 adds r2, r7, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r4] ldr r2, =gText_Cool movs r1, 0x29 @@ -16691,7 +6665,7 @@ sub_81A2FF8: @ 81A2FF8 str r5, [sp, 0x8] movs r1, 0x1 movs r3, 0x6 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r4] ldr r2, =gText_Beauty movs r1, 0x39 @@ -16700,7 +6674,7 @@ sub_81A2FF8: @ 81A2FF8 str r5, [sp, 0x8] movs r1, 0x1 movs r3, 0x6 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r4] ldr r2, =gText_Cute movs r1, 0x49 @@ -16709,7 +6683,7 @@ sub_81A2FF8: @ 81A2FF8 str r5, [sp, 0x8] movs r1, 0x1 movs r3, 0x6 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r4] ldr r2, =gText_Smart movs r1, 0x59 @@ -16718,7 +6692,7 @@ sub_81A2FF8: @ 81A2FF8 str r5, [sp, 0x8] movs r1, 0x1 movs r3, 0x6 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r4] ldr r2, =gText_Tough movs r1, 0x69 @@ -16727,7 +6701,7 @@ sub_81A2FF8: @ 81A2FF8 str r5, [sp, 0x8] movs r1, 0x1 movs r3, 0x6 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r1, 0 _081A314A: movs r5, 0 @@ -16765,7 +6739,7 @@ _081A315C: str r1, [sp, 0x8] movs r1, 0x1 mov r2, r9 - bl PrintTextOnWindow + bl AddTextPrinterParameterized adds r4, 0x2 adds r5, 0x1 cmp r5, 0x3 @@ -17353,8 +7327,8 @@ _081A36C2: bx r1 thumb_func_end sub_81A3610 - thumb_func_start sub_81A36D0 -sub_81A36D0: @ 81A36D0 + thumb_func_start CopyFrontierTrainerText +CopyFrontierTrainerText: @ 81A36D0 push {lr} lsls r0, 24 lsrs r0, 24 @@ -17391,7 +7365,7 @@ _081A370C: ldr r0, =0x0000012b cmp r3, r0 bhi _081A3738 - ldr r2, =gUnknown_0203BC88 + ldr r2, =gFacilityTrainers movs r0, 0x34 adds r1, r3, 0 muls r1, r0 @@ -17443,7 +7417,7 @@ _081A3794: ldr r0, =0x0000012b cmp r3, r0 bhi _081A37B8 - ldr r2, =gUnknown_0203BC88 + ldr r2, =gFacilityTrainers movs r0, 0x34 adds r1, r3, 0 muls r1, r0 @@ -17511,7 +7485,7 @@ _081A3844: ldr r0, =0x0000012b cmp r3, r0 bhi _081A3868 - ldr r2, =gUnknown_0203BC88 + ldr r2, =gFacilityTrainers movs r0, 0x34 adds r1, r3, 0 muls r1, r0 @@ -17587,7 +7561,7 @@ _081A38F8: pop {r0} bx r0 .pool - thumb_func_end sub_81A36D0 + thumb_func_end CopyFrontierTrainerText thumb_func_start sub_81A3908 sub_81A3908: @ 81A3908 @@ -19052,7 +9026,7 @@ sub_81A4594: @ 81A4594 adds r0, r5, 0 movs r1, 0x1 adds r2, r4, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0xFF strb r0, [r6, 0xD] ldrh r0, [r6, 0x4] @@ -19075,7 +9049,7 @@ sub_81A4594: @ 81A4594 str r1, [sp, 0x8] movs r1, 0x1 add r2, sp, 0xC - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrh r1, [r6, 0x4] ldr r0, =0x0000270f cmp r1, r0 @@ -19111,7 +9085,7 @@ _081A4618: str r1, [sp, 0x8] movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized _081A465C: add sp, 0x2C pop {r3-r5} @@ -19162,7 +9136,7 @@ sub_81A4684: @ 81A4684 str r3, [sp, 0x8] movs r1, 0x1 mov r3, r12 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrh r0, [r5, 0x8] cmp r0, 0 beq _081A47BC @@ -19193,7 +9167,7 @@ sub_81A4684: @ 81A4684 str r1, [sp, 0x8] movs r1, 0x1 add r2, sp, 0xC - bl PrintTextOnWindow + bl AddTextPrinterParameterized adds r4, r5, 0 adds r4, 0x12 adds r0, r4, 0 @@ -19234,7 +9208,7 @@ _081A473C: str r7, [sp, 0x8] movs r1, 0x1 add r2, sp, 0xC - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrh r1, [r5, 0x8] ldr r0, =0x0000270f cmp r1, r0 @@ -19270,7 +9244,7 @@ _081A4778: str r7, [sp, 0x8] movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized _081A47BC: add sp, 0x2C pop {r3-r5} @@ -19545,7 +9519,7 @@ sub_81A4998: @ 81A4998 str r5, [sp, 0x8] adds r2, r6, 0 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r1, =gUnknown_08611D00 ldr r2, [sp, 0x90] lsls r0, r2, 2 @@ -19567,7 +9541,7 @@ sub_81A4998: @ 81A4998 str r5, [sp, 0x8] movs r1, 0x1 adds r2, r4, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized cmp r7, 0x9 bne _081A4A6C ldr r2, =gSaveBlock2Ptr @@ -20046,10 +10020,10 @@ sub_81A4E04: @ 81A4E04 cmp r0, 0x1 bne _081A4E44 ldr r0, =0x000003fe - bl sub_81953A0 + bl TrainerIdToDomeTournamentId lsls r0, 16 lsrs r0, 16 - bl sub_818FC78 + bl GetTrainerMonCountInBits adds r4, r0, 0 b _081A4E46 .pool @@ -20059,7 +10033,7 @@ _081A4E46: bl ZeroEnemyPartyMons movs r1, 0 str r1, [sp, 0x18] - bl sub_8165C40 + bl GetFacilityEnemyMonLevel lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x1C] @@ -22277,7 +12251,7 @@ nullsub_123: @ 81A6184 sub_81A6188: @ 81A6188 push {lr} bl ZeroPlayerPartyMons - bl sub_819A4F8 + bl DoBattleFactorySelectScreen pop {r0} bx r0 thumb_func_end sub_81A6188 @@ -22285,7 +12259,7 @@ sub_81A6188: @ 81A6188 thumb_func_start sub_81A6198 sub_81A6198: @ 81A6198 push {lr} - bl sub_819DC00 + bl DoBattleFactorySwapScreen pop {r0} bx r0 thumb_func_end sub_81A6198 @@ -22329,7 +12303,7 @@ sub_81A61B0: @ 81A61B0 ldrh r0, [r1] movs r1, 0x7 bl __udivsi3 - ldr r2, =gUnknown_0203BC88 + ldr r2, =gFacilityTrainers ldr r1, =gBattleFrontierTrainers str r1, [r2] ldr r5, =0x00000cb2 @@ -22413,7 +12387,7 @@ _081A627A: lsls r0, 16 lsrs r0, 16 mov r9, r0 - ldr r4, =gUnknown_0203BC8C + ldr r4, =gFacilityTrainerMons ldr r2, [r4] lsls r1, r0, 4 adds r0, r1, r2 @@ -22458,7 +12432,7 @@ _081A62D0: cmp r0, r5 beq _081A6302 adds r6, r4, 0 - ldr r3, =gUnknown_0203BC8C + ldr r3, =gFacilityTrainerMons mov r12, r3 mov r5, r8 ldr r3, [sp, 0x14] @@ -22493,7 +12467,7 @@ _081A631C: ldrh r1, [r3] cmp r1, 0 beq _081A6336 - ldr r6, =gUnknown_0203BC8C + ldr r6, =gFacilityTrainerMons ldr r0, [r6] ldr r6, [sp, 0x24] adds r0, r6, r0 @@ -22512,7 +12486,7 @@ _081A633E: cmp r2, r4 bne _081A636E lsls r4, r7, 1 - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r1, [r0] add r1, r8 ldrh r0, [r1] @@ -22573,12 +12547,12 @@ sub_81A63CC: @ 81A63CC ands r0, r1 cmp r0, 0x2 beq _081A63FC - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gBattleFrontierMons b _081A6400 .pool _081A63FC: - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gSlateportBattleTentMons _081A6400: str r0, [r1] @@ -22637,7 +12611,7 @@ _081A6408: adds r1, r2 strb r0, [r1] ldrh r1, [r6] - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r0, [r0] lsls r1, 4 adds r1, r0 @@ -22679,7 +12653,7 @@ sub_81A64C4: @ 81A64C4 ands r0, r1 cmp r0, 0x2 bne _081A6500 - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gSlateportBattleTentMons str r0, [r1] movs r2, 0x1E @@ -22687,7 +12661,7 @@ sub_81A64C4: @ 81A64C4 b _081A6518 .pool _081A6500: - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gBattleFrontierMons str r0, [r1] ldrb r1, [r2] @@ -22712,7 +12686,7 @@ _081A6522: mov r1, sp adds r1, 0x12 str r1, [sp, 0x1C] - ldr r2, =gUnknown_0203BC8C + ldr r2, =gFacilityTrainerMons mov r9, r2 _081A6534: ldr r4, =gSaveBlock2Ptr @@ -22829,7 +12803,7 @@ _081A6602: lsls r2, r6, 24 lsrs r2, 24 adds r0, r4, r5 - bl sub_81A7024 + bl SetMonMoveAvoidReturn adds r6, 0x1 cmp r6, 0x3 ble _081A6602 @@ -22879,7 +12853,7 @@ _081A666C: _081A667A: movs r2, 0 mov r8, r2 - ldr r4, =gUnknown_0203BC8C + ldr r4, =gFacilityTrainerMons mov r9, r4 _081A6682: ldr r5, =gSaveBlock2Ptr @@ -22995,7 +12969,7 @@ _081A674E: lsls r2, r6, 24 lsrs r2, 24 adds r0, r4, r5 - bl sub_81A7024 + bl SetMonMoveAvoidReturn adds r6, 0x1 cmp r6, 0x3 ble _081A674E @@ -23050,7 +13024,7 @@ sub_81A67EC: @ 81A67EC mov r5, r8 push {r5-r7} sub sp, 0x4C - ldr r1, =gUnknown_0203BC88 + ldr r1, =gFacilityTrainers ldr r0, =gBattleFrontierTrainers str r0, [r1] mov r0, sp @@ -23113,7 +13087,7 @@ _081A681A: bne _081A6878 movs r2, 0x1 _081A6878: - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gBattleFrontierMons str r0, [r1] mov r1, r9 @@ -23166,7 +13140,7 @@ _081A68F2: bl sub_81A6EF0 lsls r0, 16 lsrs r7, r0, 16 - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r1, [r0] lsls r2, r7, 4 adds r4, r2, r1 @@ -23226,7 +13200,7 @@ _081A6964: ldrh r4, [r5] cmp r4, 0 beq _081A6994 - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, [r1] mov r2, r9 adds r1, r2, r0 @@ -23262,7 +13236,7 @@ _081A699C: lsls r0, 4 adds r1, r0 strh r7, [r1] - ldr r2, =gUnknown_0203BC8C + ldr r2, =gFacilityTrainerMons ldr r1, [r2] add r1, r9 ldrh r0, [r1] @@ -23307,7 +13281,7 @@ sub_81A6A08: @ 81A6A08 mov r7, r8 push {r7} sub sp, 0x18 - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gBattleFrontierMons str r0, [r1] movs r4, 0 @@ -23326,7 +13300,7 @@ _081A6A1E: movs r4, 0 ldr r0, =gUnknown_03006298 mov r8, r0 - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r6, [r0] ldr r1, =gBaseStats mov r12, r1 @@ -23423,7 +13397,7 @@ sub_81A6AEC: @ 81A6AEC push {r4-r7,lr} sub sp, 0x8 movs r7, 0 - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gBattleFrontierMons str r0, [r1] movs r4, 0 @@ -23445,7 +13419,7 @@ _081A6B0E: ldrh r6, [r0] movs r5, 0 _081A6B18: - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r1, [r0] lsls r0, r6, 4 adds r0, r1 @@ -23590,12 +13564,12 @@ sub_81A6C1C: @ 81A6C1C ands r0, r1 cmp r0, 0x2 beq _081A6C48 - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gBattleFrontierMons b _081A6C4C .pool _081A6C48: - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gSlateportBattleTentMons _081A6C4C: str r0, [r1] @@ -23615,7 +13589,7 @@ _081A6C50: lsls r1, 4 adds r2, r1 ldrh r2, [r2] - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r1, [r1] lsls r2, 4 adds r2, r1 @@ -23702,7 +13676,7 @@ sub_81A6CD0: @ 81A6CD0 lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x24] - bl sub_8165C40 + bl GetFacilityEnemyMonLevel lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x20] @@ -23727,7 +13701,7 @@ _081A6D4C: bl sub_81A6EF0 lsls r0, 16 lsrs r5, r0, 16 - ldr r7, =gUnknown_0203BC8C + ldr r7, =gFacilityTrainerMons ldr r1, [r7] lsls r0, r5, 4 adds r0, r1 @@ -23775,7 +13749,7 @@ _081A6DA8: cmp r4, r9 bge _081A6DDC add r2, sp, 0xC - ldr r7, =gUnknown_0203BC8C + ldr r7, =gFacilityTrainerMons ldr r0, [r7] lsls r1, r5, 4 adds r0, r1, r0 @@ -23784,7 +13758,7 @@ _081A6DA8: ldrh r0, [r0] cmp r2, r0 beq _081A6DDC - ldr r6, =gUnknown_0203BC8C + ldr r6, =gFacilityTrainerMons adds r3, r7, 0 add r2, sp, 0xC _081A6DC8: @@ -23805,7 +13779,7 @@ _081A6DDC: cmp r4, r9 bge _081A6E0C ldr r7, =gBattleFrontierHeldItems - ldr r6, =gUnknown_0203BC8C + ldr r6, =gFacilityTrainerMons add r2, sp, 0x14 lsls r3, r5, 4 _081A6DEE: @@ -23833,7 +13807,7 @@ _081A6E0C: mov r1, sp adds r1, r2 adds r1, 0xC - ldr r3, =gUnknown_0203BC8C + ldr r3, =gFacilityTrainerMons ldr r4, [r3] lsls r5, 4 mov r8, r5 @@ -23875,7 +13849,7 @@ _081A6E0C: add r0, r9 mov r8, r0 _081A6E6E: - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, [r1] adds r0, r7, r0 lsls r1, r4, 1 @@ -23885,7 +13859,7 @@ _081A6E6E: lsls r2, r4, 24 lsrs r2, 24 adds r0, r5, r6 - bl sub_81A7024 + bl SetMonMoveAvoidReturn adds r4, 0x1 cmp r4, 0x3 ble _081A6E6E @@ -23898,7 +13872,7 @@ _081A6E6E: movs r1, 0x20 mov r2, r10 bl SetMonData - ldr r2, =gUnknown_0203BC8C + ldr r2, =gFacilityTrainerMons ldr r0, [r2] adds r0, r7, r0 ldrb r2, [r0, 0xA] @@ -24078,8 +14052,8 @@ _081A701E: bx r1 thumb_func_end GetAiScriptsInBattleFactory - thumb_func_start sub_81A7024 -sub_81A7024: @ 81A7024 + thumb_func_start SetMonMoveAvoidReturn +SetMonMoveAvoidReturn: @ 81A7024 push {lr} lsls r1, 16 lsls r2, 24 @@ -24092,7 +14066,7 @@ _081A7034: bl SetMonMoveSlot pop {r0} bx r0 - thumb_func_end sub_81A7024 + thumb_func_end SetMonMoveAvoidReturn thumb_func_start sub_81A703C sub_81A703C: @ 81A703C @@ -26455,7 +16429,7 @@ _081A831A: bne _081A82D2 ldr r5, =gTrainerBattleOpponent_A strh r4, [r5] - ldr r1, =gUnknown_0203BC88 + ldr r1, =gFacilityTrainers ldr r0, =gBattleFrontierTrainers str r0, [r1] ldrh r0, [r5] @@ -26500,7 +16474,7 @@ sub_81A8374: @ 81A8374 bl __udivsi3 lsls r0, 16 lsrs r5, r0, 16 - ldr r1, =gUnknown_0203BC88 + ldr r1, =gFacilityTrainers ldr r0, =gBattleFrontierTrainers str r0, [r1] lsls r7, r5, 24 @@ -26667,7 +16641,7 @@ sub_81A84EC: @ 81A84EC ldr r0, =0x0000012b cmp r1, r0 bhi _081A8542 - ldr r2, =gUnknown_0203BC88 + ldr r2, =gFacilityTrainers movs r0, 0x34 muls r1, r0 ldr r0, [r2] @@ -26684,7 +16658,7 @@ _081A8524: ldr r0, =0x0000012b cmp r1, r0 bhi _081A8542 - ldr r2, =gUnknown_0203BC88 + ldr r2, =gFacilityTrainers movs r0, 0x34 muls r1, r0 ldr r0, [r2] @@ -28498,7 +18472,7 @@ _081A940A: thumb_func_start sub_81A9414 sub_81A9414: @ 81A9414 - ldr r1, =gUnknown_0203BC88 + ldr r1, =gFacilityTrainers ldr r0, =gBattleFrontierTrainers str r0, [r1] bx lr @@ -28534,7 +18508,7 @@ sub_81A9424: @ 81A9424 lsrs r5, r0, 16 movs r6, 0 ldr r2, =gUnknown_08613C1C - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r5 @@ -28554,7 +18528,7 @@ _081A9488: ldr r4, =gUnknown_08613C1C lsls r3, r6, 1 adds r2, r3, r4 - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r5 @@ -29517,7 +19491,7 @@ _081A9C56: bl SetMonData cmp r5, 0 beq _081A9CD4 - bl sub_8165C40 + bl GetFacilityEnemyMonLevel lsls r0, 24 lsrs r5, r0, 24 ldr r1, [sp, 0x10] @@ -29795,7 +19769,7 @@ sub_81A9EDC: @ 81A9EDC push {lr} lsls r0, 16 lsrs r0, 16 - ldr r2, =gUnknown_0203BC88 + ldr r2, =gFacilityTrainers movs r1, 0x34 muls r1, r0 ldr r0, [r2] @@ -29812,7 +19786,7 @@ sub_81A9EFC: @ 81A9EFC push {lr} lsls r0, 16 lsrs r0, 16 - ldr r2, =gUnknown_0203BC88 + ldr r2, =gFacilityTrainers movs r1, 0x34 muls r1, r0 ldr r0, [r2] @@ -29829,7 +19803,7 @@ sub_81A9F1C: @ 81A9F1C push {lr} lsls r0, 16 lsrs r0, 16 - ldr r2, =gUnknown_0203BC88 + ldr r2, =gFacilityTrainers movs r1, 0x34 muls r1, r0 ldr r0, [r2] @@ -29848,7 +19822,7 @@ GetTrainerEncounterMusicIdInBattlePyramind: @ 81A9F3C lsrs r0, 16 movs r4, 0 ldr r3, =gFacilityClassToTrainerClass - ldr r1, =gUnknown_0203BC88 + ldr r1, =gFacilityTrainers ldr r2, [r1] movs r1, 0x34 muls r0, r1 diff --git a/asm/battle_tent.s b/asm/battle_tent.s deleted file mode 100644 index c967390d0..000000000 --- a/asm/battle_tent.s +++ /dev/null @@ -1,448 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start sub_81B9EC0 -sub_81B9EC0: @ 81B9EC0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x3C - ldr r1, =gUnknown_0203BC88 - ldr r0, =gSlateportBattleTentTrainers - str r0, [r1] - add r0, sp, 0xC - mov r9, r0 - mov r1, sp - adds r1, 0x18 - str r1, [sp, 0x2C] - ldr r5, =gUnknown_0203BC8C - ldr r4, =gSlateportBattleTentMons - movs r2, 0 - adds r3, r1, 0 - mov r1, r9 - mov r0, sp - movs r6, 0x5 - mov r8, r6 -_081B9EEC: - strh r2, [r0] - strh r2, [r1] - strh r2, [r3] - adds r3, 0x2 - adds r1, 0x2 - adds r0, 0x2 - movs r7, 0x1 - negs r7, r7 - add r8, r7 - mov r6, r8 - cmp r6, 0 - bge _081B9EEC - str r4, [r5] - movs r7, 0 - mov r10, r7 - movs r0, 0 - mov r8, r0 - ldr r1, [sp, 0x2C] - str r1, [sp, 0x30] - mov r2, sp - str r2, [sp, 0x34] - lsls r6, r0, 1 - str r6, [sp, 0x24] - add r6, r9 - str r6, [sp, 0x28] -_081B9F1E: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x46 - bl __umodsi3 - lsls r0, 16 - lsrs r5, r0, 16 - movs r2, 0 - mov r7, r8 - adds r6, r2, r7 - cmp r2, r6 - bge _081B9F7C - ldr r1, [sp, 0x28] - ldrh r0, [r1] - cmp r0, r5 - beq _081B9F7C - ldr r0, =gUnknown_0203BC8C - ldr r1, [r0] - lsls r0, r5, 4 - adds r4, r0, r1 - ldrh r7, [r4] - mov r12, r7 - lsls r3, r2, 1 - ldr r1, [sp, 0x24] - add r1, sp - str r6, [sp, 0x38] -_081B9F56: - ldrh r0, [r1] - cmp r0, r12 - bne _081B9F66 - mov r0, r10 - cmp r0, 0 - bne _081B9F7C - ldrh r7, [r4] - mov r10, r7 -_081B9F66: - adds r3, 0x2 - adds r1, 0x2 - adds r2, 0x1 - ldr r0, [sp, 0x38] - cmp r2, r0 - bge _081B9F7C - mov r7, r9 - adds r0, r7, r3 - ldrh r0, [r0] - cmp r0, r5 - bne _081B9F56 -_081B9F7C: - cmp r2, r6 - bne _081BA01C - movs r2, 0 - cmp r2, r6 - bge _081B9FD4 - ldr r0, =gBattleFrontierHeldItems - mov r12, r0 - ldr r7, =gUnknown_0203BC8C - ldr r1, [sp, 0x24] - ldr r0, [sp, 0x2C] - adds r4, r1, r0 -_081B9F92: - ldrh r3, [r4] - cmp r3, 0 - beq _081B9FCC - ldr r1, [r7] - lsls r0, r5, 4 - adds r1, r0, r1 - ldrb r0, [r1, 0xA] - lsls r0, 1 - add r0, r12 - ldrh r0, [r0] - cmp r3, r0 - bne _081B9FCC - ldrh r0, [r1] - cmp r0, r10 - bne _081B9FD4 - movs r1, 0 - mov r10, r1 - b _081B9FD4 - .pool -_081B9FCC: - adds r4, 0x2 - adds r2, 0x1 - cmp r2, r6 - blt _081B9F92 -_081B9FD4: - cmp r2, r6 - bne _081BA01C - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - mov r2, r8 - lsls r3, r2, 1 - adds r0, r3, r2 - lsls r0, 2 - adds r1, r0 - movs r6, 0xE7 - lsls r6, 4 - adds r1, r6 - strh r5, [r1] - ldr r0, =gUnknown_0203BC8C - ldr r0, [r0] - lsls r1, r5, 4 - adds r1, r0 - ldrh r0, [r1] - ldr r7, [sp, 0x34] - strh r0, [r7] - ldr r2, =gBattleFrontierHeldItems - ldrb r0, [r1, 0xA] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - ldr r1, [sp, 0x30] - strh r0, [r1] - add r3, r9 - strh r5, [r3] - adds r1, 0x2 - str r1, [sp, 0x30] - adds r2, r7, 0 - adds r2, 0x2 - str r2, [sp, 0x34] - movs r6, 0x1 - add r8, r6 -_081BA01C: - mov r7, r8 - cmp r7, 0x6 - beq _081BA024 - b _081B9F1E -_081BA024: - add sp, 0x3C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9EC0 - - thumb_func_start sub_81BA040 -sub_81BA040: @ 81BA040 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - movs r0, 0 - mov r10, r0 - ldr r1, =gUnknown_0203BC88 - ldr r0, =gSlateportBattleTentTrainers - str r0, [r1] - ldr r1, =gUnknown_0203BC8C - ldr r0, =gSlateportBattleTentMons - str r0, [r1] - ldr r7, =gSaveBlock2Ptr - ldr r1, =0x0000ffff - mov r8, r1 -_081BA062: - mov r2, r10 - lsls r6, r2, 1 -_081BA066: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1E - bl __umodsi3 - lsls r0, 16 - lsrs r3, r0, 16 - movs r5, 0 - ldr r1, [r7] - ldr r4, =0x00000cb2 - adds r0, r1, r4 - ldrh r0, [r0] - cmp r5, r0 - bge _081BA0AA - ldr r2, =0x00000cb4 - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, r3 - beq _081BA0AA - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r0, r1, r4 - ldrh r2, [r0] - adds r4, 0x2 - adds r1, r4 -_081BA09C: - adds r1, 0x2 - adds r5, 0x1 - cmp r5, r2 - bge _081BA0AA - ldrh r0, [r1] - cmp r0, r3 - bne _081BA09C -_081BA0AA: - ldr r0, [r7] - ldr r1, =0x00000cb2 - adds r0, r1 - ldrh r0, [r0] - cmp r5, r0 - bne _081BA066 - ldr r2, =gTrainerBattleOpponent_A - strh r3, [r2] - ldrh r3, [r2] - ldr r4, =gUnknown_0203BC88 - ldr r1, [r4] - movs r0, 0x34 - muls r0, r3 - adds r0, r1 - ldr r0, [r0, 0x30] - adds r1, r6, r0 - ldrh r0, [r1] - cmp r0, r8 - beq _081BA0DE - ldr r3, =0x0000ffff -_081BA0D2: - adds r1, 0x2 - movs r6, 0x1 - add r10, r6 - ldrh r0, [r1] - cmp r0, r3 - bne _081BA0D2 -_081BA0DE: - mov r0, r10 - cmp r0, 0x8 - bgt _081BA110 - movs r1, 0 - mov r10, r1 - b _081BA062 - .pool -_081BA110: - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r6, =0x00000cb2 - adds r3, r1, r6 - ldrh r0, [r3] - cmp r0, 0x1 - bhi _081BA12A - lsls r0, 1 - ldr r3, =0x00000cb4 - adds r1, r3 - adds r1, r0 - ldrh r0, [r2] - strh r0, [r1] -_081BA12A: - ldrh r1, [r2] - ldr r2, [r4] - movs r0, 0x34 - muls r0, r1 - adds r0, r2 - ldr r0, [r0, 0x30] - mov r9, r0 - movs r5, 0 - ldr r7, =gUnknown_03001298 - mov r8, sp -_081BA13E: - bl Random - lsls r0, 16 - lsrs r0, 16 - mov r1, r10 - bl __modsi3 - lsls r0, 1 - add r0, r9 - ldrh r0, [r0] - strh r0, [r7] - movs r2, 0 - ldrh r0, [r7] - ldr r4, =gUnknown_0203BC8C - ldr r3, [r4] - lsls r0, 4 - adds r0, r3 - ldr r1, =gSaveBlock2Ptr - ldrh r6, [r0] - ldr r1, [r1] -_081BA166: - movs r4, 0xE7 - lsls r4, 4 - adds r0, r1, r4 - ldrh r0, [r0] - lsls r0, 4 - adds r0, r3 - ldrh r0, [r0] - cmp r6, r0 - beq _081BA180 - adds r1, 0xC - adds r2, 0x1 - cmp r2, 0x5 - ble _081BA166 -_081BA180: - cmp r2, 0x6 - bne _081BA220 - movs r4, 0 - cmp r4, r5 - bge _081BA1B0 - mov r0, sp - ldrh r0, [r0] - cmp r0, r6 - beq _081BA1B0 - ldr r6, =gUnknown_03001298 - ldr r3, =gUnknown_0203BC8C - mov r2, sp -_081BA198: - adds r2, 0x2 - adds r4, 0x1 - cmp r4, r5 - bge _081BA1B0 - ldrh r0, [r6] - ldr r1, [r3] - lsls r0, 4 - adds r0, r1 - ldrh r1, [r2] - ldrh r0, [r0] - cmp r1, r0 - bne _081BA198 -_081BA1B0: - cmp r4, r5 - bne _081BA220 - movs r4, 0 - cmp r4, r5 - bge _081BA1E6 - ldr r6, =gBattleFrontierHeldItems - mov r12, r6 - add r3, sp, 0x8 -_081BA1C0: - ldrh r2, [r3] - cmp r2, 0 - beq _081BA1DE - ldr r1, =gUnknown_03001298 - ldrh r0, [r1] - ldr r6, =gUnknown_0203BC8C - ldr r1, [r6] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0, 0xA] - lsls r0, 1 - add r0, r12 - ldrh r0, [r0] - cmp r2, r0 - beq _081BA1E6 -_081BA1DE: - adds r3, 0x2 - adds r4, 0x1 - cmp r4, r5 - blt _081BA1C0 -_081BA1E6: - cmp r4, r5 - bne _081BA220 - lsls r2, r5, 1 - ldrh r0, [r7] - ldr r1, =gUnknown_0203BC8C - ldr r4, [r1] - lsls r0, 4 - adds r0, r4 - ldrh r0, [r0] - mov r3, r8 - strh r0, [r3] - add r1, sp, 0x8 - adds r1, r2 - ldr r3, =gBattleFrontierHeldItems - ldrh r0, [r7] - lsls r0, 4 - adds r0, r4 - ldrb r0, [r0, 0xA] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - strh r0, [r1] - ldr r0, =gUnknown_03006298 - adds r2, r0 - ldrh r0, [r7] - strh r0, [r2] - movs r4, 0x2 - add r8, r4 - adds r5, 0x1 -_081BA220: - cmp r5, 0x3 - bne _081BA13E - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81BA040 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_tower.s b/asm/battle_tower.s index 7340ea1ce..2312b63bd 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -5,261 +5,8 @@ .text - thumb_func_start sub_8161F74 -sub_8161F74: @ 8161F74 - push {lr} - ldr r1, =gUnknown_085DF96C - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8161F74 - thumb_func_start sub_8161F94 -sub_8161F94: @ 8161F94 - push {r4-r7,lr} - ldr r4, =gSaveBlock2Ptr - ldr r0, [r4] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r5, r0, 30 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, [r4] - ldr r2, =0x00000ca8 - adds r0, r2 - movs r7, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r1, [r4] - adds r2, 0xA - adds r0, r1, r2 - strh r7, [r0] - ldr r0, =0x00000ca9 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r1, [r4] - ldr r2, =0x00000ca9 - adds r1, r2 - ldrb r2, [r1] - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - bl sub_81A3ACC - ldr r4, [r4] - ldr r0, =0x00000cdc - adds r3, r4, r0 - ldr r2, =gUnknown_085DF9AC - lsls r1, r5, 2 - lsls r0, r6, 3 - adds r1, r0 - adds r1, r2 - ldr r0, [r3] - ldr r1, [r1] - ands r0, r1 - cmp r0, 0 - bne _0816200E - lsls r0, r5, 1 - lsls r1, r6, 2 - adds r0, r1 - movs r2, 0xCE - lsls r2, 4 - adds r1, r4, r2 - adds r1, r0 - strh r7, [r1] -_0816200E: - bl sub_8164ED8 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x4 - ldrsb r1, [r0, r1] - movs r2, 0x5 - ldrsb r2, [r0, r2] - movs r3, 0x1 - negs r3, r3 - movs r0, 0 - bl saved_warp2_set - ldr r0, =gTrainerBattleOpponent_A - strh r7, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8161F94 - thumb_func_start sub_8162054 -sub_8162054: @ 8162054 - push {r4-r6,lr} - ldr r5, =gSaveBlock2Ptr - ldr r0, [r5] - ldr r4, =0x00000ca9 - adds r0, r4 - ldrb r0, [r0] - lsls r0, 30 - lsrs r6, r0, 30 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0x1 - beq _08162094 - cmp r0, 0x1 - ble _081620E8 - cmp r0, 0x2 - beq _081620A8 - cmp r0, 0x3 - beq _081620D8 - b _081620E8 - .pool -_08162094: - adds r0, r6, 0 - lsls r1, 24 - lsrs r1, 24 - bl sub_8164FCC - ldr r1, =gSpecialVar_Result - strh r0, [r1] - b _081620E8 - .pool -_081620A8: - ldr r4, =gSpecialVar_Result - ldr r2, [r5] - ldr r0, =0x00000cdc - adds r2, r0 - ldr r3, =gUnknown_085DF9AC - lsls r0, r6, 2 - lsls r1, 3 - adds r0, r1 - adds r0, r3 - ldr r1, [r2] - ldr r0, [r0] - ands r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - strh r0, [r4] - b _081620E8 - .pool -_081620D8: - ldr r1, [r5] - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, 30 - lsrs r0, 30 - ldr r2, =0x00000d07 - adds r1, r2 - strb r0, [r1] -_081620E8: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8162054 - - thumb_func_start sub_81620F4 -sub_81620F4: @ 81620F4 - push {r4-r7,lr} - ldr r6, =gSaveBlock2Ptr - ldr r0, [r6] - ldr r7, =0x00000ca9 - adds r0, r7 - ldrb r0, [r0] - lsls r0, 30 - lsrs r5, r0, 30 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0x1 - beq _08162134 - cmp r0, 0x1 - ble _081621B4 - cmp r0, 0x2 - beq _08162150 - cmp r0, 0x3 - beq _081621A4 - b _081621B4 - .pool -_08162134: - ldr r2, [r6] - lsls r0, r5, 1 - lsls r1, r4, 2 - adds r0, r1 - movs r1, 0xCE - lsls r1, 4 - adds r2, r1 - adds r2, r0 - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - strh r0, [r2] - b _081621B4 - .pool -_08162150: - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - cmp r0, 0 - beq _08162180 - ldr r2, [r6] - ldr r0, =0x00000cdc - adds r2, r0 - ldr r3, =gUnknown_085DF9AC - lsls r1, r5, 2 - lsls r0, r4, 3 - adds r1, r0 - adds r1, r3 - ldr r0, [r2] - ldr r1, [r1] - orrs r0, r1 - str r0, [r2] - b _081621B4 - .pool -_08162180: - ldr r2, [r6] - ldr r1, =0x00000cdc - adds r2, r1 - ldr r3, =gUnknown_085DF9CC - lsls r1, r5, 2 - lsls r0, r4, 3 - adds r1, r0 - adds r1, r3 - ldr r0, [r2] - ldr r1, [r1] - ands r0, r1 - str r0, [r2] - b _081621B4 - .pool -_081621A4: - ldr r1, [r6] - adds r0, r1, r7 - ldrb r0, [r0] - lsls r0, 30 - lsrs r0, 30 - ldr r2, =0x00000d07 - adds r1, r2 - strb r0, [r1] -_081621B4: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81620F4 thumb_func_start sub_81621C0 sub_81621C0: @ 81621C0 @@ -391,7 +138,7 @@ _081622B2: adds r4, r1, r0 mov r0, r10 str r2, [sp, 0x38] - bl BattleFrontierGetOpponentLvl + bl GetFrontierEnemyMonLevel ldrb r1, [r4] lsls r0, 24 lsrs r0, 24 @@ -551,7 +298,7 @@ _08162414: bl __udivsi3 lsls r0, 16 lsrs r5, r0, 16 - bl sub_8165C40 + bl GetFacilityEnemyMonLevel subs r4, 0x2 cmp r4, 0x1 bhi _08162488 @@ -784,7 +531,7 @@ sub_8162614: @ 8162614 adds r6, r4, 0 lsls r1, 24 lsrs r5, r1, 24 - bl sub_8165C40 + bl GetFacilityEnemyMonLevel movs r0, 0xFA lsls r0, 1 cmp r4, r0 @@ -806,7 +553,7 @@ _08162650: ldr r0, =0x0000012b cmp r4, r0 bhi _0816266C - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r4 @@ -962,7 +709,7 @@ sub_81627A4: @ 81627A4 lsls r0, 16 lsrs r4, r0, 16 adds r5, r4, 0 - bl sub_8165C40 + bl GetFacilityEnemyMonLevel movs r0, 0xFA lsls r0, 1 cmp r4, r0 @@ -977,7 +724,7 @@ _081627CC: ldr r0, =0x0000012b cmp r4, r0 bhi _081627E8 - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r4 @@ -1335,7 +1082,7 @@ GetFrontierTrainerFrontSpriteId: @ 8162AA0 lsls r0, 16 lsrs r4, r0, 16 adds r5, r4, 0 - bl sub_8165C40 + bl GetFacilityEnemyMonLevel movs r0, 0xFA lsls r0, 1 cmp r4, r0 @@ -1363,7 +1110,7 @@ _08162AE4: cmp r4, r0 bhi _08162B08 ldr r2, =gFacilityClassToPicIndex - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r4 @@ -1462,7 +1209,7 @@ GetFrontierOpponentClass: @ 8162BD8 lsls r0, 16 lsrs r4, r0, 16 adds r5, r4, 0 - bl sub_8165C40 + bl GetFacilityEnemyMonLevel movs r0, 0xFA lsls r0, 1 cmp r4, r0 @@ -1500,7 +1247,7 @@ _08162C38: cmp r4, r0 bhi _08162C60 ldr r2, =gFacilityClassToTrainerClass - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r4 @@ -1602,7 +1349,7 @@ sub_8162D34: @ 8162D34 lsls r0, 16 lsrs r4, r0, 16 adds r5, r4, 0 - bl sub_8165C40 + bl GetFacilityEnemyMonLevel movs r0, 0xFA lsls r0, 1 cmp r4, r0 @@ -1617,7 +1364,7 @@ _08162D5C: ldr r0, =0x0000012b cmp r4, r0 bhi _08162D78 - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r4 @@ -1704,7 +1451,7 @@ GetFrontierTrainerName: @ 8162E20 lsls r1, 16 lsrs r5, r1, 16 movs r4, 0 - bl sub_8165C40 + bl GetFacilityEnemyMonLevel movs r0, 0xFA lsls r0, 1 cmp r5, r0 @@ -1751,7 +1498,7 @@ _08162E88: ldr r0, =0x0000012b cmp r5, r0 bhi _08162EB4 - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r5 @@ -1854,7 +1601,7 @@ sub_8162F68: @ 8162F68 lsls r0, 16 lsrs r4, r0, 16 adds r5, r4, 0 - bl sub_8165C40 + bl GetFacilityEnemyMonLevel movs r0, 0xFA lsls r0, 1 cmp r4, r0 @@ -1878,7 +1625,7 @@ _08162FA4: ldr r0, =0x0000012b cmp r4, r0 bhi _08162FC0 - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r4 @@ -2025,7 +1772,7 @@ sub_81630C4: @ 81630C4 add r4, sp, 0x14 movs r0, 0xFF strb r0, [r4] - bl sub_8165C40 + bl GetFacilityEnemyMonLevel lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x20] @@ -2039,7 +1786,7 @@ sub_81630C4: @ 81630C4 str r0, [sp, 0x24] ldr r0, =gTrainerBattleOpponent_A ldrh r2, [r0] - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r2 @@ -2258,7 +2005,7 @@ _081632D2: movs r1, 0xB movs r2, 0 bl GetMonData - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r2, [r1] lsls r1, r4, 4 adds r1, r2 @@ -2291,7 +2038,7 @@ _08163308: movs r1, 0xC movs r2, 0 bl GetMonData - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r2, [r1] lsls r1, r4, 4 adds r1, r2 @@ -2338,7 +2085,7 @@ _08163368: muls r0, r1 ldr r2, =gEnemyParty adds r0, r2 - ldr r5, =gUnknown_0203BC8C + ldr r5, =gFacilityTrainerMons ldr r2, [r5] lsls r4, 4 adds r2, r4, r2 @@ -2405,7 +2152,7 @@ _081633EC: movs r1, 0x20 add r2, sp, 0x14 bl SetMonData - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r0, [r0] add r0, r9 ldrb r2, [r0, 0xA] @@ -2545,16 +2292,16 @@ _081634D4: .pool thumb_func_end sub_8163444 - thumb_func_start sub_8163524 -sub_8163524: @ 8163524 + thumb_func_start RandomizeFacilityTrainerMonId +RandomizeFacilityTrainerMonId: @ 8163524 push {r4-r6,lr} adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 - bl sub_8165C40 + bl GetFacilityEnemyMonLevel lsls r0, 24 lsrs r6, r0, 24 - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r4 @@ -2598,7 +2345,7 @@ _08163580: pop {r1} bx r1 .pool - thumb_func_end sub_8163524 + thumb_func_end RandomizeFacilityTrainerMonId thumb_func_start sub_8163590 sub_8163590: @ 8163590 @@ -2728,7 +2475,7 @@ _081636A4: movs r0, 0x1F _081636A6: str r0, [sp, 0x18] - bl sub_8165C40 + bl GetFacilityEnemyMonLevel lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x14] @@ -2759,7 +2506,7 @@ _081636CE: muls r6, r0 ldr r1, =gEnemyParty adds r0, r6, r1 - ldr r3, =gUnknown_0203BC8C + ldr r3, =gFacilityTrainerMons ldr r2, [r3] mov r1, r9 lsls r4, r1, 4 @@ -2784,7 +2531,7 @@ _081636CE: mov r10, r7 adds r7, r4, 0 _08163718: - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r1, [r0] mov r2, r9 lsls r0, r2, 4 @@ -2797,7 +2544,7 @@ _08163718: adds r0, r6, r2 adds r2, r3, 0 str r3, [sp, 0x1C] - bl sub_81A7024 + bl SetMonMoveAvoidReturn ldr r3, [sp, 0x1C] adds r0, r3, 0x1 lsls r0, 24 @@ -2813,7 +2560,7 @@ _08163718: movs r1, 0x20 add r2, sp, 0xC bl SetMonData - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, [r1] adds r0, r7, r0 ldrb r2, [r0, 0xA] @@ -2881,7 +2628,7 @@ _081637D0: muls r6, r7 ldr r1, =gEnemyParty adds r0, r6, r1 - ldr r7, =gUnknown_0203BC8C + ldr r7, =gFacilityTrainerMons ldr r2, [r7] lsls r4, 4 adds r2, r4, r2 @@ -2905,7 +2652,7 @@ _081637D0: mov r8, r4 mov r5, r8 _08163818: - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, [r1] adds r0, r5, r0 lsls r4, r7, 1 @@ -2915,8 +2662,8 @@ _08163818: ldr r2, =gEnemyParty adds r0, r6, r2 adds r2, r7, 0 - bl sub_81A7024 - ldr r1, =gUnknown_0203BC8C + bl SetMonMoveAvoidReturn + ldr r1, =gFacilityTrainerMons ldr r0, [r1] adds r0, r5, r0 adds r0, 0x2 @@ -2942,7 +2689,7 @@ _08163846: movs r1, 0x20 add r2, sp, 0xC bl SetMonData - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, [r1] add r0, r8 ldrb r2, [r0, 0xA] @@ -3029,7 +2776,7 @@ _0816390A: thumb_func_start sub_8163914 sub_8163914: @ 8163914 push {lr} - bl sub_8165C40 + bl GetFacilityEnemyMonLevel ldr r0, =gSpecialVar_0x8005 ldrh r0, [r0] cmp r0, 0 @@ -3054,7 +2801,7 @@ _08163950: ldr r0, =0x0000012b cmp r3, r0 bhi _08163974 - ldr r2, =gUnknown_0203BC88 + ldr r2, =gFacilityTrainers movs r0, 0x34 adds r1, r3, 0 muls r1, r0 @@ -3979,7 +3726,7 @@ _081641E6: lsls r0, r1, 24 lsrs r0, 24 str r2, [sp, 0x18] - bl BattleFrontierGetOpponentLvl + bl GetFrontierEnemyMonLevel ldrb r1, [r4] lsls r0, 24 lsrs r0, 24 @@ -4091,7 +3838,7 @@ sub_81642A0: @ 81642A0 movs r2, 0 bl GetMonData str r0, [sp, 0x20] - bl sub_8165C40 + bl GetFacilityEnemyMonLevel movs r7, 0 ldr r0, [sp, 0x18] lsls r0, 24 @@ -4116,7 +3863,7 @@ _0816431A: ldrh r0, [r1] cmp r0, r8 beq _08164368 - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r2, [r0] movs r4, 0x34 mov r0, r8 @@ -4186,7 +3933,7 @@ _081643A8: str r0, [sp, 0x28] _081643C0: mov r0, r8 - bl sub_8163524 + bl RandomizeFacilityTrainerMonId lsls r0, 16 lsrs r6, r0, 16 movs r0, 0x1 @@ -4200,7 +3947,7 @@ _081643C0: ldr r1, [sp, 0x28] adds r0, r1 ldrh r2, [r0] - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r0, [r0] lsls r2, 4 adds r2, r0 @@ -4216,7 +3963,7 @@ _081643F4: bge _08164430 ldr r2, =gSaveBlock2Ptr ldr r0, [r2] - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r3, [r1] lsls r1, r6, 4 adds r1, r3 @@ -4464,7 +4211,7 @@ _081645B8: lsls r0, r1, 24 lsrs r0, 24 str r3, [sp, 0x48] - bl BattleFrontierGetOpponentLvl + bl GetFrontierEnemyMonLevel ldrb r1, [r4] lsls r0, 24 lsrs r0, 24 @@ -4556,7 +4303,7 @@ sub_81646BC: @ 81646BC movs r0, 0 mov r9, r0 mov r10, r0 - bl sub_8165C40 + bl GetFacilityEnemyMonLevel movs r0, 0xFA lsls r0, 1 cmp r5, r0 @@ -4564,7 +4311,7 @@ sub_81646BC: @ 81646BC subs r0, 0xC9 cmp r5, r0 bhi _081646FC - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r1, [r0] lsls r0, r4, 4 adds r0, r1 @@ -4705,7 +4452,7 @@ sub_8164828: @ 8164828 mov r5, r8 push {r5-r7} sub sp, 0x8 - bl sub_8165C40 + bl GetFacilityEnemyMonLevel bl sub_81A39C4 lsls r0, 16 lsrs r0, 16 @@ -6073,7 +5820,7 @@ sub_8165404: @ 8165404 sub sp, 0x70 lsls r0, 16 lsrs r7, r0, 16 - bl sub_8165C40 + bl GetFacilityEnemyMonLevel ldr r0, =0x00000c03 cmp r7, r0 beq _08165420 @@ -6228,7 +5975,7 @@ _08165564: bls _0816556C b _081656E8 _0816556C: - bl sub_8165C40 + bl GetFacilityEnemyMonLevel lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x50] @@ -6272,7 +6019,7 @@ _081655A6: mov r9, r0 mov r0, r8 add r0, r9 - ldr r6, =gUnknown_0203BC8C + ldr r6, =gFacilityTrainerMons ldr r4, [r6] lsls r5, r1, 4 adds r4, r5, r4 @@ -6339,7 +6086,7 @@ _08165634: movs r1, 0x20 ldr r2, [sp, 0x5C] bl SetMonData - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r1, [r0] ldr r2, [sp, 0x54] lsls r0, r2, 4 @@ -6354,7 +6101,7 @@ _08165634: movs r0, 0 str r0, [sp, 0x44] movs r2, 0 - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r7 @@ -7083,8 +6830,8 @@ _08165C2A: .pool thumb_func_end sub_8165B88 - thumb_func_start sub_8165C40 -sub_8165C40: @ 8165C40 + thumb_func_start GetFacilityEnemyMonLevel +GetFacilityEnemyMonLevel: @ 8165C40 push {lr} ldr r0, =gSaveBlock2Ptr ldr r0, [r0] @@ -7095,29 +6842,29 @@ sub_8165C40: @ 8165C40 ands r0, r1 cmp r0, 0x2 beq _08165C84 - ldr r1, =gUnknown_0203BC88 + ldr r1, =gFacilityTrainers ldr r0, =gBattleFrontierTrainers str r0, [r1] - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gBattleFrontierMons str r0, [r1] ldrb r0, [r2] lsls r0, 30 lsrs r0, 30 - bl BattleFrontierGetOpponentLvl + bl GetFrontierEnemyMonLevel b _08165C88 .pool _08165C84: - bl sub_8165D78 + bl GetTentEnemyMonLevel _08165C88: lsls r0, 24 lsrs r0, 24 pop {r1} bx r1 - thumb_func_end sub_8165C40 + thumb_func_end GetFacilityEnemyMonLevel - thumb_func_start BattleFrontierGetOpponentLvl -BattleFrontierGetOpponentLvl: @ 8165C90 + thumb_func_start GetFrontierEnemyMonLevel +GetFrontierEnemyMonLevel: @ 8165C90 push {lr} lsls r0, 24 lsrs r0, 24 @@ -7138,7 +6885,7 @@ _08165CA2: _08165CB0: pop {r1} bx r1 - thumb_func_end BattleFrontierGetOpponentLvl + thumb_func_end GetFrontierEnemyMonLevel thumb_func_start sub_8165CB4 sub_8165CB4: @ 8165CB4 @@ -7246,8 +6993,8 @@ _08165D72: bx r1 thumb_func_end sub_8165D40 - thumb_func_start sub_8165D78 -sub_8165D78: @ 8165D78 + thumb_func_start GetTentEnemyMonLevel +GetTentEnemyMonLevel: @ 8165D78 push {lr} ldr r0, =0x000040cf bl VarGet @@ -7255,38 +7002,38 @@ sub_8165D78: @ 8165D78 lsrs r0, 16 cmp r0, 0x4 bne _08165DA8 - ldr r1, =gUnknown_0203BC88 + ldr r1, =gFacilityTrainers ldr r0, =gSlateportBattleTentTrainers str r0, [r1] - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gSlateportBattleTentMons b _08165DF2 .pool _08165DA8: cmp r0, 0x2 bne _08165DC8 - ldr r1, =gUnknown_0203BC88 + ldr r1, =gFacilityTrainers ldr r0, =gVerdanturfBattleTentTrainers str r0, [r1] - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gVerdanturfBattleTentMons b _08165DF2 .pool _08165DC8: cmp r0, 0x3 bne _08165DE8 - ldr r1, =gUnknown_0203BC88 + ldr r1, =gFacilityTrainers ldr r0, =gFallarborBattleTentTrainers str r0, [r1] - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gFallarborBattleTentMons b _08165DF2 .pool _08165DE8: - ldr r1, =gUnknown_0203BC88 + ldr r1, =gFacilityTrainers ldr r0, =gBattleFrontierTrainers str r0, [r1] - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gBattleFrontierMons _08165DF2: str r0, [r1] @@ -7300,7 +7047,7 @@ _08165E02: pop {r1} bx r1 .pool - thumb_func_end sub_8165D78 + thumb_func_end GetTentEnemyMonLevel thumb_func_start sub_8165E18 sub_8165E18: @ 8165E18 @@ -7384,13 +7131,13 @@ sub_8165EA4: @ 8165EA4 lsls r2, 24 lsrs r2, 24 str r2, [sp, 0x1C] - bl sub_8165D78 + bl GetTentEnemyMonLevel lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x20] ldr r0, =gTrainerBattleOpponent_A ldrh r2, [r0] - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r2 @@ -7456,7 +7203,7 @@ _08165F44: movs r1, 0xB movs r2, 0 bl GetMonData - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r2, [r1] lsls r1, r4, 4 adds r1, r2 @@ -7489,7 +7236,7 @@ _08165F7A: movs r1, 0xC movs r2, 0 bl GetMonData - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r2, [r1] lsls r1, r4, 4 adds r1, r2 @@ -7537,7 +7284,7 @@ _08165FDA: muls r0, r6 ldr r1, =gEnemyParty adds r0, r1 - ldr r5, =gUnknown_0203BC8C + ldr r5, =gFacilityTrainerMons ldr r2, [r5] lsls r4, 4 adds r2, r4, r2 @@ -7603,7 +7350,7 @@ _0816605E: movs r1, 0x20 add r2, sp, 0x14 bl SetMonData - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r0, [r0] add r0, r9 ldrb r2, [r0, 0xA] @@ -7756,7 +7503,7 @@ sub_8166188: @ 8166188 ands r0, r1 cmp r0, 0 beq _081661E8 - bl sub_8165C40 + bl GetFacilityEnemyMonLevel lsls r0, 24 movs r5, 0 ldr r7, =gBaseStats diff --git a/asm/cable_car.s b/asm/cable_car.s index 59245a1b2..276b878e2 100644 --- a/asm/cable_car.s +++ b/asm/cable_car.s @@ -774,7 +774,7 @@ _08150340: orrs r3, r0 str r3, [r2, 0x8] ldr r0, [r2, 0x8] - bl warp_in + bl WarpIntoMap ldr r0, =gFieldCallback str r4, [r0] ldr r0, =CB2_LoadMap diff --git a/asm/cable_car_util.s b/asm/cable_car_util.s deleted file mode 100644 index db434eaf9..000000000 --- a/asm/cable_car_util.s +++ /dev/null @@ -1,762 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81520A8 -sub_81520A8: @ 81520A8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r10, r0 - ldr r0, [sp, 0x24] - ldr r4, [sp, 0x28] - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp] - lsls r3, 24 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r4, 24 - lsrs r4, 24 - mov r8, r4 - movs r0, 0 - lsrs r4, r3, 24 - cmp r0, r8 - bcs _08152122 -_081520DA: - ldr r2, [sp] - movs r3, 0 - adds r6, r4, 0x1 - adds r0, 0x1 - mov r12, r0 - cmp r3, r7 - bcs _0815210C - lsls r5, r4, 6 -_081520EA: - lsls r0, r2, 1 - adds r0, r5 - add r0, r10 - mov r1, r9 - strh r1, [r0] - adds r1, r2, 0x1 - adds r0, r1, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r1, r0 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r7 - bcc _081520EA -_0815210C: - adds r0, r6, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r6, r0 - lsls r0, 24 - lsrs r4, r0, 24 - mov r1, r12 - lsls r0, r1, 24 - lsrs r0, 24 - cmp r0, r8 - bcc _081520DA -_08152122: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81520A8 - - thumb_func_start sub_8152134 -sub_8152134: @ 8152134 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r10, r0 - ldr r0, [sp, 0x24] - ldr r4, [sp, 0x28] - lsls r2, 24 - lsrs r2, 24 - str r2, [sp] - lsls r3, 24 - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - lsls r4, 24 - lsrs r4, 24 - mov r9, r4 - movs r0, 0 - adds r5, r1, 0 - lsrs r4, r3, 24 - cmp r0, r9 - bcs _081521AE -_08152164: - ldr r2, [sp] - movs r3, 0 - adds r7, r4, 0x1 - adds r0, 0x1 - mov r8, r0 - cmp r3, r12 - bcs _08152198 - lsls r6, r4, 6 -_08152174: - lsls r0, r2, 1 - adds r0, r6 - add r0, r10 - ldrh r1, [r5] - strh r1, [r0] - adds r5, 0x2 - adds r1, r2, 0x1 - adds r0, r1, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r1, r0 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r12 - bcc _08152174 -_08152198: - adds r0, r7, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r7, r0 - lsls r0, 24 - lsrs r4, r0, 24 - mov r1, r8 - lsls r0, r1, 24 - lsrs r0, 24 - cmp r0, r9 - bcc _08152164 -_081521AE: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8152134 - - thumb_func_start sub_81521C0 -sub_81521C0: @ 81521C0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0 - cmp r4, 0 - beq _081521FE - cmp r4, 0x40 - bls _081521D6 - movs r4, 0x40 -_081521D6: - ldr r6, =gUnknown_0203ABB8 - movs r0, 0x8 - bl AllocZeroed - str r0, [r6] - cmp r0, 0 - beq _081521FE - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 4 - bl AllocZeroed - ldr r1, [r6] - str r0, [r1, 0x4] - cmp r0, 0 - bne _08152208 - adds r0, r1, 0 - bl Free - str r5, [r6] -_081521FE: - movs r0, 0 - b _08152244 - .pool -_08152208: - strb r4, [r1] - cmp r5, r4 - bcs _08152242 - adds r3, r6, 0 - ldr r0, =gDummyOamData - mov r12, r0 - movs r2, 0x4 - mov r8, r2 -_08152218: - ldr r0, [r3] - ldr r2, [r0, 0x4] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 4 - adds r2, r1, r2 - mov r0, r12 - ldm r0!, {r6,r7} - stm r2!, {r6,r7} - ldr r0, [r3] - ldr r0, [r0, 0x4] - adds r1, r0 - ldrb r0, [r1, 0x19] - mov r2, r8 - orrs r0, r2 - strb r0, [r1, 0x19] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r4 - bcc _08152218 -_08152242: - movs r0, 0x1 -_08152244: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81521C0 - - thumb_func_start sub_8152254 -sub_8152254: @ 8152254 - push {r4-r7,lr} - movs r3, 0 - ldr r0, =gUnknown_0203ABB8 - ldr r2, [r0] - adds r5, r0, 0 - cmp r2, 0 - bne _0815226C - movs r0, 0 - b _081522C4 - .pool -_0815226C: - ldrb r2, [r2] - cmp r3, r2 - bcs _08152292 - ldr r0, =gMain+0x238 - mov r12, r0 - ldr r4, =gDummyOamData - adds r2, r5, 0 -_0815227A: - lsls r1, r3, 3 - add r1, r12 - adds r0, r4, 0 - ldm r0!, {r6,r7} - stm r1!, {r6,r7} - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, [r2] - ldrb r0, [r0] - cmp r3, r0 - bcc _0815227A -_08152292: - ldr r1, [r5] - ldrb r0, [r1] - lsls r2, r0, 1 - adds r2, r0 - ldr r0, [r1, 0x4] - lsls r2, 4 - movs r1, 0 - bl memset - ldr r0, [r5] - ldr r0, [r0, 0x4] - bl Free - ldr r0, [r5] - movs r4, 0 - str r4, [r0, 0x4] - movs r1, 0 - movs r2, 0x8 - bl memset - ldr r0, [r5] - bl Free - str r4, [r5] - movs r0, 0x1 -_081522C4: - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8152254 - - thumb_func_start sub_81522D4 -sub_81522D4: @ 81522D4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - ldr r0, =gUnknown_0203ABB8 - ldr r1, [r0] - adds r3, r0, 0 - cmp r1, 0 - beq _081522EC - ldr r0, [r1, 0x4] - cmp r0, 0 - bne _081522F4 -_081522EC: - movs r0, 0 - b _081523D2 - .pool -_081522F4: - ldrb r1, [r1] - cmp r6, r1 - bcs _081523D0 - adds r7, r3, 0 - movs r0, 0x3 - mov r8, r0 -_08152300: - ldr r0, [r7] - ldr r1, [r0, 0x4] - lsls r0, r6, 1 - adds r0, r6 - lsls r5, r0, 4 - adds r2, r5, r1 - ldrb r1, [r2, 0x19] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x3 - bne _081523C2 - ldr r1, [r2, 0x2C] - cmp r1, 0 - beq _08152322 - adds r0, r2, 0 - bl _call_via_r1 -_08152322: - ldr r0, [r7] - ldr r0, [r0, 0x4] - adds r2, r5, r0 - ldrb r1, [r2, 0x19] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08152348 - lsls r0, r6, 3 - ldr r1, =gMain+0x238 - adds r0, r1 - ldr r1, =gDummyOamData - ldm r1!, {r2,r3} - stm r0!, {r2,r3} - b _081523C0 - .pool -_08152348: - ldrb r0, [r2, 0xE] - ldrb r4, [r2, 0xA] - adds r0, r4 - strb r0, [r2] - ldr r4, [r7] - ldr r3, [r4, 0x4] - adds r3, r5, r3 - movs r0, 0x8 - ldrsh r2, [r3, r0] - movs r1, 0xC - ldrsh r0, [r3, r1] - adds r2, r0 - ldr r1, =0x000001ff - adds r0, r1, 0 - ands r2, r0 - ldrh r0, [r3, 0x2] - ldr r1, =0xfffffe00 - mov r12, r1 - mov r1, r12 - ands r0, r1 - orrs r0, r2 - strh r0, [r3, 0x2] - ldr r3, [r4, 0x4] - adds r3, r5, r3 - ldrb r0, [r3, 0x19] - lsls r0, 27 - lsrs r0, 30 - mov r2, r8 - ands r0, r2 - lsls r0, 2 - ldrb r1, [r3, 0x5] - movs r4, 0xD - negs r4, r4 - adds r2, r4, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x5] - ldr r4, [r7] - ldr r2, [r4, 0x4] - adds r2, r5, r2 - ldrh r3, [r2, 0x14] - ldr r1, =0x000003ff - adds r0, r1, 0 - adds r1, r3, 0 - ands r1, r0 - mov r12, r1 - ldrh r0, [r2, 0x4] - ldr r3, =0xfffffc00 - adds r1, r3, 0 - ands r0, r1 - mov r1, r12 - orrs r0, r1 - strh r0, [r2, 0x4] - lsls r1, r6, 3 - ldr r2, =gMain+0x238 - ldr r0, [r4, 0x4] - adds r1, r2 - adds r0, r5, r0 - ldm r0!, {r2,r3} - stm r1!, {r2,r3} -_081523C0: - ldr r3, =gUnknown_0203ABB8 -_081523C2: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, [r3] - ldrb r0, [r0] - cmp r6, r0 - bcc _08152300 -_081523D0: - movs r0, 0x1 -_081523D2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81522D4 - - thumb_func_start sub_81523F4 -sub_81523F4: @ 81523F4 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - cmp r4, 0 - beq _08152430 - ldrh r0, [r4, 0x10] - bl GetSpriteTileStartByTag - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, =0x0000ffff - cmp r5, r0 - beq _08152430 - strb r6, [r4, 0x18] - ldrb r0, [r4, 0x1] - lsrs r0, 6 - ldrb r1, [r4, 0x3] - lsrs r1, 6 - bl sub_80355F8 - lsls r0, 24 - lsrs r0, 24 - muls r0, r6 - adds r0, r5, r0 - strh r0, [r4, 0x14] - movs r0, 0x1 - b _08152432 - .pool -_08152430: - movs r0, 0 -_08152432: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81523F4 - - thumb_func_start sub_8152438 -sub_8152438: @ 8152438 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_0203ABB8 - ldr r0, [r0] - cmp r0, 0 - beq _0815246C - ldrb r1, [r0] - cmp r2, r1 - bcs _0815246C - ldr r1, [r0, 0x4] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 4 - adds r3, r0, r1 - ldrb r1, [r3, 0x19] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0815246C - str r4, [r3, 0x2C] - adds r0, r2, 0 - b _0815246E - .pool -_0815246C: - movs r0, 0xFF -_0815246E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8152438 - - thumb_func_start sub_8152474 -sub_8152474: @ 8152474 - push {r4,r5,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r2, 16 - lsrs r5, r2, 16 - ldr r0, =gUnknown_0203ABB8 - ldr r0, [r0] - cmp r0, 0 - beq _081524A8 - ldrb r1, [r0] - cmp r3, r1 - bcs _081524A8 - ldr r1, [r0, 0x4] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 4 - adds r2, r0, r1 - ldrb r1, [r2, 0x19] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081524A8 - cmp r4, 0x7 - bls _081524B0 -_081524A8: - movs r0, 0xFF - b _081524BC - .pool -_081524B0: - lsls r1, r4, 1 - adds r0, r2, 0 - adds r0, 0x1A - adds r0, r1 - strh r5, [r0] - adds r0, r3, 0 -_081524BC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8152474 - - thumb_func_start sub_81524C4 -sub_81524C4: @ 81524C4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - mov r9, r0 - ldr r0, [sp, 0x30] - ldr r4, [sp, 0x34] - ldr r5, [sp, 0x38] - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - lsls r3, 16 - lsrs r3, 16 - str r3, [sp, 0x4] - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x8] - lsls r4, 24 - lsrs r4, 24 - str r4, [sp, 0xC] - lsls r5, 24 - lsrs r5, 24 - mov r10, r5 - movs r5, 0 - ldr r0, =gUnknown_0203ABB8 - ldr r0, [r0] - cmp r0, 0 - beq _0815255E - mov r1, r9 - cmp r1, 0 - bne _08152530 - b _0815255E - .pool -_08152514: - adds r5, r2, 0 - adds r0, r5, 0 - movs r1, 0 - movs r2, 0x30 - bl memset - strb r4, [r5, 0x16] - ldrb r0, [r5, 0x19] - movs r1, 0x1 - orrs r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r5, 0x19] - b _0815255A -_08152530: - movs r4, 0 - ldrb r1, [r0] - cmp r5, r1 - bcs _0815255A - ldr r6, [r0, 0x4] - adds r3, r1, 0 - movs r7, 0x1 -_0815253E: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 4 - adds r2, r0, r6 - ldrb r1, [r2, 0x19] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _08152514 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r3 - bcc _0815253E -_0815255A: - cmp r5, 0 - bne _08152562 -_0815255E: - movs r0, 0xFF - b _081525C0 -_08152562: - adds r1, r5, 0 - mov r0, r9 - ldm r0!, {r2,r3} - stm r1!, {r2,r3} - mov r0, sp - ldrh r0, [r0] - strh r0, [r5, 0x10] - mov r1, r8 - strh r1, [r5, 0x12] - mov r2, sp - ldrh r2, [r2, 0x4] - strh r2, [r5, 0x8] - mov r3, sp - ldrh r3, [r3, 0x8] - strh r3, [r5, 0xA] - mov r0, r8 - bl IndexOfSpritePaletteTag - lsls r0, 4 - ldrb r1, [r5, 0x5] - movs r4, 0xF - ands r4, r1 - orrs r4, r0 - strb r4, [r5, 0x5] - mov r0, r10 - cmp r0, 0x3 - bhi _081525B6 - movs r1, 0x3 - ands r1, r0 - lsls r3, r1, 3 - ldrb r2, [r5, 0x19] - movs r0, 0x19 - negs r0, r0 - ands r0, r2 - orrs r0, r3 - strb r0, [r5, 0x19] - lsls r1, 2 - movs r0, 0xD - negs r0, r0 - ands r4, r0 - orrs r4, r1 - strb r4, [r5, 0x5] -_081525B6: - adds r0, r5, 0 - ldr r1, [sp, 0xC] - bl sub_81523F4 - ldrb r0, [r5, 0x16] -_081525C0: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81524C4 - - thumb_func_start sub_81525D0 -sub_81525D0: @ 81525D0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r6, =gUnknown_0203ABB8 - ldr r0, [r6] - cmp r0, 0 - beq _081525F2 - ldr r1, [r0, 0x4] - lsls r0, r5, 1 - adds r0, r5 - lsls r4, r0, 4 - adds r2, r4, r1 - ldrb r1, [r2, 0x19] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081525FC -_081525F2: - movs r0, 0xFF - b _0815263C - .pool -_081525FC: - adds r0, r2, 0 - movs r1, 0 - movs r2, 0x30 - bl memset - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - movs r1, 0xA0 - strb r1, [r0] - ldr r3, [r6] - ldr r2, [r3, 0x4] - adds r2, r4, r2 - ldrh r1, [r2, 0x2] - ldr r0, =0xfffffe00 - ands r0, r1 - movs r1, 0xF0 - orrs r0, r1 - strh r0, [r2, 0x2] - ldr r1, [r3, 0x4] - adds r1, r4, r1 - ldrb r0, [r1, 0x19] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1, 0x19] - lsls r1, r5, 3 - ldr r0, =gMain+0x238 - adds r1, r0 - ldr r0, =gDummyOamData - ldm r0!, {r2,r3} - stm r1!, {r2,r3} - adds r0, r5, 0 -_0815263C: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81525D0 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/cable_club.s b/asm/cable_club.s index 0297c2f80..6f4917a19 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -74,7 +74,7 @@ sub_80B23B0: @ 80B23B0 adds r0, r4, 0 movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized adds r0, r4, 0 movs r1, 0x3 bl CopyWindowToVram diff --git a/asm/contest.s b/asm/contest.s index 453ecb04c..b984a98b6 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -5,7588 +5,6 @@ .text - thumb_func_start TaskDummy1 -TaskDummy1: @ 80D7668 - bx lr - thumb_func_end TaskDummy1 - - thumb_func_start ResetLinkContestBoolean -ResetLinkContestBoolean: @ 80D766C - ldr r1, =gUnknown_02039F2A - movs r0, 0 - strb r0, [r1] - bx lr - .pool - thumb_func_end ResetLinkContestBoolean - - thumb_func_start sub_80D7678 -sub_80D7678: @ 80D7678 - push {r4,lr} - movs r0, 0 - movs r1, 0x40 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r4, =0x00003f3f - movs r0, 0x48 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x4A - adds r1, r4, 0 - bl SetGpuReg - movs r1, 0xFE - lsls r1, 7 - movs r0, 0 - bl SetGpuRegBits - ldr r0, =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG0_Y - strh r1, [r0] - ldr r0, =gBattle_BG1_X - strh r1, [r0] - ldr r0, =gBattle_BG1_Y - strh r1, [r0] - ldr r0, =gBattle_BG2_X - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] - ldr r0, =gBattle_BG3_X - strh r1, [r0] - ldr r0, =gBattle_BG3_Y - strh r1, [r0] - ldr r0, =gBattle_WIN0H - strh r1, [r0] - ldr r0, =gBattle_WIN0V - strh r1, [r0] - ldr r0, =gBattle_WIN1H - strh r1, [r0] - ldr r0, =gBattle_WIN1V - strh r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D7678 - - thumb_func_start LoadContestBgAfterMoveAnim -LoadContestBgAfterMoveAnim: @ 80D7724 - push {r4,r5,lr} - ldr r0, =gUnknown_08C17AB0 - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - ldr r0, =gUnknown_08C1850C - ldr r1, =0x06002000 - bl LZDecompressVram - ldr r1, =gUnknown_08C16FA8 - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - ldr r0, =gUnknown_08C16E90 - movs r2, 0x80 - lsls r2, 2 - movs r1, 0 - bl LoadCompressedPalette - bl sub_80D782C - movs r4, 0 - movs r5, 0xA0 -_080D775E: - ldr r0, =0x0201a004 - adds r0, r5, r0 - ldr r1, =gUnknown_02039F26 - adds r1, r4, r1 - ldrb r1, [r1] - adds r1, 0x5 - lsls r1, 4 - movs r2, 0x20 - bl LoadPalette - adds r5, 0x20 - adds r4, 0x1 - cmp r4, 0x3 - ble _080D775E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end LoadContestBgAfterMoveAnim - - thumb_func_start sub_80D779C -sub_80D779C: @ 80D779C - push {r4,lr} - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_08587F34 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - movs r0, 0x3 - movs r1, 0x6 - movs r2, 0x1 - bl SetBgAttribute - movs r4, 0 -_080D77BA: - lsls r0, r4, 24 - lsrs r0, 24 - ldr r1, =gContestResources - ldr r1, [r1] - lsls r2, r4, 2 - adds r1, 0x24 - adds r1, r2 - ldr r1, [r1] - bl SetBgTilemapBuffer - adds r4, 0x1 - cmp r4, 0x3 - ble _080D77BA - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D779C - - thumb_func_start sub_80D77E4 -sub_80D77E4: @ 80D77E4 - push {lr} - ldr r0, =gUnknown_08587F44 - bl InitWindows - bl DeactivateAllTextPrinters - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D7818 - ldr r2, =gTextFlags - ldrb r1, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - b _080D7822 - .pool -_080D7818: - ldr r0, =gTextFlags - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] -_080D7822: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D77E4 - - thumb_func_start sub_80D782C -sub_80D782C: @ 80D782C - push {r4,r5,lr} - ldr r0, =gUnknown_08587C30 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0 - movs r1, 0 - movs r2, 0x2 - bl FillPalette - movs r5, 0xA - movs r4, 0xFA - lsls r4, 16 -_080D7848: - lsrs r1, r4, 16 - ldr r0, =gPlttBufferUnfaded + 0x1E2 - movs r2, 0x2 - bl LoadPalette - movs r0, 0x80 - lsls r0, 9 - adds r4, r0 - adds r5, 0x1 - cmp r5, 0xD - ble _080D7848 - ldr r0, =0x00007e3f - movs r1, 0xF3 - movs r2, 0x2 - bl FillPalette - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D782C - - thumb_func_start sub_80D787C -sub_80D787C: @ 80D787C - push {r4-r7,lr} - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0] - movs r1, 0 - movs r2, 0x5C - bl memset - movs r5, 0 - movs r2, 0xFF -_080D7890: - ldr r0, [r4] - ldr r1, [r0] - adds r1, 0x2 - adds r1, r5 - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] - adds r5, 0x1 - cmp r5, 0x3 - ble _080D7890 - movs r4, 0 - ldr r6, =gContestResources - movs r5, 0x3 -_080D78AA: - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - movs r1, 0 - movs r2, 0x1C - bl memset - adds r4, 0x1C - subs r5, 0x1 - cmp r5, 0 - bge _080D78AA - ldr r4, =gContestResources - movs r7, 0x4 - negs r7, r7 - movs r6, 0xFF - movs r3, 0 - movs r5, 0x3 -_080D78CC: - ldr r0, [r4] - ldr r1, [r0, 0x4] - adds r1, r3, r1 - ldrb r2, [r1, 0xB] - adds r0, r7, 0 - ands r0, r2 - strb r0, [r1, 0xB] - ldr r0, [r4] - ldr r1, [r0, 0x4] - adds r1, r3, r1 - ldrb r0, [r1, 0x13] - orrs r0, r6 - strb r0, [r1, 0x13] - ldr r0, [r4] - ldr r1, [r0, 0x4] - adds r1, r3, r1 - ldrb r0, [r1, 0x14] - orrs r0, r6 - strb r0, [r1, 0x14] - adds r3, 0x1C - subs r5, 0x1 - cmp r5, 0 - bge _080D78CC - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0, 0x8] - movs r1, 0 - movs r2, 0x14 - bl memset - ldr r0, [r4] - ldr r0, [r0, 0xC] - movs r1, 0 - movs r2, 0x44 - bl memset - ldr r2, [r4] - ldr r1, [r2, 0x10] - movs r0, 0 - str r0, [r1] - ldr r0, [r2, 0x14] - movs r1, 0 - movs r2, 0x10 - bl memset - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080D7938 - movs r0, 0 - bl sub_80DCE58 -_080D7938: - movs r5, 0 - adds r2, r4, 0 - movs r6, 0xFF - movs r3, 0 - ldr r4, =gUnknown_02039F26 -_080D7942: - ldr r0, [r2] - ldr r1, [r0, 0x4] - adds r1, r3, r1 - ldrb r0, [r1, 0x19] - orrs r0, r6 - strb r0, [r1, 0x19] - ldr r0, [r2] - ldr r1, [r0] - adds r1, 0x14 - adds r1, r5 - adds r0, r5, r4 - ldrb r0, [r0] - strb r0, [r1] - adds r3, 0x1C - adds r5, 0x1 - cmp r5, 0x3 - ble _080D7942 - bl sub_80DD590 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x1C] - movs r1, 0 - movs r2, 0x40 - bl memset - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D787C - - thumb_func_start sub_80D7988 -sub_80D7988: @ 80D7988 - push {r4,r5,lr} - ldr r4, =gContestResources - movs r0, 0x40 - bl AllocZeroed - str r0, [r4] - movs r0, 0x5C - bl AllocZeroed - ldr r1, [r4] - str r0, [r1] - movs r0, 0x70 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x4] - movs r0, 0x14 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x8] - movs r0, 0x44 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0xC] - movs r0, 0x10 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x10] - movs r0, 0x10 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x14] - movs r0, 0x14 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x18] - movs r0, 0x40 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x1C] - movs r0, 0xC - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x20] - movs r5, 0x80 - lsls r5, 5 - adds r0, r5, 0 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x24] - adds r0, r5, 0 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x28] - adds r0, r5, 0 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x2C] - adds r0, r5, 0 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x30] - movs r5, 0x80 - lsls r5, 4 - adds r0, r5, 0 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x34] - adds r0, r5, 0 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x38] - movs r0, 0x80 - lsls r0, 6 - bl AllocZeroed - ldr r2, [r4] - str r0, [r2, 0x3C] - ldr r1, =gUnknown_0202305C - str r0, [r1] - ldr r1, =gUnknown_02023060 - ldr r0, [r2, 0x28] - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D7988 - - thumb_func_start sub_80D7A5C -sub_80D7A5C: @ 80D7A5C - push {r4,r5,lr} - ldr r5, =gContestResources - ldr r0, [r5] - ldr r0, [r0] - bl Free - ldr r0, [r5] - movs r4, 0 - str r4, [r0] - ldr r0, [r0, 0x4] - bl Free - ldr r0, [r5] - str r4, [r0, 0x4] - ldr r0, [r0, 0x8] - bl Free - ldr r0, [r5] - str r4, [r0, 0x8] - ldr r0, [r0, 0xC] - bl Free - ldr r0, [r5] - str r4, [r0, 0xC] - ldr r0, [r0, 0x10] - bl Free - ldr r0, [r5] - str r4, [r0, 0x10] - ldr r0, [r0, 0x14] - bl Free - ldr r0, [r5] - str r4, [r0, 0x14] - ldr r0, [r0, 0x18] - bl Free - ldr r0, [r5] - str r4, [r0, 0x18] - ldr r0, [r0, 0x1C] - bl Free - ldr r0, [r5] - str r4, [r0, 0x1C] - ldr r0, [r0, 0x20] - bl Free - ldr r0, [r5] - str r4, [r0, 0x20] - ldr r0, [r0, 0x24] - bl Free - ldr r0, [r5] - str r4, [r0, 0x24] - ldr r0, [r0, 0x28] - bl Free - ldr r0, [r5] - str r4, [r0, 0x28] - ldr r0, [r0, 0x2C] - bl Free - ldr r0, [r5] - str r4, [r0, 0x2C] - ldr r0, [r0, 0x30] - bl Free - ldr r0, [r5] - str r4, [r0, 0x30] - ldr r0, [r0, 0x34] - bl Free - ldr r0, [r5] - str r4, [r0, 0x34] - ldr r0, [r0, 0x38] - bl Free - ldr r0, [r5] - str r4, [r0, 0x38] - ldr r0, [r0, 0x3C] - bl Free - ldr r0, [r5] - str r4, [r0, 0x3C] - bl Free - str r4, [r5] - ldr r0, =gUnknown_0202305C - str r4, [r0] - ldr r0, =gUnknown_02023060 - str r4, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D7A5C - - thumb_func_start sub_80D7B24 -sub_80D7B24: @ 80D7B24 - push {r4-r6,lr} - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r6, r0, r1 - ldrb r5, [r6] - cmp r5, 0x1 - beq _080D7BD4 - cmp r5, 0x1 - bgt _080D7B44 - cmp r5, 0 - beq _080D7B4E - b _080D7C56 - .pool -_080D7B44: - cmp r5, 0x2 - beq _080D7BDA - cmp r5, 0x3 - beq _080D7C04 - b _080D7C56 -_080D7B4E: - ldr r0, =gUnknown_02039F38 - strb r5, [r0] - bl sub_80D7988 - bl AllocateMonSpritesGfx - ldr r4, =gMonSpritesGfxPtr - ldr r0, [r4] - ldr r0, [r0] - bl Free - ldr r0, [r4] - str r5, [r0] - movs r0, 0x80 - lsls r0, 7 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1] - movs r0, 0 - bl SetVBlankCallback - bl sub_80D779C - bl sub_80D77E4 - bl sub_80D7678 - bl ScanlineEffect_Clear - bl ResetPaletteFade - ldr r2, =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - bl ResetSpriteData - bl ResetTasks - bl FreeAllSpritePalettes - ldr r1, =gReservedSpritePaletteCount - movs r0, 0x4 - strb r0, [r1] - ldr r0, =0x02000000 - movs r1, 0xD0 - lsls r1, 9 - adds r0, r1 - strb r5, [r0] - bl ClearBattleMonForms - bl sub_80D787C - b _080D7BF6 - .pool -_080D7BD4: - movs r0, 0x2 - strb r0, [r6] - b _080D7C56 -_080D7BDA: - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0] - adds r0, 0x59 - bl sub_80D7E44 - lsls r0, 24 - cmp r0, 0 - beq _080D7C56 - ldr r0, [r4] - ldr r0, [r0] - adds r0, 0x59 - movs r1, 0 - strb r1, [r0] -_080D7BF6: - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] - b _080D7C56 - .pool -_080D7C04: - bl sub_80DE224 - ldr r0, =gBattle_BG1_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG1_Y - strh r1, [r0] - movs r0, 0x2 - bl BeginFastPaletteFade - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - ldr r0, =vblank_cb_battle - bl SetVBlankCallback - ldr r0, =sub_80D7C7C - movs r1, 0xA - bl CreateTask - ldr r1, =gContestResources - ldr r1, [r1] - ldr r1, [r1] - strb r0, [r1, 0x8] - ldr r0, =sub_80D823C - bl SetMainCallback2 - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080D7C56 - bl sub_800E0E8 - movs r0, 0x8 - movs r1, 0x8 - bl CreateWirelessStatusIndicatorSprite -_080D7C56: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D7B24 - - thumb_func_start sub_80D7C7C -sub_80D7C7C: @ 80D7C7C - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _080D7CA2 - ldr r0, =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - strh r2, [r1, 0x8] - ldr r0, =sub_80D7CB4 - str r0, [r1] -_080D7CA2: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D7C7C - - thumb_func_start sub_80D7CB4 -sub_80D7CB4: @ 80D7CB4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D7D90 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080D7D3A - ldr r2, =gTasks - lsls r1, r5, 2 - adds r0, r1, r5 - lsls r0, 3 - adds r4, r0, r2 - movs r2, 0x8 - ldrsh r0, [r4, r2] - adds r6, r1, 0 - cmp r0, 0x1 - beq _080D7D04 - cmp r0, 0x1 - bgt _080D7CF4 - cmp r0, 0 - beq _080D7CFA - b _080D7D3A - .pool -_080D7CF4: - cmp r0, 0x2 - beq _080D7D28 - b _080D7D3A -_080D7CFA: - bl sub_80DBF68 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080D7D04: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080D7D9E - bl sub_800ADF8 - ldr r0, =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080D7D9E - .pool -_080D7D28: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080D7D9E - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080D7D3A: - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080D7D9E - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080D7D62 - bl sub_80DBF68 -_080D7D62: - ldr r0, =sub_80D7DAC - movs r1, 0 - bl CreateTask - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r4, [r0, 0x8] - ldr r1, =TaskDummy1 - str r1, [r0] - b _080D7D9E - .pool -_080D7D90: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80D80C8 - str r0, [r1] -_080D7D9E: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D7CB4 - - thumb_func_start sub_80D7DAC -sub_80D7DAC: @ 80D7DAC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =sub_80FC998 - ldr r2, =sub_80D7DC8 - bl SetTaskFuncWithFollowupFunc - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D7DAC - - thumb_func_start sub_80D7DC8 -sub_80D7DC8: @ 80D7DC8 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x1 - strh r0, [r1, 0x8] - ldr r0, =sub_80D7DE8 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_80D7DC8 - - thumb_func_start sub_80D7DE8 -sub_80D7DE8: @ 80D7DE8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r5 - ldrh r1, [r0, 0x8] - subs r1, 0x1 - strh r1, [r0, 0x8] - lsls r1, 16 - cmp r1, 0 - bgt _080D7E2A - bl GetMultiplayerId - adds r0, r4, 0 - bl DestroyTask - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - ldrb r1, [r0, 0x8] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - ldr r1, =sub_80D80C8 - str r1, [r0] - ldr r1, =gRngValue - ldr r0, =gUnknown_030060B8 - ldr r0, [r0] - str r0, [r1] -_080D7E2A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D7DE8 - - thumb_func_start sub_80D7E44 -sub_80D7E44: @ 80D7E44 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x40 - mov r10, r0 - ldrb r0, [r0] - cmp r0, 0x6 - bls _080D7E5A - b _080D80A4 -_080D7E5A: - lsls r0, 2 - ldr r1, =_080D7E68 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080D7E68: - .4byte _080D7E84 - .4byte _080D7EC8 - .4byte _080D7ED8 - .4byte _080D7F28 - .4byte _080D7F40 - .4byte _080D7F7C - .4byte _080D8004 -_080D7E84: - ldr r2, =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - movs r1, 0xC0 - lsls r1, 19 - movs r4, 0x80 - lsls r4, 8 - movs r0, 0 - adds r2, r4, 0 - movs r3, 0x1 - bl RequestDma3Fill - ldr r1, =0x06008000 - movs r0, 0 - adds r2, r4, 0 - movs r3, 0x1 - bl RequestDma3Fill - ldr r1, =0x06010000 - movs r0, 0 - adds r2, r4, 0 - movs r3, 0x1 - bl RequestDma3Fill - b _080D80AE - .pool -_080D7EC8: - ldr r0, =gUnknown_08C17AB0 - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - b _080D80AE - .pool -_080D7ED8: - ldr r0, =gUnknown_08C1850C - ldr r4, =0x06002000 - adds r1, r4, 0 - bl LZDecompressVram - ldr r3, =0x02018000 - movs r5, 0x80 - lsls r5, 6 - ldr r1, =0x040000d4 - ldr r6, =0x84000400 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x84 - lsls r7, 24 -_080D7EF4: - str r4, [r1] - str r3, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r4, r2 - adds r3, r2 - subs r5, r2 - cmp r5, r2 - bhi _080D7EF4 - str r4, [r1] - str r3, [r1, 0x4] - lsrs r0, r5, 2 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - b _080D80AE - .pool -_080D7F28: - ldr r1, =gUnknown_08C16FA8 - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - b _080D80AE - .pool -_080D7F40: - ldr r1, =gUnknown_08C17170 - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0x2C] - ldr r2, =0x0201aa04 - ldr r0, =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, =0x84000200 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - b _080D80AE - .pool -_080D7F7C: - ldr r0, =gUnknown_08C16E90 - movs r2, 0x80 - lsls r2, 2 - movs r1, 0 - bl LoadCompressedPalette - ldr r5, =gPlttBufferUnfaded + 0x100 - ldr r6, =0x04000008 - adds r0, r5, 0 - mov r1, sp - adds r2, r6, 0 - bl CpuSet - ldr r0, =gUnknown_02039F25 - mov r9, r0 - ldrb r0, [r0] - adds r0, 0x5 - lsls r0, 5 - ldr r1, =0xffffff00 - adds r1, r5 - mov r8, r1 - add r0, r8 - add r4, sp, 0x20 - adds r1, r4, 0 - adds r2, r6, 0 - bl CpuSet - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl CpuSet - mov r2, r9 - ldrb r1, [r2] - adds r1, 0x5 - lsls r1, 5 - add r1, r8 - mov r0, sp - adds r2, r6, 0 - bl CpuSet - ldr r1, =0x0201a004 - ldr r0, =0x040000d4 - mov r2, r8 - str r2, [r0] - str r1, [r0, 0x4] - ldr r1, =0x84000080 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - bl sub_80D782C - b _080D80AE - .pool -_080D8004: - bl sub_80DD04C - bl sub_80DBF90 - bl sub_80DB2BC - bl sub_80DB120 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r1, [r1] - movs r4, 0 - strb r0, [r1, 0x12] - bl sub_80DC2BC - bl sub_80DC4F0 - bl sub_80DC594 - bl sub_80DC5E8 - bl sub_80DC7EC - ldr r1, =gBattlerPositions - strb r4, [r1] - movs r0, 0x1 - strb r0, [r1, 0x1] - movs r3, 0x3 - strb r3, [r1, 0x2] - movs r2, 0x2 - strb r2, [r1, 0x3] - ldr r0, =gBattleTypeFlags - str r4, [r0] - ldr r4, =gBattlerAttacker - strb r2, [r4] - ldr r0, =gBattlerTarget - strb r3, [r0] - bl sub_80DB0C4 - ldr r2, =gBattlerSpriteIds - ldrb r1, [r4] - adds r1, r2 - strb r0, [r1] - bl sub_80DEA20 - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - b _080D80AE - .pool -_080D80A4: - movs r0, 0 - mov r1, r10 - strb r0, [r1] - movs r0, 0x1 - b _080D80B8 -_080D80AE: - mov r2, r10 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - movs r0, 0 -_080D80B8: - add sp, 0x40 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80D7E44 - - thumb_func_start sub_80D80C8 -sub_80D80C8: @ 80D80C8 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, =gPaletteFade - ldrb r2, [r1, 0x8] - movs r0, 0x7F - ands r0, r2 - strb r0, [r1, 0x8] - ldrb r1, [r1, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _080D80F8 - ldr r0, =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - strh r2, [r1, 0x8] - strh r2, [r1, 0xA] - ldr r0, =sub_80D8108 - str r0, [r1] -_080D80F8: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D80C8 - - thumb_func_start sub_80D8108 -sub_80D8108: @ 80D8108 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x4 - bhi _080D8208 - lsls r0, 2 - ldr r1, =_080D8138 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080D8138: - .4byte _080D814C - .4byte _080D8176 - .4byte _080D8194 - .4byte _080D81B0 - .4byte _080D8208 -_080D814C: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r2 - ldrh r0, [r4, 0xA] - adds r1, r0, 0x1 - strh r1, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3C - ble _080D822C - movs r0, 0 - strh r0, [r4, 0xA] - movs r0, 0x61 - movs r1, 0 - bl PlaySE12WithPanning - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080D822C -_080D8176: - ldr r1, =gBattle_BG1_Y - ldrh r0, [r1] - adds r0, 0x7 - strh r0, [r1] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA0 - ble _080D822C - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - b _080D81FA - .pool -_080D8194: - bl sub_80DE350 - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080D822C - .pool -_080D81B0: - movs r0, 0x8 - bl GetGpuReg - mov r1, sp - strh r0, [r1] - movs r0, 0xC - bl GetGpuReg - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - mov r3, sp - ldrb r2, [r3] - movs r1, 0x4 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3] - ldrb r0, [r4] - ands r1, r0 - strb r1, [r4] - mov r0, sp - ldrh r1, [r0] - movs r0, 0x8 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0xC - bl SetGpuReg - bl sub_80DDB0C - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 -_080D81FA: - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _080D822C - .pool -_080D8208: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - ldrb r1, [r0, 0x6] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080D822C - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - strh r1, [r0, 0x8] - strh r1, [r0, 0xA] - ldr r1, =sub_80D833C - str r1, [r0] -_080D822C: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D8108 - - thumb_func_start sub_80D823C -sub_80D823C: @ 80D823C - push {r4,r5,lr} - bl AnimateSprites - bl RunTasks - bl BuildOamBuffer - bl UpdatePaletteFade - movs r4, 0 -_080D8250: - ldr r5, =gUnknown_02039F38 - ldrb r0, [r5] - asrs r0, r4 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D8266 - lsls r0, r4, 24 - lsrs r0, 24 - bl CopyBgTilemapBufferToVram -_080D8266: - adds r4, 0x1 - cmp r4, 0x3 - ble _080D8250 - movs r0, 0 - strb r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D823C - - thumb_func_start vblank_cb_battle -vblank_cb_battle: @ 80D827C - push {lr} - ldr r0, =gBattle_BG0_X - ldrh r1, [r0] - movs r0, 0x10 - bl SetGpuReg - ldr r0, =gBattle_BG0_Y - ldrh r1, [r0] - movs r0, 0x12 - bl SetGpuReg - ldr r0, =gBattle_BG1_X - ldrh r1, [r0] - movs r0, 0x14 - bl SetGpuReg - ldr r0, =gBattle_BG1_Y - ldrh r1, [r0] - movs r0, 0x16 - bl SetGpuReg - ldr r0, =gBattle_BG2_X - ldrh r1, [r0] - movs r0, 0x18 - bl SetGpuReg - ldr r0, =gBattle_BG2_Y - ldrh r1, [r0] - movs r0, 0x1A - bl SetGpuReg - ldr r0, =gBattle_BG3_X - ldrh r1, [r0] - movs r0, 0x1C - bl SetGpuReg - ldr r0, =gBattle_BG3_Y - ldrh r1, [r0] - movs r0, 0x1E - bl SetGpuReg - ldr r0, =gBattle_WIN0H - ldrh r1, [r0] - movs r0, 0x40 - bl SetGpuReg - ldr r0, =gBattle_WIN0V - ldrh r1, [r0] - movs r0, 0x44 - bl SetGpuReg - ldr r0, =gBattle_WIN1H - ldrh r1, [r0] - movs r0, 0x42 - bl SetGpuReg - ldr r0, =gBattle_WIN1V - ldrh r1, [r0] - movs r0, 0x46 - bl SetGpuReg - bl TransferPlttBuffer - bl LoadOam - bl ProcessSpriteCopyRequests - bl ScanlineEffect_InitHBlankDmaTransfer - pop {r0} - bx r0 - .pool - thumb_func_end vblank_cb_battle - - thumb_func_start sub_80D833C -sub_80D833C: @ 80D833C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0 - bne _080D840C - ldr r0, =gBattle_BG0_Y - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] - bl sub_80DCD48 - ldr r1, =gPlttBufferUnfaded - ldr r2, =0x0201a204 - ldr r0, =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, =0x84000100 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r0, =gStringVar1 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r1, [r1] - ldrb r1, [r1, 0x1] - adds r1, 0x1 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - ldr r0, =gUnknown_02039F25 - ldrb r0, [r0] - bl sub_80DBCA8 - lsls r0, 24 - cmp r0, 0 - bne _080D83CC - ldr r0, =gDisplayedStringBattle - ldr r1, =gText_0827D507 - bl StringCopy - b _080D83D4 - .pool -_080D83CC: - ldr r0, =gDisplayedStringBattle - ldr r1, =gText_0827D531 - bl StringCopy -_080D83D4: - bl sub_80DB89C - ldr r4, =gStringVar4 - ldr r1, =gDisplayedStringBattle - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _080D841A - .pool -_080D840C: - bl sub_80DED4C - cmp r0, 0 - bne _080D841A - strh r0, [r4, 0x8] - ldr r0, =sub_80D8424 - str r0, [r4] -_080D841A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D833C - - thumb_func_start sub_80D8424 -sub_80D8424: @ 80D8424 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080D843C - cmp r1, 0x2 - bne _080D8482 -_080D843C: - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_02039F25 - ldrb r0, [r0] - bl sub_80DBCA8 - lsls r0, 24 - cmp r0, 0 - bne _080D8474 - movs r0, 0x1 - bl sub_80DC490 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80D8490 - b _080D8480 - .pool -_080D8474: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80D8894 -_080D8480: - str r0, [r1] -_080D8482: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D8424 - - thumb_func_start sub_80D8490 -sub_80D8490: @ 80D8490 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, =gBattle_BG0_Y - movs r1, 0xA0 - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] - movs r6, 0 - ldr r0, =gUnknown_02039F25 - mov r8, r0 - ldr r2, =gUnknown_02039E00 + 30 - mov r10, r2 - ldr r7, =gContestResources -_080D84B8: - lsls r1, r6, 1 - mov r0, r8 - ldrb r2, [r0] - lsls r0, r2, 6 - adds r1, r0 - add r1, r10 - ldrh r4, [r1] - add r5, sp, 0x4 - ldr r0, [r7] - ldr r1, [r0, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _080D853C - adds r0, r2, 0 - bl sub_80DE1E8 - lsls r0, 24 - cmp r0, 0 - beq _080D853C - ldr r0, [r7] - mov r2, r8 - ldrb r1, [r2] - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x8] - adds r1, r4, 0 - bl AreMovesContestCombo - lsls r0, 24 - cmp r0, 0 - beq _080D853C - ldr r0, [r7] - mov r2, r8 - ldrb r1, [r2] - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080D853C - add r0, sp, 0x4 - ldr r1, =gText_ColorLightShadowDarkGrey - b _080D8566 - .pool -_080D853C: - cmp r4, 0 - beq _080D856C - ldr r0, [r7] - mov r2, r8 - ldrb r1, [r2] - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x8] - cmp r0, r4 - bne _080D856C - ldr r0, =gContestMoves - lsls r1, r4, 3 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0x3 - beq _080D856C - add r0, sp, 0x4 - ldr r1, =gText_ColorBlue -_080D8566: - bl StringCopy - adds r5, r0, 0 -_080D856C: - movs r0, 0xD - adds r1, r4, 0 - muls r1, r0 - ldr r0, =gMoveNames - adds r1, r0 - adds r0, r5, 0 - bl StringCopy - adds r4, r6, 0x5 - lsls r0, r4, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x7 - str r0, [sp] - adds r0, r4, 0 - add r1, sp, 0x4 - movs r2, 0x5 - movs r3, 0x1 - bl sub_80DEBD0 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _080D84B8 - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - bl sub_80D880C - ldr r2, =gUnknown_02039E00 - ldr r0, [r4] - ldr r0, [r0] - ldrb r1, [r0] - lsls r1, 1 - ldr r0, =gUnknown_02039F25 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - bl prints_contest_move_description - ldr r1, =gTasks - mov r2, r9 - lsls r0, r2, 2 - add r0, r9 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80D8610 - str r1, [r0] - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D8490 - - thumb_func_start sub_80D8610 -sub_80D8610: @ 80D8610 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - movs r6, 0 - ldr r3, =gMain - ldr r1, =gUnknown_02039E00 - ldr r0, =gUnknown_02039F25 - ldrb r0, [r0] - lsls r0, 6 - adds r1, 0x1E - adds r1, r0, r1 - movs r2, 0x3 -_080D8628: - ldrh r0, [r1] - cmp r0, 0 - beq _080D8634 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_080D8634: - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bge _080D8628 - ldrh r0, [r3, 0x2E] - movs r5, 0x1 - ands r5, r0 - cmp r5, 0 - beq _080D8670 - movs r0, 0x5 - bl PlaySE - ldr r0, =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80D8894 - str r0, [r1] - b _080D87FA - .pool -_080D8670: - ldrh r0, [r3, 0x30] - cmp r0, 0x20 - bne _080D8678 - b _080D87FA -_080D8678: - cmp r0, 0x20 - bgt _080D8682 - cmp r0, 0x2 - beq _080D868E - b _080D87FA -_080D8682: - cmp r0, 0x40 - beq _080D8730 - cmp r0, 0x80 - bne _080D868C - b _080D879C -_080D868C: - b _080D87FA -_080D868E: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_80DC490 - ldr r0, =gStringVar1 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r1, [r1] - ldrb r1, [r1, 0x1] - adds r1, 0x1 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - ldr r0, =gUnknown_02039F25 - ldrb r0, [r0] - bl sub_80DBCA8 - lsls r0, 24 - cmp r0, 0 - bne _080D86DC - ldr r0, =gDisplayedStringBattle - ldr r1, =gText_0827D507 - bl StringCopy - b _080D86E4 - .pool -_080D86DC: - ldr r0, =gDisplayedStringBattle - ldr r1, =gText_0827D531 - bl StringCopy -_080D86E4: - bl sub_80DB89C - ldr r4, =gStringVar4 - ldr r1, =gDisplayedStringBattle - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0 - bl sub_80DEC30 - ldr r0, =gBattle_BG0_Y - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80D8424 - str r1, [r0] - b _080D87FA - .pool -_080D8730: - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - bl sub_80D883C - ldr r0, [r4] - ldr r1, [r0] - ldrb r0, [r1] - cmp r0, 0 - bne _080D8754 - subs r0, r6, 0x1 - b _080D8756 - .pool -_080D8754: - subs r0, 0x1 -_080D8756: - strb r0, [r1] - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - bl sub_80D880C - ldr r2, =gUnknown_02039E00 - ldr r0, [r4] - ldr r0, [r0] - ldrb r1, [r0] - lsls r1, 1 - ldr r0, =gUnknown_02039F25 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - bl prints_contest_move_description - cmp r6, 0x1 - bls _080D87FA - movs r0, 0x5 - bl PlaySE - b _080D87FA - .pool -_080D879C: - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - bl sub_80D883C - ldr r0, [r4] - ldr r1, [r0] - ldrb r2, [r1] - subs r0, r6, 0x1 - cmp r2, r0 - bne _080D87C0 - strb r5, [r1] - b _080D87C4 - .pool -_080D87C0: - adds r0, r2, 0x1 - strb r0, [r1] -_080D87C4: - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - bl sub_80D880C - ldr r2, =gUnknown_02039E00 - ldr r0, [r4] - ldr r0, [r0] - ldrb r1, [r0] - lsls r1, 1 - ldr r0, =gUnknown_02039F25 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - bl prints_contest_move_description - cmp r6, 0x1 - bls _080D87FA - movs r0, 0x5 - bl PlaySE -_080D87FA: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D8610 - - thumb_func_start sub_80D880C -sub_80D880C: @ 80D880C - push {lr} - sub sp, 0x10 - adds r3, r0, 0 - lsls r3, 25 - movs r0, 0xF8 - lsls r0, 21 - adds r3, r0 - lsrs r3, 24 - movs r0, 0x2 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x1 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0x37 - movs r2, 0 - bl sub_80DECB8 - add sp, 0x10 - pop {r0} - bx r0 - thumb_func_end sub_80D880C - - thumb_func_start sub_80D883C -sub_80D883C: @ 80D883C - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x10 - adds r4, r0, 0 - lsls r4, 24 - asrs r4, 23 - adds r3, r4, 0 - adds r3, 0x1F - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x2 - mov r8, r0 - str r0, [sp] - movs r5, 0x1 - str r5, [sp, 0x4] - movs r6, 0x11 - str r6, [sp, 0x8] - str r5, [sp, 0xC] - movs r1, 0xB - movs r2, 0 - bl sub_80DECB8 - adds r4, 0x20 - lsls r4, 24 - lsrs r4, 24 - mov r0, r8 - str r0, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - str r5, [sp, 0xC] - movs r0, 0x2 - movs r1, 0xB - movs r2, 0 - adds r3, r4, 0 - bl sub_80DECB8 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80D883C - - thumb_func_start sub_80D8894 -sub_80D8894: @ 80D8894 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D890C - ldr r4, =gUnknown_02039F25 - ldrb r0, [r4] - bl sub_80DB8B8 - ldr r1, =gContestResources - ldr r1, [r1] - ldrb r2, [r4] - ldr r3, [r1, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r3 - strh r0, [r1, 0x6] - ldr r4, =sub_80FC9F8 - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =sub_80D892C - adds r1, r4, 0 - bl SetTaskFuncWithFollowupFunc - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =TaskDummy1 - str r1, [r0] - bl sub_80DBF68 - movs r0, 0 - bl sub_80DC490 - b _080D891E - .pool -_080D890C: - bl sub_80DB918 - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80D895C - str r0, [r1] -_080D891E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D8894 - - thumb_func_start sub_80D892C -sub_80D892C: @ 80D892C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - ldr r2, =gTasks - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - ldrb r1, [r0, 0x8] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, =sub_80D895C - str r1, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D892C - - thumb_func_start sub_80D895C -sub_80D895C: @ 80D895C - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - bl sub_80DB89C - ldr r0, =gBattle_BG0_Y - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] - movs r0, 0 - bl sub_80DC490 - movs r6, 0 - movs r5, 0xA0 - lsls r5, 19 -_080D897C: - lsrs r4, r5, 24 - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x80 - lsls r0, 17 - adds r5, r0 - adds r6, 0x1 - cmp r6, 0x3 - ble _080D897C - movs r0, 0 - bl sub_80DED60 - ldr r1, =gPlttBufferFaded - ldr r0, =0x0201a604 - movs r2, 0x80 - lsls r2, 3 - ldr r4, =0x040000d4 - str r1, [r4] - str r0, [r4, 0x4] - lsrs r1, r2, 2 - movs r3, 0x84 - lsls r3, 24 - orrs r1, r3 - str r1, [r4, 0x8] - ldr r1, [r4, 0x8] - ldr r1, =0xfffffc00 - adds r0, r1 - movs r1, 0 - bl LoadPalette - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - strh r1, [r0, 0xA] - ldr r1, =sub_80D8A04 - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D895C - - thumb_func_start sub_80D8A04 -sub_80D8A04: @ 80D8A04 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080D8A42 - movs r0, 0 - strh r0, [r4, 0x8] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _080D8A42 - bl sub_80DDBE8 - movs r0, 0x1 - bl sub_80DE69C - ldr r0, =sub_80D8A50 - str r0, [r4] -_080D8A42: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D8A04 - - thumb_func_start sub_80D8A50 -sub_80D8A50: @ 80D8A50 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - ldrh r1, [r0, 0x6] - movs r0, 0x90 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - bne _080D8A76 - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80D8A88 - str r0, [r1] -_080D8A76: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D8A50 - - thumb_func_start sub_80D8A88 -sub_80D8A88: @ 80D8A88 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gTasks - lsls r3, r6, 2 - adds r1, r3, r6 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _080D8B18 - ldr r2, =gContestResources - ldr r0, [r2] - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x10] - ldr r0, [r2] - ldr r1, [r0] - ldr r0, =gRngValue - ldr r0, [r0] - str r0, [r1, 0x18] - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - adds r7, r3, 0 - cmp r0, 0 - beq _080D8B08 - bl sub_80DA8A4 - lsls r0, 24 - cmp r0, 0 - beq _080D8B08 - movs r4, 0 - ldr r1, =gUnknown_02039F30 - ldrb r0, [r1] - cmp r0, 0x3 - bgt _080D8B08 - adds r5, r1, 0 -_080D8ADE: - ldrb r0, [r5] - adds r0, r4 - lsls r0, 24 - lsrs r0, 24 - bl sub_80DB8B8 - ldr r1, =gContestResources - ldr r1, [r1] - ldrb r2, [r5] - adds r2, r4 - ldr r3, [r1, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r3 - strh r0, [r1, 0x6] - adds r4, 0x1 - ldrb r0, [r5] - adds r0, r4, r0 - cmp r0, 0x3 - ble _080D8ADE -_080D8B08: - ldr r1, =gTasks - adds r0, r7, r6 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - ldr r1, =sub_80D8B38 - str r1, [r0] -_080D8B18: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D8A88 - - thumb_func_start sub_80D8B38 -sub_80D8B38: @ 80D8B38 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r2, =gContestResources - ldr r0, [r2] - ldr r0, [r0] - ldrb r6, [r0, 0x11] - ldr r1, =gTasks - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r4, 0x8 - ldrsh r0, [r0, r4] - mov r9, r2 - adds r4, r1, 0 - cmp r0, 0x3B - bls _080D8B6E - bl _080DA100 -_080D8B6E: - lsls r0, 2 - ldr r1, =_080D8B84 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080D8B84: - .4byte _080D8C74 - .4byte _080D8D30 - .4byte _080D8D56 - .4byte _080D8DC4 - .4byte _080D8E7C - .4byte _080D8EC8 - .4byte _080D8F84 - .4byte _080D8FB8 - .4byte _080D9010 - .4byte _080D908C - .4byte _080D9FC0 - .4byte _080D9FEC - .4byte _080D9238 - .4byte _080D926C - .4byte _080D9774 - .4byte _080D9864 - .4byte _080D98D4 - .4byte _080D9904 - .4byte _080D99EC - .4byte _080D999E - .4byte _080DA024 - .4byte _080DA0A0 - .4byte _080DA0C2 - .4byte _080D90B4 - .4byte _080D9180 - .4byte _080D9388 - .4byte _080D939E - .4byte _080D947C - .4byte _080D94A0 - .4byte _080D9508 - .4byte _080D95EC - .4byte _080DA038 - .4byte _080DA080 - .4byte _080D9EBC - .4byte _080D9F48 - .4byte _080D929A - .4byte _080D92D0 - .4byte _080D92F6 - .4byte _080D9334 - .4byte _080D955C - .4byte _080D95C4 - .4byte _080D9A2C - .4byte _080DA100 - .4byte _080D9DAC - .4byte _080DA100 - .4byte _080D9830 - .4byte _080D997C - .4byte _080D921A - .4byte _080D91A4 - .4byte _080D91F4 - .4byte _080D935C - .4byte _080D9690 - .4byte _080D971C - .4byte _080D9BAA - .4byte _080D9C68 - .4byte _080D9F68 - .4byte _080D9F84 - .4byte _080D9DD4 - .4byte _080D9E60 - .4byte _080D9EA0 -_080D8C74: - bl sub_80DCD48 - movs r7, 0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0] - ldr r0, [r0, 0x8] - ldrb r1, [r1, 0x10] - mov r5, r8 - lsls r5, 2 - mov r10, r5 - ldrb r2, [r0] - cmp r1, r2 - beq _080D8C9C - adds r2, r0, 0 -_080D8C92: - adds r7, 0x1 - adds r0, r2, r7 - ldrb r0, [r0] - cmp r1, r0 - bne _080D8C92 -_080D8C9C: - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0] - strb r7, [r0, 0x11] - ldr r0, [r4] - ldr r2, [r0] - ldrb r6, [r2, 0x11] - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r5, 0x1 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _080D8D14 - ldrb r0, [r2, 0x7] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x7] - bl sub_80DA8A4 - lsls r0, 24 - cmp r0, 0 - beq _080D8CD4 - ldr r0, [r4] - ldr r0, [r0] - ldrb r0, [r0, 0x11] - bl sub_80DD080 -_080D8CD4: - ldr r4, =sub_80FCC88 - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =sub_80DA110 - adds r1, r4, 0 - bl SetTaskFuncWithFollowupFunc - bl sub_80DBF68 - ldr r1, =gTasks - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x8] - bl _080DA100 - .pool -_080D8D14: - adds r0, r6, 0 - bl sub_80DD080 - ldr r0, =gTasks - mov r1, r10 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x2 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D8D30: - mov r3, r9 - ldr r0, [r3] - ldr r0, [r0] - ldrb r1, [r0, 0x7] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080D8D44 - bl _080DA100 -_080D8D44: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x8] - bl _080DA100 -_080D8D56: - adds r0, r6, 0 - bl sub_80DF080 - bl sub_80DF750 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r2, r0, r1 - ldrb r1, [r2, 0xC] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - bne _080D8D86 - ldrb r1, [r2, 0xB] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - beq _080D8DA4 -_080D8D86: - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1F - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D8DA4: - bl sub_80DB89C - ldr r0, =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - strh r6, [r1, 0x1C] - movs r0, 0x3 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D8DC4: - mov r4, r8 - lsls r4, 2 - mov r10, r4 - ldr r1, =gBattleMonForms - movs r2, 0 - adds r0, r1, 0x3 -_080D8DD0: - strb r2, [r0] - subs r0, 0x1 - cmp r0, r1 - bge _080D8DD0 - movs r7, 0x4 - mov r5, r9 - ldr r0, [r5] - ldr r0, [r0, 0x18] - movs r1, 0 - movs r2, 0x14 - bl memset - ldr r0, [r5] - ldr r0, [r0] - ldrb r0, [r0, 0x11] - bl sub_80DE9DC - ldr r4, =gUnknown_02039E00 - ldr r0, [r5] - ldr r0, [r0] - ldrb r3, [r0, 0x11] - lsls r2, r3, 6 - adds r0, r2, r4 - ldrh r0, [r0] - adds r1, r4, 0 - adds r1, 0x3C - adds r1, r2, r1 - ldr r1, [r1] - adds r4, 0x38 - adds r2, r4 - ldr r2, [r2] - bl sub_80DB174 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r3, r0, r2 - movs r1, 0x78 - strh r1, [r3, 0x24] - adds r2, 0x1C - adds r0, r2 - ldr r1, =sub_80DA134 - str r1, [r0] - ldr r0, =gTasks - mov r4, r10 - add r4, r8 - lsls r4, 3 - adds r4, r0 - strh r5, [r4, 0xC] - ldr r1, =gBattlerSpriteIds - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - adds r0, r1 - strb r5, [r0] - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0] - ldrb r0, [r0, 0x11] - bl sub_80DC9EC - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_80DCBE8 - strh r7, [r4, 0x8] - bl _080DA100 - .pool -_080D8E7C: - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r2, r0, r4 - ldrb r5, [r2, 0xC] - ldr r1, =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r1, 0x1C - adds r0, r1 - ldr r1, [r0] - ldr r0, =SpriteCallbackDummy - cmp r1, r0 - beq _080D8EA0 - bl _080DA100 -_080D8EA0: - mov r3, r9 - ldr r0, [r3] - ldr r1, [r0, 0x14] - lsls r0, r6, 2 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080D8EB8 - bl _080DA100 -_080D8EB8: - movs r0, 0x5 - strh r0, [r2, 0x8] - bl _080DA100 - .pool -_080D8EC8: - mov r5, r9 - ldr r0, [r5] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r5, r0, 2 - adds r1, r5, r1 - ldrb r1, [r1, 0xC] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D8EF2 - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x21 - strh r1, [r0, 0x8] - bl _080DA100 -_080D8EF2: - bl sub_80DB89C - ldr r0, =gStringVar1 - lsls r1, r6, 6 - ldr r2, =gUnknown_02039E00 + 2 - adds r1, r2 - bl StringCopy - mov r2, r9 - ldr r0, [r2] - ldr r0, [r0, 0x4] - adds r3, r5, r0 - ldrh r1, [r3, 0x6] - movs r0, 0xB1 - lsls r0, 1 - cmp r1, r0 - bhi _080D8F38 - ldr r0, =gStringVar2 - adds r2, r1, 0 - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - b _080D8F48 - .pool -_080D8F38: - ldr r0, =gStringVar2 - ldr r2, =gUnknown_08587F1C - ldrb r1, [r3, 0xA] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy -_080D8F48: - ldr r4, =gStringVar4 - ldr r1, =gText_0827D55A - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldr r1, =gTasks - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x6 - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D8F84: - bl sub_80DED4C - adds r1, r0, 0 - cmp r1, 0 - beq _080D8F92 - bl _080DA100 -_080D8F92: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - adds r0, 0x5A - strb r1, [r0] - ldr r1, =gTasks - mov r4, r8 - lsls r0, r4, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x7 - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D8FB8: - mov r5, r9 - ldr r1, [r5] - ldr r0, [r1] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x6] - bl sub_80DE834 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, [r5] - ldr r0, [r0] - ldrb r0, [r0, 0x11] - bl sub_80DE864 - ldr r0, [r5] - ldr r0, [r0] - ldrb r0, [r0, 0x11] - bl sub_80DE9DC - adds r0, r4, 0 - bl sub_80DEAA8 - adds r0, r4, 0 - bl DoMoveAnim - ldr r1, =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D9010: - ldr r0, =gAnimScriptCallback - ldr r0, [r0] - bl _call_via_r0 - ldr r0, =gAnimScriptActive - ldrb r4, [r0] - cmp r4, 0 - beq _080D9024 - bl _080DA100 -_080D9024: - adds r0, r6, 0 - bl sub_80DE9B0 - ldr r0, =gContestResources - ldr r1, [r0] - ldr r0, [r1] - adds r0, 0x5A - ldrb r0, [r0] - cmp r0, 0 - beq _080D9060 - ldr r0, =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - strh r4, [r1, 0x1C] - movs r0, 0x9 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D9060: - ldr r1, [r1, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _080D907A - adds r0, r6, 0 - bl sub_80DC674 -_080D907A: - bl sub_80DE12C - ldr r0, =gTasks - mov r4, r8 - lsls r1, r4, 2 - b _080D9192 - .pool -_080D908C: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r2, r0, r4 - ldrh r0, [r2, 0x1C] - adds r1, r0, 0x1 - strh r1, [r2, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1E - bgt _080D90A8 - bl _080DA100 -_080D90A8: - movs r0, 0 - strh r0, [r2, 0x1C] - movs r0, 0x7 - strh r0, [r2, 0x8] - bl _080DA100 -_080D90B4: - mov r0, r8 - lsls r2, r0, 2 - adds r0, r2, r0 - lsls r0, 3 - adds r7, r0, r4 - movs r0, 0 - strh r0, [r7, 0xA] - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0, 0x4] - mov r12, r0 - lsls r1, r6, 3 - subs r0, r1, r6 - lsls r5, r0, 2 - mov r0, r12 - adds r3, r5, r0 - ldrb r0, [r3, 0x13] - mov r10, r2 - str r1, [sp, 0x4] - cmp r0, 0xFF - beq _080D90FA - ldrb r1, [r3, 0x13] - adds r0, r6, 0 - bl sub_80DD45C - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0, 0x4] - adds r0, r5, r0 - movs r1, 0xFF - strb r1, [r0, 0x13] - movs r0, 0x18 - strh r0, [r7, 0x8] - bl _080DA100 -_080D90FA: - ldrb r0, [r3, 0x14] - cmp r0, 0xFF - beq _080D9178 - movs r7, 0 - cmp r7, r6 - beq _080D910E - mov r2, r12 - ldrb r0, [r2, 0x13] - cmp r0, 0xFF - bne _080D912C -_080D910E: - adds r7, 0x1 - cmp r7, 0x3 - bgt _080D912C - cmp r7, r6 - beq _080D910E - mov r3, r9 - ldr r0, [r3] - ldr r1, [r0, 0x4] - lsls r0, r7, 3 - subs r0, r7 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x13] - cmp r0, 0xFF - beq _080D910E -_080D912C: - cmp r7, 0x4 - bne _080D9168 - mov r4, r9 - ldr r0, [r4] - ldr r0, [r0, 0x4] - ldr r5, [sp, 0x4] - subs r4, r5, r6 - lsls r4, 2 - adds r0, r4, r0 - ldrb r1, [r0, 0x14] - adds r0, r6, 0 - bl sub_80DD45C - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0, 0x4] - adds r4, r0 - movs r0, 0xFF - strb r0, [r4, 0x14] - ldr r1, =gTasks - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x18 - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D9168: - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x30 - strh r1, [r0, 0x8] - bl _080DA100 -_080D9178: - movs r0, 0x30 - strh r0, [r7, 0x8] - bl _080DA100 -_080D9180: - bl sub_80DED4C - cmp r0, 0 - beq _080D918C - bl _080DA100 -_080D918C: - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 -_080D9192: - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x17 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D91A4: - mov r3, r9 - ldr r0, [r3] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x11] - movs r3, 0x3 - ands r3, r0 - cmp r3, 0x1 - bne _080D91C4 - movs r0, 0x5 - bl sub_80DD720 - b _080D91DA -_080D91C4: - cmp r3, 0x2 - bne _080D91D0 - movs r0, 0x6 - bl sub_80DD720 - b _080D91DA -_080D91D0: - cmp r3, 0x3 - bne _080D9208 - movs r0, 0x7 - bl sub_80DD720 -_080D91DA: - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x31 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D91F4: - mov r3, r9 - ldr r0, [r3] - ldr r0, [r0] - ldrb r1, [r0, 0x6] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080D9208 - bl _080DA100 -_080D9208: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x2F - strh r1, [r0, 0x8] - bl _080DA100 -_080D921A: - movs r0, 0x1 - bl sub_80DE008 - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0xC - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D9238: - mov r3, r9 - ldr r0, [r3] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - movs r4, 0x2 - ldrsh r1, [r0, r4] - movs r0, 0 - adds r2, r6, 0 - bl sub_80DC028 - ldr r1, =gTasks - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0xD - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D926C: - mov r0, r9 - ldr r1, [r0] - ldr r0, [r1] - ldrb r0, [r0, 0x11] - ldr r1, [r1, 0x14] - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080D9288 - bl _080DA100 -_080D9288: - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x23 - strh r1, [r0, 0x8] - bl _080DA100 -_080D929A: - mov r2, r9 - ldr r0, [r2] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x10] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0x10 - bne _080D92B8 - movs r0, 0x8 - bl sub_80DD720 -_080D92B8: - ldr r0, =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x24 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D92D0: - mov r5, r9 - ldr r0, [r5] - ldr r0, [r0] - ldrb r1, [r0, 0x6] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080D92E4 - bl _080DA100 -_080D92E4: - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x25 - strh r1, [r0, 0x8] - bl _080DA100 -_080D92F6: - adds r0, r6, 0 - movs r1, 0x1 - bl sub_80DB5B8 - lsls r0, 24 - cmp r0, 0 - beq _080D9320 - ldr r1, =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - movs r1, 0x26 - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D9320: - ldr r0, =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - b _080D9354 - .pool -_080D9334: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r1, r0, r4 - ldrh r0, [r1, 0x1C] - adds r0, 0x1 - strh r0, [r1, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bgt _080D9350 - bl _080DA100 -_080D9350: - movs r0, 0 - strh r0, [r1, 0x1C] -_080D9354: - movs r0, 0x32 - strh r0, [r1, 0x8] - bl _080DA100 -_080D935C: - adds r0, r6, 0 - bl sub_80DB798 - lsls r0, 24 - cmp r0, 0 - beq _080D936E - movs r0, 0x63 - bl PlaySE -_080D936E: - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x19 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D9388: - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0 - strh r1, [r0, 0xA] - movs r1, 0x1A - strh r1, [r0, 0x8] - bl _080DA100 -_080D939E: - movs r3, 0 - movs r5, 0 - str r5, [sp] - mov r0, r8 - lsls r1, r0, 2 - adds r0, r1, r0 - lsls r0, 3 - adds r0, r4 - movs r2, 0xA - ldrsh r7, [r0, r2] - mov r10, r1 - cmp r7, 0x3 - bgt _080D9418 - ldr r5, =gUnknown_02039F26 - ldr r2, =gContestResources -_080D93BC: - movs r3, 0 - str r3, [sp] - adds r0, r3, 0 - cmp r0, r6 - beq _080D93E4 - ldrb r0, [r5] - cmp r0, r7 - bne _080D93E4 - ldr r0, [r2] - ldr r0, [r0, 0x4] - ldrb r0, [r0, 0x13] - cmp r0, 0xFF - beq _080D93E4 - movs r1, 0x1 - str r1, [sp] - b _080D940C - .pool -_080D93E4: - adds r3, 0x1 - cmp r3, 0x3 - bgt _080D940C - cmp r3, r6 - beq _080D93E4 - adds r0, r3, r5 - ldrb r0, [r0] - cmp r0, r7 - bne _080D93E4 - ldr r0, [r2] - ldr r1, [r0, 0x4] - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x13] - cmp r0, 0xFF - beq _080D93E4 - movs r0, 0x1 - str r0, [sp] -_080D940C: - ldr r1, [sp] - cmp r1, 0 - bne _080D9422 - adds r7, 0x1 - cmp r7, 0x3 - ble _080D93BC -_080D9418: - ldr r2, [sp] - lsls r0, r2, 24 - asrs r2, r0, 24 - cmp r2, 0 - beq _080D9464 -_080D9422: - mov r5, r10 - add r5, r8 - lsls r5, 3 - adds r5, r4 - ldr r0, =gUnknown_02039F26 - adds r0, r3, r0 - ldrb r0, [r0] - strh r0, [r5, 0xA] - lsls r0, r3, 24 - lsrs r0, 24 - mov r4, r9 - ldr r1, [r4] - ldr r1, [r1, 0x4] - lsls r4, r3, 3 - subs r4, r3 - lsls r4, 2 - adds r1, r4, r1 - ldrb r1, [r1, 0x13] - bl sub_80DD45C - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0, 0x4] - adds r4, r0 - movs r0, 0xFF - strb r0, [r4, 0x13] - movs r0, 0x1B - strh r0, [r5, 0x8] - bl _080DA100 - .pool -_080D9464: - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r4 - strh r2, [r0, 0xA] - strh r2, [r0, 0x1C] - movs r1, 0x33 - strh r1, [r0, 0x8] - bl sub_80DB884 - bl _080DA100 -_080D947C: - bl sub_80DED4C - cmp r0, 0 - beq _080D9488 - bl _080DA100 -_080D9488: - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1C - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D94A0: - movs r7, 0 - mov r3, r8 - lsls r0, r3, 2 - adds r1, r0, r3 - lsls r1, 3 - adds r1, r4 - movs r4, 0xA - ldrsh r2, [r1, r4] - ldr r1, =gUnknown_02039F26 - mov r10, r0 - adds r5, r1, 0 - ldrb r0, [r5] - cmp r2, r0 - beq _080D94CA - adds r1, r2, 0 - adds r2, r5, 0 -_080D94C0: - adds r7, 0x1 - adds r0, r7, r2 - ldrb r0, [r0] - cmp r1, r0 - bne _080D94C0 -_080D94CA: - mov r1, r9 - ldr r0, [r1] - ldr r1, [r0, 0x4] - lsls r0, r7, 3 - subs r0, r7 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0xE] - ldrh r0, [r0, 0x2] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - negs r1, r1 - lsls r2, r7, 24 - lsrs r2, 24 - bl sub_80DC028 - ldr r1, =gTasks - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1D - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D9508: - movs r7, 0 - mov r2, r8 - lsls r0, r2, 2 - adds r1, r0, r2 - lsls r1, 3 - adds r1, r4 - movs r5, 0xA - ldrsh r3, [r1, r5] - ldr r1, =gUnknown_02039F26 - mov r10, r0 - adds r5, r1, 0 - ldrb r0, [r5] - cmp r3, r0 - beq _080D952E -_080D9524: - adds r7, 0x1 - adds r0, r7, r1 - ldrb r0, [r0] - cmp r3, r0 - bne _080D9524 -_080D952E: - mov r1, r9 - ldr r0, [r1] - ldr r1, [r0, 0x14] - lsls r0, r7, 2 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080D9546 - bl _080DA100 -_080D9546: - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x27 - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D955C: - movs r7, 0 - mov r2, r8 - lsls r0, r2, 2 - adds r1, r0, r2 - lsls r1, 3 - adds r1, r4 - movs r3, 0xA - ldrsh r2, [r1, r3] - ldr r1, =gUnknown_02039F26 - mov r10, r0 - adds r5, r1, 0 - ldrb r4, [r5] - cmp r2, r4 - beq _080D9586 - adds r1, r2, 0 - adds r2, r5, 0 -_080D957C: - adds r7, 0x1 - adds r0, r7, r2 - ldrb r0, [r0] - cmp r1, r0 - bne _080D957C -_080D9586: - lsls r0, r7, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_80DB5B8 - lsls r0, 24 - cmp r0, 0 - beq _080D95B4 - ldr r1, =gTasks - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - movs r1, 0x28 - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D95B4: - ldr r0, =gTasks - mov r1, r10 - add r1, r8 - lsls r1, 3 - adds r1, r0 - b _080D95E4 - .pool -_080D95C4: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r1, r0, r4 - ldrh r0, [r1, 0x1C] - adds r0, 0x1 - strh r0, [r1, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bgt _080D95E0 - bl _080DA100 -_080D95E0: - movs r0, 0 - strh r0, [r1, 0x1C] -_080D95E4: - movs r0, 0x1E - strh r0, [r1, 0x8] - bl _080DA100 -_080D95EC: - movs r7, 0 - ldr r2, =gUnknown_02039F26 - ldrb r3, [r2] - mov r0, r8 - lsls r1, r0, 2 - adds r0, r1, r0 - lsls r0, 3 - adds r4, r0, r4 - movs r5, 0xA - ldrsh r0, [r4, r5] - mov r10, r1 - adds r5, r2, 0 - cmp r3, r0 - beq _080D961E - adds r3, r5, 0 - adds r2, r4, 0 -_080D960C: - adds r7, 0x1 - cmp r7, 0x3 - bgt _080D961E - adds r0, r7, r3 - ldrb r1, [r0] - movs r4, 0xA - ldrsh r0, [r2, r4] - cmp r1, r0 - bne _080D960C -_080D961E: - lsls r4, r7, 24 - lsrs r0, r4, 24 - bl sub_80DB798 - lsls r0, 24 - adds r6, r4, 0 - cmp r0, 0 - beq _080D963C - movs r0, 0x63 - bl PlaySE - b _080D9642 - .pool -_080D963C: - movs r0, 0x64 - bl PlaySE -_080D9642: - ldr r5, =gContestResources - ldr r0, [r5] - ldr r1, [r0, 0x4] - lsls r0, r7, 3 - subs r0, r7 - lsls r4, r0, 2 - adds r1, r4, r1 - ldrb r1, [r1, 0x15] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080D9670 - lsrs r0, r6, 24 - bl sub_80DC674 - ldr r0, [r5] - ldr r1, [r0, 0x4] - adds r1, r4, r1 - ldrb r2, [r1, 0x15] - movs r0, 0x21 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x15] -_080D9670: - ldr r0, =gTasks - mov r1, r10 - add r1, r8 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - movs r0, 0x1A - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D9690: - mov r5, r8 - lsls r2, r5, 2 - adds r0, r2, r5 - lsls r0, 3 - adds r4, r0, r4 - ldrh r0, [r4, 0x1C] - adds r1, r0, 0x1 - strh r1, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - mov r10, r2 - cmp r0, 0x9 - bgt _080D96AE - bl _080DA100 -_080D96AE: - movs r0, 0 - strh r0, [r4, 0x1C] - mov r1, r9 - ldr r0, [r1] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r2, r0, r1 - ldrb r1, [r2, 0xC] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - bne _080D96D4 - ldrb r1, [r2, 0x11] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080D96F6 -_080D96D4: - bl sub_80DB89C - ldr r0, =gStringVar1 - lsls r1, r6, 6 - ldr r2, =gUnknown_02039E00 + 2 - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_0827E793 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 -_080D96F6: - ldr r0, =gTasks - mov r1, r10 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x34 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D971C: - bl sub_80DED4C - cmp r0, 0 - beq _080D9728 - bl _080DA100 -_080D9728: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x15] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _080D975C - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x11 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D975C: - ldr r0, =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0xE - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D9774: - mov r4, r9 - ldr r0, [r4] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x16] - lsls r4, r0, 24 - lsrs r5, r4, 24 - cmp r5, 0 - beq _080D97DC - bl sub_80DB89C - asrs r0, r4, 24 - cmp r0, 0x1 - bne _080D97A0 - ldr r0, =gText_0827E32E - b _080D97A6 - .pool -_080D97A0: - cmp r0, 0x2 - bne _080D97B4 - ldr r0, =gText_0827E35B -_080D97A6: - movs r1, 0x1 - bl sub_80DEC30 - b _080D97BC - .pool -_080D97B4: - ldr r0, =gText_0827E38D - movs r1, 0x1 - bl sub_80DEC30 -_080D97BC: - movs r0, 0x3 - bl sub_80DD720 - ldr r1, =gTasks - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - b _080D9812 - .pool -_080D97DC: - bl sub_80DB89C - ldr r0, =gStringVar1 - lsls r1, r6, 6 - ldr r2, =gUnknown_02039E00 + 2 - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_0827E2FE - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - movs r0, 0x2 - bl sub_80DD720 - ldr r1, =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x1C] -_080D9812: - movs r1, 0x2D - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D9830: - mov r3, r9 - ldr r0, [r3] - ldr r2, [r0] - ldrb r1, [r2, 0x6] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080D9844 - bl _080DA100 -_080D9844: - ldrb r0, [r2, 0x11] - bl sub_80DC9B4 - ldr r1, =gTasks - mov r4, r8 - lsls r0, r4, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0xF - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D9864: - bl sub_80DED4C - cmp r0, 0 - beq _080D9870 - bl _080DA100 -_080D9870: - ldr r1, =gTasks - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x32 - bgt _080D988E - bl _080DA100 -_080D988E: - ldr r7, =gContestResources - ldr r0, [r7] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r5, r0, 2 - adds r2, r5, r1 - ldrb r1, [r2, 0x15] - movs r0, 0x10 - mov r8, r0 - ands r0, r1 - cmp r0, 0 - bne _080D98C2 - movs r1, 0x2 - ldrsh r0, [r2, r1] - ldrb r1, [r2, 0x17] - adds r2, r6, 0 - bl sub_80DC028 - ldr r0, [r7] - ldr r1, [r0, 0x4] - adds r1, r5, r1 - ldrh r0, [r1, 0x2] - ldrb r2, [r1, 0x17] - adds r0, r2 - strh r0, [r1, 0x2] -_080D98C2: - mov r3, r8 - strh r3, [r4, 0x8] - bl _080DA100 - .pool -_080D98D4: - mov r5, r9 - ldr r0, [r5] - ldr r1, [r0, 0x14] - lsls r0, r6, 2 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x4 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080D98F0 - bl _080DA100 -_080D98F0: - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - strh r1, [r0, 0x1C] - movs r1, 0x11 - strh r1, [r0, 0x8] - bl _080DA100 -_080D9904: - mov r3, r9 - ldr r0, [r3] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x15] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D996C - bl sub_80DB89C - ldr r0, =gStringVar1 - lsls r1, r6, 6 - ldr r2, =gUnknown_02039E00 + 2 - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_0827E6E3 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldr r0, =gTasks - mov r5, r8 - lsls r4, r5, 2 - add r4, r8 - lsls r4, 3 - adds r4, r0 - movs r0, 0 - strh r0, [r4, 0x1C] - bl sub_80DD720 - movs r0, 0x2E - strh r0, [r4, 0x8] - b _080DA100 - .pool -_080D996C: - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x29 - strh r1, [r0, 0x8] - b _080DA100 -_080D997C: - mov r2, r9 - ldr r0, [r2] - ldr r0, [r0] - ldrb r1, [r0, 0x6] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080D998E - b _080DA100 -_080D998E: - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x13 - strh r1, [r0, 0x8] - b _080DA100 -_080D999E: - bl sub_80DED4C - cmp r0, 0 - beq _080D99A8 - b _080DA100 -_080D99A8: - ldr r5, =gContestResources - ldr r0, [r5] - ldr r1, [r0, 0x4] - lsls r4, r6, 3 - subs r4, r6 - lsls r4, 2 - adds r1, r4, r1 - movs r2, 0x2 - ldrsh r0, [r1, r2] - ldrb r1, [r1, 0x18] - negs r1, r1 - adds r2, r6, 0 - bl sub_80DC028 - ldr r0, [r5] - ldr r0, [r0, 0x4] - adds r4, r0 - ldrb r1, [r4, 0x18] - ldrh r0, [r4, 0x2] - subs r0, r1 - strh r0, [r4, 0x2] - ldr r1, =gTasks - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x12 - strh r1, [r0, 0x8] - b _080DA100 - .pool -_080D99EC: - bl sub_80DCD48 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0x14] - lsls r0, r6, 2 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x4 - ands r0, r1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _080D9A0A - b _080DA100 -_080D9A0A: - ldr r0, =gTasks - mov r5, r8 - lsls r4, r5, 2 - add r4, r8 - lsls r4, 3 - adds r4, r0 - strh r3, [r4, 0x1C] - bl sub_80DB89C - movs r0, 0x29 - strh r0, [r4, 0x8] - b _080DA100 - .pool -_080D9A2C: - mov r1, r9 - ldr r0, [r1] - ldr r2, [r0, 0x10] - ldrb r1, [r2, 0x1] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D9A56 - ldr r0, [r2] - lsls r0, 20 - lsrs r0, 29 - cmp r6, r0 - beq _080D9A56 - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x39 - strh r1, [r0, 0x8] - b _080DA100 -_080D9A56: - mov r3, r9 - ldr r1, [r3] - ldr r0, [r1, 0x10] - ldrb r0, [r0] - str r0, [sp] - ldr r1, [r1, 0x4] - lsls r2, r6, 3 - subs r0, r2, r6 - lsls r0, 2 - adds r5, r0, r1 - ldrb r1, [r5, 0x11] - movs r0, 0x10 - ands r0, r1 - str r2, [sp, 0x4] - cmp r0, 0 - beq _080D9A94 - movs r4, 0x1 - str r4, [sp] - ldr r0, =gStringVar3 - ldrh r2, [r5, 0x6] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - b _080D9AAE - .pool -_080D9A94: - ldr r0, =gStringVar3 - ldr r3, =gUnknown_08587F08 - ldr r2, =gContestMoves - ldrh r1, [r5, 0x6] - lsls r1, 3 - adds r1, r2 - ldrb r1, [r1, 0x1] - lsls r1, 29 - lsrs r1, 27 - adds r1, r3 - ldr r1, [r1] - bl StringCopy -_080D9AAE: - ldr r5, [sp] - lsls r0, r5, 24 - cmp r0, 0 - ble _080D9AD2 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0x4] - ldr r2, [sp, 0x4] - subs r0, r2, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x15] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D9AD2 - movs r3, 0 - str r3, [sp] -_080D9AD2: - bl sub_80DB89C - ldr r0, =gStringVar1 - lsls r1, r6, 6 - ldr r2, =gUnknown_02039E00 + 2 - adds r1, r2 - bl StringCopy - ldr r4, =gContestResources - ldr r0, [r4] - ldr r1, [r0] - ldrb r0, [r1, 0x13] - ldr r5, [sp] - lsls r2, r5, 24 - asrs r3, r2, 24 - adds r0, r3, r0 - strb r0, [r1, 0x13] - ldr r0, [r4] - ldr r1, [r0] - movs r0, 0x13 - ldrsb r0, [r1, r0] - adds r5, r2, 0 - cmp r0, 0 - bge _080D9B06 - movs r0, 0 - strb r0, [r1, 0x13] -_080D9B06: - cmp r3, 0 - bne _080D9B30 - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - b _080D9F58 - .pool -_080D9B30: - cmp r3, 0 - bge _080D9B48 - ldr r0, =gStringVar4 - ldr r1, =gText_0827E73C - bl StringExpandPlaceholders - b _080D9B74 - .pool -_080D9B48: - cmp r3, 0 - ble _080D9B6C - ldr r0, [r4] - ldr r0, [r0] - ldrb r0, [r0, 0x13] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x4 - bgt _080D9B6C - ldr r0, =gStringVar4 - ldr r1, =gText_0827E717 - bl StringExpandPlaceholders - b _080D9B74 - .pool -_080D9B6C: - ldr r0, =gStringVar4 - ldr r1, =gText_0827E76A - bl StringExpandPlaceholders -_080D9B74: - ldr r0, =gStringVar4 - movs r1, 0x1 - bl sub_80DEC30 - ldr r1, =gTasks - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r1, r0, r1 - movs r0, 0 - strh r0, [r1, 0x1C] - strh r0, [r1, 0x1E] - cmp r5, 0 - bge _080D9BA4 - movs r0, 0x35 - strh r0, [r1, 0x8] - b _080DA100 - .pool -_080D9BA4: - movs r0, 0x36 - strh r0, [r1, 0x8] - b _080DA100 -_080D9BAA: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r4, r0, r4 - movs r0, 0x1C - ldrsh r3, [r4, r0] - cmp r3, 0x1 - beq _080D9BE8 - cmp r3, 0x1 - bgt _080D9BC6 - cmp r3, 0 - beq _080D9BD0 - b _080DA100 -_080D9BC6: - cmp r3, 0x2 - beq _080D9C0C - cmp r3, 0x3 - beq _080D9C46 - b _080DA100 -_080D9BD0: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x1 - bl sub_80DDED0 - ldr r0, =0x00000187 - bl PlayFanfare - b _080D9C3E - .pool -_080D9BE8: - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0] - ldrb r0, [r0, 0x7] - ands r3, r0 - cmp r3, 0 - beq _080D9BF8 - b _080DA100 -_080D9BF8: - bl sub_80DED4C - cmp r0, 0 - beq _080D9C02 - b _080DA100 -_080D9C02: - movs r0, 0x1 - negs r0, r0 - bl sub_80DDCDC - b _080D9C3E -_080D9C0C: - mov r2, r9 - ldr r0, [r2] - ldr r0, [r0] - ldrb r1, [r0, 0x6] - movs r0, 0x20 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _080D9C22 - b _080DA100 -_080D9C22: - ldrh r0, [r4, 0x1E] - adds r1, r0, 0x1 - strh r1, [r4, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1D - bgt _080D9C32 - b _080DA100 -_080D9C32: - strh r2, [r4, 0x1E] - movs r1, 0x1 - negs r1, r1 - adds r0, r1, 0 - bl sub_80DDED0 -_080D9C3E: - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - b _080DA100 -_080D9C46: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080D9C58 - b _080DA100 -_080D9C58: - strh r0, [r4, 0x1C] - strh r0, [r4, 0x1E] - movs r0, 0x2B - strh r0, [r4, 0x8] - b _080DA100 - .pool -_080D9C68: - mov r3, r8 - lsls r1, r3, 2 - adds r0, r1, r3 - lsls r0, 3 - adds r0, r4 - movs r5, 0x1C - ldrsh r0, [r0, r5] - mov r10, r1 - cmp r0, 0x4 - bls _080D9C7E - b _080DA100 -_080D9C7E: - lsls r0, 2 - ldr r1, =_080D9C8C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080D9C8C: - .4byte _080D9CA0 - .4byte _080D9CB0 - .4byte _080D9CD4 - .4byte _080D9D3E - .4byte _080D9D84 -_080D9CA0: - bl sub_80DED4C - cmp r0, 0 - beq _080D9CAA - b _080DA100 -_080D9CAA: - movs r0, 0x1 - movs r1, 0x1 - b _080D9D68 -_080D9CB0: - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0] - ldrb r1, [r0, 0x7] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D9CC2 - b _080DA100 -_080D9CC2: - bl sub_80DDE0C - movs r0, 0xDF - bl PlaySE - movs r0, 0x1 - bl sub_80DDCDC - b _080D9D6C -_080D9CD4: - mov r3, r9 - ldr r2, [r3] - ldr r0, [r2] - ldrb r1, [r0, 0x6] - movs r0, 0x20 - ands r0, r1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _080D9CEA - b _080DA100 -_080D9CEA: - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r5, r0, r4 - ldrh r0, [r5, 0x1E] - adds r1, r0, 0x1 - strh r1, [r5, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1D - bgt _080D9D02 - b _080DA100 -_080D9D02: - strh r3, [r5, 0x1E] - ldr r0, [r2, 0x4] - lsls r4, r6, 3 - subs r4, r6 - lsls r4, 2 - adds r0, r4, r0 - movs r1, 0x2 - ldrsh r0, [r0, r1] - ldr r1, [r2, 0x10] - ldrb r1, [r1, 0x2] - lsls r1, 24 - asrs r1, 24 - adds r2, r6, 0 - bl sub_80DC028 - mov r2, r9 - ldr r1, [r2] - ldr r0, [r1, 0x4] - adds r4, r0 - ldr r0, [r1, 0x10] - ldrb r0, [r0, 0x2] - lsls r0, 24 - asrs r0, 24 - ldrh r3, [r4, 0x2] - adds r0, r3 - strh r0, [r4, 0x2] - ldrh r0, [r5, 0x1C] - adds r0, 0x1 - strh r0, [r5, 0x1C] - b _080DA100 -_080D9D3E: - mov r4, r9 - ldr r2, [r4] - ldr r1, [r2, 0x14] - lsls r0, r6, 2 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080D9D54 - b _080DA100 -_080D9D54: - ldr r0, [r2] - ldrb r1, [r0, 0x6] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080D9D62 - b _080DA100 -_080D9D62: - movs r1, 0x1 - negs r1, r1 - movs r0, 0x1 -_080D9D68: - bl sub_80DDED0 -_080D9D6C: - ldr r0, =gTasks - mov r1, r10 - add r1, r8 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x1C] - adds r0, 0x1 - strh r0, [r1, 0x1C] - b _080DA100 - .pool -_080D9D84: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _080D9D96 - b _080DA100 -_080D9D96: - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r4 - strh r3, [r0, 0x1C] - strh r3, [r0, 0x1E] - movs r1, 0x2B - strh r1, [r0, 0x8] - b _080DA100 - .pool -_080D9DAC: - mov r5, r9 - ldr r0, [r5] - ldr r1, [r0, 0x14] - lsls r0, r6, 2 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080D9DC2 - b _080DA100 -_080D9DC2: - bl sub_80DB89C - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - b _080D9F58 - .pool -_080D9DD4: - bl sub_80DB89C - ldr r0, =gStringVar3 - ldr r5, =gContestResources - ldr r1, [r5] - ldr r1, [r1, 0x10] - ldr r1, [r1] - lsls r1, 20 - lsrs r1, 29 - lsls r1, 6 - ldr r4, =gUnknown_02039E00 + 2 - adds r1, r4 - bl StringCopy - ldr r0, =gStringVar1 - lsls r1, r6, 6 - adds r1, r4 - bl StringCopy - ldr r0, =gStringVar2 - ldr r1, [r5] - ldr r2, [r1, 0x4] - lsls r1, r6, 3 - subs r1, r6 - lsls r1, 2 - adds r1, r2 - ldrh r2, [r1, 0x6] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_0827E7EA - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldr r1, =gTasks - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x3A - strh r1, [r0, 0x8] - b _080DA100 - .pool -_080D9E60: - bl sub_80DED4C - cmp r0, 0 - beq _080D9E6A - b _080DA100 -_080D9E6A: - bl sub_80DB89C - ldr r4, =gStringVar4 - ldr r1, =gText_0827E817 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldr r1, =gTasks - mov r4, r8 - lsls r0, r4, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x3B - strh r1, [r0, 0x8] - b _080DA100 - .pool -_080D9EA0: - bl sub_80DED4C - cmp r0, 0 - beq _080D9EAA - b _080DA100 -_080D9EAA: - bl sub_80DB89C - ldr r0, =gTasks - mov r5, r8 - lsls r1, r5, 2 - b _080D9F58 - .pool -_080D9EBC: - mov r1, r9 - ldr r0, [r1] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r4, r0, 2 - adds r2, r4, r1 - ldrb r1, [r2, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080D9EDC - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x15] -_080D9EDC: - adds r0, r6, 0 - bl sub_80DC9B4 - ldr r0, =gStringVar1 - lsls r1, r6, 6 - ldr r2, =gUnknown_02039E00 + 2 - adds r1, r2 - bl StringCopy - ldr r0, =gStringVar2 - mov r2, r9 - ldr r1, [r2] - ldr r1, [r1, 0x4] - adds r1, r4, r1 - ldrh r2, [r1, 0x6] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_0827E58A - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldr r1, =gTasks - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x22 - strh r1, [r0, 0x8] - b _080DA100 - .pool -_080D9F48: - bl sub_80DED4C - cmp r0, 0 - beq _080D9F52 - b _080DA100 -_080D9F52: - ldr r0, =gTasks - mov r4, r8 - lsls r1, r4, 2 -_080D9F58: - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x37 - strh r0, [r1, 0x8] - b _080DA100 - .pool -_080D9F68: - bl sub_80DDBE8 - ldr r0, =gTasks - mov r5, r8 - lsls r1, r5, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x38 - strh r0, [r1, 0x8] - b _080DA100 - .pool -_080D9F84: - mov r1, r9 - ldr r0, [r1] - ldr r2, [r0] - ldrb r1, [r2, 0x6] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080D9F9A - b _080DA100 -_080D9F9A: - movs r0, 0x13 - ldrsb r0, [r2, r0] - cmp r0, 0x4 - ble _080D9FA8 - strb r1, [r2, 0x13] - bl sub_80DD940 -_080D9FA8: - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0xA - strh r0, [r1, 0x8] - b _080DA100 - .pool -_080D9FC0: - mov r3, r8 - lsls r2, r3, 2 - add r2, r8 - lsls r2, 3 - adds r2, r4 - ldrb r5, [r2, 0xC] - ldr r1, =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_80DA164 - str r1, [r0] - movs r0, 0xB - strh r0, [r2, 0x8] - b _080DA100 - .pool -_080D9FEC: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r4, r0, r4 - ldrb r5, [r4, 0xC] - ldr r1, =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r6, r0, r1 - adds r0, r6, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - bge _080DA100 - adds r0, r6, 0 - bl FreeSpriteOamMatrix - adds r0, r6, 0 - bl DestroySprite - movs r0, 0x14 - strh r0, [r4, 0x8] - b _080DA100 - .pool -_080DA024: - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0 - strh r1, [r0, 0x1C] - movs r1, 0x15 - strh r1, [r0, 0x8] - b _080DA100 -_080DA038: - bl sub_80DB89C - ldr r0, =gStringVar1 - lsls r1, r6, 6 - ldr r2, =gUnknown_02039E00 + 2 - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_0827D56F - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldr r1, =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x20 - strh r1, [r0, 0x8] - b _080DA100 - .pool -_080DA080: - bl sub_80DED4C - cmp r0, 0 - bne _080DA100 - ldr r0, =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x15 - strh r0, [r1, 0x8] - b _080DA100 - .pool -_080DA0A0: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r1, r0, r4 - ldrh r0, [r1, 0x1C] - adds r0, 0x1 - strh r0, [r1, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1D - ble _080DA100 - movs r0, 0 - strh r0, [r1, 0x1C] - movs r0, 0x16 - strh r0, [r1, 0x8] - b _080DA100 -_080DA0C2: - mov r1, r9 - ldr r0, [r1] - ldr r1, [r0] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1, 0x10] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _080DA0F4 - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - strh r2, [r0, 0x8] - strh r2, [r0, 0xA] - strh r2, [r0, 0xC] - ldr r1, =sub_80DA198 - str r1, [r0] - b _080DA100 - .pool -_080DA0F4: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - strh r2, [r0, 0x8] -_080DA100: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80D8B38 - - thumb_func_start sub_80DA110 -sub_80DA110: @ 80DA110 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r3, [r1] - ldrb r2, [r3, 0x7] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r3, 0x7] - bl DestroyTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA110 - - thumb_func_start sub_80DA134 -sub_80DA134: @ 80DA134 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x24] - movs r3, 0x24 - ldrsh r2, [r1, r3] - cmp r2, 0 - beq _080DA148 - subs r0, 0x2 - strh r0, [r1, 0x24] - b _080DA15C -_080DA148: - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _080DA15C - strh r2, [r1, 0x2E] - ldr r0, =SpriteCallbackDummy - str r0, [r1, 0x1C] -_080DA15C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA134 - - thumb_func_start sub_80DA164 -sub_80DA164: @ 80DA164 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x24] - subs r0, 0x6 - strh r0, [r2, 0x24] - movs r1, 0x20 - ldrsh r0, [r2, r1] - movs r3, 0x24 - ldrsh r1, [r2, r3] - adds r0, r1 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bge _080DA18E - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_080DA18E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA164 - - thumb_func_start sub_80DA198 -sub_80DA198: @ 80DA198 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080DA22E - cmp r0, 0x1 - bgt _080DA1C0 - cmp r0, 0 - beq _080DA1C6 - b _080DA250 - .pool -_080DA1C0: - cmp r0, 0x2 - beq _080DA248 - b _080DA250 -_080DA1C6: - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r6, 0x1 - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _080DA224 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0] - ldrb r0, [r2, 0x7] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x7] - bl sub_80DA8A4 - lsls r0, 24 - cmp r0, 0 - beq _080DA1F4 - bl sub_80DB944 - bl sub_80DBA18 -_080DA1F4: - ldr r4, =sub_80FCC88 - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =sub_80DA110 - adds r1, r4, 0 - bl SetTaskFuncWithFollowupFunc - bl sub_80DBF68 - strh r6, [r5, 0x8] - b _080DA250 - .pool -_080DA224: - bl sub_80DB944 - bl sub_80DBA18 - b _080DA23E -_080DA22E: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - ldrb r1, [r0, 0x7] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080DA250 -_080DA23E: - movs r0, 0x2 - strh r0, [r5, 0x8] - b _080DA250 - .pool -_080DA248: - movs r0, 0 - strh r0, [r5, 0x8] - ldr r0, =sub_80DA25C - str r0, [r5] -_080DA250: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA198 - - thumb_func_start sub_80DA25C -sub_80DA25C: @ 80DA25C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl sub_80DE008 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - strh r1, [r0, 0xA] - ldr r1, =sub_80DA28C - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA25C - - thumb_func_start sub_80DA28C -sub_80DA28C: @ 80DA28C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - movs r0, 0x8 - ldrsh r5, [r4, r0] - cmp r5, 0x1 - beq _080DA2D2 - cmp r5, 0x1 - bgt _080DA2B4 - cmp r5, 0 - beq _080DA2BA - b _080DA312 - .pool -_080DA2B4: - cmp r5, 0x2 - beq _080DA304 - b _080DA312 -_080DA2BA: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _080DA312 - movs r0, 0x2 - bl sub_80DE69C - strh r5, [r4, 0xA] - b _080DA2F6 -_080DA2D2: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - ldrb r1, [r0, 0x7] - movs r0, 0x2 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080DA312 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _080DA312 - strh r1, [r4, 0xA] -_080DA2F6: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080DA312 - .pool -_080DA304: - bl sub_80DC3AC - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] - ldr r0, =sub_80DA31C - str r0, [r4] -_080DA312: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA28C - - thumb_func_start sub_80DA31C -sub_80DA31C: @ 80DA31C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80DC3C4 - lsls r0, 24 - cmp r0, 0 - beq _080DA33A - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80DA348 - str r0, [r1] -_080DA33A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA31C - - thumb_func_start sub_80DA348 -sub_80DA348: @ 80DA348 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =0x0201a204 - ldr r3, =gPlttBufferUnfaded - ldr r1, =0x040000d4 - str r2, [r1] - str r3, [r1, 0x4] - ldr r2, =0x84000100 - str r2, [r1, 0x8] - ldr r1, [r1, 0x8] - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - movs r0, 0x2 - strh r0, [r1, 0xA] - ldr r0, =sub_80DA38C - str r0, [r1] - bx lr - .pool - thumb_func_end sub_80DA348 - - thumb_func_start sub_80DA38C -sub_80DA38C: @ 80DA38C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080DA3BE - movs r0, 0 - strh r0, [r1, 0x8] - ldrh r0, [r1, 0xA] - subs r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - cmp r0, 0 - bne _080DA3BE - ldr r0, =sub_80DA3CC - str r0, [r1] -_080DA3BE: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA38C - - thumb_func_start sub_80DA3CC -sub_80DA3CC: @ 80DA3CC - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r6, r1, r2 - movs r1, 0x8 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080DA448 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r5, =gUnknown_02039F25 - ldrb r1, [r5] - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r4, [r0, 0x1A] - bl sub_80DB89C - ldr r0, =gStringVar1 - ldrb r1, [r5] - lsls r1, 6 - ldr r2, =gUnknown_02039E00 + 2 - adds r1, r2 - bl StringCopy - ldr r5, =gStringVar4 - ldr r0, =gUnknown_08587D90 - lsls r4, 2 - adds r4, r0 - ldr r1, [r4] - adds r0, r5, 0 - bl StringExpandPlaceholders - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - b _080DA45A - .pool -_080DA448: - bl sub_80DED4C - cmp r0, 0 - bne _080DA45A - strh r0, [r6, 0x8] - ldr r0, =sub_80DA464 - str r0, [r6] - bl sub_80DCD48 -_080DA45A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA3CC - - thumb_func_start sub_80DA464 -sub_80DA464: @ 80DA464 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x8] - adds r1, r0, 0x1 - strh r1, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1D - ble _080DA48E - movs r0, 0 - strh r0, [r4, 0x8] - bl sub_80DC3AC - ldr r0, =sub_80DA49C - str r0, [r4] -_080DA48E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA464 - - thumb_func_start sub_80DA49C -sub_80DA49C: @ 80DA49C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80DC3C4 - lsls r0, 24 - cmp r0, 0 - beq _080DA4BE - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - ldr r1, =sub_80DA4CC - str r1, [r0] -_080DA4BE: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA49C - - thumb_func_start sub_80DA4CC -sub_80DA4CC: @ 80DA4CC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80DE224 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80DE424 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA4CC - - thumb_func_start sub_80DA4F4 -sub_80DA4F4: @ 80DA4F4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80DE350 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80DA51C - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA4F4 - - thumb_func_start sub_80DA51C -sub_80DA51C: @ 80DA51C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x8 - bl GetGpuReg - mov r1, sp - strh r0, [r1] - movs r0, 0xC - bl GetGpuReg - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - mov r3, sp - ldrb r2, [r3] - movs r1, 0x4 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3] - ldrb r0, [r4] - ands r1, r0 - strb r1, [r4] - mov r0, sp - ldrh r1, [r0] - movs r0, 0x8 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0xC - bl SetGpuReg - ldr r2, =gContestResources - ldr r0, [r2] - ldr r1, [r0] - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - ldr r0, [r2] - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x5 - bne _080DA590 - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80DA5E8 - b _080DA5A0 - .pool -_080DA590: - bl sub_80DDB0C - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80DA5B4 -_080DA5A0: - str r0, [r1] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA51C - - thumb_func_start sub_80DA5B4 -sub_80DA5B4: @ 80DA5B4 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - ldrb r1, [r0, 0x6] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _080DA5D8 - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80D833C - str r0, [r1] -_080DA5D8: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA5B4 - - thumb_func_start sub_80DA5E8 -sub_80DA5E8: @ 80DA5E8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gBattle_BG0_Y - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] - ldr r4, =gContestResources - movs r3, 0 - ldr r2, =gUnknown_02039F10 - movs r1, 0x3 -_080DA600: - ldr r0, [r4] - ldr r0, [r0, 0x4] - adds r0, r3, r0 - ldrh r0, [r0, 0x4] - strh r0, [r2] - adds r3, 0x1C - adds r2, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _080DA600 - bl sub_80DBD18 - bl sub_80DB89C - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080DA65C - ldr r0, =gContestResources - ldr r2, [r0] - ldr r0, =gUnknown_02039F25 - ldrb r1, [r0] - ldr r2, [r2, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x8] - bl BravoTrainerPokemonProfile_BeforeInterview1 - b _080DA668 - .pool -_080DA65C: - bl sub_80DF250 - bl sub_80DF4F8 - bl sub_80DF750 -_080DA668: - ldr r1, =gUnknown_030060B8 - ldr r0, =gRngValue - ldr r0, [r0] - str r0, [r1] - ldr r4, =gStringVar4 - ldr r1, =gText_0827D597 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0xC] - ldr r1, =sub_80DA6B4 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA5E8 - - thumb_func_start sub_80DA6B4 -sub_80DA6B4: @ 80DA6B4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_80DED4C - adds r4, r0, 0 - cmp r4, 0 - bne _080DA6EA - bl sub_80DE224 - ldr r0, =gBattle_BG1_X - strh r4, [r0] - ldr r1, =gBattle_BG1_Y - movs r0, 0xA0 - strh r0, [r1] - movs r0, 0x62 - movs r1, 0 - bl PlaySE12WithPanning - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r4, [r0, 0x8] - ldr r1, =sub_80DA700 - str r1, [r0] -_080DA6EA: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA6B4 - - thumb_func_start sub_80DA700 -sub_80DA700: @ 80DA700 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, =gBattle_BG1_Y - ldrh r0, [r1] - subs r0, 0x7 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - bge _080DA718 - movs r0, 0 - strh r0, [r1] -_080DA718: - ldrh r2, [r1] - cmp r2, 0 - bne _080DA72E - ldr r0, =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80DA740 - str r0, [r1] - strh r2, [r1, 0x8] -_080DA72E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA700 - - thumb_func_start sub_80DA740 -sub_80DA740: @ 80DA740 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x8] - adds r1, r0, 0x1 - strh r1, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x31 - ble _080DA794 - movs r0, 0 - strh r0, [r4, 0x8] - ldr r0, =gUnknown_02039F2A - ldrb r0, [r0] - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _080DA780 - ldr r0, =sub_80DA7A0 - b _080DA792 - .pool -_080DA780: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =sub_80DA830 -_080DA792: - str r0, [r4] -_080DA794: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA740 - - thumb_func_start sub_80DA7A0 -sub_80DA7A0: @ 80DA7A0 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =sub_80FCACC - adds r0, r5, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =sub_80DA7EC - adds r1, r5, 0 - bl SetTaskFuncWithFollowupFunc - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =TaskDummy1 - str r1, [r0] - bl sub_80DBF68 - movs r0, 0 - bl sub_80DC490 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA7A0 - - thumb_func_start sub_80DA7EC -sub_80DA7EC: @ 80DA7EC - push {lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r2, =gTasks - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - ldrb r1, [r0, 0x8] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, =sub_80DA830 - str r1, [r0] - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA7EC - - thumb_func_start sub_80DA830 -sub_80DA830: @ 80DA830 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080DA860 - adds r0, r2, 0 - bl DestroyTask - ldr r0, =gFieldCallback - ldr r1, =sub_80DA874 - str r1, [r0] - bl FreeAllWindowBuffers - bl sub_80D7A5C - bl FreeMonSpritesGfx - ldr r0, =CB2_ReturnToField - bl SetMainCallback2 -_080DA860: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA830 - - thumb_func_start sub_80DA874 -sub_80DA874: @ 80DA874 - push {lr} - bl ScriptContext2_Disable - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_80DA874 - - thumb_func_start sub_80DA884 -sub_80DA884: @ 80DA884 - push {lr} - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080DA898 - ldr r1, =gUnknown_02039F25 - movs r0, 0x3 - strb r0, [r1] -_080DA898: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA884 - - thumb_func_start sub_80DA8A4 -sub_80DA8A4: @ 80DA8A4 - push {lr} - ldr r0, =gUnknown_02039F25 - ldr r1, =gUnknown_02039F2B - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - beq _080DA8C0 - movs r0, 0 - b _080DA8C2 - .pool -_080DA8C0: - movs r0, 0x1 -_080DA8C2: - pop {r1} - bx r1 - thumb_func_end sub_80DA8A4 - - thumb_func_start sub_80DA8C8 -sub_80DA8C8: @ 80DA8C8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r6, =gSaveBlock2Ptr - ldr r1, [r6] - mov r0, sp - bl StringCopy - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080DA8F2 - mov r0, sp - bl sub_80DF9D4 -_080DA8F2: - ldr r5, =gUnknown_02039F25 - ldrb r0, [r5] - lsls r0, 6 - ldr r4, =gUnknown_02039E00 + 13 - adds r0, r4 - mov r1, sp - movs r2, 0x8 - bl memcpy - ldr r0, [r6] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _080DA928 - ldrb r0, [r5] - lsls r0, 6 - adds r0, r4, r0 - movs r1, 0xD8 - b _080DA930 - .pool -_080DA928: - ldrb r0, [r5] - lsls r0, 6 - adds r0, r4, r0 - movs r1, 0xD9 -_080DA930: - strb r1, [r0, 0x8] - ldr r7, =gUnknown_02039E00 - ldr r6, =gUnknown_02039F25 - ldrb r0, [r6] - lsls r0, 6 - adds r1, r7, 0 - adds r1, 0x18 - adds r0, r1 - movs r1, 0 - str r1, [r0] - ldrb r0, [r6] - lsls r0, 6 - adds r0, r7 - adds r0, 0x2C - strb r1, [r0] - movs r0, 0x64 - mov r1, r8 - muls r1, r0 - ldr r0, =gPlayerParty - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - strh r0, [r1] - adds r0, r5, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - mov r0, sp - bl StringGetEnd10 - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080DA994 - adds r0, r5, 0 - movs r1, 0x3 - bl GetMonData - adds r1, r0, 0 - mov r0, sp - bl sub_80DF9E0 -_080DA994: - ldrb r0, [r6] - lsls r0, 6 - adds r4, r7, 0x2 - adds r0, r4 - mov r1, sp - movs r2, 0xB - bl memcpy - ldrb r0, [r6] - lsls r0, 6 - adds r0, r4 - mov r1, sp - bl StringCopy - adds r0, r5, 0 - movs r1, 0x16 - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - adds r1, 0x26 - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0x17 - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - adds r1, 0x27 - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0x18 - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - adds r1, 0x28 - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0x21 - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - adds r1, 0x29 - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0x2F - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - adds r1, 0x2A - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0x30 - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - adds r1, 0x2B - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0xD - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - strh r0, [r1, 0x1E] - adds r0, r5, 0 - movs r1, 0xE - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - strh r0, [r1, 0x20] - adds r0, r5, 0 - movs r1, 0xF - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - strh r0, [r1, 0x22] - adds r0, r5, 0 - movs r1, 0x10 - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - strh r0, [r1, 0x24] - adds r0, r5, 0 - movs r1, 0 - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r2, r7, 0 - adds r2, 0x38 - adds r1, r2 - str r0, [r1] - adds r0, r5, 0 - movs r1, 0x1 - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r2, r7, 0 - adds r2, 0x3C - adds r1, r2 - str r0, [r1] - adds r0, r5, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r2, r0, 16 - ldrb r0, [r6] - lsls r0, 6 - adds r1, r0, r7 - adds r0, r1, 0 - adds r0, 0x26 - ldrb r3, [r0] - adds r0, 0x1 - ldrb r5, [r0] - adds r0, 0x1 - ldrb r6, [r0] - adds r0, 0x1 - ldrb r7, [r0] - adds r0, 0x1 - ldrb r4, [r0] - cmp r2, 0xFE - bne _080DAAC4 - adds r3, 0x14 - b _080DAB12 - .pool -_080DAAC4: - cmp r2, 0xFF - bne _080DAAD4 - lsls r0, r5, 16 - movs r1, 0xA0 - lsls r1, 13 - adds r0, r1 - lsrs r5, r0, 16 - b _080DAB12 -_080DAAD4: - movs r0, 0x80 - lsls r0, 1 - cmp r2, r0 - bne _080DAAE8 - lsls r0, r6, 16 - movs r1, 0xA0 - lsls r1, 13 - adds r0, r1 - lsrs r6, r0, 16 - b _080DAB12 -_080DAAE8: - ldr r0, =0x00000101 - cmp r2, r0 - bne _080DAB00 - lsls r0, r7, 16 - movs r1, 0xA0 - lsls r1, 13 - adds r0, r1 - lsrs r7, r0, 16 - b _080DAB12 - .pool -_080DAB00: - movs r0, 0x81 - lsls r0, 1 - cmp r2, r0 - bne _080DAB12 - lsls r0, r4, 16 - movs r1, 0xA0 - lsls r1, 13 - adds r0, r1 - lsrs r4, r0, 16 -_080DAB12: - cmp r3, 0xFF - ble _080DAB18 - movs r3, 0xFF -_080DAB18: - lsls r0, r5, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080DAB22 - movs r5, 0xFF -_080DAB22: - lsls r0, r6, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080DAB2C - movs r6, 0xFF -_080DAB2C: - lsls r0, r7, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080DAB36 - movs r7, 0xFF -_080DAB36: - lsls r0, r4, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080DAB40 - movs r4, 0xFF -_080DAB40: - ldr r2, =gUnknown_02039E00 - ldr r1, =gUnknown_02039F25 - ldrb r0, [r1] - lsls r0, 6 - adds r0, r2 - adds r0, 0x26 - strb r3, [r0] - ldrb r0, [r1] - lsls r0, 6 - adds r0, r2 - adds r0, 0x27 - strb r5, [r0] - ldrb r0, [r1] - lsls r0, 6 - adds r0, r2 - adds r0, 0x28 - strb r6, [r0] - ldrb r0, [r1] - lsls r0, 6 - adds r0, r2 - adds r0, 0x29 - strb r7, [r0] - ldrb r0, [r1] - lsls r0, 6 - adds r0, r2 - adds r0, 0x2A - strb r4, [r0] - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA8C8 - - thumb_func_start sub_80DAB8C -sub_80DAB8C: @ 80DAB8C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x64 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - movs r6, 0 - movs r7, 0 - bl sub_80DA884 - ldr r0, =0x00000864 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080DABC0 - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080DABC0 - movs r7, 0x1 -_080DABC0: - movs r5, 0 - ldr r2, =gUnknown_085880A4 - ldr r3, =gUnknown_085898A4 -_080DABC6: - ldrb r0, [r2, 0x1C] - lsls r0, 30 - lsrs r0, 30 - cmp r8, r0 - bne _080DAC3A - cmp r7, 0x1 - bne _080DABEC - ldrb r0, [r3] - cmp r0, 0x1 - beq _080DAC3A - b _080DABF2 - .pool -_080DABEC: - ldrb r0, [r3] - cmp r0, 0x2 - beq _080DAC3A -_080DABF2: - cmp r4, 0 - bne _080DABFE - ldrb r0, [r2, 0x1C] - lsls r0, 29 - cmp r0, 0 - blt _080DAC2E -_080DABFE: - cmp r4, 0x1 - bne _080DAC0A - ldrb r0, [r2, 0x1C] - lsls r0, 28 - cmp r0, 0 - blt _080DAC2E -_080DAC0A: - cmp r4, 0x2 - bne _080DAC16 - ldrb r0, [r2, 0x1C] - lsls r0, 27 - cmp r0, 0 - blt _080DAC2E -_080DAC16: - cmp r4, 0x3 - bne _080DAC22 - ldrb r0, [r2, 0x1C] - lsls r0, 26 - cmp r0, 0 - blt _080DAC2E -_080DAC22: - cmp r4, 0x4 - bne _080DAC3A - ldrb r0, [r2, 0x1C] - lsls r0, 25 - cmp r0, 0 - bge _080DAC3A -_080DAC2E: - adds r0, r6, 0 - adds r1, r0, 0x1 - lsls r1, 24 - lsrs r6, r1, 24 - add r0, sp - strb r5, [r0] -_080DAC3A: - adds r2, 0x40 - adds r3, 0x1 - adds r5, 0x1 - cmp r5, 0x5F - bls _080DABC6 - mov r0, sp - adds r1, r0, r6 - movs r0, 0xFF - strb r0, [r1] - movs r5, 0 - ldr r7, =gUnknown_085880A4 -_080DAC50: - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r6, 0 - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 - ldr r1, =gUnknown_02039E00 - lsls r2, r5, 6 - adds r2, r1 - mov r1, sp - adds r4, r1, r0 - ldrb r1, [r4] - lsls r1, 6 - adds r1, r7 - adds r0, r2, 0 - movs r2, 0x40 - bl memcpy - ldrb r0, [r4] - adds r2, r5, 0x1 - subs r1, r6, 0x1 - cmp r0, 0xFF - beq _080DAC92 - adds r3, r4, 0 -_080DAC86: - ldrb r0, [r3, 0x1] - strb r0, [r3] - adds r3, 0x1 - ldrb r0, [r3] - cmp r0, 0xFF - bne _080DAC86 -_080DAC92: - lsls r0, r1, 24 - lsrs r6, r0, 24 - adds r5, r2, 0 - cmp r5, 0x2 - ble _080DAC50 - ldr r0, =gUnknown_02039F24 - ldrb r0, [r0] - bl sub_80DA8C8 - add sp, 0x64 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DAB8C - - thumb_func_start sub_80DACBC -sub_80DACBC: @ 80DACBC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x64 - mov r8, r2 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - movs r7, 0 - ldr r0, =gUnknown_02039F30 - ldrb r1, [r0] - mov r9, r0 - cmp r1, 0x4 - bne _080DACDE - b _080DADF6 -_080DACDE: - movs r5, 0 - ldr r3, =gUnknown_085880A4 - ldr r6, =gUnknown_085898A4 -_080DACE4: - ldrb r0, [r3, 0x1C] - lsls r0, 30 - lsrs r0, 30 - cmp r2, r0 - bne _080DAD56 - mov r0, r8 - cmp r0, 0x1 - bne _080DAD08 - ldrb r0, [r6] - cmp r0, 0x1 - beq _080DAD56 - b _080DAD0E - .pool -_080DAD08: - ldrb r0, [r6] - cmp r0, 0x2 - beq _080DAD56 -_080DAD0E: - cmp r4, 0 - bne _080DAD1A - ldrb r0, [r3, 0x1C] - lsls r0, 29 - cmp r0, 0 - blt _080DAD4A -_080DAD1A: - cmp r4, 0x1 - bne _080DAD26 - ldrb r0, [r3, 0x1C] - lsls r0, 28 - cmp r0, 0 - blt _080DAD4A -_080DAD26: - cmp r4, 0x2 - bne _080DAD32 - ldrb r0, [r3, 0x1C] - lsls r0, 27 - cmp r0, 0 - blt _080DAD4A -_080DAD32: - cmp r4, 0x3 - bne _080DAD3E - ldrb r0, [r3, 0x1C] - lsls r0, 26 - cmp r0, 0 - blt _080DAD4A -_080DAD3E: - cmp r4, 0x4 - bne _080DAD56 - ldrb r0, [r3, 0x1C] - lsls r0, 25 - cmp r0, 0 - bge _080DAD56 -_080DAD4A: - adds r0, r7, 0 - adds r1, r0, 0x1 - lsls r1, 24 - lsrs r7, r1, 24 - add r0, sp - strb r5, [r0] -_080DAD56: - adds r3, 0x40 - adds r6, 0x1 - adds r5, 0x1 - cmp r5, 0x5F - bls _080DACE4 - mov r3, sp - adds r1, r3, r7 - movs r0, 0xFF - strb r0, [r1] - movs r5, 0 - mov r0, r9 - ldrb r1, [r0] - movs r0, 0x4 - subs r0, r1 - cmp r5, r0 - bge _080DADF6 - ldr r3, =gUnknown_02039E00 - mov r8, r3 - mov r6, r9 - movs r0, 0x2 - add r0, r8 - mov r9, r0 -_080DAD82: - bl sub_80F903C - lsls r0, 16 - lsrs r0, 16 - adds r1, r7, 0 - bl __modsi3 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldrb r0, [r6] - adds r0, r5 - lsls r0, 6 - add r0, r8 - ldr r2, =gUnknown_085880A4 - mov r3, sp - adds r4, r3, r1 - ldrb r1, [r4] - lsls r1, 6 - adds r1, r2 - movs r2, 0x40 - bl memcpy - ldrb r0, [r6] - adds r0, r5 - lsls r0, 6 - mov r1, r8 - adds r1, 0xD - adds r0, r1 - bl sub_80DF9D4 - ldrb r0, [r6] - adds r0, r5 - lsls r0, 6 - add r0, r9 - movs r1, 0x2 - bl sub_80DF9E0 - ldrb r0, [r4] - adds r3, r5, 0x1 - subs r1, r7, 0x1 - cmp r0, 0xFF - beq _080DADE6 - adds r2, r4, 0 -_080DADDA: - ldrb r0, [r2, 0x1] - strb r0, [r2] - adds r2, 0x1 - ldrb r0, [r2] - cmp r0, 0xFF - bne _080DADDA -_080DADE6: - lsls r0, r1, 24 - lsrs r7, r0, 24 - adds r5, r3, 0 - ldrb r1, [r6] - movs r0, 0x4 - subs r0, r1 - cmp r5, r0 - blt _080DAD82 -_080DADF6: - add sp, 0x64 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DACBC - - thumb_func_start sub_80DAE0C -sub_80DAE0C: @ 80DAE0C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - beq _080DAE1E - movs r0, 0x3 - b _080DAE9A -_080DAE1E: - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _080DAE2E - movs r0, 0x4 - b _080DAE9A -_080DAE2E: - ldr r0, =gSpecialVar_ContestCategory - ldrh r0, [r0] - cmp r0, 0x4 - bhi _080DAE82 - lsls r0, 2 - ldr r1, =_080DAE48 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080DAE48: - .4byte _080DAE5C - .4byte _080DAE62 - .4byte _080DAE68 - .4byte _080DAE6E - .4byte _080DAE74 -_080DAE5C: - adds r0, r4, 0 - movs r1, 0x32 - b _080DAE78 -_080DAE62: - adds r0, r4, 0 - movs r1, 0x33 - b _080DAE78 -_080DAE68: - adds r0, r4, 0 - movs r1, 0x34 - b _080DAE78 -_080DAE6E: - adds r0, r4, 0 - movs r1, 0x35 - b _080DAE78 -_080DAE74: - adds r0, r4, 0 - movs r1, 0x36 -_080DAE78: - bl GetMonData - lsls r0, 24 - lsrs r1, r0, 24 - b _080DAE86 -_080DAE82: - movs r0, 0 - b _080DAE9A -_080DAE86: - ldr r0, =gSpecialVar_ContestRank - adds r2, r1, 0 - ldrh r1, [r0] - movs r0, 0x2 - cmp r2, r1 - bhi _080DAE9A - movs r0, 0 - cmp r2, r1 - bcc _080DAE9A - movs r0, 0x1 -_080DAE9A: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80DAE0C - - thumb_func_start sub_80DAEA4 -sub_80DAEA4: @ 80DAEA4 - push {r4,r5,lr} - movs r5, 0 -_080DAEA8: - ldr r0, =gUnknown_02039F26 - adds r0, r5, r0 - ldrb r0, [r0] - movs r1, 0 - bl FillWindowPixelBuffer - lsls r4, r5, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_80DAF04 - adds r0, r4, 0 - bl sub_80DAF88 - adds r5, 0x1 - cmp r5, 0x3 - ble _080DAEA8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DAEA4 - - thumb_func_start sub_80DAED4 -sub_80DAED4: @ 80DAED4 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r4, r1, 24 - lsrs r4, 24 - ldr r0, =gDisplayedStringBattle - ldr r1, =gText_ColorTransparent - bl StringCopy - adds r1, r0, 0 - subs r0, r1, 0x1 - strb r4, [r0] - adds r0, r1, 0 - adds r1, r5, 0 - bl StringCopy - adds r1, r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80DAED4 - - thumb_func_start sub_80DAF04 -sub_80DAF04: @ 80DAF04 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r0, r1, 24 - movs r2, 0xA0 - lsls r2, 20 - adds r1, r2 - lsrs r1, 24 - bl sub_80DAF1C - pop {r0} - bx r0 - thumb_func_end sub_80DAF04 - - thumb_func_start sub_80DAF1C -sub_80DAF1C: @ 80DAF1C - push {r4,r5,lr} - sub sp, 0x24 - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =gText_Slash - add r0, sp, 0x4 - bl StringCopy - lsls r1, r5, 6 - ldr r0, =gUnknown_02039E00 + 13 - adds r1, r0 - add r0, sp, 0x4 - bl StringAppend - add r0, sp, 0x4 - adds r1, r4, 0 - bl sub_80DAED4 - ldr r4, =gDisplayedStringBattle - movs r0, 0x7 - adds r1, r4, 0 - movs r2, 0x60 - bl GetStringRightAlignXOffset - adds r2, r0, 0 - cmp r2, 0x37 - ble _080DAF5C - movs r2, 0x37 -_080DAF5C: - ldr r0, =gUnknown_02039F26 - adds r0, r5, r0 - ldrb r0, [r0] - movs r1, 0x7 - str r1, [sp] - adds r1, r4, 0 - movs r3, 0x1 - bl sub_80DEBD0 - add sp, 0x24 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DAF1C - - thumb_func_start sub_80DAF88 -sub_80DAF88: @ 80DAF88 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r0, r1, 24 - movs r2, 0xA0 - lsls r2, 20 - adds r1, r2 - lsrs r1, 24 - bl sub_80DAFA0 - pop {r0} - bx r0 - thumb_func_end sub_80DAF88 - - thumb_func_start sub_80DAFA0 -sub_80DAFA0: @ 80DAFA0 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r4, 6 - ldr r2, =gUnknown_02039E00 + 2 - adds r0, r2 - bl sub_80DAED4 - ldr r0, =gUnknown_02039F26 - adds r4, r0 - ldrb r0, [r4] - ldr r1, =gDisplayedStringBattle - movs r2, 0x7 - str r2, [sp] - movs r2, 0x5 - movs r3, 0x1 - bl sub_80DEBD0 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DAFA0 - - thumb_func_start sub_80DAFE0 -sub_80DAFE0: @ 80DAFE0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r0, r1, 24 - cmp r0, 0x4 - bhi _080DB06C - lsls r0, 2 - ldr r1, =_080DAFFC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080DAFFC: - .4byte _080DB010 - .4byte _080DB028 - .4byte _080DB040 - .4byte _080DB050 - .4byte _080DB06C -_080DB010: - ldr r0, =gUnknown_02039E00 - lsls r2, 6 - adds r1, r2, r0 - adds r3, r1, 0 - adds r3, 0x26 - ldrb r5, [r3] - adds r3, 0x4 - ldrb r4, [r3] - adds r1, 0x27 - b _080DB07E - .pool -_080DB028: - ldr r0, =gUnknown_02039E00 - lsls r2, 6 - adds r1, r2, r0 - adds r3, r1, 0 - adds r3, 0x27 - ldrb r5, [r3] - subs r3, 0x1 - ldrb r4, [r3] - adds r1, 0x28 - b _080DB07E - .pool -_080DB040: - ldr r1, =gUnknown_02039E00 - lsls r2, 6 - adds r3, r2, r1 - adds r0, r3, 0 - adds r0, 0x28 - b _080DB05A - .pool -_080DB050: - ldr r1, =gUnknown_02039E00 - lsls r2, 6 - adds r3, r2, r1 - adds r0, r3, 0 - adds r0, 0x29 -_080DB05A: - ldrb r5, [r0] - subs r0, 0x1 - ldrb r4, [r0] - adds r0, 0x2 - ldrb r3, [r0] - adds r0, r1, 0 - b _080DB080 - .pool -_080DB06C: - ldr r0, =gUnknown_02039E00 - lsls r2, 6 - adds r1, r2, r0 - adds r3, r1, 0 - adds r3, 0x2A - ldrb r5, [r3] - subs r3, 0x1 - ldrb r4, [r3] - adds r1, 0x26 -_080DB07E: - ldrb r3, [r1] -_080DB080: - adds r1, r2, r0 - adds r1, 0x2B - adds r0, r4, r3 - ldrb r1, [r1] - adds r0, r1 - asrs r0, 1 - adds r0, r5, r0 - lsls r0, 16 - lsrs r0, 16 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80DAFE0 - - thumb_func_start sub_80DB09C -sub_80DB09C: @ 80DB09C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - ldr r5, =gUnknown_02039F00 -_080DB0A6: - lsls r0, r4, 24 - lsrs r0, 24 - adds r1, r6, 0 - bl sub_80DAFE0 - strh r0, [r5] - adds r5, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _080DB0A6 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DB09C - - thumb_func_start sub_80DB0C4 -sub_80DB0C4: @ 80DB0C4 - push {r4,r5,lr} - ldr r0, =gUnknown_08587C00 - bl LoadCompressedObjectPic - ldr r0, =gContest2Pal - movs r1, 0x88 - lsls r1, 1 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r0, =gSpriteTemplate_8587BE8 - movs r1, 0x70 - movs r2, 0x24 - movs r3, 0x1E - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r4, =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r5, r2, r4 - ldrb r3, [r5, 0x5] - movs r1, 0xF - ands r1, r3 - movs r3, 0x10 - orrs r1, r3 - strb r1, [r5, 0x5] - adds r4, 0x1C - adds r2, r4 - ldr r1, =SpriteCallbackDummy - str r1, [r2] - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80DB0C4 - - thumb_func_start sub_80DB120 -sub_80DB120: @ 80DB120 - push {lr} - ldr r0, =gUnknown_08587C08 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_08587C10 - bl LoadCompressedObjectPalette - ldr r0, =gSpriteTemplate_8587C18 - movs r1, 0x60 - movs r2, 0xA - movs r3, 0x1D - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - movs r1, 0x3E - adds r1, r2 - mov r12, r1 - ldrb r1, [r1] - movs r3, 0x4 - orrs r1, r3 - mov r3, r12 - strb r1, [r3] - ldrh r1, [r2, 0x4] - lsls r1, 22 - lsrs r1, 22 - strh r1, [r2, 0x2E] - pop {r1} - bx r1 - .pool - thumb_func_end sub_80DB120 - - thumb_func_start sub_80DB174 -sub_80DB174: @ 80DB174 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r1, 0 - adds r6, r2, 0 - adds r4, r3, 0 - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r5, 0 - bl sub_80DE84C - adds r5, r0, 0 - ldr r0, =gUnknown_02039F25 - ldrb r0, [r0] - cmp r4, r0 - bne _080DB1B8 - lsls r0, r5, 3 - ldr r1, =gMonBackPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - ldr r1, [r1, 0x4] - adds r2, r5, 0 - adds r3, r6, 0 - bl HandleLoadSpecialPokePic_2 - b _080DB1CC - .pool -_080DB1B8: - lsls r0, r5, 3 - ldr r1, =gMonBackPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - ldr r1, [r1, 0x4] - adds r2, r5, 0 - adds r3, r6, 0 - bl HandleLoadSpecialPokePic_DontHandleDeoxys -_080DB1CC: - adds r0, r5, 0 - adds r1, r7, 0 - adds r2, r6, 0 - bl GetFrontSpritePalFromSpeciesAndPersonality - movs r1, 0x90 - lsls r1, 1 - movs r2, 0x20 - bl LoadCompressedPalette - adds r0, r5, 0 - movs r1, 0 - bl SetMultiuseSpriteTemplateToPokemon - ldr r4, =gMultiuseSpriteTemplate - movs r0, 0x2 - adds r1, r5, 0 - movs r2, 0 - bl sub_80A600C - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - movs r1, 0x70 - movs r3, 0x1E - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gSprites - mov r8, r0 - lsls r0, r7, 4 - adds r0, r7 - lsls r6, r0, 2 - mov r0, r8 - adds r4, r6, r0 - ldrb r1, [r4, 0x5] - movs r0, 0xF - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - movs r1, 0xD - negs r1, r1 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r4, 0x5] - movs r0, 0x2 - bl sub_80A82E4 - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - mov r0, r8 - adds r0, 0x1C - adds r0, r6, r0 - ldr r1, =SpriteCallbackDummy - str r1, [r0] - ldrb r0, [r4, 0x5] - lsrs r0, 4 - strh r0, [r4, 0x2E] - strh r5, [r4, 0x32] - adds r0, r5, 0 - bl IsSpeciesNotUnown - lsls r0, 24 - cmp r0, 0 - beq _080DB278 - mov r0, r8 - adds r0, 0x10 - adds r0, r6, r0 - ldr r1, =gUnknown_082FF6C0 - b _080DB280 - .pool -_080DB278: - mov r0, r8 - adds r0, 0x10 - adds r0, r6, r0 - ldr r1, =gUnknown_082FF694 -_080DB280: - str r1, [r0] - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0 - bl StartSpriteAffineAnim - adds r0, r7, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80DB174 - - thumb_func_start IsSpeciesNotUnown -IsSpeciesNotUnown: @ 80DB2A8 - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xC9 - beq _080DB2B6 - movs r0, 0x1 - b _080DB2B8 -_080DB2B6: - movs r0, 0 -_080DB2B8: - pop {r1} - bx r1 - thumb_func_end IsSpeciesNotUnown - - thumb_func_start sub_80DB2BC -sub_80DB2BC: @ 80DB2BC - push {r4-r6,lr} - ldr r5, =gContestResources - ldr r0, [r5] - ldr r0, [r0, 0x24] - movs r4, 0xA0 - lsls r4, 3 - adds r1, r0, r4 - movs r6, 0xA0 - lsls r6, 1 - adds r2, r6, 0 - bl CpuSet - ldr r0, [r5] - ldr r0, [r0, 0x2C] - adds r4, r0, r4 - adds r1, r4, 0 - adds r2, r6, 0 - bl CpuSet - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DB2BC - - thumb_func_start sub_80DB2EC -sub_80DB2EC: @ 80DB2EC - push {lr} - lsls r0, 16 - lsls r1, 24 - lsrs r3, r1, 24 - ldr r2, =gContestEffects - ldr r1, =gContestMoves - lsrs r0, 13 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x8 - bhi _080DB354 - lsls r0, 2 - ldr r1, =_080DB320 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080DB320: - .4byte _080DB344 - .4byte _080DB344 - .4byte _080DB34C - .4byte _080DB34C - .4byte _080DB354 - .4byte _080DB354 - .4byte _080DB354 - .4byte _080DB354 - .4byte _080DB344 -_080DB344: - ldr r0, =0x00009082 - b _080DB356 - .pool -_080DB34C: - ldr r0, =0x00009088 - b _080DB356 - .pool -_080DB354: - ldr r0, =0x00009086 -_080DB356: - lsls r1, r3, 12 - movs r2, 0x90 - lsls r2, 8 - adds r1, r2 - lsls r0, 16 - asrs r0, 16 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80DB2EC - - thumb_func_start prints_contest_move_description -prints_contest_move_description: @ 80DB370 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x1] - lsls r0, 29 - lsrs r0, 29 - ldr r7, =0x00004040 - cmp r0, 0 - beq _080DB3A4 - adds r7, 0x5 - cmp r0, 0x1 - beq _080DB3A4 - adds r7, 0x5 - cmp r0, 0x2 - beq _080DB3A4 - adds r7, 0x40 - cmp r0, 0x3 - bne _080DB3A4 - subs r7, 0x20 -_080DB3A4: - movs r6, 0x5 - str r6, [sp] - movs r4, 0x1 - str r4, [sp, 0x4] - movs r5, 0x11 - str r5, [sp, 0x8] - str r4, [sp, 0xC] - movs r0, 0 - adds r1, r7, 0 - movs r2, 0xB - movs r3, 0x1F - bl sub_80DECB8 - adds r1, r7, 0 - adds r1, 0x10 - str r6, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - str r4, [sp, 0xC] - movs r0, 0 - movs r2, 0xB - movs r3, 0x20 - bl sub_80DECB8 - ldr r2, =gContestEffects - ldr r0, =gContestMoves - mov r3, r8 - lsls r1, r3, 3 - adds r0, r1, r0 - ldrb r0, [r0] - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2, 0x1] - adds r7, r1, 0 - cmp r0, 0xFF - bne _080DB3FC - movs r6, 0 - b _080DB408 - .pool -_080DB3FC: - ldrb r0, [r2, 0x1] - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r6, r0, 24 -_080DB408: - cmp r6, 0x8 - bls _080DB40E - movs r6, 0x8 -_080DB40E: - ldr r1, =0x00005035 - movs r0, 0x8 - str r0, [sp] - movs r5, 0x1 - str r5, [sp, 0x4] - movs r4, 0x11 - str r4, [sp, 0x8] - movs r0, 0 - movs r2, 0x15 - movs r3, 0x1F - bl sub_80DED10 - ldr r1, =0x00005012 - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r2, 0x15 - movs r3, 0x1F - bl sub_80DED10 - ldr r1, =gContestEffects - ldr r0, =gContestMoves - adds r0, r7, r0 - ldrb r0, [r0] - lsls r0, 2 - adds r1, r0, r1 - ldrb r0, [r1, 0x2] - cmp r0, 0xFF - bne _080DB460 - movs r6, 0 - b _080DB46C - .pool -_080DB460: - ldrb r0, [r1, 0x2] - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r6, r0, 24 -_080DB46C: - cmp r6, 0x8 - bls _080DB472 - movs r6, 0x8 -_080DB472: - ldr r1, =0x00005036 - movs r0, 0x8 - str r0, [sp] - movs r5, 0x1 - str r5, [sp, 0x4] - movs r4, 0x11 - str r4, [sp, 0x8] - movs r0, 0 - movs r2, 0x15 - movs r3, 0x20 - bl sub_80DED10 - ldr r1, =0x00005014 - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r2, 0x15 - movs r3, 0x20 - bl sub_80DED10 - movs r0, 0xA - movs r1, 0 - bl FillWindowPixelBuffer - ldr r1, =gContestEffectDescriptionPointers - ldr r0, =gContestMoves - adds r0, r7, r0 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - movs r0, 0xA - bl sub_80DEB70 - ldr r1, =gText_Slash - movs r0, 0x9 - bl sub_80DEB70 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end prints_contest_move_description - - thumb_func_start sub_80DB4E0 -sub_80DB4E0: @ 80DB4E0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r0, =gUnknown_02039F26 - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - adds r0, 0x2 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r4, 0 - bl sub_80DBCA8 - lsls r0, 24 - cmp r0, 0 - bne _080DB560 - cmp r5, 0 - beq _080DB560 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80DB2EC - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x2 - mov r8, r0 - str r0, [sp] - movs r5, 0x1 - str r5, [sp, 0x4] - movs r6, 0x11 - str r6, [sp, 0x8] - str r5, [sp, 0xC] - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x14 - adds r3, r7, 0 - bl sub_80DECB8 - adds r4, 0x10 - lsls r4, 16 - lsrs r4, 16 - adds r3, r7, 0x1 - lsls r3, 24 - lsrs r3, 24 - mov r0, r8 - str r0, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - str r5, [sp, 0xC] - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x14 - bl sub_80DECB8 - b _080DB576 - .pool -_080DB560: - movs r0, 0x2 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0x14 - adds r3, r7, 0 - bl sub_80DED10 -_080DB576: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80DB4E0 - - thumb_func_start sub_80DB584 -sub_80DB584: @ 80DB584 - push {r4,r5,lr} - movs r4, 0 - movs r5, 0 -_080DB58A: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x4] - adds r0, r5, r0 - ldrh r0, [r0, 0x6] - lsls r1, r4, 24 - lsrs r1, 24 - bl sub_80DB4E0 - adds r5, 0x1C - adds r4, 0x1 - cmp r4, 0x3 - ble _080DB58A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DB584 - - thumb_func_start sub_80DB5B0 -sub_80DB5B0: @ 80DB5B0 - ldr r0, =0x00002034 - bx lr - .pool - thumb_func_end sub_80DB5B0 - - thumb_func_start sub_80DB5B8 -sub_80DB5B8: @ 80DB5B8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - mov r10, r8 - ldr r0, =gContestResources - mov r9, r0 - ldr r0, [r0] - ldr r1, [r0, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r7, r0, 2 - adds r3, r7, r1 - ldrb r0, [r3, 0x10] - movs r5, 0x30 - ands r5, r0 - cmp r5, 0 - bne _080DB5F4 - movs r0, 0 - b _080DB68A - .pool -_080DB5F4: - ldr r0, =gUnknown_02039F26 - adds r0, r2, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - adds r0, 0x2 - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0xD - ldrsb r0, [r3, r0] - movs r1, 0xA - bl __divsi3 - lsls r0, 24 - asrs r4, r0, 24 - cmp r5, 0x10 - bne _080DB648 - bl sub_80DB5B0 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1 - str r0, [sp] - lsls r0, r4, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r2, 0x13 - adds r3, r6, 0 - bl sub_80DED10 - mov r1, r8 - cmp r1, 0 - beq _080DB688 - movs r0, 0x5B - b _080DB672 - .pool -_080DB648: - adds r3, r6, r4 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0x3 - subs r0, r4 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0x13 - bl sub_80DED10 - mov r0, r10 - cmp r0, 0 - beq _080DB688 - movs r0, 0x26 -_080DB672: - bl PlaySE - mov r1, r9 - ldr r0, [r1] - ldr r1, [r0, 0x4] - adds r1, r7, r1 - ldrb r2, [r1, 0x10] - movs r0, 0x31 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x10] -_080DB688: - movs r0, 0x1 -_080DB68A: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80DB5B8 - - thumb_func_start sub_80DB69C -sub_80DB69C: @ 80DB69C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - movs r7, 0 - movs r0, 0x1 - mov r10, r0 - movs r1, 0x11 - mov r9, r1 - movs r0, 0 - mov r8, r0 -_080DB6B6: - ldr r0, =gUnknown_02039F26 - adds r0, r7, r0 - ldrb r0, [r0] - lsls r4, r0, 2 - adds r4, r0 - adds r4, 0x2 - lsls r4, 24 - lsrs r4, 24 - bl sub_80DB5B0 - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x4] - add r0, r8 - ldrb r0, [r0, 0xD] - lsls r0, 24 - asrs r0, 24 - movs r1, 0xA - bl __divsi3 - lsls r0, 24 - mov r1, r10 - str r1, [sp] - asrs r6, r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - movs r0, 0 - adds r1, r5, 0 - movs r2, 0x13 - adds r3, r4, 0 - bl sub_80DED10 - adds r4, r6 - lsls r4, 24 - lsrs r4, 24 - mov r1, r10 - str r1, [sp] - movs r0, 0x3 - subs r0, r6 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0x13 - adds r3, r4, 0 - bl sub_80DED10 - movs r1, 0x1C - add r8, r1 - adds r7, 0x1 - cmp r7, 0x3 - ble _080DB6B6 - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DB69C - - thumb_func_start sub_80DB748 -sub_80DB748: @ 80DB748 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - movs r0, 0 - cmp r1, 0x4 - bhi _080DB78A - lsls r0, r1, 2 - ldr r1, =_080DB764 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080DB764: - .4byte _080DB778 - .4byte _080DB77C - .4byte _080DB780 - .4byte _080DB784 - .4byte _080DB788 -_080DB778: - movs r0, 0x80 - b _080DB78A -_080DB77C: - movs r0, 0x84 - b _080DB78A -_080DB780: - movs r0, 0x86 - b _080DB78A -_080DB784: - movs r0, 0x88 - b _080DB78A -_080DB788: - movs r0, 0x82 -_080DB78A: - movs r1, 0x90 - lsls r1, 8 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_80DB748 - - thumb_func_start sub_80DB798 -sub_80DB798: @ 80DB798 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - mov r9, r1 - movs r1, 0 - mov r8, r1 - ldr r1, =gUnknown_02039F26 - adds r1, r0, r1 - ldrb r2, [r1] - lsls r1, r2, 2 - adds r1, r2 - adds r1, 0x2 - lsls r1, 24 - lsrs r7, r1, 24 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r2, [r1, 0x4] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r2, r1, r2 - ldr r0, [r2, 0x10] - ldr r1, =0x00ff0003 - ands r0, r1 - cmp r0, 0 - bne _080DB7DC - ldrb r0, [r2, 0xF] - cmp r0, 0 - beq _080DB7EC -_080DB7DC: - movs r0, 0 - b _080DB80E - .pool -_080DB7EC: - ldrb r1, [r2, 0xC] - mov r0, r9 - ands r0, r1 - cmp r0, 0 - beq _080DB7FA - movs r0, 0x1 - b _080DB80E -_080DB7FA: - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - bne _080DB80C - ldrb r1, [r2, 0xB] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080DB81A -_080DB80C: - movs r0, 0x2 -_080DB80E: - bl sub_80DB748 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - b _080DB81E -_080DB81A: - movs r0, 0 - mov r9, r0 -_080DB81E: - mov r1, r9 - cmp r1, 0 - beq _080DB85E - movs r6, 0x2 - str r6, [sp] - movs r4, 0x1 - str r4, [sp, 0x4] - movs r5, 0x11 - str r5, [sp, 0x8] - str r4, [sp, 0xC] - movs r0, 0 - mov r1, r8 - movs r2, 0x14 - adds r3, r7, 0 - bl sub_80DECB8 - mov r1, r8 - adds r1, 0x10 - lsls r1, 16 - lsrs r1, 16 - adds r3, r7, 0x1 - lsls r3, 24 - lsrs r3, 24 - str r6, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - str r4, [sp, 0xC] - movs r0, 0 - movs r2, 0x14 - bl sub_80DECB8 - b _080DB874 -_080DB85E: - movs r0, 0x2 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0x14 - adds r3, r7, 0 - bl sub_80DED10 -_080DB874: - mov r0, r9 - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80DB798 - thumb_func_start sub_80DB884 sub_80DB884: @ 80DB884 push {r4,lr} @@ -7613,7 +31,7 @@ sub_80DB89C: @ 80DB89C movs r1, 0x2 bl CopyWindowToVram movs r0, 0 - bl sub_80DED60 + bl Contest_SetBgCopyFlags pop {r0} bx r0 thumb_func_end sub_80DB89C @@ -7625,28 +43,28 @@ sub_80DB8B8: @ 80DB8B8 lsrs r4, r0, 24 adds r5, r4, 0 adds r0, r4, 0 - bl sub_80DBCA8 + bl Contest_IsMonsTurnDisabled lsls r0, 24 cmp r0, 0 beq _080DB8D0 movs r0, 0 b _080DB90A _080DB8D0: - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] cmp r4, r0 beq _080DB8F4 adds r0, r4, 0 - bl sub_81562C4 - bl sub_8156324 + bl ContestAI_ResetAI + bl ContestAI_GetActionToUse lsls r0, 24 - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons lsrs r0, 23 lsls r1, r4, 6 b _080DB902 .pool _080DB8F4: - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r0, =gContestResources ldr r0, [r0] ldr r0, [r0] @@ -8115,7 +533,7 @@ _080DBC3C: ldr r0, [r3, 0x4] adds r0, r4, r0 ldrh r0, [r0, 0x6] - bl sub_80DD9F0 + bl Contest_GetMoveExcitement ldr r1, [r5] ldr r2, [r1] ldrb r1, [r2, 0x1] @@ -8150,8 +568,8 @@ _080DBC3C: .pool thumb_func_end sub_80DBAA0 - thumb_func_start sub_80DBCA8 -sub_80DBCA8: @ 80DBCA8 + thumb_func_start Contest_IsMonsTurnDisabled +Contest_IsMonsTurnDisabled: @ 80DBCA8 push {lr} lsls r0, 24 lsrs r0, 24 @@ -8181,7 +599,7 @@ _080DBCD8: _080DBCDA: pop {r1} bx r1 - thumb_func_end sub_80DBCA8 + thumb_func_end Contest_IsMonsTurnDisabled thumb_func_start sub_80DBCE0 sub_80DBCE0: @ 80DBCE0 @@ -8197,7 +615,7 @@ sub_80DBCE0: @ 80DBCE0 strh r0, [r1] ldr r2, =gUnknown_02039F08 adds r2, r4, r2 - ldr r1, =gUnknown_02039F00 + ldr r1, =gContestMonConditions adds r4, r1 ldrh r4, [r4] adds r0, r4 @@ -8307,7 +725,7 @@ _080DBDB8: mov r4, sp ldr r6, =gUnknown_02039F08 ldr r2, [sp, 0x64] - ldr r5, =gUnknown_02039F00 + ldr r5, =gContestMonConditions ldr r3, [sp, 0x68] _080DBDD2: mov r7, r9 @@ -8415,7 +833,7 @@ _080DBE90: ble _080DBE06 movs r6, 0 mov r9, r6 - ldr r2, =gUnknown_02039F20 + ldr r2, =gContestFinalStandings ldr r1, [sp, 0x6C] _080DBEA2: ldr r0, [r1] @@ -8442,7 +860,7 @@ _080DBEA2: thumb_func_start sub_80DBED4 sub_80DBED4: @ 80DBED4 push {lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -8450,8 +868,8 @@ sub_80DBED4: @ 80DBED4 beq _080DBF0E ldr r0, =gSaveBlock2Ptr ldr r2, [r0] - ldr r1, =gUnknown_02039F20 - ldr r0, =gUnknown_02039F25 + ldr r1, =gContestFinalStandings + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -8524,7 +942,7 @@ sub_80DBF68: @ 80DBF68 bl sub_80DB89C ldr r0, =gUnknown_0827E8DA movs r1, 0 - bl sub_80DEC30 + bl Contest_StartTextPrinter pop {r0} bx r0 .pool @@ -8548,7 +966,7 @@ _080DBF9A: movs r0, 0 movs r1, 0 movs r2, 0x16 - bl sub_80DED10 + bl ContestBG_FillBoxWithTile movs r0, 0xA0 lsls r0, 19 adds r5, r0 @@ -8885,7 +1303,7 @@ _080DC226: str r0, [sp, 0x8] movs r0, 0 adds r1, r6, 0 - bl sub_80DED10 + bl ContestBG_FillBoxWithTile mov r3, r8 cmp r3, 0 ble _080DC284 @@ -10211,7 +2629,7 @@ sub_80DCCD8: @ 80DCCD8 thumb_func_start sub_80DCD08 sub_80DCD08: @ 80DCD08 push {lr} - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r2, r0, r1 @@ -10250,7 +2668,7 @@ sub_80DCD48: @ 80DCD48 ldrb r0, [r0] cmp r0, 0 beq _080DCE44 - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r0, r1 @@ -10314,7 +2732,7 @@ _080DCDBC: add r1, sp, 0x4 movs r2, 0x37 movs r3, 0x1 - bl sub_80DEBD0 + bl Contest_PrintTextToBg0WindowAt adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -10357,7 +2775,7 @@ _080DCE14: add r1, sp, 0x4 movs r2, 0x5 movs r3, 0x1 - bl sub_80DEBD0 + bl Contest_PrintTextToBg0WindowAt adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -10440,7 +2858,7 @@ _080DCECC: movs r4, 0 cmp r4, r5 bge _080DCF48 - ldr r7, =gUnknown_02039F00 + ldr r7, =gContestMonConditions mov r9, r7 lsls r0, r5, 1 adds r1, r0, 0 @@ -10639,7 +3057,7 @@ sub_80DD04C: @ 80DD04C movs r4, 0 movs r5, 0xA0 _080DD052: - ldr r0, =0x0201a004 + ldr r0, =gHeap+0x1A004 adds r0, r5, r0 ldr r1, =gUnknown_02039F26 adds r1, r4, r1 @@ -10815,7 +3233,7 @@ _080DD166: ands r0, r2 strb r0, [r1, 0x15] _080DD1B4: - ldr r0, =gContestEffectFunctionTable + ldr r0, =gContestEffectFuncs add r0, r9 ldr r0, [r0] bl _call_via_r0 @@ -11007,7 +3425,7 @@ _080DD334: ldr r0, [r0, 0x4] adds r0, r4, r0 ldrh r0, [r0, 0x6] - bl sub_80DD9F0 + bl Contest_GetMoveExcitement ldr r1, [r5] ldr r1, [r1, 0x10] strb r0, [r1] @@ -11088,8 +3506,8 @@ _080DD3C4: .pool thumb_func_end sub_80DD080 - thumb_func_start sub_80DD3D4 -sub_80DD3D4: @ 80DD3D4 + thumb_func_start SetContestantEffectStringID +SetContestantEffectStringID: @ 80DD3D4 lsls r0, 24 lsrs r0, 24 ldr r2, =gContestResources @@ -11102,10 +3520,10 @@ sub_80DD3D4: @ 80DD3D4 strb r1, [r2, 0x13] bx lr .pool - thumb_func_end sub_80DD3D4 + thumb_func_end SetContestantEffectStringID - thumb_func_start sub_80DD3F0 -sub_80DD3F0: @ 80DD3F0 + thumb_func_start SetContestantEffectStringID2 +SetContestantEffectStringID2: @ 80DD3F0 lsls r0, 24 lsrs r0, 24 ldr r2, =gContestResources @@ -11118,10 +3536,10 @@ sub_80DD3F0: @ 80DD3F0 strb r1, [r2, 0x14] bx lr .pool - thumb_func_end sub_80DD3F0 + thumb_func_end SetContestantEffectStringID2 - thumb_func_start sub_80DD40C -sub_80DD40C: @ 80DD40C + thumb_func_start SetStartledString +SetStartledString: @ 80DD40C push {lr} lsls r0, 24 lsrs r0, 24 @@ -11132,36 +3550,36 @@ sub_80DD40C: @ 80DD40C cmp r1, 0x3B bls _080DD426 movs r1, 0x35 - bl sub_80DD3D4 + bl SetContestantEffectStringID b _080DD456 _080DD426: cmp r1, 0x27 bls _080DD432 movs r1, 0x34 - bl sub_80DD3D4 + bl SetContestantEffectStringID b _080DD456 _080DD432: cmp r1, 0x1D bls _080DD43E movs r1, 0x33 - bl sub_80DD3D4 + bl SetContestantEffectStringID b _080DD456 _080DD43E: cmp r1, 0x13 bls _080DD44A movs r1, 0x32 - bl sub_80DD3D4 + bl SetContestantEffectStringID b _080DD456 _080DD44A: cmp r2, 0x9 bls _080DD456 adds r0, r3, 0 movs r1, 0x31 - bl sub_80DD3D4 + bl SetContestantEffectStringID _080DD456: pop {r0} bx r0 - thumb_func_end sub_80DD40C + thumb_func_end SetStartledString thumb_func_start sub_80DD45C sub_80DD45C: @ 80DD45C @@ -11173,7 +3591,7 @@ sub_80DD45C: @ 80DD45C lsrs r6, r1, 24 ldr r0, =gStringVar1 lsls r1, r4, 6 - ldr r2, =gUnknown_02039E00 + 2 + ldr r2, =gContestMons + 2 adds r1, r2 bl StringCopy ldr r0, =gStringVar2 @@ -11253,15 +3671,15 @@ _080DD52C: bl sub_80DB89C adds r0, r4, 0 movs r1, 0x1 - bl sub_80DEC30 + bl Contest_StartTextPrinter pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_80DD45C - thumb_func_start sub_80DD560 -sub_80DD560: @ 80DD560 + thumb_func_start MakeContestantNervous +MakeContestantNervous: @ 80DD560 push {r4,lr} lsls r0, 24 lsrs r0, 24 @@ -11285,7 +3703,7 @@ sub_80DD560: @ 80DD560 pop {r0} bx r0 .pool - thumb_func_end sub_80DD560 + thumb_func_end MakeContestantNervous thumb_func_start sub_80DD590 sub_80DD590: @ 80DD590 @@ -11795,8 +4213,8 @@ _080DD9C8: .pool thumb_func_end sub_80DD940 - thumb_func_start sub_80DD9F0 -sub_80DD9F0: @ 80DD9F0 + thumb_func_start Contest_GetMoveExcitement +Contest_GetMoveExcitement: @ 80DD9F0 lsls r0, 16 ldr r3, =gUnknown_085899EC ldr r1, =gContestMoves @@ -11815,7 +4233,7 @@ sub_80DD9F0: @ 80DD9F0 ldrsb r0, [r1, r0] bx lr .pool - thumb_func_end sub_80DD9F0 + thumb_func_end Contest_GetMoveExcitement thumb_func_start sub_80DDA20 sub_80DDA20: @ 80DDA20 @@ -12351,7 +4769,7 @@ sub_80DDE30: @ 80DDE30 ldrsh r0, [r4, r1] cmp r0, 0 bne _080DDE78 - ldr r0, =0x02019000 + ldr r0, =gHeap+0x19000 ldr r1, =0x06002000 movs r2, 0x80 lsls r2, 5 @@ -12360,7 +4778,7 @@ sub_80DDE30: @ 80DDE30 b _080DDE8C .pool _080DDE78: - ldr r0, =0x02018000 + ldr r0, =gHeap+0x18000 ldr r1, =0x06002000 movs r2, 0x80 lsls r2, 5 @@ -12718,7 +5136,7 @@ _080DE146: beq _080DE1CA lsls r0, r7, 24 lsrs r0, 24 - bl sub_80DBCA8 + bl Contest_IsMonsTurnDisabled lsls r0, 24 cmp r0, 0 bne _080DE1CA @@ -12747,7 +5165,7 @@ _080DE146: adds r1, r4, 0 movs r2, 0x14 adds r3, r6, 0 - bl sub_80DECB8 + bl ContestBG_FillBoxWithIncrementingTile adds r4, 0x10 lsls r4, 16 lsrs r4, 16 @@ -12766,7 +5184,7 @@ _080DE146: adds r1, r4, 0 movs r2, 0x14 adds r3, r5, 0 - bl sub_80DECB8 + bl ContestBG_FillBoxWithIncrementingTile movs r0, 0x63 bl PlaySE _080DE1CA: @@ -12907,7 +5325,7 @@ sub_80DE224: @ 80DE224 movs r3, 0 bl CopyToBgTilemapBuffer movs r0, 0x1 - bl sub_80DED60 + bl Contest_SetBgCopyFlags movs r5, 0 ldr r7, =gSprites movs r6, 0x4 @@ -12970,7 +5388,7 @@ sub_80DE350: @ 80DE350 mov r0, sp bl CpuSet movs r0, 0x1 - bl sub_80DED60 + bl Contest_SetBgCopyFlags movs r0, 0xA bl GetGpuReg add r3, sp, 0x4 @@ -13165,7 +5583,7 @@ _080DE4E2: b _080DE5B4 .pool _080DE52C: - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r0, [r0] ands r1, r0 cmp r1, 0 @@ -13594,7 +6012,7 @@ sub_80DE864: @ 80DE864 bl sub_80DE834 lsls r0, 16 lsrs r5, r0, 16 - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons lsls r0, r7, 6 adds r0, r1 ldrh r0, [r0] @@ -13675,7 +6093,7 @@ _080DE920: lsls r0, 2 adds r0, r1 ldrb r4, [r0, 0x1B] - ldr r5, =gUnknown_02039E00 + ldr r5, =gContestMons lsls r4, 6 adds r0, r4, r5 ldrh r0, [r0] @@ -13767,7 +6185,7 @@ sub_80DE9DC: @ 80DE9DC ldr r0, [r6] ldr r0, [r0, 0x18] strb r4, [r0, 0x5] - ldr r5, =gUnknown_02039E00 + ldr r5, =gContestMons lsls r4, 6 adds r0, r4, r5 ldrh r0, [r0] @@ -13919,8 +6337,8 @@ _080DEB64: .pool thumb_func_end sub_80DEAA8 - thumb_func_start sub_80DEB70 -sub_80DEB70: @ 80DEB70 + thumb_func_start Contest_PrintTextToBg0WindowStd +Contest_PrintTextToBg0WindowStd: @ 80DEB70 push {r4,lr} sub sp, 0x10 adds r4, r0, 0 @@ -13960,15 +6378,15 @@ sub_80DEB70: @ 80DEB70 adds r0, r4, 0 bl PutWindowTilemap movs r0, 0 - bl sub_80DED60 + bl Contest_SetBgCopyFlags add sp, 0x10 pop {r4} pop {r0} bx r0 - thumb_func_end sub_80DEB70 + thumb_func_end Contest_PrintTextToBg0WindowStd - thumb_func_start sub_80DEBD0 -sub_80DEBD0: @ 80DEBD0 + thumb_func_start Contest_PrintTextToBg0WindowAt +Contest_PrintTextToBg0WindowAt: @ 80DEBD0 push {r4,r5,lr} sub sp, 0x10 adds r5, r0, 0 @@ -14008,15 +6426,15 @@ sub_80DEBD0: @ 80DEBD0 adds r0, r5, 0 bl PutWindowTilemap movs r0, 0 - bl sub_80DED60 + bl Contest_SetBgCopyFlags add sp, 0x10 pop {r4,r5} pop {r0} bx r0 - thumb_func_end sub_80DEBD0 + thumb_func_end Contest_PrintTextToBg0WindowAt - thumb_func_start sub_80DEC30 -sub_80DEC30: @ 80DEC30 + thumb_func_start Contest_StartTextPrinter +Contest_StartTextPrinter: @ 80DEC30 push {r4,r5,lr} sub sp, 0x10 str r0, [sp] @@ -14057,7 +6475,7 @@ sub_80DEC30: @ 80DEC30 bl AddTextPrinter b _080DECA4 _080DEC80: - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] adds r0, r5, 0 ands r0, r1 @@ -14078,15 +6496,15 @@ _080DECA4: movs r0, 0x4 bl PutWindowTilemap movs r0, 0 - bl sub_80DED60 + bl Contest_SetBgCopyFlags add sp, 0x10 pop {r4,r5} pop {r0} bx r0 - thumb_func_end sub_80DEC30 + thumb_func_end Contest_StartTextPrinter - thumb_func_start sub_80DECB8 -sub_80DECB8: @ 80DECB8 + thumb_func_start ContestBG_FillBoxWithIncrementingTile +ContestBG_FillBoxWithIncrementingTile: @ 80DECB8 push {r4-r7,lr} mov r7, r8 push {r7} @@ -14121,17 +6539,17 @@ sub_80DECB8: @ 80DECB8 mov r0, r8 bl WriteSequenceToBgTilemapBuffer mov r0, r8 - bl sub_80DED60 + bl Contest_SetBgCopyFlags add sp, 0x10 pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 - thumb_func_end sub_80DECB8 + thumb_func_end ContestBG_FillBoxWithIncrementingTile - thumb_func_start sub_80DED10 -sub_80DED10: @ 80DED10 + thumb_func_start ContestBG_FillBoxWithTile +ContestBG_FillBoxWithTile: @ 80DED10 push {r4-r6,lr} sub sp, 0x10 ldr r4, [sp, 0x20] @@ -14156,15 +6574,15 @@ sub_80DED10: @ 80DED10 str r6, [sp, 0x8] movs r4, 0 str r4, [sp, 0xC] - bl sub_80DECB8 + bl ContestBG_FillBoxWithIncrementingTile add sp, 0x10 pop {r4-r6} pop {r0} bx r0 - thumb_func_end sub_80DED10 + thumb_func_end ContestBG_FillBoxWithTile - thumb_func_start sub_80DED4C -sub_80DED4C: @ 80DED4C + thumb_func_start Contest_RunTextPrinters +Contest_RunTextPrinters: @ 80DED4C push {lr} bl RunTextPrinters movs r0, 0x4 @@ -14173,11 +6591,11 @@ sub_80DED4C: @ 80DED4C lsrs r0, 16 pop {r1} bx r1 - thumb_func_end sub_80DED4C + thumb_func_end Contest_RunTextPrinters - thumb_func_start sub_80DED60 -sub_80DED60: @ 80DED60 - ldr r2, =gUnknown_02039F38 + thumb_func_start Contest_SetBgCopyFlags +Contest_SetBgCopyFlags: @ 80DED60 + ldr r2, =sContestBgCopyFlags movs r1, 0x1 lsls r1, r0 ldrb r0, [r2] @@ -14185,7 +6603,7 @@ sub_80DED60: @ 80DED60 strb r1, [r2] bx lr .pool - thumb_func_end sub_80DED60 + thumb_func_end Contest_SetBgCopyFlags thumb_func_start ResetContestLinkResults ResetContestLinkResults: @ 80DED74 @@ -14236,7 +6654,7 @@ sub_80DEDA8: @ 80DEDA8 lsrs r0, 24 mov r8, r0 movs r5, 0 - ldr r1, =gUnknown_02039F20 + ldr r1, =gContestFinalStandings ldrb r0, [r1] cmp r0, 0 beq _080DEDE6 @@ -14252,7 +6670,7 @@ _080DEDE6: ldr r0, [sp] cmp r0, 0xFF bne _080DEE00 - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] cmp r5, r0 beq _080DEE00 @@ -14316,7 +6734,7 @@ _080DEE54: ldr r6, =0x00002e90 adds r2, r0, r6 adds r2, r7 - ldr r4, =gUnknown_02039E00 + ldr r4, =gContestMons lsls r5, 6 adds r1, r4, 0 adds r1, 0x38 @@ -14351,7 +6769,7 @@ _080DEE54: adds r5, r4 adds r1, r5, 0 bl StringCopy - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -14404,7 +6822,7 @@ _080DEF34: .pool _080DEF50: ldr r6, =gUnknown_02039F3C - ldr r4, =gUnknown_02039E00 + ldr r4, =gContestMons lsls r5, 6 adds r0, r4, 0 adds r0, 0x38 @@ -14820,7 +7238,7 @@ sub_80DF250: @ 80DF250 mov r7, sp adds r7, 0x2 str r7, [sp, 0x24] - ldr r5, =gUnknown_02039F20 + ldr r5, =gContestFinalStandings movs r2, 0 movs r3, 0x80 lsls r3, 17 @@ -14896,11 +7314,11 @@ _080DF2EE: strb r0, [r2, 0xD] _080DF30A: movs r5, 0 - ldr r2, =gUnknown_02039F00 + ldr r2, =gContestMonConditions add r2, r10 movs r6, 0 ldrsh r1, [r2, r6] - ldr r7, =gUnknown_02039F00 + ldr r7, =gContestMonConditions movs r3, 0 ldrsh r0, [r7, r3] cmp r1, r0 @@ -14921,7 +7339,7 @@ _080DF322: _080DF336: cmp r5, 0x4 bne _080DF354 - ldr r1, =gUnknown_02039F20 + ldr r1, =gContestFinalStandings adds r0, r4, r1 ldrb r0, [r0] cmp r0, 0 @@ -14939,12 +7357,12 @@ _080DF354: mov r12, r3 mov r8, r3 movs r5, 0 - ldr r0, =gUnknown_02039F00 + ldr r0, =gContestMonConditions add r0, r10 movs r7, 0 ldrsh r6, [r0, r7] str r6, [sp, 0x34] - ldr r2, =gUnknown_02039F00 + ldr r2, =gContestMonConditions ldr r0, =gUnknown_02039F18 mov r1, r10 adds r6, r1, r0 @@ -15156,8 +7574,8 @@ sub_80DF4F8: @ 80DF4F8 mov r5, r8 push {r5-r7} sub sp, 0xC - ldr r1, =gUnknown_02039F20 - ldr r0, =gUnknown_02039F25 + ldr r1, =gContestFinalStandings + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -15187,7 +7605,7 @@ _080DF528: lsls r2, r7, 1 lsls r4, r7, 4 mov r8, r4 - ldr r1, =gUnknown_02039F00 + ldr r1, =gContestMonConditions adds r0, r2, r1 movs r6, 0 ldrsh r5, [r0, r6] @@ -15417,7 +7835,7 @@ sub_80DF704: @ 80DF704 push {r4,lr} lsls r0, 24 lsrs r3, r0, 24 - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r2, r0, r1 @@ -15468,7 +7886,7 @@ sub_80DF750: @ 80DF750 bne _080DF766 b _080DF924 _080DF766: - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r0, r1 @@ -15493,7 +7911,7 @@ _080DF784: lsrs r7, r0, 24 cmp r7, 0x3 bls _080DF784 - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r0, r1 @@ -15518,7 +7936,7 @@ _080DF7AE: add r1, sp, 0x4 movs r2, 0x5 movs r3, 0x1 - bl sub_80DEBD0 + bl Contest_PrintTextToBg0WindowAt ldr r0, =gContestResources ldr r0, [r0] ldr r1, [r0, 0x1C] @@ -15576,7 +7994,7 @@ _080DF80A: mov r1, r9 movs r2, 0x5 movs r3, 0x1 - bl sub_80DEBD0 + bl Contest_PrintTextToBg0WindowAt ldrb r0, [r4] mov r1, sp adds r1, r5 @@ -15585,7 +8003,7 @@ _080DF80A: str r2, [sp] movs r2, 0x37 movs r3, 0x1 - bl sub_80DEBD0 + bl Contest_PrintTextToBg0WindowAt mov r1, r8 lsls r0, r1, 24 lsrs r7, r0, 24 @@ -15664,7 +8082,7 @@ _080DF8CC: mov r1, r9 movs r2, 0x5 movs r3, 0x1 - bl sub_80DEBD0 + bl Contest_PrintTextToBg0WindowAt ldrb r0, [r4] mov r1, sp adds r1, r5 @@ -15673,7 +8091,7 @@ _080DF8CC: str r2, [sp] movs r2, 0x37 movs r3, 0x1 - bl sub_80DEBD0 + bl Contest_PrintTextToBg0WindowAt mov r1, r8 lsls r0, r1, 24 lsrs r7, r0, 24 diff --git a/asm/contest_ai.s b/asm/contest_ai.s deleted file mode 100644 index 3438107eb..000000000 --- a/asm/contest_ai.s +++ /dev/null @@ -1,5278 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81562C4 -sub_81562C4: @ 81562C4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0, 0xC] - movs r1, 0 - movs r2, 0x44 - bl memset - movs r1, 0 - movs r3, 0x64 - adds r2, r4, 0 -_081562DE: - ldr r0, [r4] - ldr r0, [r0, 0xC] - adds r0, 0x5 - adds r0, r1 - strb r3, [r0] - adds r1, 0x1 - cmp r1, 0x3 - ble _081562DE - ldr r0, [r2] - ldr r0, [r0, 0xC] - adds r0, 0x41 - movs r1, 0 - strb r5, [r0] - ldr r0, [r2] - ldr r0, [r0, 0xC] - adds r0, 0x40 - strb r1, [r0] - ldr r0, [r2] - ldr r2, [r0, 0xC] - ldr r1, =gUnknown_02039E00 - adds r0, r2, 0 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, 0x18 - adds r0, r1 - ldr r0, [r0] - str r0, [r2, 0x14] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81562C4 - - thumb_func_start sub_8156324 -sub_8156324: @ 8156324 - push {r4-r6,lr} - ldr r1, =gContestResources - ldr r0, [r1] - ldr r0, [r0, 0xC] - ldr r0, [r0, 0x14] - cmp r0, 0 - beq _0815636A - adds r4, r1, 0 - movs r5, 0 -_08156336: - ldr r0, [r4] - ldr r2, [r0, 0xC] - ldr r0, [r2, 0x14] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0815634A - strb r5, [r2] - bl sub_81563B0 -_0815634A: - ldr r0, [r4] - ldr r1, [r0, 0xC] - ldr r0, [r1, 0x14] - lsrs r0, 1 - str r0, [r1, 0x14] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - ldr r0, [r4] - ldr r0, [r0, 0xC] - strb r5, [r0, 0x4] - ldr r0, [r4] - ldr r0, [r0, 0xC] - ldr r0, [r0, 0x14] - cmp r0, 0 - bne _08156336 -_0815636A: - movs r6, 0x3 -_0815636C: - bl Random - adds r5, r0, 0 - ands r5, r6 - ldr r4, =gContestResources - ldr r0, [r4] - ldr r1, [r0, 0xC] - adds r0, r1, 0x5 - adds r0, r5 - ldrb r3, [r0] - movs r2, 0 - ldrb r1, [r1, 0x5] - cmp r3, r1 - bcc _0815639E - adds r1, r4, 0 -_0815638A: - adds r2, 0x1 - cmp r2, 0x3 - bgt _0815639E - ldr r0, [r1] - ldr r0, [r0, 0xC] - adds r0, 0x5 - adds r0, r2 - ldrb r0, [r0] - cmp r3, r0 - bcs _0815638A -_0815639E: - cmp r2, 0x4 - bne _0815636C - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8156324 - - thumb_func_start sub_81563B0 -sub_81563B0: @ 81563B0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r5, =gContestResources - ldr r0, [r5] - ldr r0, [r0, 0xC] - ldrb r0, [r0] - adds r4, r5, 0 - cmp r0, 0x2 - beq _081564A0 - adds r7, r5, 0 - ldr r6, =gAIScriptPtr - ldr r0, =gUnknown_02039E00 + 30 - mov r8, r0 -_081563CC: - ldr r0, [r7] - ldr r2, [r0, 0xC] - ldrb r0, [r2] - cmp r0, 0x1 - beq _08156426 - cmp r0, 0x1 - bgt _08156496 - cmp r0, 0 - bne _08156496 - ldr r1, =gContestAIs - ldrb r0, [r2, 0x10] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [r6] - ldrb r1, [r2, 0x4] - lsls r1, 1 - adds r0, r2, 0 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - add r1, r8 - ldrh r1, [r1] - adds r0, r1, 0 - cmp r0, 0 - bne _08156418 - strh r0, [r2, 0x2] - b _0815641A - .pool -_08156418: - strh r1, [r2, 0x2] -_0815641A: - ldr r0, [r4] - ldr r1, [r0, 0xC] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08156496 -_08156426: - ldrh r1, [r2, 0x2] - cmp r1, 0 - beq _08156444 - ldr r1, =gUnknown_085CDD00 - ldr r0, [r6] - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - b _08156458 - .pool -_08156444: - adds r0, r2, 0x5 - ldrb r2, [r2, 0x4] - adds r0, r2 - strb r1, [r0] - ldr r0, [r7] - ldr r2, [r0, 0xC] - ldrb r1, [r2, 0x9] - movs r0, 0x1 - orrs r0, r1 - strb r0, [r2, 0x9] -_08156458: - ldr r2, =gContestResources - ldr r0, [r2] - ldr r3, [r0, 0xC] - ldrb r1, [r3, 0x9] - movs r0, 0x1 - ands r0, r1 - adds r4, r2, 0 - cmp r0, 0 - beq _08156496 - ldrb r0, [r3, 0x4] - adds r0, 0x1 - movs r2, 0 - strb r0, [r3, 0x4] - ldr r0, [r4] - ldr r1, [r0, 0xC] - ldrb r0, [r1, 0x4] - cmp r0, 0x3 - bhi _08156484 - strb r2, [r1] - b _0815648A - .pool -_08156484: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0815648A: - ldr r0, [r4] - ldr r2, [r0, 0xC] - ldrb r1, [r2, 0x9] - movs r0, 0xFE - ands r0, r1 - strb r0, [r2, 0x9] -_08156496: - ldr r0, [r5] - ldr r0, [r0, 0xC] - ldrb r0, [r0] - cmp r0, 0x2 - bne _081563CC -_081564A0: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81563B0 - - thumb_func_start sub_81564AC -sub_81564AC: @ 81564AC - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0 - ldr r3, =gContestResources - ldr r0, [r3] - ldr r0, [r0, 0x8] - b _081564CC - .pool -_081564C0: - adds r1, 0x1 - cmp r1, 0x3 - bgt _081564D2 - ldr r0, [r3] - ldr r0, [r0, 0x8] - adds r0, r1 -_081564CC: - ldrb r0, [r0] - cmp r0, r2 - bne _081564C0 -_081564D2: - lsls r0, r1, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_81564AC - - thumb_func_start sub_81564DC -sub_81564DC: @ 81564DC - push {r4,lr} - ldr r3, =gContestResources - ldr r0, [r3] - ldr r0, [r0, 0xC] - adds r1, r0, 0x5 - ldrb r0, [r0, 0x4] - adds r1, r0 - ldr r2, =gAIScriptPtr - ldr r0, [r2] - ldrb r0, [r0, 0x1] - lsls r0, 24 - asrs r0, 24 - ldrb r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _08156510 - movs r4, 0xFF - b _08156516 - .pool -_08156510: - cmp r0, 0 - bge _08156516 - movs r4, 0 -_08156516: - ldr r0, [r3] - ldr r1, [r0, 0xC] - adds r0, r1, 0x5 - ldrb r1, [r1, 0x4] - adds r0, r1 - strb r4, [r0] - ldr r0, [r2] - adds r0, 0x2 - str r0, [r2] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81564DC - - thumb_func_start sub_8156530 -sub_8156530: @ 8156530 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r0, [r0] - ldrb r0, [r0, 0x1] - strh r0, [r1, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8156530 - - thumb_func_start sub_8156550 -sub_8156550: @ 8156550 - push {lr} - bl sub_8156530 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _0815658C - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156590 - .pool -_0815658C: - adds r0, r2, 0x5 - str r0, [r3] -_08156590: - pop {r0} - bx r0 - thumb_func_end sub_8156550 - - thumb_func_start sub_8156594 -sub_8156594: @ 8156594 - push {lr} - bl sub_8156530 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _081565D0 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081565D4 - .pool -_081565D0: - adds r0, r2, 0x5 - str r0, [r3] -_081565D4: - pop {r0} - bx r0 - thumb_func_end sub_8156594 - - thumb_func_start sub_81565D8 -sub_81565D8: @ 81565D8 - push {lr} - bl sub_8156530 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08156614 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156618 - .pool -_08156614: - adds r0, r2, 0x5 - str r0, [r3] -_08156618: - pop {r0} - bx r0 - thumb_func_end sub_81565D8 - - thumb_func_start sub_815661C -sub_815661C: @ 815661C - push {lr} - bl sub_8156530 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08156658 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815665C - .pool -_08156658: - adds r0, r2, 0x5 - str r0, [r3] -_0815665C: - pop {r0} - bx r0 - thumb_func_end sub_815661C - - thumb_func_start sub_8156660 -sub_8156660: @ 8156660 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r0, [r0] - ldrb r0, [r0, 0x13] - lsls r0, 24 - asrs r0, 24 - strh r0, [r1, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8156660 - - thumb_func_start sub_8156684 -sub_8156684: @ 8156684 - push {lr} - bl sub_8156660 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _081566C0 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081566C4 - .pool -_081566C0: - adds r0, r2, 0x5 - str r0, [r3] -_081566C4: - pop {r0} - bx r0 - thumb_func_end sub_8156684 - - thumb_func_start sub_81566C8 -sub_81566C8: @ 81566C8 - push {lr} - bl sub_8156660 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _08156704 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156708 - .pool -_08156704: - adds r0, r2, 0x5 - str r0, [r3] -_08156708: - pop {r0} - bx r0 - thumb_func_end sub_81566C8 - - thumb_func_start sub_815670C -sub_815670C: @ 815670C - push {lr} - bl sub_8156660 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08156748 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815674C - .pool -_08156748: - adds r0, r2, 0x5 - str r0, [r3] -_0815674C: - pop {r0} - bx r0 - thumb_func_end sub_815670C - - thumb_func_start sub_8156750 -sub_8156750: @ 8156750 - push {lr} - bl sub_8156660 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _0815678C - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156790 - .pool -_0815678C: - adds r0, r2, 0x5 - str r0, [r3] -_08156790: - pop {r0} - bx r0 - thumb_func_end sub_8156750 - - thumb_func_start sub_8156794 -sub_8156794: @ 8156794 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r0, [r0, 0x8] - adds r1, r2, 0 - adds r1, 0x41 - ldrb r1, [r1] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r2, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8156794 - - thumb_func_start sub_81567BC -sub_81567BC: @ 81567BC - push {lr} - bl sub_8156794 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _081567F8 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081567FC - .pool -_081567F8: - adds r0, r2, 0x5 - str r0, [r3] -_081567FC: - pop {r0} - bx r0 - thumb_func_end sub_81567BC - - thumb_func_start sub_8156800 -sub_8156800: @ 8156800 - push {lr} - bl sub_8156794 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _0815683C - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156840 - .pool -_0815683C: - adds r0, r2, 0x5 - str r0, [r3] -_08156840: - pop {r0} - bx r0 - thumb_func_end sub_8156800 - - thumb_func_start sub_8156844 -sub_8156844: @ 8156844 - push {lr} - bl sub_8156794 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08156880 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156884 - .pool -_08156880: - adds r0, r2, 0x5 - str r0, [r3] -_08156884: - pop {r0} - bx r0 - thumb_func_end sub_8156844 - - thumb_func_start sub_8156888 -sub_8156888: @ 8156888 - push {lr} - bl sub_8156794 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _081568C4 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081568C8 - .pool -_081568C4: - adds r0, r2, 0x5 - str r0, [r3] -_081568C8: - pop {r0} - bx r0 - thumb_func_end sub_8156888 - - thumb_func_start sub_81568CC -sub_81568CC: @ 81568CC - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r4, [r0, 0xC] - adds r1, r4, 0 - adds r1, 0x41 - ldrb r1, [r1] - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0xD] - lsls r0, 24 - asrs r0, 24 - movs r1, 0xA - bl __divsi3 - lsls r0, 24 - asrs r0, 24 - strh r0, [r4, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81568CC - - thumb_func_start sub_815690C -sub_815690C: @ 815690C - push {lr} - bl sub_81568CC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _08156948 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815694C - .pool -_08156948: - adds r0, r2, 0x5 - str r0, [r3] -_0815694C: - pop {r0} - bx r0 - thumb_func_end sub_815690C - - thumb_func_start sub_8156950 -sub_8156950: @ 8156950 - push {lr} - bl sub_81568CC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _0815698C - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156990 - .pool -_0815698C: - adds r0, r2, 0x5 - str r0, [r3] -_08156990: - pop {r0} - bx r0 - thumb_func_end sub_8156950 - - thumb_func_start sub_8156994 -sub_8156994: @ 8156994 - push {lr} - bl sub_81568CC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _081569D0 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081569D4 - .pool -_081569D0: - adds r0, r2, 0x5 - str r0, [r3] -_081569D4: - pop {r0} - bx r0 - thumb_func_end sub_8156994 - - thumb_func_start sub_81569D8 -sub_81569D8: @ 81569D8 - push {lr} - bl sub_81568CC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08156A14 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156A18 - .pool -_08156A14: - adds r0, r2, 0x5 - str r0, [r3] -_08156A18: - pop {r0} - bx r0 - thumb_func_end sub_81569D8 - - thumb_func_start sub_8156A1C -sub_8156A1C: @ 8156A1C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r3, [r0, 0xC] - adds r1, r3, 0 - adds r1, 0x41 - ldrb r1, [r1] - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x4] - strh r0, [r3, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8156A1C - - thumb_func_start sub_8156A48 -sub_8156A48: @ 8156A48 - push {r4,r5,lr} - bl sub_8156A1C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r5, 0x18 - ldrsh r0, [r2, r5] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - bge _08156A8C - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08156A90 - .pool -_08156A8C: - adds r0, r3, 0x6 - str r0, [r4] -_08156A90: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8156A48 - - thumb_func_start sub_8156A98 -sub_8156A98: @ 8156A98 - push {r4,r5,lr} - bl sub_8156A1C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r5, 0x18 - ldrsh r0, [r2, r5] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - ble _08156ADC - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08156AE0 - .pool -_08156ADC: - adds r0, r3, 0x6 - str r0, [r4] -_08156AE0: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8156A98 - - thumb_func_start sub_8156AE8 -sub_8156AE8: @ 8156AE8 - push {r4,r5,lr} - bl sub_8156A1C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r5, 0x18 - ldrsh r0, [r2, r5] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - bne _08156B2C - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08156B30 - .pool -_08156B2C: - adds r0, r3, 0x6 - str r0, [r4] -_08156B30: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8156AE8 - - thumb_func_start sub_8156B38 -sub_8156B38: @ 8156B38 - push {r4,r5,lr} - bl sub_8156A1C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r5, 0x18 - ldrsh r0, [r2, r5] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - beq _08156B7C - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08156B80 - .pool -_08156B7C: - adds r0, r3, 0x6 - str r0, [r4] -_08156B80: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8156B38 - - thumb_func_start sub_8156B88 -sub_8156B88: @ 8156B88 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r1, =gUnknown_02039F00 - adds r0, r2, 0 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8156B88 - - thumb_func_start sub_8156BB4 -sub_8156BB4: @ 8156BB4 - push {r4,r5,lr} - bl sub_8156B88 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r5, 0x18 - ldrsh r0, [r2, r5] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - bge _08156BF8 - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08156BFC - .pool -_08156BF8: - adds r0, r3, 0x6 - str r0, [r4] -_08156BFC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8156BB4 - - thumb_func_start sub_8156C04 -sub_8156C04: @ 8156C04 - push {r4,r5,lr} - bl sub_8156B88 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r5, 0x18 - ldrsh r0, [r2, r5] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - ble _08156C48 - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08156C4C - .pool -_08156C48: - adds r0, r3, 0x6 - str r0, [r4] -_08156C4C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8156C04 - - thumb_func_start sub_8156C54 -sub_8156C54: @ 8156C54 - push {r4,r5,lr} - bl sub_8156B88 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r5, 0x18 - ldrsh r0, [r2, r5] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - bne _08156C98 - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08156C9C - .pool -_08156C98: - adds r0, r3, 0x6 - str r0, [r4] -_08156C9C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8156C54 - - thumb_func_start sub_8156CA4 -sub_8156CA4: @ 8156CA4 - push {r4,r5,lr} - bl sub_8156B88 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r5, 0x18 - ldrsh r0, [r2, r5] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - beq _08156CE8 - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08156CEC - .pool -_08156CE8: - adds r0, r3, 0x6 - str r0, [r4] -_08156CEC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8156CA4 - - thumb_func_start sub_8156CF4 -sub_8156CF4: @ 8156CF4 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r0, =gSpecialVar_ContestCategory - ldrh r0, [r0] - strh r0, [r1, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8156CF4 - - thumb_func_start sub_8156D18 -sub_8156D18: @ 8156D18 - push {lr} - bl sub_8156CF4 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08156D54 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156D58 - .pool -_08156D54: - adds r0, r2, 0x5 - str r0, [r3] -_08156D58: - pop {r0} - bx r0 - thumb_func_end sub_8156D18 - - thumb_func_start sub_8156D5C -sub_8156D5C: @ 8156D5C - push {lr} - bl sub_8156CF4 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08156D98 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156D9C - .pool -_08156D98: - adds r0, r2, 0x5 - str r0, [r3] -_08156D9C: - pop {r0} - bx r0 - thumb_func_end sub_8156D5C - - thumb_func_start sub_8156DA0 -sub_8156DA0: @ 8156DA0 - push {r4,lr} - ldr r2, =gUnknown_02039E00 - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0, 0xC] - ldrb r1, [r0, 0x4] - lsls r1, 1 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - bl sub_80DD9F0 - ldr r1, [r4] - ldr r1, [r1, 0xC] - lsls r0, 24 - asrs r0, 24 - strh r0, [r1, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8156DA0 - - thumb_func_start sub_8156DE4 -sub_8156DE4: @ 8156DE4 - push {r4,lr} - bl sub_8156DA0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - movs r4, 0x18 - ldrsh r1, [r0, r4] - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r1, r0 - bge _08156E20 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156E24 - .pool -_08156E20: - adds r0, r2, 0x5 - str r0, [r3] -_08156E24: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8156DE4 - - thumb_func_start sub_8156E2C -sub_8156E2C: @ 8156E2C - push {r4,lr} - bl sub_8156DA0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - movs r4, 0x18 - ldrsh r1, [r0, r4] - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r1, r0 - ble _08156E68 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156E6C - .pool -_08156E68: - adds r0, r2, 0x5 - str r0, [r3] -_08156E6C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8156E2C - - thumb_func_start sub_8156E74 -sub_8156E74: @ 8156E74 - push {r4,lr} - bl sub_8156DA0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - movs r4, 0x18 - ldrsh r1, [r0, r4] - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r1, r0 - bne _08156EB0 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156EB4 - .pool -_08156EB0: - adds r0, r2, 0x5 - str r0, [r3] -_08156EB4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8156E74 - - thumb_func_start sub_8156EBC -sub_8156EBC: @ 8156EBC - push {r4,lr} - bl sub_8156DA0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - movs r4, 0x18 - ldrsh r1, [r0, r4] - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r1, r0 - beq _08156EF8 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156EFC - .pool -_08156EF8: - adds r0, r2, 0x5 - str r0, [r3] -_08156EFC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8156EBC - - thumb_func_start sub_8156F04 -sub_8156F04: @ 8156F04 - ldr r2, =gUnknown_02039E00 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r3, [r0, 0xC] - ldrb r1, [r3, 0x4] - lsls r1, 1 - adds r0, r3, 0 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0] - strh r0, [r3, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8156F04 - - thumb_func_start sub_8156F44 -sub_8156F44: @ 8156F44 - push {lr} - bl sub_8156F04 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08156F80 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156F84 - .pool -_08156F80: - adds r0, r2, 0x5 - str r0, [r3] -_08156F84: - pop {r0} - bx r0 - thumb_func_end sub_8156F44 - - thumb_func_start sub_8156F88 -sub_8156F88: @ 8156F88 - push {lr} - bl sub_8156F04 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08156FC4 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156FC8 - .pool -_08156FC4: - adds r0, r2, 0x5 - str r0, [r3] -_08156FC8: - pop {r0} - bx r0 - thumb_func_end sub_8156F88 - - thumb_func_start sub_8156FCC -sub_8156FCC: @ 8156FCC - ldr r2, =gUnknown_02039E00 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r3, [r0, 0xC] - ldrb r1, [r3, 0x4] - lsls r1, 1 - adds r0, r3, 0 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - ldr r2, =gContestEffects - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - strh r0, [r3, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8156FCC - - thumb_func_start sub_8157018 -sub_8157018: @ 8157018 - push {lr} - bl sub_8156FCC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08157054 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157058 - .pool -_08157054: - adds r0, r2, 0x5 - str r0, [r3] -_08157058: - pop {r0} - bx r0 - thumb_func_end sub_8157018 - - thumb_func_start sub_815705C -sub_815705C: @ 815705C - push {lr} - bl sub_8156FCC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08157098 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815709C - .pool -_08157098: - adds r0, r2, 0x5 - str r0, [r3] -_0815709C: - pop {r0} - bx r0 - thumb_func_end sub_815705C - - thumb_func_start sub_81570A0 -sub_81570A0: @ 81570A0 - push {r4-r7,lr} - ldr r2, =gUnknown_02039E00 - ldr r5, =gContestResources - ldr r0, [r5] - ldr r1, [r0, 0xC] - ldrb r0, [r1, 0x4] - lsls r0, 1 - adds r1, 0x41 - ldrb r1, [r1] - lsls r1, 6 - adds r0, r1 - adds r2, 0x1E - adds r0, r2 - ldrh r0, [r0] - ldr r3, =gContestEffects - ldr r4, =gContestMoves - lsls r0, 3 - adds r0, r4 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldrb r7, [r0, 0x1] - movs r6, 0 - ldr r0, =gAIScriptPtr - mov r12, r0 - adds r1, r2 -_081570D4: - ldrh r0, [r1] - cmp r0, 0 - beq _081570EA - lsls r0, 3 - adds r0, r4 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x1] - cmp r7, r0 - bcc _081570F2 -_081570EA: - adds r1, 0x2 - adds r6, 0x1 - cmp r6, 0x3 - ble _081570D4 -_081570F2: - cmp r6, 0x4 - bne _08157114 - ldr r0, [r5] - ldr r1, [r0, 0xC] - movs r0, 0x1 - b _0815711A - .pool -_08157114: - ldr r0, [r5] - ldr r1, [r0, 0xC] - movs r0, 0 -_0815711A: - strh r0, [r1, 0x18] - mov r1, r12 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81570A0 - - thumb_func_start sub_815712C -sub_815712C: @ 815712C - push {lr} - bl sub_81570A0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08157164 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815716C - .pool -_08157164: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_0815716C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_815712C - - thumb_func_start sub_8157174 -sub_8157174: @ 8157174 - push {r4-r7,lr} - ldr r2, =gUnknown_02039E00 - ldr r5, =gContestResources - ldr r0, [r5] - ldr r1, [r0, 0xC] - ldrb r0, [r1, 0x4] - lsls r0, 1 - adds r1, 0x41 - ldrb r1, [r1] - lsls r1, 6 - adds r0, r1 - adds r2, 0x1E - adds r0, r2 - ldrh r0, [r0] - ldr r3, =gContestEffects - ldr r4, =gContestMoves - lsls r0, 3 - adds r0, r4 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldrb r7, [r0, 0x2] - movs r6, 0 - ldr r0, =gAIScriptPtr - mov r12, r0 - adds r1, r2 -_081571A8: - ldrh r0, [r1] - cmp r0, 0 - beq _081571BE - lsls r0, 3 - adds r0, r4 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x2] - cmp r7, r0 - bcc _081571C6 -_081571BE: - adds r1, 0x2 - adds r6, 0x1 - cmp r6, 0x3 - ble _081571A8 -_081571C6: - cmp r6, 0x4 - bne _081571E8 - ldr r0, [r5] - ldr r1, [r0, 0xC] - movs r0, 0x1 - b _081571EE - .pool -_081571E8: - ldr r0, [r5] - ldr r1, [r0, 0xC] - movs r0, 0 -_081571EE: - strh r0, [r1, 0x18] - mov r1, r12 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8157174 - - thumb_func_start sub_8157200 -sub_8157200: @ 8157200 - push {lr} - bl sub_8157174 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08157238 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157240 - .pool -_08157238: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_08157240: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157200 - - thumb_func_start sub_8157248 -sub_8157248: @ 8157248 - push {r4,lr} - ldr r2, =gUnknown_02039E00 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r4, [r0, 0xC] - ldrb r1, [r4, 0x4] - lsls r1, 1 - adds r0, r4, 0 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - ldr r2, =gContestEffects - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157248 - - thumb_func_start sub_81572A4 -sub_81572A4: @ 81572A4 - push {lr} - bl sub_8157248 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _081572E0 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081572E4 - .pool -_081572E0: - adds r0, r2, 0x5 - str r0, [r3] -_081572E4: - pop {r0} - bx r0 - thumb_func_end sub_81572A4 - - thumb_func_start sub_81572E8 -sub_81572E8: @ 81572E8 - push {lr} - bl sub_8157248 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _08157324 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157328 - .pool -_08157324: - adds r0, r2, 0x5 - str r0, [r3] -_08157328: - pop {r0} - bx r0 - thumb_func_end sub_81572E8 - - thumb_func_start sub_815732C -sub_815732C: @ 815732C - push {lr} - bl sub_8157248 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08157368 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815736C - .pool -_08157368: - adds r0, r2, 0x5 - str r0, [r3] -_0815736C: - pop {r0} - bx r0 - thumb_func_end sub_815732C - - thumb_func_start sub_8157370 -sub_8157370: @ 8157370 - push {lr} - bl sub_8157248 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _081573AC - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081573B0 - .pool -_081573AC: - adds r0, r2, 0x5 - str r0, [r3] -_081573B0: - pop {r0} - bx r0 - thumb_func_end sub_8157370 - - thumb_func_start sub_81573B4 -sub_81573B4: @ 81573B4 - push {r4,lr} - ldr r2, =gUnknown_02039E00 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r4, [r0, 0xC] - ldrb r1, [r4, 0x4] - lsls r1, 1 - adds r0, r4, 0 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - ldr r2, =gContestEffects - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81573B4 - - thumb_func_start sub_8157410 -sub_8157410: @ 8157410 - push {lr} - bl sub_81573B4 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _0815744C - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157450 - .pool -_0815744C: - adds r0, r2, 0x5 - str r0, [r3] -_08157450: - pop {r0} - bx r0 - thumb_func_end sub_8157410 - - thumb_func_start sub_8157454 -sub_8157454: @ 8157454 - push {lr} - bl sub_81573B4 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _08157490 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157494 - .pool -_08157490: - adds r0, r2, 0x5 - str r0, [r3] -_08157494: - pop {r0} - bx r0 - thumb_func_end sub_8157454 - - thumb_func_start sub_8157498 -sub_8157498: @ 8157498 - push {lr} - bl sub_81573B4 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _081574D4 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081574D8 - .pool -_081574D4: - adds r0, r2, 0x5 - str r0, [r3] -_081574D8: - pop {r0} - bx r0 - thumb_func_end sub_8157498 - - thumb_func_start sub_81574DC -sub_81574DC: @ 81574DC - push {lr} - bl sub_81573B4 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08157518 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815751C - .pool -_08157518: - adds r0, r2, 0x5 - str r0, [r3] -_0815751C: - pop {r0} - bx r0 - thumb_func_end sub_81574DC - - thumb_func_start sub_8157520 -sub_8157520: @ 8157520 - push {r4,r5,lr} - ldr r3, =gUnknown_02039E00 - ldr r5, =gContestResources - ldr r4, [r5] - ldr r1, [r4, 0xC] - ldrb r0, [r1, 0x4] - lsls r0, 1 - adds r1, 0x41 - ldrb r2, [r1] - lsls r1, r2, 6 - adds r0, r1 - adds r3, 0x1E - adds r0, r3 - ldrh r3, [r0] - ldr r1, [r4, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0x8] - cmp r3, r1 - beq _08157558 - movs r1, 0 - b _08157560 - .pool -_08157558: - ldrb r0, [r0, 0xB] - lsls r0, 25 - lsrs r0, 29 - adds r1, r0, 0x1 -_08157560: - ldr r0, [r5] - ldr r0, [r0, 0xC] - strh r1, [r0, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157520 - - thumb_func_start sub_8157578 -sub_8157578: @ 8157578 - push {lr} - bl sub_8157520 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _081575B4 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081575B8 - .pool -_081575B4: - adds r0, r2, 0x5 - str r0, [r3] -_081575B8: - pop {r0} - bx r0 - thumb_func_end sub_8157578 - - thumb_func_start sub_81575BC -sub_81575BC: @ 81575BC - push {lr} - bl sub_8157520 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _081575F8 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081575FC - .pool -_081575F8: - adds r0, r2, 0x5 - str r0, [r3] -_081575FC: - pop {r0} - bx r0 - thumb_func_end sub_81575BC - - thumb_func_start sub_8157600 -sub_8157600: @ 8157600 - push {lr} - bl sub_8157520 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _0815763C - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157640 - .pool -_0815763C: - adds r0, r2, 0x5 - str r0, [r3] -_08157640: - pop {r0} - bx r0 - thumb_func_end sub_8157600 - - thumb_func_start sub_8157644 -sub_8157644: @ 8157644 - push {lr} - bl sub_8157520 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08157680 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157684 - .pool -_08157680: - adds r0, r2, 0x5 - str r0, [r3] -_08157684: - pop {r0} - bx r0 - thumb_func_end sub_8157644 - - thumb_func_start sub_8157688 -sub_8157688: @ 8157688 - push {r4-r6,lr} - movs r3, 0 - ldr r2, =gUnknown_02039E00 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - ldrb r1, [r0, 0x4] - lsls r1, 1 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r5, [r1] - movs r4, 0 - adds r6, r2, 0 -_081576AA: - lsls r1, r4, 1 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r1, r6 - ldrh r0, [r1] - cmp r0, 0 - beq _081576D2 - adds r1, r0, 0 - adds r0, r5, 0 - bl AreMovesContestCombo - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - bne _081576DC -_081576D2: - adds r4, 0x1 - cmp r4, 0x3 - ble _081576AA - cmp r3, 0 - beq _081576DE -_081576DC: - movs r3, 0x1 -_081576DE: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - strh r3, [r0, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157688 - - thumb_func_start sub_8157700 -sub_8157700: @ 8157700 - push {lr} - bl sub_8157688 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08157738 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157740 - .pool -_08157738: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157740: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157700 - - thumb_func_start sub_8157748 -sub_8157748: @ 8157748 - push {lr} - bl sub_8157688 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08157780 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157788 - .pool -_08157780: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157788: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157748 - - thumb_func_start sub_8157790 -sub_8157790: @ 8157790 - push {r4-r6,lr} - movs r3, 0 - ldr r2, =gUnknown_02039E00 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - ldrb r1, [r0, 0x4] - lsls r1, 1 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r5, [r1] - movs r4, 0 - adds r6, r2, 0 -_081577B2: - lsls r1, r4, 1 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r1, r6 - ldrh r0, [r1] - cmp r0, 0 - beq _081577D8 - adds r1, r5, 0 - bl AreMovesContestCombo - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - bne _081577E2 -_081577D8: - adds r4, 0x1 - cmp r4, 0x3 - ble _081577B2 - cmp r3, 0 - beq _081577E4 -_081577E2: - movs r3, 0x1 -_081577E4: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - strh r3, [r0, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157790 - - thumb_func_start sub_8157808 -sub_8157808: @ 8157808 - push {lr} - bl sub_8157790 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08157840 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157848 - .pool -_08157840: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157848: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157808 - - thumb_func_start sub_8157850 -sub_8157850: @ 8157850 - push {lr} - bl sub_8157790 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08157888 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157890 - .pool -_08157888: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157890: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157850 - - thumb_func_start sub_8157898 -sub_8157898: @ 8157898 - push {r4-r6,lr} - movs r5, 0 - ldr r3, =gUnknown_02039E00 - ldr r6, =gContestResources - ldr r4, [r6] - ldr r1, [r4, 0xC] - ldrb r0, [r1, 0x4] - lsls r0, 1 - adds r1, 0x41 - ldrb r2, [r1] - lsls r1, r2, 6 - adds r0, r1 - adds r3, 0x1E - adds r0, r3 - ldrh r3, [r0] - ldr r1, [r4, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x8] - cmp r0, 0 - beq _081578D0 - adds r1, r3, 0 - bl AreMovesContestCombo - lsls r0, 24 - lsrs r5, r0, 24 -_081578D0: - cmp r5, 0 - beq _081578D6 - movs r5, 0x1 -_081578D6: - ldr r0, [r6] - ldr r0, [r0, 0xC] - strh r5, [r0, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157898 - - thumb_func_start sub_81578F8 -sub_81578F8: @ 81578F8 - push {lr} - bl sub_8157898 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08157930 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157938 - .pool -_08157930: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157938: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81578F8 - - thumb_func_start sub_8157940 -sub_8157940: @ 8157940 - push {lr} - bl sub_8157898 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08157978 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157980 - .pool -_08157978: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157980: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157940 - - thumb_func_start sub_8157988 -sub_8157988: @ 8157988 - push {r4,r5,lr} - ldr r4, =gAIScriptPtr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r5, [r1, 0xC] - ldr r2, [r1, 0x4] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0xD - ldrsb r0, [r1, r0] - movs r1, 0xA - bl __divsi3 - lsls r0, 24 - asrs r0, 24 - strh r0, [r5, 0x18] - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157988 - - thumb_func_start sub_81579CC -sub_81579CC: @ 81579CC - push {lr} - bl sub_8157988 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _08157A08 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157A0C - .pool -_08157A08: - adds r0, r2, 0x5 - str r0, [r3] -_08157A0C: - pop {r0} - bx r0 - thumb_func_end sub_81579CC - - thumb_func_start sub_8157A10 -sub_8157A10: @ 8157A10 - push {lr} - bl sub_8157988 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _08157A4C - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157A50 - .pool -_08157A4C: - adds r0, r2, 0x5 - str r0, [r3] -_08157A50: - pop {r0} - bx r0 - thumb_func_end sub_8157A10 - - thumb_func_start sub_8157A54 -sub_8157A54: @ 8157A54 - push {lr} - bl sub_8157988 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08157A90 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157A94 - .pool -_08157A90: - adds r0, r2, 0x5 - str r0, [r3] -_08157A94: - pop {r0} - bx r0 - thumb_func_end sub_8157A54 - - thumb_func_start sub_8157A98 -sub_8157A98: @ 8157A98 - push {lr} - bl sub_8157988 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08157AD4 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157AD8 - .pool -_08157AD4: - adds r0, r2, 0x5 - str r0, [r3] -_08157AD8: - pop {r0} - bx r0 - thumb_func_end sub_8157A98 - - thumb_func_start sub_8157ADC -sub_8157ADC: @ 8157ADC - push {r4-r6,lr} - movs r6, 0 - ldr r5, =gAIScriptPtr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80DE1E8 - lsls r0, 24 - cmp r0, 0 - beq _08157B18 - ldr r2, =gContestMoves - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0x4] - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x8] - lsls r0, 3 - adds r0, r2 - ldrb r1, [r0, 0x2] - negs r0, r1 - orrs r0, r1 - lsrs r6, r0, 31 -_08157B18: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - strh r6, [r0, 0x18] - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157ADC - - thumb_func_start sub_8157B38 -sub_8157B38: @ 8157B38 - push {lr} - bl sub_8157ADC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _08157B74 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157B78 - .pool -_08157B74: - adds r0, r2, 0x5 - str r0, [r3] -_08157B78: - pop {r0} - bx r0 - thumb_func_end sub_8157B38 - - thumb_func_start sub_8157B7C -sub_8157B7C: @ 8157B7C - push {lr} - bl sub_8157ADC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _08157BB8 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157BBC - .pool -_08157BB8: - adds r0, r2, 0x5 - str r0, [r3] -_08157BBC: - pop {r0} - bx r0 - thumb_func_end sub_8157B7C - - thumb_func_start sub_8157BC0 -sub_8157BC0: @ 8157BC0 - push {lr} - bl sub_8157ADC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08157BFC - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157C00 - .pool -_08157BFC: - adds r0, r2, 0x5 - str r0, [r3] -_08157C00: - pop {r0} - bx r0 - thumb_func_end sub_8157BC0 - - thumb_func_start sub_8157C04 -sub_8157C04: @ 8157C04 - push {lr} - bl sub_8157ADC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08157C40 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157C44 - .pool -_08157C40: - adds r0, r2, 0x5 - str r0, [r3] -_08157C44: - pop {r0} - bx r0 - thumb_func_end sub_8157C04 - - thumb_func_start sub_8157C48 -sub_8157C48: @ 8157C48 - push {lr} - ldr r0, =gAIScriptPtr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - lsrs r0, 24 - bl sub_80DBCA8 - lsls r0, 24 - cmp r0, 0 - beq _08157C74 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - movs r0, 0 - b _08157C7C - .pool -_08157C74: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - movs r0, 0x1 -_08157C7C: - strh r0, [r1, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157C48 - - thumb_func_start sub_8157C94 -sub_8157C94: @ 8157C94 - push {lr} - bl sub_8157C48 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08157CCC - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157CD4 - .pool -_08157CCC: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157CD4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157C94 - - thumb_func_start sub_8157CDC -sub_8157CDC: @ 8157CDC - push {lr} - bl sub_8157C48 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08157D14 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157D1C - .pool -_08157D14: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157D1C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157CDC - - thumb_func_start sub_8157D24 -sub_8157D24: @ 8157D24 - push {r4,lr} - ldr r4, =gAIScriptPtr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r3, [r1, 0xC] - ldr r2, [r1, 0x4] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x15] - lsls r0, 28 - lsrs r0, 31 - strh r0, [r3, 0x18] - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157D24 - - thumb_func_start sub_8157D60 -sub_8157D60: @ 8157D60 - push {lr} - bl sub_8157D24 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08157D98 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157DA0 - .pool -_08157D98: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157DA0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157D60 - - thumb_func_start sub_8157DA8 -sub_8157DA8: @ 8157DA8 - push {lr} - bl sub_8157D24 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08157DE0 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157DE8 - .pool -_08157DE0: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157DE8: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157DA8 - - thumb_func_start sub_8157DF0 -sub_8157DF0: @ 8157DF0 - push {r4,r5,lr} - ldr r4, =gAIScriptPtr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r5, [r1, 0xC] - ldr r3, [r1, 0x4] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r3 - adds r0, r5, 0 - adds r0, 0x41 - ldrb r2, [r0] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r1, 0x4] - ldrh r0, [r0, 0x4] - subs r1, r0 - strh r1, [r5, 0x18] - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157DF0 - - thumb_func_start sub_8157E3C -sub_8157E3C: @ 8157E3C - push {lr} - bl sub_8157DF0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _08157E74 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157E7C - .pool -_08157E74: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157E7C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157E3C - - thumb_func_start sub_8157E84 -sub_8157E84: @ 8157E84 - push {lr} - bl sub_8157DF0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - ble _08157EBC - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157EC4 - .pool -_08157EBC: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157EC4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157E84 - - thumb_func_start sub_8157ECC -sub_8157ECC: @ 8157ECC - push {lr} - bl sub_8157DF0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08157F04 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157F0C - .pool -_08157F04: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157F0C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157ECC - - thumb_func_start sub_8157F14 -sub_8157F14: @ 8157F14 - push {lr} - bl sub_8157DF0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08157F4C - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157F54 - .pool -_08157F4C: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157F54: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157F14 - - thumb_func_start sub_8157F5C -sub_8157F5C: @ 8157F5C - push {r4,lr} - ldr r4, =gAIScriptPtr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r3, [r1, 0xC] - ldr r2, =gUnknown_02039F00 - lsrs r0, 23 - adds r0, r2 - adds r1, r3, 0 - adds r1, 0x41 - ldrb r1, [r1] - lsls r1, 1 - adds r1, r2 - ldrh r0, [r0] - ldrh r1, [r1] - subs r0, r1 - strh r0, [r3, 0x18] - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157F5C - - thumb_func_start sub_8157FA0 -sub_8157FA0: @ 8157FA0 - push {lr} - bl sub_8157F5C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _08157FD8 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157FE0 - .pool -_08157FD8: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157FE0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157FA0 - - thumb_func_start sub_8157FE8 -sub_8157FE8: @ 8157FE8 - push {lr} - bl sub_8157F5C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - ble _08158020 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158028 - .pool -_08158020: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08158028: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157FE8 - - thumb_func_start sub_8158030 -sub_8158030: @ 8158030 - push {lr} - bl sub_8157F5C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08158068 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158070 - .pool -_08158068: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08158070: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158030 - - thumb_func_start sub_8158078 -sub_8158078: @ 8158078 - push {lr} - bl sub_8157F5C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _081580B0 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081580B8 - .pool -_081580B0: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_081580B8: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158078 - - thumb_func_start sub_81580C0 -sub_81580C0: @ 81580C0 - push {r4,r5,lr} - ldr r5, =gAIScriptPtr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - ldr r3, [r5] - ldrb r2, [r3, 0x2] - ldr r1, =gContestResources - ldr r4, [r1] - ldr r1, [r4] - lsrs r0, 23 - lsls r2, 3 - adds r0, r2 - adds r1, 0x1C - adds r1, r0 - ldrh r0, [r1] - ldr r2, [r4, 0xC] - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0] - strh r0, [r2, 0x18] - adds r3, 0x3 - str r3, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81580C0 - - thumb_func_start sub_8158108 -sub_8158108: @ 8158108 - push {lr} - bl sub_81580C0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _08158144 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158148 - .pool -_08158144: - adds r0, r2, 0x5 - str r0, [r3] -_08158148: - pop {r0} - bx r0 - thumb_func_end sub_8158108 - - thumb_func_start sub_815814C -sub_815814C: @ 815814C - push {lr} - bl sub_81580C0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _08158188 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815818C - .pool -_08158188: - adds r0, r2, 0x5 - str r0, [r3] -_0815818C: - pop {r0} - bx r0 - thumb_func_end sub_815814C - - thumb_func_start sub_8158190 -sub_8158190: @ 8158190 - push {lr} - bl sub_81580C0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _081581CC - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081581D0 - .pool -_081581CC: - adds r0, r2, 0x5 - str r0, [r3] -_081581D0: - pop {r0} - bx r0 - thumb_func_end sub_8158190 - - thumb_func_start sub_81581D4 -sub_81581D4: @ 81581D4 - push {lr} - bl sub_81580C0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08158210 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158214 - .pool -_08158210: - adds r0, r2, 0x5 - str r0, [r3] -_08158214: - pop {r0} - bx r0 - thumb_func_end sub_81581D4 - - thumb_func_start sub_8158218 -sub_8158218: @ 8158218 - push {r4,r5,lr} - ldr r5, =gAIScriptPtr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - lsrs r0, 24 - ldr r3, [r5] - ldrb r2, [r3, 0x2] - ldr r1, =gContestResources - ldr r4, [r1] - ldr r1, [r4] - lsls r2, 2 - adds r0, r2 - adds r1, 0x44 - adds r1, r0 - ldr r2, [r4, 0xC] - movs r0, 0 - ldrsb r0, [r1, r0] - strh r0, [r2, 0x18] - adds r3, 0x3 - str r3, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158218 - - thumb_func_start sub_8158254 -sub_8158254: @ 8158254 - push {lr} - bl sub_8158218 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _08158290 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158294 - .pool -_08158290: - adds r0, r2, 0x5 - str r0, [r3] -_08158294: - pop {r0} - bx r0 - thumb_func_end sub_8158254 - - thumb_func_start sub_8158298 -sub_8158298: @ 8158298 - push {lr} - bl sub_8158218 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _081582D4 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081582D8 - .pool -_081582D4: - adds r0, r2, 0x5 - str r0, [r3] -_081582D8: - pop {r0} - bx r0 - thumb_func_end sub_8158298 - - thumb_func_start sub_81582DC -sub_81582DC: @ 81582DC - push {lr} - bl sub_8158218 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08158318 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815831C - .pool -_08158318: - adds r0, r2, 0x5 - str r0, [r3] -_0815831C: - pop {r0} - bx r0 - thumb_func_end sub_81582DC - - thumb_func_start sub_8158320 -sub_8158320: @ 8158320 - push {lr} - bl sub_8158218 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _0815835C - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158360 - .pool -_0815835C: - adds r0, r2, 0x5 - str r0, [r3] -_08158360: - pop {r0} - bx r0 - thumb_func_end sub_8158320 - - thumb_func_start sub_8158364 -sub_8158364: @ 8158364 - push {r4,r5,lr} - ldr r5, =gAIScriptPtr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - ldr r3, [r5] - ldrb r2, [r3, 0x2] - ldr r1, =gContestResources - ldr r4, [r1] - ldr r1, [r4] - lsrs r0, 23 - lsls r2, 3 - adds r0, r2 - adds r1, 0x1C - adds r1, r0 - ldrh r0, [r1] - ldr r4, [r4, 0xC] - ldr r2, =gContestEffects - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - strh r0, [r4, 0x18] - adds r3, 0x3 - str r3, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158364 - - thumb_func_start sub_81583B8 -sub_81583B8: @ 81583B8 - push {lr} - bl sub_8158364 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _081583F4 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081583F8 - .pool -_081583F4: - adds r0, r2, 0x5 - str r0, [r3] -_081583F8: - pop {r0} - bx r0 - thumb_func_end sub_81583B8 - - thumb_func_start sub_81583FC -sub_81583FC: @ 81583FC - push {lr} - bl sub_8158364 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08158438 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815843C - .pool -_08158438: - adds r0, r2, 0x5 - str r0, [r3] -_0815843C: - pop {r0} - bx r0 - thumb_func_end sub_81583FC - - thumb_func_start sub_8158440 -sub_8158440: @ 8158440 - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r3, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r2, [r4] - ldrb r0, [r2, 0x1] - lsls r0, 1 - adds r1, r3, 0 - adds r1, 0x1A - adds r1, r0 - ldrh r0, [r3, 0x18] - strh r0, [r1] - adds r2, 0x2 - str r2, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158440 - - thumb_func_start sub_815846C -sub_815846C: @ 815846C - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r3, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r2, [r4] - ldrb r0, [r2, 0x1] - lsls r0, 1 - adds r3, 0x1A - adds r3, r0 - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - strh r1, [r3] - adds r2, 0x4 - str r2, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815846C - - thumb_func_start sub_815849C -sub_815849C: @ 815849C - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r0, [r3, 0x1] - lsls r0, 1 - adds r2, 0x1A - adds r2, r0 - movs r1, 0x2 - ldrsb r1, [r3, r1] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrh r0, [r2] - adds r1, r0 - strh r1, [r2] - adds r3, 0x4 - str r3, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815849C - - thumb_func_start sub_81584D4 -sub_81584D4: @ 81584D4 - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3, 0x1] - lsls r1, 1 - adds r2, 0x1A - adds r1, r2, r1 - ldrb r0, [r3, 0x2] - lsls r0, 1 - adds r2, r0 - ldrh r0, [r2] - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] - adds r3, 0x3 - str r3, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81584D4 - - thumb_func_start sub_8158508 -sub_8158508: @ 8158508 - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3, 0x1] - lsls r1, 1 - adds r2, 0x1A - adds r1, r2, r1 - ldrb r0, [r3, 0x2] - lsls r0, 1 - adds r2, r0 - ldrh r0, [r2] - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] - adds r3, 0x3 - str r3, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158508 - - thumb_func_start sub_815853C -sub_815853C: @ 815853C - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r0, [r3, 0x1] - lsls r0, 1 - adds r1, 0x1A - adds r1, r0 - movs r0, 0 - ldrsh r2, [r1, r0] - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - cmp r2, r1 - bge _08158580 - ldrb r1, [r3, 0x4] - ldrb r0, [r3, 0x5] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x7] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08158586 - .pool -_08158580: - adds r0, r3, 0 - adds r0, 0x8 - str r0, [r4] -_08158586: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_815853C - - thumb_func_start sub_815858C -sub_815858C: @ 815858C - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r0, [r3, 0x1] - lsls r0, 1 - adds r1, 0x1A - adds r1, r0 - movs r0, 0 - ldrsh r2, [r1, r0] - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - cmp r2, r1 - ble _081585D0 - ldrb r1, [r3, 0x4] - ldrb r0, [r3, 0x5] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x7] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _081585D6 - .pool -_081585D0: - adds r0, r3, 0 - adds r0, 0x8 - str r0, [r4] -_081585D6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_815858C - - thumb_func_start sub_81585DC -sub_81585DC: @ 81585DC - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r0, [r3, 0x1] - lsls r0, 1 - adds r1, 0x1A - adds r1, r0 - movs r0, 0 - ldrsh r2, [r1, r0] - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - cmp r2, r1 - bne _08158620 - ldrb r1, [r3, 0x4] - ldrb r0, [r3, 0x5] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x7] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08158626 - .pool -_08158620: - adds r0, r3, 0 - adds r0, 0x8 - str r0, [r4] -_08158626: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81585DC - - thumb_func_start sub_815862C -sub_815862C: @ 815862C - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r0, [r3, 0x1] - lsls r0, 1 - adds r1, 0x1A - adds r1, r0 - movs r0, 0 - ldrsh r2, [r1, r0] - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - cmp r2, r1 - beq _08158670 - ldrb r1, [r3, 0x4] - ldrb r0, [r3, 0x5] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x7] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08158676 - .pool -_08158670: - adds r0, r3, 0 - adds r0, 0x8 - str r0, [r4] -_08158676: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_815862C - - thumb_func_start sub_815867C -sub_815867C: @ 815867C - push {r4,r5,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3, 0x1] - lsls r1, 1 - adds r2, 0x1A - adds r1, r2, r1 - ldrb r0, [r3, 0x2] - lsls r0, 1 - adds r2, r0 - movs r0, 0 - ldrsh r1, [r1, r0] - movs r5, 0 - ldrsh r0, [r2, r5] - cmp r1, r0 - bge _081586C4 - ldrb r1, [r3, 0x3] - ldrb r0, [r3, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _081586C8 - .pool -_081586C4: - adds r0, r3, 0x7 - str r0, [r4] -_081586C8: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_815867C - - thumb_func_start sub_81586D0 -sub_81586D0: @ 81586D0 - push {r4,r5,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3, 0x1] - lsls r1, 1 - adds r2, 0x1A - adds r1, r2, r1 - ldrb r0, [r3, 0x2] - lsls r0, 1 - adds r2, r0 - movs r0, 0 - ldrsh r1, [r1, r0] - movs r5, 0 - ldrsh r0, [r2, r5] - cmp r1, r0 - ble _08158718 - ldrb r1, [r3, 0x3] - ldrb r0, [r3, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _0815871C - .pool -_08158718: - adds r0, r3, 0x7 - str r0, [r4] -_0815871C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81586D0 - - thumb_func_start sub_8158724 -sub_8158724: @ 8158724 - push {r4,r5,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3, 0x1] - lsls r1, 1 - adds r2, 0x1A - adds r1, r2, r1 - ldrb r0, [r3, 0x2] - lsls r0, 1 - adds r2, r0 - movs r0, 0 - ldrsh r1, [r1, r0] - movs r5, 0 - ldrsh r0, [r2, r5] - cmp r1, r0 - bne _0815876C - ldrb r1, [r3, 0x3] - ldrb r0, [r3, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08158770 - .pool -_0815876C: - adds r0, r3, 0x7 - str r0, [r4] -_08158770: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8158724 - - thumb_func_start sub_8158778 -sub_8158778: @ 8158778 - push {r4,r5,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3, 0x1] - lsls r1, 1 - adds r2, 0x1A - adds r1, r2, r1 - ldrb r0, [r3, 0x2] - lsls r0, 1 - adds r2, r0 - movs r0, 0 - ldrsh r1, [r1, r0] - movs r5, 0 - ldrsh r0, [r2, r5] - cmp r1, r0 - beq _081587C0 - ldrb r1, [r3, 0x3] - ldrb r0, [r3, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _081587C4 - .pool -_081587C0: - adds r0, r3, 0x7 - str r0, [r4] -_081587C4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8158778 - - thumb_func_start sub_81587CC -sub_81587CC: @ 81587CC - push {r4,r5,lr} - bl Random - movs r2, 0xFF - ands r2, r0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r0, [r3, 0x1] - lsls r0, 1 - adds r1, 0x1A - adds r1, r0 - movs r5, 0 - ldrsh r0, [r1, r5] - cmp r2, r0 - bge _08158810 - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08158814 - .pool -_08158810: - adds r0, r3, 0x6 - str r0, [r4] -_08158814: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81587CC - - thumb_func_start sub_815881C -sub_815881C: @ 815881C - push {r4,r5,lr} - bl Random - movs r2, 0xFF - ands r2, r0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r0, [r3, 0x1] - lsls r0, 1 - adds r1, 0x1A - adds r1, r0 - movs r5, 0 - ldrsh r0, [r1, r5] - cmp r2, r0 - ble _08158860 - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08158864 - .pool -_08158860: - adds r0, r3, 0x6 - str r0, [r4] -_08158864: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_815881C - - thumb_func_start sub_815886C -sub_815886C: @ 815886C - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - bx lr - .pool - thumb_func_end sub_815886C - - thumb_func_start dp15_call -dp15_call: @ 815888C - push {r4,lr} - ldr r4, =gAIScriptPtr - ldr r0, [r4] - adds r0, 0x5 - bl sub_81588E0 - ldr r2, [r4] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end dp15_call - - thumb_func_start sub_81588BC -sub_81588BC: @ 81588BC - push {lr} - bl sub_8158908 - lsls r0, 24 - cmp r0, 0 - bne _081588D6 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldrb r1, [r2, 0x9] - movs r0, 0x1 - orrs r0, r1 - strb r0, [r2, 0x9] -_081588D6: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81588BC - - thumb_func_start sub_81588E0 -sub_81588E0: @ 81588E0 - push {r4,lr} - ldr r1, =gContestResources - ldr r1, [r1] - ldr r3, [r1, 0xC] - adds r4, r3, 0 - adds r4, 0x40 - ldrb r1, [r4] - adds r2, r1, 0x1 - strb r2, [r4] - lsls r1, 24 - lsrs r1, 22 - adds r3, 0x20 - adds r3, r1 - str r0, [r3] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81588E0 - - thumb_func_start sub_8158908 -sub_8158908: @ 8158908 - push {lr} - ldr r3, =gContestResources - ldr r0, [r3] - ldr r0, [r0, 0xC] - adds r1, r0, 0 - adds r1, 0x40 - ldrb r0, [r1] - cmp r0, 0 - bne _08158924 - movs r0, 0 - b _08158940 - .pool -_08158924: - subs r0, 0x1 - strb r0, [r1] - ldr r2, =gAIScriptPtr - ldr r0, [r3] - ldr r1, [r0, 0xC] - adds r0, r1, 0 - adds r0, 0x40 - ldrb r0, [r0] - lsls r0, 2 - adds r1, 0x20 - adds r1, r0 - ldr r0, [r1] - str r0, [r2] - movs r0, 0x1 -_08158940: - pop {r1} - bx r1 - .pool - thumb_func_end sub_8158908 - - thumb_func_start sub_8158948 -sub_8158948: @ 8158948 - push {r4-r6,lr} - movs r5, 0 - movs r4, 0 - ldr r6, =gUnknown_02039E00 + 30 -_08158950: - lsls r1, r4, 1 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r1, r6 - ldrh r0, [r1] - cmp r0, 0 - beq _08158980 - bl sub_80DD9F0 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _08158980 - movs r5, 0x1 - b _08158986 - .pool -_08158980: - adds r4, 0x1 - cmp r4, 0x3 - ble _08158950 -_08158986: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - strh r5, [r0, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158948 - - thumb_func_start sub_81589A4 -sub_81589A4: @ 81589A4 - push {lr} - bl sub_8158948 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _081589DC - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081589E4 - .pool -_081589DC: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_081589E4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81589A4 - - thumb_func_start sub_81589EC -sub_81589EC: @ 81589EC - push {lr} - bl sub_8158948 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08158A24 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158A2C - .pool -_08158A24: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08158A2C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81589EC - - thumb_func_start sub_8158A34 -sub_8158A34: @ 8158A34 - push {r4-r6,lr} - movs r6, 0 - ldr r3, =gAIScriptPtr - ldr r0, [r3] - ldrb r5, [r0, 0x1] - ldrb r0, [r0, 0x2] - lsls r0, 8 - orrs r5, r0 - movs r4, 0 - ldr r0, =gUnknown_02039E00 - mov r12, r0 - ldr r2, =gContestResources - ldr r0, [r2] - ldr r0, [r0, 0xC] - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - mov r1, r12 - adds r1, 0x1E - adds r0, r1 - ldrh r0, [r0] - b _08158A88 - .pool -_08158A6C: - adds r4, 0x1 - cmp r4, 0x3 - bgt _08158A8E - lsls r1, r4, 1 - ldr r0, [r2] - ldr r0, [r0, 0xC] - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - mov r0, r12 - adds r0, 0x1E - adds r1, r0 - ldrh r0, [r1] -_08158A88: - cmp r0, r5 - bne _08158A6C - movs r6, 0x1 -_08158A8E: - ldr r0, [r2] - ldr r0, [r0, 0xC] - strh r6, [r0, 0x18] - ldr r0, [r3] - adds r0, 0x3 - str r0, [r3] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8158A34 - - thumb_func_start sub_8158AA0 -sub_8158AA0: @ 8158AA0 - push {lr} - bl sub_8158A34 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08158AD8 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158AE0 - .pool -_08158AD8: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08158AE0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158AA0 - - thumb_func_start sub_8158AE8 -sub_8158AE8: @ 8158AE8 - push {lr} - bl sub_8158A34 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08158B20 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158B28 - .pool -_08158B20: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08158B28: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158AE8 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/contest_effect.s b/asm/contest_effect.s deleted file mode 100644 index 65a720a65..000000000 --- a/asm/contest_effect.s +++ /dev/null @@ -1,3175 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start AreMovesContestCombo -@ u8 AreMovesContestCombo(u16 moveId1, u16 moveId2) -AreMovesContestCombo: @ 80E5414 - push {r4,lr} - sub sp, 0x4 - lsls r0, 16 - lsls r1, 16 - ldr r2, =gContestMoves - lsrs r0, 13 - adds r0, r2 - ldrb r4, [r0, 0x2] - mov r3, sp - lsrs r1, 13 - adds r1, r2 - ldrb r0, [r1, 0x3] - strb r0, [r3] - mov r2, sp - ldrb r0, [r1, 0x4] - strb r0, [r2, 0x1] - ldrb r0, [r1, 0x5] - strb r0, [r2, 0x2] - mov r0, sp - ldrb r1, [r1, 0x6] - strb r1, [r0, 0x3] - cmp r4, 0 - beq _080E5470 - mov r0, sp - ldrb r0, [r0] - cmp r4, r0 - beq _080E545E - mov r0, sp - ldrb r0, [r0, 0x1] - cmp r4, r0 - beq _080E545E - mov r0, sp - ldrb r0, [r0, 0x2] - cmp r4, r0 - beq _080E545E - cmp r4, r1 - bne _080E5470 -_080E545E: - ldr r0, =gComboStarterLookupTable - adds r0, r4, r0 - ldrb r0, [r0] - b _080E5472 - .pool -_080E5470: - movs r0, 0 -_080E5472: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end AreMovesContestCombo - - thumb_func_start ContestEffectFunc_080E547C -ContestEffectFunc_080E547C: @ 80E547C - bx lr - thumb_func_end ContestEffectFunc_080E547C - - thumb_func_start ContestEffectFunc_080E5480 -ContestEffectFunc_080E5480: @ 80E5480 - push {lr} - ldr r3, =gContestResources - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x10] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x10] - ldr r0, [r3] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5480 - - thumb_func_start ContestEffectFunc_080E54B0 -ContestEffectFunc_080E54B0: @ 80E54B0 - push {lr} - ldr r3, =gContestResources - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x11] - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x11] - ldr r0, [r3] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E54B0 - - thumb_func_start ContestEffectFunc_080E54E0 -ContestEffectFunc_080E54E0: @ 80E54E0 - ldr r3, =gContestResources - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x10] - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x10] - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - ldr r2, [r1, 0x4] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1, 0x15] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x15] - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - ldr r2, [r1, 0x4] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1, 0xB] - movs r0, 0x71 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0xB] - bx lr - .pool - thumb_func_end ContestEffectFunc_080E54E0 - - thumb_func_start ContestEffectFunc_080E5534 -ContestEffectFunc_080E5534: @ 80E5534 - push {lr} - ldr r3, =gContestResources - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0, 0x12] - ldr r0, [r3] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x2 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5534 - - thumb_func_start ContestEffectFunc_080E5560 -ContestEffectFunc_080E5560: @ 80E5560 - push {lr} - ldr r3, =gContestResources - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x10] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0, 0x10] - ldr r0, [r3] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x3 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5560 - - thumb_func_start ContestEffectFunc_080E5590 -ContestEffectFunc_080E5590: @ 80E5590 - push {lr} - ldr r3, =gContestResources - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - movs r1, 0x14 - strb r1, [r0, 0xF] - ldr r0, [r3] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x4 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5590 - - thumb_func_start ContestEffectFunc_080E55BC -ContestEffectFunc_080E55BC: @ 80E55BC - push {lr} - ldr r3, =gContestResources - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x10] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x10] - ldr r0, [r3] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x5 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E55BC - - thumb_func_start ContestEffectFunc_080E55EC -ContestEffectFunc_080E55EC: @ 80E55EC - push {r4,r5,lr} - movs r2, 0 - ldr r5, =gContestResources - ldr r0, [r5] - ldr r1, [r0, 0x8] - ldrb r4, [r1, 0x11] - adds r3, r1, r4 - ldrb r0, [r3] - cmp r0, 0 - beq _080E563A - subs r0, 0x1 - ldrb r1, [r1] - cmp r0, r1 - beq _080E5622 - adds r3, r5, 0 -_080E560A: - adds r2, 0x1 - cmp r2, 0x3 - bgt _080E5622 - ldr r0, [r3] - ldr r1, [r0, 0x8] - adds r0, r1, r4 - ldrb r0, [r0] - subs r0, 0x1 - adds r1, r2 - ldrb r1, [r1] - cmp r0, r1 - bne _080E560A -_080E5622: - ldr r1, =gContestResources - ldr r0, [r1] - ldr r0, [r0, 0x8] - strb r2, [r0, 0x8] - ldr r0, [r1] - ldr r1, [r0, 0x8] - movs r0, 0xFF - strb r0, [r1, 0x9] - bl sub_80E6A2C - lsls r0, 24 - lsrs r2, r0, 24 -_080E563A: - cmp r2, 0 - bne _080E564C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E564C: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E55EC - - thumb_func_start ContestEffectFunc_080E5664 -ContestEffectFunc_080E5664: @ 80E5664 - push {r4-r6,lr} - movs r1, 0 - ldr r2, =gContestResources - ldr r0, [r2] - ldr r0, [r0, 0x8] - ldrb r5, [r0, 0x11] - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0 - beq _080E56B4 - movs r3, 0 - movs r4, 0 - adds r6, r2, 0 -_080E567E: - ldr r0, [r6] - ldr r2, [r0, 0x8] - adds r0, r2, r5 - adds r1, r2, r3 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080E5698 - adds r0, r2, 0 - adds r0, 0x8 - adds r0, r4 - strb r3, [r0] - adds r4, 0x1 -_080E5698: - adds r3, 0x1 - cmp r3, 0x3 - ble _080E567E - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - adds r0, 0x8 - adds r0, r4 - movs r1, 0xFF - strb r1, [r0] - bl sub_80E6A2C - lsls r0, 24 - lsrs r1, r0, 24 -_080E56B4: - cmp r1, 0 - bne _080E56C6 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E56C6: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5664 - - thumb_func_start ContestEffectFunc_080E56E0 -ContestEffectFunc_080E56E0: @ 80E56E0 - push {lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x14 - cmp r0, 0x1 - bls _080E5702 - movs r1, 0x3C - cmp r0, 0x7 - bhi _080E5702 - movs r1, 0x28 -_080E5702: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - strh r1, [r0, 0x4] - bl ContestEffectFunc_080E55EC - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E56E0 - - thumb_func_start ContestEffectFunc_080E5718 -ContestEffectFunc_080E5718: @ 80E5718 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r7, 0 - ldr r1, =gContestResources - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r5, [r0, 0x11] - adds r0, r5 - ldrb r0, [r0] - mov r8, r1 - cmp r0, 0 - beq _080E579E - movs r4, 0 - mov r6, r8 -_080E5736: - ldr r0, [r6] - ldr r2, [r0, 0x8] - adds r0, r2, r5 - adds r1, r2, r4 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080E5798 - strb r4, [r2, 0x8] - ldr r0, [r6] - ldr r1, [r0, 0x8] - movs r0, 0xFF - strb r0, [r1, 0x9] - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - cmp r0, 0 - beq _080E5782 - movs r1, 0xA - cmp r0, 0x2 - bls _080E5782 - movs r1, 0x14 - cmp r0, 0x4 - bls _080E5782 - movs r1, 0x1E - cmp r0, 0x6 - bls _080E5782 - movs r1, 0x3C - cmp r0, 0x8 - bhi _080E5782 - movs r1, 0x28 -_080E5782: - ldr r0, [r6] - ldr r0, [r0, 0x8] - strh r1, [r0, 0x4] - bl sub_80E6A2C - lsls r0, 24 - cmp r0, 0 - beq _080E5798 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_080E5798: - adds r4, 0x1 - cmp r4, 0x3 - ble _080E5736 -_080E579E: - mov r1, r8 - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - cmp r7, 0 - bne _080E57BE - mov r1, r8 - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E57BE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5718 - - thumb_func_start ContestEffectFunc_080E57CC -ContestEffectFunc_080E57CC: @ 80E57CC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r0, 0 - mov r9, r0 - ldr r1, =gContestResources - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r2, [r0, 0x11] - mov r8, r2 - add r0, r8 - ldrb r0, [r0] - mov r10, r1 - cmp r0, 0 - beq _080E5858 - movs r6, 0 - mov r7, r10 - movs r5, 0 -_080E57F4: - ldr r2, [r7] - ldr r0, [r2, 0x8] - mov r3, r8 - adds r1, r0, r3 - adds r0, r6 - ldrb r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bls _080E5850 - ldr r0, [r2, 0x4] - adds r0, r5, r0 - ldrb r1, [r0, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080E5850 - lsls r0, r6, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80E69C8 - lsls r0, 24 - cmp r0, 0 - beq _080E5850 - ldr r0, [r7] - ldr r2, [r0, 0x4] - adds r2, r5, r2 - ldrb r0, [r2, 0x15] - movs r3, 0x11 - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - strb r0, [r2, 0x15] - ldr r0, [r7] - ldr r2, [r0, 0x4] - adds r2, r5, r2 - ldrb r0, [r2, 0x15] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2, 0x15] - adds r0, r4, 0 - movs r1, 0x8 - bl sub_80DD3D4 - movs r0, 0x1 - mov r9, r0 -_080E5850: - adds r5, 0x1C - adds r6, 0x1 - cmp r6, 0x3 - ble _080E57F4 -_080E5858: - mov r1, r10 - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x7 - bl sub_80DD3D4 - mov r2, r9 - cmp r2, 0 - bne _080E587A - mov r3, r10 - ldr r0, [r3] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E587A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E57CC - - thumb_func_start ContestEffectFunc_080E588C -ContestEffectFunc_080E588C: @ 80E588C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r0, 0 - mov r9, r0 - ldr r1, =gContestResources - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r7, [r0, 0x11] - adds r0, r7 - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0 - beq _080E590A - movs r5, 0 - movs r6, 0 - mov r8, r4 -_080E58B0: - ldr r3, [r4] - ldr r2, [r3, 0x8] - adds r0, r2, r7 - adds r1, r2, r5 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080E5900 - ldr r0, [r3, 0x4] - adds r0, r6, r0 - ldrb r1, [r0, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080E58D8 - movs r0, 0x32 - b _080E58DA - .pool -_080E58D8: - movs r0, 0xA -_080E58DA: - strh r0, [r2, 0x4] - mov r1, r8 - ldr r0, [r1] - ldr r0, [r0, 0x8] - strb r5, [r0, 0x8] - ldr r0, [r1] - ldr r1, [r0, 0x8] - movs r0, 0xFF - strb r0, [r1, 0x9] - bl sub_80E6A2C - lsls r0, 24 - cmp r0, 0 - beq _080E5900 - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_080E5900: - adds r6, 0x1C - adds r5, 0x1 - ldr r4, =gContestResources - cmp r5, 0x3 - ble _080E58B0 -_080E590A: - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - mov r0, r9 - cmp r0, 0 - bne _080E5928 - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E5928: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E588C - - thumb_func_start ContestEffectFunc_080E5938 -ContestEffectFunc_080E5938: @ 80E5938 - push {r4,lr} - ldr r4, =gContestResources - ldr r1, [r4] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x11] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x11] - bl ContestEffectFunc_080E5664 - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5938 - - thumb_func_start ContestEffectFunc_080E5970 -ContestEffectFunc_080E5970: @ 80E5970 - push {r4,lr} - ldr r4, =gContestResources - ldr r1, [r4] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x6] - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x1] - lsls r0, 29 - lsrs r0, 29 - bl sub_80E6934 - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5970 - - thumb_func_start ContestEffectFunc_080E59B0 -ContestEffectFunc_080E59B0: @ 80E59B0 - push {lr} - movs r0, 0 - bl sub_80E6934 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E59B0 - - thumb_func_start ContestEffectFunc_080E59D0 -ContestEffectFunc_080E59D0: @ 80E59D0 - push {lr} - movs r0, 0x1 - bl sub_80E6934 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E59D0 - - thumb_func_start ContestEffectFunc_080E59F0 -ContestEffectFunc_080E59F0: @ 80E59F0 - push {lr} - movs r0, 0x2 - bl sub_80E6934 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E59F0 - - thumb_func_start ContestEffectFunc_080E5A10 -ContestEffectFunc_080E5A10: @ 80E5A10 - push {lr} - movs r0, 0x3 - bl sub_80E6934 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5A10 - - thumb_func_start ContestEffectFunc_080E5A30 -ContestEffectFunc_080E5A30: @ 80E5A30 - push {lr} - movs r0, 0x4 - bl sub_80E6934 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5A30 - - thumb_func_start ContestEffectFunc_080E5A50 -ContestEffectFunc_080E5A50: @ 80E5A50 - push {r4-r6,lr} - movs r4, 0 - ldr r2, =gContestResources - ldr r0, [r2] - ldr r0, [r0, 0x8] - ldrb r1, [r0, 0x11] - adds r0, r1 - ldrb r0, [r0] - adds r6, r2, 0 - cmp r0, 0x3 - beq _080E5AB0 - movs r5, 0 -_080E5A68: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0x8] - ldrb r0, [r1, 0x11] - adds r0, r1, r0 - ldrb r0, [r0] - adds r0, 0x1 - adds r1, r5 - ldrb r1, [r1] - cmp r0, r1 - bne _080E5AAA - lsls r0, r5, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80E69C8 - lsls r0, 24 - cmp r0, 0 - beq _080E5AA0 - adds r0, r4, 0 - bl sub_80DD560 - adds r0, r4, 0 - movs r1, 0xA - b _080E5AA4 - .pool -_080E5AA0: - adds r0, r4, 0 - movs r1, 0x3C -_080E5AA4: - bl sub_80DD3D4 - movs r4, 0x1 -_080E5AAA: - adds r5, 0x1 - cmp r5, 0x3 - ble _080E5A68 -_080E5AB0: - ldr r0, [r6] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x9 - bl sub_80DD3D4 - cmp r4, 0 - bne _080E5ACC - ldr r0, [r6] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E5ACC: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E5A50 - - thumb_func_start ContestEffectFunc_080E5AD4 -ContestEffectFunc_080E5AD4: @ 80E5AD4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - movs r0, 0 - mov r9, r0 - movs r1, 0 - str r1, [sp, 0x18] - mov r0, sp - movs r1, 0xFF - movs r2, 0x5 - bl memset - movs r5, 0 - movs r4, 0 - add r2, sp, 0x10 - mov r8, r2 - add r3, sp, 0x8 - mov r10, r3 - movs r6, 0 -_080E5B00: - ldr r0, =gContestResources - ldr r2, [r0] - ldr r1, [r2, 0x8] - ldrb r0, [r1, 0x11] - adds r0, r1, r0 - adds r1, r5 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bcs _080E5B38 - ldr r0, [r2, 0x4] - adds r0, r6, r0 - ldrb r1, [r0, 0xC] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080E5B38 - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_80DBCA8 - lsls r0, 24 - cmp r0, 0 - bne _080E5B38 - mov r1, sp - adds r0, r1, r4 - strb r5, [r0] - adds r4, 0x1 -_080E5B38: - adds r6, 0x1C - adds r5, 0x1 - cmp r5, 0x3 - ble _080E5B00 - cmp r4, 0x1 - bne _080E5B50 - movs r0, 0x3C - mov r2, r8 - strh r0, [r2] - b _080E5B7E - .pool -_080E5B50: - cmp r4, 0x2 - bne _080E5B5E - movs r0, 0x1E - mov r3, r8 - strh r0, [r3] - strh r0, [r3, 0x2] - b _080E5B7E -_080E5B5E: - cmp r4, 0x3 - bne _080E5B6E - movs r0, 0x14 - mov r6, r8 - strh r0, [r6] - strh r0, [r6, 0x2] - strh r0, [r6, 0x4] - b _080E5B7E -_080E5B6E: - mov r1, r8 - movs r2, 0 - mov r0, r8 - adds r0, 0x6 -_080E5B76: - strh r2, [r0] - subs r0, 0x2 - cmp r0, r1 - bge _080E5B76 -_080E5B7E: - movs r5, 0 - ldr r7, =gContestResources - movs r6, 0 - mov r4, r10 -_080E5B86: - ldr r0, [r7] - ldr r0, [r0, 0x4] - adds r0, r6, r0 - ldrb r1, [r0, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080E5BD0 - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_80DE1E8 - lsls r0, 24 - cmp r0, 0 - beq _080E5BD0 - ldr r0, [r7] - ldr r0, [r0, 0x4] - adds r0, r6, r0 - ldrh r0, [r0, 0x8] - lsls r0, 3 - ldr r1, =gContestMoves - adds r0, r1 - ldrb r0, [r0, 0x2] - ldr r2, =gComboStarterLookupTable - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - b _080E5BD2 - .pool -_080E5BD0: - movs r0, 0 -_080E5BD2: - strh r0, [r4] - ldr r0, [r7] - ldr r0, [r0, 0x4] - adds r0, r6, r0 - ldrb r0, [r0, 0xD] - lsls r0, 24 - asrs r0, 24 - movs r1, 0xA - bl __divsi3 - lsls r0, 24 - asrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 1 - ldrh r0, [r4] - subs r0, r1 - strh r0, [r4] - adds r6, 0x1C - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _080E5B86 - mov r3, r8 - movs r6, 0 - ldrsh r0, [r3, r6] - cmp r0, 0 - beq _080E5CA0 - movs r5, 0 - mov r0, sp - ldrb r0, [r0] - cmp r0, 0xFF - beq _080E5CA0 - mov r4, sp -_080E5C16: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r1, r5, 1 - add r1, r8 - movs r3, 0 - ldrsh r2, [r1, r3] - ldrb r3, [r4] - lsls r1, r3, 1 - add r1, r10 - movs r6, 0 - ldrsh r1, [r1, r6] - adds r2, r1 - cmp r0, r2 - bge _080E5C66 - adds r0, r3, 0 - bl sub_80E69C8 - lsls r0, 24 - cmp r0, 0 - beq _080E5C70 - ldrb r0, [r4] - bl sub_80DD560 - ldrb r0, [r4] - movs r1, 0xA - bl sub_80DD3D4 - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - b _080E5C6A -_080E5C66: - movs r0, 0x1 - str r0, [sp, 0x18] -_080E5C6A: - ldr r1, [sp, 0x18] - cmp r1, 0 - beq _080E5C86 -_080E5C70: - movs r2, 0 - str r2, [sp, 0x18] - ldrb r0, [r4] - movs r1, 0x3C - bl sub_80DD3D4 - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_080E5C86: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - adds r0, 0xD - ldrb r3, [r4] - adds r0, r3 - movs r1, 0x1 - strb r1, [r0] - adds r4, 0x1 - adds r5, 0x1 - ldrb r0, [r4] - cmp r0, 0xFF - bne _080E5C16 -_080E5CA0: - ldr r6, =gContestResources - ldr r0, [r6] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0xB - bl sub_80DD3D4 - mov r0, r9 - cmp r0, 0 - bne _080E5CC0 - ldr r0, [r6] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E5CC0: - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5AD4 - - thumb_func_start ContestEffectFunc_080E5CD4 -ContestEffectFunc_080E5CD4: @ 80E5CD4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0 - mov r8, r0 - movs r6, 0 - ldr r7, =gContestResources - movs r5, 0 -_080E5CE4: - ldr r2, [r7] - ldr r0, [r2, 0x8] - ldrb r1, [r0, 0x11] - adds r1, r0, r1 - adds r0, r6 - ldrb r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bls _080E5D46 - ldr r0, [r2, 0x4] - adds r0, r5, r0 - ldrb r0, [r0, 0xD] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - ble _080E5D46 - lsls r0, r6, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80E69C8 - lsls r0, 24 - cmp r0, 0 - beq _080E5D46 - ldr r0, [r7] - ldr r0, [r0, 0x4] - adds r0, r5, r0 - movs r1, 0 - strb r1, [r0, 0xD] - ldr r0, [r7] - ldr r2, [r0, 0x4] - adds r2, r5, r2 - ldrb r1, [r2, 0x10] - movs r3, 0x31 - negs r3, r3 - adds r0, r3, 0 - ands r1, r0 - movs r0, 0x20 - orrs r1, r0 - strb r1, [r2, 0x10] - adds r0, r4, 0 - movs r1, 0xD - bl sub_80DD3D4 - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 -_080E5D46: - adds r5, 0x1C - adds r6, 0x1 - cmp r6, 0x3 - ble _080E5CE4 - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0xC - bl sub_80DD3D4 - mov r0, r8 - cmp r0, 0 - bne _080E5D6E - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x39 - bl sub_80DD3F0 -_080E5D6E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5CD4 - - thumb_func_start ContestEffectFunc_080E5D7C -ContestEffectFunc_080E5D7C: @ 80E5D7C - push {r4-r7,lr} - movs r7, 0 - movs r4, 0 - ldr r5, =gContestResources - movs r6, 0 -_080E5D86: - ldr r3, [r5] - ldr r2, [r3, 0x8] - ldrb r0, [r2, 0x11] - adds r0, r2, r0 - adds r1, r2, r4 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080E5DD2 - ldr r0, [r3, 0x4] - adds r0, r6, r0 - ldrb r0, [r0, 0xD] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - ble _080E5DB0 - movs r0, 0x28 - b _080E5DB2 - .pool -_080E5DB0: - movs r0, 0xA -_080E5DB2: - strh r0, [r2, 0x4] - ldr r0, [r5] - ldr r0, [r0, 0x8] - strb r4, [r0, 0x8] - ldr r0, [r5] - ldr r1, [r0, 0x8] - movs r0, 0xFF - strb r0, [r1, 0x9] - bl sub_80E6A2C - lsls r0, 24 - cmp r0, 0 - beq _080E5DD2 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_080E5DD2: - adds r6, 0x1C - adds r4, 0x1 - cmp r4, 0x3 - ble _080E5D86 - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0xE - bl sub_80DD3D4 - cmp r7, 0 - bne _080E5DF8 - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x39 - bl sub_80DD3F0 -_080E5DF8: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5D7C - - thumb_func_start ContestEffectFunc_080E5E04 -ContestEffectFunc_080E5E04: @ 80E5E04 - push {r4,lr} - ldr r1, =gUnknown_02039F26 - ldr r0, =gContestResources - ldr r4, [r0] - ldr r0, [r4, 0x8] - ldrb r2, [r0, 0x11] - adds r1, r2, r1 - ldrb r0, [r1] - cmp r0, 0 - bne _080E5E46 - ldr r0, [r4, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x6] - ldr r3, =gContestEffects - ldr r2, =gContestMoves - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x1] - lsls r0, 1 - ldrh r2, [r1, 0x2] - adds r0, r2 - strh r0, [r1, 0x2] - ldr r0, [r4, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0xF - bl sub_80DD3D4 -_080E5E46: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5E04 - - thumb_func_start ContestEffectFunc_080E5E5C -ContestEffectFunc_080E5E5C: @ 80E5E5C - push {r4,lr} - ldr r1, =gUnknown_02039F26 - ldr r0, =gContestResources - ldr r4, [r0] - ldr r0, [r4, 0x8] - ldrb r2, [r0, 0x11] - adds r1, r2, r1 - ldrb r0, [r1] - cmp r0, 0x3 - bne _080E5E9E - ldr r0, [r4, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x6] - ldr r3, =gContestEffects - ldr r2, =gContestMoves - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x1] - lsls r0, 1 - ldrh r2, [r1, 0x2] - adds r0, r2 - strh r0, [r1, 0x2] - ldr r0, [r4, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x10 - bl sub_80DD3D4 -_080E5E9E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5E5C - - thumb_func_start ContestEffectFunc_080E5EB4 -ContestEffectFunc_080E5EB4: @ 80E5EB4 - push {r4-r7,lr} - movs r1, 0 - movs r5, 0 - ldr r0, =gContestResources - ldr r4, [r0] - ldr r2, [r4, 0x8] - ldrb r0, [r2, 0x11] - adds r0, r2, r0 - ldrb r6, [r0] - movs r3, 0 -_080E5EC8: - adds r0, r2, r1 - ldrb r0, [r0] - cmp r6, r0 - bls _080E5EDA - ldr r0, [r4, 0x4] - adds r0, r3, r0 - movs r7, 0x2 - ldrsh r0, [r0, r7] - adds r5, r0 -_080E5EDA: - adds r3, 0x1C - adds r1, 0x1 - cmp r1, 0x3 - ble _080E5EC8 - cmp r5, 0 - bge _080E5EE8 - movs r5, 0 -_080E5EE8: - ldr r0, =gContestResources - ldr r3, [r0] - ldr r0, [r3, 0x8] - ldrb r2, [r0, 0x11] - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080E5EFC - cmp r5, 0 - bne _080E5F0C -_080E5EFC: - adds r0, r2, 0 - movs r1, 0x12 - bl sub_80DD3D4 - b _080E5F2C - .pool -_080E5F0C: - ldr r0, [r3, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r0, 1 - ldrh r2, [r1, 0x2] - adds r0, r2 - strh r0, [r1, 0x2] - ldr r0, [r3, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x11 - bl sub_80DD3D4 -_080E5F2C: - ldr r4, =gContestResources - ldr r1, [r4] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - movs r7, 0x2 - ldrsh r0, [r0, r7] - bl sub_80E6B70 - ldr r2, [r4] - ldr r1, [r2, 0x8] - ldrb r3, [r1, 0x11] - ldr r2, [r2, 0x4] - lsls r1, r3, 3 - subs r1, r3 - lsls r1, 2 - adds r1, r2 - strh r0, [r1, 0x2] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5EB4 - - thumb_func_start ContestEffectFunc_080E5F64 -ContestEffectFunc_080E5F64: @ 80E5F64 - push {r4-r7,lr} - movs r6, 0 - ldr r0, =gContestResources - ldr r4, [r0] - ldr r2, [r4, 0x8] - ldrb r1, [r2, 0x11] - adds r3, r2, r1 - ldrb r1, [r3] - adds r7, r0, 0 - cmp r1, 0 - beq _080E5FB2 - movs r1, 0 - adds r5, r4, 0 - adds r4, r2, 0 - ldrb r0, [r3] - subs r3, r0, 0x1 - movs r2, 0 -_080E5F86: - adds r0, r4, r1 - ldrb r0, [r0] - cmp r3, r0 - bne _080E5F94 - ldr r0, [r5, 0x4] - adds r0, r2, r0 - ldrh r6, [r0, 0x2] -_080E5F94: - adds r2, 0x1C - adds r1, 0x1 - cmp r1, 0x3 - ble _080E5F86 - ldr r3, [r7] - ldr r0, [r3, 0x8] - ldrb r2, [r0, 0x11] - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080E5FB2 - lsls r0, r6, 16 - asrs r4, r0, 16 - cmp r4, 0 - bgt _080E5FC4 -_080E5FB2: - ldr r0, [r7] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x14 - bl sub_80DD3D4 - b _080E5FDE - .pool -_080E5FC4: - ldr r1, [r3, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0x2] - adds r1, r4, r1 - strh r1, [r0, 0x2] - ldr r0, [r3, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x13 - bl sub_80DD3D4 -_080E5FDE: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E5F64 - - thumb_func_start ContestEffectFunc_080E5FE4 -ContestEffectFunc_080E5FE4: @ 80E5FE4 - push {r4,r5,lr} - ldr r1, =gContestResources - ldr r3, [r1] - ldr r0, [r3, 0x8] - ldrb r2, [r0, 0x11] - adds r0, r2 - ldrb r4, [r0] - adds r5, r1, 0 - cmp r4, 0 - bne _080E600C - ldr r0, [r3, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - movs r0, 0xA - b _080E601C - .pool -_080E600C: - ldr r0, [r3, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 2 -_080E601C: - strh r0, [r1, 0x2] - cmp r4, 0 - bne _080E6030 - ldr r0, [r5] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x15 - bl sub_80DD3D4 - b _080E6060 -_080E6030: - cmp r4, 0x1 - bne _080E6042 - ldr r0, [r5] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x16 - bl sub_80DD3D4 - b _080E6060 -_080E6042: - cmp r4, 0x2 - bne _080E6054 - ldr r0, [r5] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x17 - bl sub_80DD3D4 - b _080E6060 -_080E6054: - ldr r0, [r5] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x18 - bl sub_80DD3D4 -_080E6060: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E5FE4 - - thumb_func_start ContestEffectFunc_080E6068 -ContestEffectFunc_080E6068: @ 80E6068 - push {r4,lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x2 - bhi _080E6098 - movs r4, 0xA - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1A - bl sub_80DD3D4 - b _080E60FC - .pool -_080E6098: - cmp r0, 0x5 - bhi _080E60B4 - movs r4, 0x14 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1B - bl sub_80DD3D4 - b _080E60FC - .pool -_080E60B4: - cmp r0, 0x7 - bhi _080E60D0 - movs r4, 0x28 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1C - bl sub_80DD3D4 - b _080E60FC - .pool -_080E60D0: - cmp r1, 0x8 - bhi _080E60EC - movs r4, 0x3C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1D - bl sub_80DD3D4 - b _080E60FC - .pool -_080E60EC: - movs r4, 0x50 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1E - bl sub_80DD3D4 -_080E60FC: - ldr r0, =gContestResources - ldr r1, [r0] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - strh r4, [r0, 0x2] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E6068 - - thumb_func_start ContestEffectFunc_080E611C -ContestEffectFunc_080E611C: @ 80E611C - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r2, =gContestResources - ldr r0, [r2] - ldr r3, [r0, 0x8] - ldrb r0, [r3, 0x11] - adds r0, r3, r0 - movs r1, 0 - ldrsb r1, [r0, r1] - subs r0, r1, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - mov r8, r2 - cmp r1, 0 - beq _080E61F8 - mov r7, r8 - ldrb r6, [r3] -_080E6140: - movs r2, 0 - lsls r0, r4, 24 - asrs r1, r0, 24 - adds r5, r0, 0 - cmp r6, r1 - beq _080E616A - ldr r4, =gContestResources -_080E614E: - lsls r0, r2, 24 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r2, r0, 24 - asrs r3, r0, 24 - cmp r3, 0x3 - bgt _080E616A - ldr r0, [r4] - ldr r0, [r0, 0x8] - adds r0, r3 - ldrb r0, [r0] - cmp r0, r1 - bne _080E614E -_080E616A: - ldr r0, [r7] - lsls r3, r2, 24 - asrs r1, r3, 24 - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r2, r0, r2 - ldrb r1, [r2, 0xB] - movs r0, 0x80 - ands r0, r1 - mov r12, r3 - cmp r0, 0 - bne _080E6190 - ldrb r1, [r2, 0xC] - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - beq _080E61A4 -_080E6190: - movs r1, 0xFF - lsls r1, 24 - adds r0, r5, r1 - lsrs r4, r0, 24 - cmp r0, 0 - blt _080E61F8 - b _080E6140 - .pool -_080E61A4: - mov r2, r8 - ldr r6, [r2] - ldr r0, [r6, 0x8] - ldrb r1, [r0, 0x11] - ldr r4, [r6, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r5, r0, r4 - ldrh r0, [r5, 0x6] - ldr r3, =gContestMoves - lsls r0, 3 - adds r7, r0, r3 - ldrb r2, [r7, 0x1] - lsls r2, 29 - mov r0, r12 - asrs r1, r0, 24 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x6] - lsls r0, 3 - adds r0, r3 - ldrb r0, [r0, 0x1] - lsls r0, 29 - cmp r2, r0 - bne _080E61F8 - ldr r1, =gContestEffects - ldrb r0, [r7] - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x1] - lsls r0, 1 - ldrh r1, [r5, 0x2] - adds r0, r1 - strh r0, [r5, 0x2] - ldr r0, [r6, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1F - bl sub_80DD3D4 -_080E61F8: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E611C - - thumb_func_start ContestEffectFunc_080E620C -ContestEffectFunc_080E620C: @ 80E620C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, =gContestResources - ldr r3, [r0] - ldr r1, [r3, 0x8] - ldrb r2, [r1, 0x11] - adds r1, r2 - ldrb r1, [r1] - mov r9, r0 - cmp r1, 0 - beq _080E62AC - ldr r1, [r3, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x6] - mov r8, r0 - movs r6, 0 - ldr r0, =gContestMoves - mov r12, r0 - movs r7, 0 -_080E623C: - mov r1, r9 - ldr r4, [r1] - ldr r0, [r4, 0x8] - ldrb r2, [r0, 0x11] - adds r1, r0, r2 - ldrb r1, [r1] - subs r1, 0x1 - adds r0, r6 - ldrb r0, [r0] - cmp r1, r0 - bne _080E62A4 - mov r1, r8 - lsls r0, r1, 3 - mov r1, r12 - adds r5, r0, r1 - ldrb r1, [r5, 0x1] - lsls r1, 29 - ldr r3, [r4, 0x4] - adds r0, r7, r3 - ldrh r0, [r0, 0x6] - lsls r0, 3 - add r0, r12 - ldrb r0, [r0, 0x1] - lsls r0, 29 - cmp r1, r0 - beq _080E62A4 - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r3 - ldr r2, =gContestEffects - ldrb r0, [r5] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - lsls r0, 1 - ldrh r2, [r1, 0x2] - adds r0, r2 - strh r0, [r1, 0x2] - ldr r0, [r4, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x20 - bl sub_80DD3D4 - b _080E62AC - .pool -_080E62A4: - adds r7, 0x1C - adds r6, 0x1 - cmp r6, 0x3 - ble _080E623C -_080E62AC: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E620C - - thumb_func_start ContestEffectFunc_080E62B8 -ContestEffectFunc_080E62B8: @ 80E62B8 - push {r4-r7,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r1, [r0, 0x11] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080E632E - movs r5, 0 - movs r6, 0 -_080E62CE: - ldr r0, =gContestResources - ldr r4, [r0] - ldr r1, [r4, 0x8] - ldrb r2, [r1, 0x11] - adds r0, r1, r2 - ldrb r0, [r0] - subs r0, 0x1 - adds r1, r5 - ldrb r1, [r1] - cmp r0, r1 - bne _080E6326 - ldr r1, [r4, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r3, r0, r1 - adds r1, r6, r1 - movs r0, 0x2 - ldrsh r2, [r3, r0] - movs r7, 0x2 - ldrsh r0, [r1, r7] - cmp r2, r0 - ble _080E6314 - adds r0, r2, 0 - lsls r0, 1 - strh r0, [r3, 0x2] - ldr r0, [r4, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x21 - bl sub_80DD3D4 - b _080E6326 - .pool -_080E6314: - cmp r2, r0 - bge _080E6326 - movs r0, 0 - strh r0, [r3, 0x2] - ldr r0, [r4, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x22 - bl sub_80DD3D4 -_080E6326: - adds r6, 0x1C - adds r5, 0x1 - cmp r5, 0x3 - ble _080E62CE -_080E632E: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E62B8 - - thumb_func_start ContestEffectFunc_080E6334 -ContestEffectFunc_080E6334: @ 80E6334 - push {r4,lr} - ldr r4, =gContestResources - ldr r1, [r4] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r1, r0, r1 - ldrb r3, [r1, 0xD] - movs r0, 0xD - ldrsb r0, [r1, r0] - cmp r0, 0x1D - bgt _080E6388 - adds r0, r3, 0 - adds r0, 0xA - strb r0, [r1, 0xD] - ldr r1, [r4] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x10] - movs r1, 0x31 - negs r1, r1 - ands r1, r2 - movs r2, 0x10 - orrs r1, r2 - strb r1, [r0, 0x10] - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x23 - bl sub_80DD3D4 - b _080E6390 - .pool -_080E6388: - adds r0, r2, 0 - movs r1, 0x3A - bl sub_80DD3D4 -_080E6390: - pop {r4} - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E6334 - - thumb_func_start ContestEffectFunc_080E6398 -ContestEffectFunc_080E6398: @ 80E6398 - push {lr} - ldr r3, =gContestResources - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x11] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0, 0x11] - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0xD] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _080E63DC - adds r0, r2, 0 - movs r1, 0x24 - bl sub_80DD3D4 - b _080E63E4 - .pool -_080E63DC: - adds r0, r2, 0 - movs r1, 0x3B - bl sub_80DD3D4 -_080E63E4: - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E6398 - - thumb_func_start ContestEffectFunc_080E63E8 -ContestEffectFunc_080E63E8: @ 80E63E8 - push {r4-r7,lr} - sub sp, 0x4 - ldr r0, =gContestResources - ldr r2, [r0] - ldr r1, [r2] - ldrb r1, [r1, 0x1] - mov r12, r0 - cmp r1, 0x4 - bne _080E63FC - b _080E6518 -_080E63FC: - movs r6, 0 - adds r4, r2, 0 -_080E6400: - lsls r1, r6, 24 - asrs r1, 24 - mov r0, sp - adds r3, r0, r1 - ldr r2, [r4, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x19] - strb r0, [r3] - adds r1, 0x1 - lsls r1, 24 - lsrs r6, r1, 24 - asrs r1, 24 - cmp r1, 0x3 - ble _080E6400 - mov r1, r12 - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - mov r2, sp - adds r1, r2, r0 - movs r0, 0xFF - strb r0, [r1] - movs r6, 0 - mov r3, r12 - ldr r7, [r3] -_080E6438: - movs r5, 0 -_080E643A: - lsls r0, r5, 24 - asrs r2, r0, 24 - ldr r0, [r7, 0x8] - ldrb r0, [r0, 0x11] - cmp r2, r0 - beq _080E6474 - lsls r0, r6, 24 - asrs r3, r0, 24 - mov r0, sp - adds r4, r0, r2 - ldrb r1, [r4] - cmp r3, r1 - bne _080E6474 - ldr r0, [r7, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - lsls r0, r3, 24 - lsrs r0, 24 - ldrb r1, [r1, 0x19] - cmp r0, r1 - bne _080E6474 - adds r0, r3, 0x1 - strb r0, [r4] - b _080E6484 - .pool -_080E6474: - lsls r0, r5, 24 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r5, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _080E643A -_080E6484: - cmp r5, 0x4 - beq _080E6498 - lsls r0, r6, 24 - movs r3, 0x80 - lsls r3, 17 - adds r0, r3 - lsrs r6, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _080E6438 -_080E6498: - mov r4, r12 - ldr r1, [r4] - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - mov r3, sp - adds r2, r3, r0 - movs r0, 0 - strb r0, [r2] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x10] - movs r1, 0x3F - ands r1, r2 - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0, 0x10] - movs r6, 0 - mov r3, r12 -_080E64C6: - ldr r0, [r3] - lsls r1, r6, 24 - asrs r1, 24 - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - mov r4, sp - adds r2, r4, r1 - ldrb r2, [r2] - strb r2, [r0, 0x19] - adds r1, 0x1 - lsls r1, 24 - lsrs r6, r1, 24 - asrs r1, 24 - cmp r1, 0x3 - ble _080E64C6 - mov r0, r12 - ldr r1, [r0] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x11] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x11] - mov r1, r12 - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x25 - bl sub_80DD3D4 -_080E6518: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E63E8 - - thumb_func_start ContestEffectFunc_080E6520 -ContestEffectFunc_080E6520: @ 80E6520 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r0, =gContestResources - ldr r2, [r0] - ldr r1, [r2] - ldrb r1, [r1, 0x1] - mov r12, r0 - cmp r1, 0x4 - bne _080E6538 - b _080E6658 -_080E6538: - movs r6, 0 - adds r4, r2, 0 -_080E653C: - lsls r1, r6, 24 - asrs r1, 24 - mov r0, sp - adds r3, r0, r1 - ldr r2, [r4, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x19] - strb r0, [r3] - adds r1, 0x1 - lsls r1, 24 - lsrs r6, r1, 24 - asrs r1, 24 - cmp r1, 0x3 - ble _080E653C - mov r1, r12 - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - mov r2, sp - adds r1, r2, r0 - movs r0, 0xFF - strb r0, [r1] - movs r6, 0x3 - mov r3, r12 - ldr r7, [r3] - movs r4, 0x1 - negs r4, r4 - mov r8, r4 -_080E657A: - movs r5, 0 -_080E657C: - lsls r0, r5, 24 - asrs r2, r0, 24 - ldr r0, [r7, 0x8] - ldrb r0, [r0, 0x11] - cmp r2, r0 - beq _080E65B4 - lsls r0, r6, 24 - asrs r3, r0, 24 - mov r0, sp - adds r4, r0, r2 - ldrb r1, [r4] - cmp r3, r1 - bne _080E65B4 - ldr r0, [r7, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - lsls r0, r3, 24 - lsrs r0, 24 - ldrb r1, [r1, 0x19] - cmp r0, r1 - bne _080E65B4 - subs r0, r3, 0x1 - strb r0, [r4] - b _080E65C4 - .pool -_080E65B4: - lsls r0, r5, 24 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r5, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _080E657C -_080E65C4: - cmp r5, 0x4 - beq _080E65D8 - lsls r0, r6, 24 - movs r3, 0xFF - lsls r3, 24 - adds r0, r3 - lsrs r6, r0, 24 - asrs r0, 24 - cmp r0, r8 - bgt _080E657A -_080E65D8: - mov r4, r12 - ldr r1, [r4] - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - mov r3, sp - adds r2, r3, r0 - movs r0, 0x3 - strb r0, [r2] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x10] - movs r1, 0x3F - ands r1, r2 - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0, 0x10] - movs r6, 0 - mov r3, r12 -_080E6606: - ldr r0, [r3] - lsls r1, r6, 24 - asrs r1, 24 - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - mov r4, sp - adds r2, r4, r1 - ldrb r2, [r2] - strb r2, [r0, 0x19] - adds r1, 0x1 - lsls r1, 24 - lsrs r6, r1, 24 - asrs r1, 24 - cmp r1, 0x3 - ble _080E6606 - mov r0, r12 - ldr r1, [r0] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x11] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0, 0x11] - mov r1, r12 - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x26 - bl sub_80DD3D4 -_080E6658: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E6520 - - thumb_func_start ContestEffectFunc_080E6664 -ContestEffectFunc_080E6664: @ 80E6664 - bx lr - thumb_func_end ContestEffectFunc_080E6664 - - thumb_func_start ContestEffectFunc_080E6668 -ContestEffectFunc_080E6668: @ 80E6668 - push {r4-r7,lr} - sub sp, 0x8 - ldr r0, =gContestResources - ldr r1, [r0] - ldr r0, [r1] - ldrb r0, [r0, 0x1] - cmp r0, 0x4 - beq _080E676C - movs r6, 0 - add r5, sp, 0x4 - adds r4, r1, 0 - adds r7, r5, 0 -_080E6680: - lsls r1, r6, 24 - asrs r1, 24 - mov r0, sp - adds r3, r0, r1 - ldr r2, [r4, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x19] - strb r0, [r3] - adds r0, r7, r1 - strb r6, [r0] - adds r1, 0x1 - lsls r1, 24 - lsrs r6, r1, 24 - asrs r1, 24 - cmp r1, 0x3 - ble _080E6680 - movs r6, 0 - adds r7, r5, 0 -_080E66AA: - bl Random - lsls r0, 16 - lsrs r0, 16 - lsls r2, r6, 24 - asrs r2, 24 - movs r1, 0x4 - subs r1, r2 - bl __modsi3 - lsls r0, 24 - lsrs r4, r0, 24 - movs r1, 0 -_080E66C4: - lsls r0, r1, 24 - asrs r2, r0, 24 - adds r3, r7, r2 - ldrb r1, [r3] - adds r5, r0, 0 - cmp r1, 0xFF - beq _080E66EE - cmp r4, 0 - bne _080E66E8 - mov r1, sp - adds r0, r1, r2 - strb r6, [r0] - movs r0, 0xFF - strb r0, [r3] - b _080E66FC - .pool -_080E66E8: - subs r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_080E66EE: - movs r1, 0x80 - lsls r1, 17 - adds r0, r5, r1 - lsrs r1, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _080E66C4 -_080E66FC: - lsls r0, r6, 24 - movs r6, 0x80 - lsls r6, 17 - adds r0, r6 - lsrs r6, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _080E66AA - movs r6, 0 - ldr r5, =gContestResources - adds r4, r5, 0 -_080E6712: - ldr r0, [r4] - lsls r3, r6, 24 - asrs r3, 24 - ldr r1, [r0, 0x4] - lsls r2, r3, 3 - subs r2, r3 - lsls r2, 2 - adds r1, r2, r1 - mov r6, sp - adds r0, r6, r3 - ldrb r0, [r0] - strb r0, [r1, 0x19] - ldr r0, [r4] - ldr r0, [r0, 0x4] - adds r2, r0 - ldrb r1, [r2, 0x10] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x10] - adds r3, 0x1 - lsls r3, 24 - lsrs r6, r3, 24 - asrs r3, 24 - cmp r3, 0x3 - ble _080E6712 - ldr r1, [r5] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x11] - movs r2, 0x3 - orrs r1, r2 - strb r1, [r0, 0x11] - ldr r0, [r5] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x27 - bl sub_80DD3D4 -_080E676C: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E6668 - - thumb_func_start ContestEffectFunc_080E6778 -ContestEffectFunc_080E6778: @ 80E6778 - push {lr} - ldr r3, =gContestMoves - ldr r0, =gContestResources - ldr r1, [r0] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r2, r0, r1 - ldrh r0, [r2, 0x6] - lsls r0, 3 - adds r0, r3 - ldrb r0, [r0, 0x1] - lsls r0, 29 - ldr r1, =gSpecialVar_ContestCategory - lsrs r0, 29 - ldrh r1, [r1] - cmp r0, r1 - beq _080E67AA - ldrb r0, [r2, 0x11] - movs r1, 0x10 - orrs r0, r1 - strb r0, [r2, 0x11] -_080E67AA: - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E6778 - - thumb_func_start ContestEffectFunc_080E67BC -ContestEffectFunc_080E67BC: @ 80E67BC - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0 - mov r8, r0 - movs r4, 0 - ldr r5, =gContestResources - movs r6, 0 -_080E67CC: - ldr r3, [r5] - ldr r2, [r3, 0x8] - ldrb r0, [r2, 0x11] - adds r0, r2, r0 - adds r1, r2, r4 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080E682E - ldr r0, [r3, 0x4] - adds r1, r6, r0 - movs r7, 0x2 - ldrsh r0, [r1, r7] - cmp r0, 0 - ble _080E6808 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r2, 0x4] - ldr r0, [r3, 0x8] - movs r1, 0x4 - ldrsh r0, [r0, r1] - bl sub_80E6BB4 - ldr r1, [r5] - ldr r1, [r1, 0x8] - strh r0, [r1, 0x4] - b _080E680C - .pool -_080E6808: - movs r0, 0xA - strh r0, [r2, 0x4] -_080E680C: - ldr r0, [r5] - ldr r0, [r0, 0x8] - strb r4, [r0, 0x8] - ldr r0, [r5] - ldr r1, [r0, 0x8] - movs r0, 0xFF - strb r0, [r1, 0x9] - bl sub_80E6A2C - lsls r0, 24 - cmp r0, 0 - beq _080E682E - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 -_080E682E: - adds r6, 0x1C - adds r4, 0x1 - cmp r4, 0x3 - ble _080E67CC - mov r7, r8 - cmp r7, 0 - bne _080E684A - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E684A: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E67BC - - thumb_func_start ContestEffectFunc_080E6868 -ContestEffectFunc_080E6868: @ 80E6868 - push {r4,lr} - ldr r0, =gContestResources - ldr r1, [r0] - ldr r0, [r1] - ldrb r0, [r0, 0x13] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080E688C - movs r4, 0xA - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1A - bl sub_80DD3D4 - b _080E68CE - .pool -_080E688C: - cmp r0, 0x1 - bne _080E689E - movs r4, 0x14 - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1B - bl sub_80DD3D4 - b _080E68CE -_080E689E: - cmp r0, 0x2 - bne _080E68B0 - movs r4, 0x1E - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1C - bl sub_80DD3D4 - b _080E68CE -_080E68B0: - cmp r0, 0x3 - bne _080E68C2 - movs r4, 0x32 - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1D - bl sub_80DD3D4 - b _080E68CE -_080E68C2: - movs r4, 0x3C - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1E - bl sub_80DD3D4 -_080E68CE: - ldr r0, =gContestResources - ldr r1, [r0] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - strh r4, [r0, 0x2] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E6868 - - thumb_func_start ContestEffectFunc_080E68EC -ContestEffectFunc_080E68EC: @ 80E68EC - push {r4,lr} - ldr r4, =gContestResources - ldr r0, [r4] - ldr r2, [r0, 0x10] - ldrb r1, [r2, 0x1] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080E692A - movs r0, 0x1 - orrs r0, r1 - strb r0, [r2, 0x1] - ldr r0, [r4] - ldr r3, [r0, 0x10] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x7 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r3, 0x1] - movs r0, 0xF - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x1] - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x3D - bl sub_80DD3D4 -_080E692A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E68EC - - thumb_func_start sub_80E6934 -sub_80E6934: @ 80E6934 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r7, 0 - movs r4, 0 - ldr r6, =gContestResources - ldr r0, =gContestMoves - mov r9, r0 - movs r5, 0 -_080E694E: - ldr r3, [r6] - ldr r2, [r3, 0x8] - ldrb r0, [r2, 0x11] - adds r0, r2, r0 - adds r1, r2, r4 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080E699E - ldr r0, [r3, 0x4] - adds r0, r5, r0 - ldrh r0, [r0, 0x6] - lsls r0, 3 - add r0, r9 - ldrb r0, [r0, 0x1] - lsls r0, 29 - lsrs r0, 29 - cmp r8, r0 - bne _080E6980 - movs r0, 0x28 - b _080E6982 - .pool -_080E6980: - movs r0, 0xA -_080E6982: - strh r0, [r2, 0x4] - ldr r0, [r6] - ldr r0, [r0, 0x8] - strb r4, [r0, 0x8] - ldr r0, [r6] - ldr r1, [r0, 0x8] - movs r0, 0xFF - strb r0, [r1, 0x9] - bl sub_80E6A2C - lsls r0, 24 - cmp r0, 0 - beq _080E699E - adds r7, 0x1 -_080E699E: - adds r5, 0x1C - adds r4, 0x1 - cmp r4, 0x3 - ble _080E694E - cmp r7, 0 - bne _080E69B8 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E69B8: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E6934 - - thumb_func_start sub_80E69C8 -sub_80E69C8: @ 80E69C8 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, =gContestResources - ldr r0, [r2] - ldr r0, [r0, 0x8] - adds r0, 0xD - adds r0, r3 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r2] - ldr r1, [r0, 0x4] - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r2, r0, r1 - ldrb r1, [r2, 0x10] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080E69FC - adds r0, r3, 0 - movs r1, 0x2D - b _080E6A22 - .pool -_080E69FC: - ldrb r0, [r2, 0x12] - cmp r0, 0 - bne _080E6A1A - ldrb r1, [r2, 0xB] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080E6A26 - ldrb r1, [r2, 0xC] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - bne _080E6A26 - movs r0, 0x1 - b _080E6A28 -_080E6A1A: - subs r0, 0x1 - strb r0, [r2, 0x12] - adds r0, r3, 0 - movs r1, 0x2C -_080E6A22: - bl sub_80DD3D4 -_080E6A26: - movs r0, 0 -_080E6A28: - pop {r1} - bx r1 - thumb_func_end sub_80E69C8 - - thumb_func_start sub_80E6A2C -sub_80E6A2C: @ 80E6A2C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - mov r0, sp - movs r1, 0 - movs r2, 0x8 - bl memset - movs r7, 0 - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x8] - cmp r0, 0xFF - beq _080E6B10 - mov r8, r4 -_080E6A4E: - mov r1, r8 - ldr r0, [r1] - ldr r0, [r0, 0x8] - adds r0, 0x8 - adds r0, r7 - ldrb r5, [r0] - adds r6, r5, 0 - adds r0, r5, 0 - bl sub_80E69C8 - lsls r0, 24 - cmp r0, 0 - beq _080E6AFE - ldr r2, [r4] - ldr r1, [r2, 0x8] - ldrh r0, [r1, 0x4] - strh r0, [r1, 0x6] - ldr r1, [r2, 0x4] - lsls r0, r5, 3 - subs r0, r5 - lsls r4, r0, 2 - adds r1, r4, r1 - ldrb r1, [r1, 0x10] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080E6A8E - ldr r1, [r2, 0x8] - movs r2, 0x6 - ldrsh r0, [r1, r2] - lsls r0, 1 - strh r0, [r1, 0x6] -_080E6A8E: - mov r0, r8 - ldr r3, [r0] - ldr r0, [r3, 0x4] - adds r1, r4, r0 - ldrb r0, [r1, 0x10] - movs r4, 0x1 - ands r4, r0 - cmp r4, 0 - beq _080E6AB4 - ldr r1, [r3, 0x8] - movs r0, 0xA - strh r0, [r1, 0x6] - adds r0, r5, 0 - movs r1, 0x2F - bl sub_80DD3D4 - b _080E6AFE - .pool -_080E6AB4: - ldr r2, [r3, 0x8] - ldrb r1, [r1, 0xF] - ldrh r0, [r2, 0x6] - subs r0, r1 - strh r0, [r2, 0x6] - ldr r2, [r3, 0x8] - ldrh r1, [r2, 0x6] - movs r3, 0x6 - ldrsh r0, [r2, r3] - cmp r0, 0 - bgt _080E6AD6 - strh r4, [r2, 0x6] - adds r0, r5, 0 - movs r1, 0x2E - bl sub_80DD3D4 - b _080E6AFE -_080E6AD6: - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl sub_80E6B3C - mov r1, r8 - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r1, [r0, 0x6] - adds r0, r6, 0 - bl sub_80DD40C - lsls r0, r6, 1 - mov r2, sp - adds r1, r2, r0 - mov r3, r8 - ldr r0, [r3] - ldr r0, [r0, 0x8] - ldrh r0, [r0, 0x6] - strh r0, [r1] -_080E6AFE: - adds r7, 0x1 - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0, 0x8] - adds r0, 0x8 - adds r0, r7 - ldrb r0, [r0] - cmp r0, 0xFF - bne _080E6A4E -_080E6B10: - movs r7, 0 - mov r1, sp -_080E6B14: - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _080E6B24 - movs r0, 0x1 - b _080E6B2E - .pool -_080E6B24: - adds r1, 0x2 - adds r7, 0x1 - cmp r7, 0x3 - ble _080E6B14 - movs r0, 0 -_080E6B2E: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80E6A2C - - thumb_func_start sub_80E6B3C -sub_80E6B3C: @ 80E6B3C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gContestResources - ldr r4, [r2] - ldr r3, [r4, 0x4] - lsls r2, r0, 3 - subs r2, r0 - lsls r2, 2 - adds r3, r2, r3 - ldrh r0, [r3, 0x2] - subs r0, r1 - strh r0, [r3, 0x2] - ldr r0, [r4, 0x4] - adds r2, r0 - ldrb r0, [r2, 0xE] - adds r1, r0 - strb r1, [r2, 0xE] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E6B3C - - thumb_func_start sub_80E6B70 -sub_80E6B70: @ 80E6B70 - push {r4,r5,lr} - lsls r0, 16 - lsrs r5, r0, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - cmp r4, 0 - bge _080E6B80 - negs r0, r4 -_080E6B80: - movs r1, 0xA - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r4, 0 - bge _080E6B9E - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - beq _080E6BA8 - adds r0, r4, 0 - subs r0, 0xA - adds r0, r1, r0 - b _080E6BA4 -_080E6B9E: - lsls r0, 16 - asrs r0, 16 - subs r0, r4, r0 -_080E6BA4: - lsls r0, 16 - lsrs r5, r0, 16 -_080E6BA8: - lsls r0, r5, 16 - asrs r0, 16 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80E6B70 - - thumb_func_start sub_80E6BB4 -sub_80E6BB4: @ 80E6BB4 - push {r4,r5,lr} - lsls r0, 16 - lsrs r5, r0, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - cmp r4, 0 - bge _080E6BC4 - negs r0, r4 -_080E6BC4: - movs r1, 0xA - bl __modsi3 - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - beq _080E6BDC - adds r0, r4, 0 - adds r0, 0xA - subs r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 -_080E6BDC: - lsls r0, r5, 16 - asrs r0, 16 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80E6BB4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s index 36f444955..3e35ab7f1 100644 --- a/asm/contest_link_80F57C4.s +++ b/asm/contest_link_80F57C4.s @@ -276,10 +276,10 @@ sub_80F5A74: @ 80F5A74 lsrs r0, 24 adds r5, r0, 0 lsls r1, r5, 6 - ldr r0, =gUnknown_02039E00 + ldr r0, =gContestMons adds r7, r1, r0 ldr r6, =gDisplayedStringBattle - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] cmp r5, r0 bne _080F5A96 @@ -398,7 +398,7 @@ sub_80F5B00: @ 80F5B00 movs r1, 0x14 bl CreateTask bl sub_80F7880 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x2 ands r0, r1 @@ -503,7 +503,7 @@ sub_80F5CE4: @ 80F5CE4 push {r4-r7,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r3, =gUnknown_02039F2A + ldr r3, =gIsLinkContest ldrb r1, [r3] movs r0, 0x1 ands r0, r1 @@ -535,8 +535,8 @@ _080F5D20: b _080F5E2E _080F5D2A: bl sub_80DBED4 - ldr r1, =gUnknown_02039F20 - ldr r0, =gUnknown_02039F25 + ldr r1, =gContestFinalStandings + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -648,7 +648,7 @@ _080F5E2E: lsls r0, 3 adds r4, r0, r1 strh r2, [r4, 0x8] - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r5, 0x1 adds r0, r5, 0 @@ -663,8 +663,8 @@ _080F5E2E: _080F5E78: movs r0, 0x24 bl IncrementGameStat - ldr r1, =gUnknown_02039F20 - ldr r0, =gUnknown_02039F25 + ldr r1, =gContestFinalStandings + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -1160,7 +1160,7 @@ _080F6298: adds r1, r0 lsls r1, 3 adds r1, r7 - ldr r0, =gUnknown_02039F20 + ldr r0, =gContestFinalStandings adds r0, r4, r0 ldrb r0, [r0] strh r0, [r1, 0x8] @@ -1201,7 +1201,7 @@ _080F62F2: adds r0, 0x1 strh r0, [r4, 0x8] movs r4, 0 - ldr r1, =gUnknown_02039F20 + ldr r1, =gContestFinalStandings ldrb r0, [r1] cmp r0, 0 beq _080F631C @@ -1236,10 +1236,10 @@ _080F6334: movs r0, 0 strh r0, [r2, 0xA] movs r4, 0 - ldr r1, =gUnknown_02039F20 + ldr r1, =gContestFinalStandings ldrb r0, [r1] ldr r7, =gStringVar1 - ldr r2, =gUnknown_02039E00 + 13 + ldr r2, =gContestMons + 13 mov r8, r2 cmp r0, 0 beq _080F636E @@ -1355,12 +1355,12 @@ _080F6454: adds r0, r3, 0 strh r0, [r1] movs r2, 0 - ldr r1, =gUnknown_02039F20 + ldr r1, =gContestFinalStandings ldrb r0, [r1] lsls r4, r7, 2 mov r10, r4 - ldr r3, =gUnknown_02039E00 - ldr r4, =gUnknown_02039F25 + ldr r3, =gContestMons + ldr r4, =gContestPlayerMonIndex mov r9, r4 ldr r4, =gMonFrontPicTable mov r12, r4 @@ -1623,14 +1623,14 @@ sub_80F66B4: @ 80F66B4 ands r0, r1 cmp r0, 0 beq _080F6702 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] adds r0, r2, 0 ands r0, r1 lsls r6, r7, 2 cmp r0, 0 bne _080F66F2 - ldr r5, =gUnknown_02039E00 + ldr r5, =gContestMons movs r4, 0x3 _080F66DA: ldrh r0, [r5] @@ -1664,7 +1664,7 @@ sub_80F671C: @ 80F671C push {r4,lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -1710,7 +1710,7 @@ sub_80F677C: @ 80F677C ldrb r0, [r0] cmp r0, 0 bne _080F67AC - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x2 ands r0, r1 @@ -1739,14 +1739,14 @@ task_repel: @ 80F67C4 sub sp, 0x4 lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 cmp r0, 0 bne _080F67E6 - ldr r1, =gUnknown_02039F20 - ldr r0, =gUnknown_02039F25 + ldr r1, =gContestFinalStandings + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -1980,7 +1980,7 @@ sub_80F69B8: @ 80F69B8 lsrs r5, r2, 24 lsls r3, 24 lsrs r6, r3, 24 - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex movs r2, 0 ldrb r0, [r0] cmp r4, r0 @@ -2059,7 +2059,7 @@ sub_80F6A64: @ 80F6A64 lsls r1, 24 lsrs r6, r1, 24 movs r5, 0 - ldr r4, =gUnknown_02039E00 + ldr r4, =gContestMons _080F6A74: ldrh r0, [r4] lsls r1, r5, 24 @@ -2088,7 +2088,7 @@ sub_80F6A9C: @ 80F6A9C movs r5, 0xA0 lsls r5, 16 _080F6AA6: - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons lsls r0, r4, 6 adds r0, r1 ldrh r0, [r0] @@ -2119,7 +2119,7 @@ _080F6AA6: thumb_func_start sub_80F6AE8 sub_80F6AE8: @ 80F6AE8 push {r4,lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x2 ands r0, r1 @@ -2237,7 +2237,7 @@ _080F6BD0: adds r0, r4, 0 movs r1, 0x1 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 adds r0, r4, 0 movs r1, 0x7 bl GetWindowAttribute @@ -2955,7 +2955,7 @@ sub_80F71C8: @ 80F71C8 sub sp, 0xC movs r5, 0x5 movs r4, 0x1 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] adds r0, r4, 0 ands r0, r1 @@ -3104,7 +3104,7 @@ sub_80F7310: @ 80F7310 lsls r0, 24 lsls r1, 24 lsrs r5, r1, 24 - ldr r1, =gUnknown_02039F00 + ldr r1, =gContestMonConditions lsrs r0, 23 adds r0, r1 movs r1, 0 @@ -3322,7 +3322,7 @@ sub_80F74BC: @ 80F74BC lsls r0, 24 lsrs r5, r0, 24 movs r4, 0 - ldr r1, =gUnknown_02039F20 + ldr r1, =gContestFinalStandings ldrb r0, [r1] ldr r6, =gUnknown_0203A034 cmp r0, 0 @@ -3729,7 +3729,7 @@ sub_80F77E0: @ 80F77E0 adds r1, r2 strh r4, [r1, 0x8] strh r5, [r1, 0xA] - ldr r0, =gUnknown_02039E00 + ldr r0, =gContestMons lsls r4, 6 adds r4, r0 ldrh r0, [r4] @@ -3765,7 +3765,7 @@ sub_80F7824: @ 80F7824 strh r0, [r4, 0x1C] ldrh r0, [r4, 0xC] ldrb r2, [r4, 0x1E] - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons lsls r3, r5, 6 adds r1, 0x38 adds r3, r1 @@ -3847,7 +3847,7 @@ _080F78E4: mov r8, r5 mov r10, r5 _080F78EA: - ldr r0, =gUnknown_02039F00 + ldr r0, =gContestMonConditions mov r1, r8 lsls r7, r1, 1 adds r0, r7, r0 @@ -3987,7 +3987,7 @@ _080F79CC: negs r0, r0 _080F7A02: strb r0, [r1, 0x12] - ldr r0, =gUnknown_02039F20 + ldr r0, =gContestFinalStandings add r0, r8 ldrb r0, [r0] cmp r0, 0 @@ -4721,8 +4721,8 @@ _080F7FEE: sub_80F7FFC: @ 80F7FFC push {r4-r7,lr} sub sp, 0x4 - ldr r1, =gUnknown_02039F20 - ldr r0, =gUnknown_02039F25 + ldr r1, =gContestFinalStandings + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -4994,7 +4994,7 @@ sub_80F8264: @ 80F8264 ldr r0, =gSpecialVar_0x8006 ldrh r1, [r0] lsls r1, 6 - ldr r0, =gUnknown_02039E00 + 13 + ldr r0, =gContestMons + 13 adds r1, r0 adds r0, r4, 0 bl StringCopy @@ -5013,7 +5013,7 @@ sub_80F8290: @ 80F8290 ldr r1, =gSpecialVar_0x8006 ldrh r1, [r1] lsls r1, 6 - ldr r2, =gUnknown_02039E00 + 2 + ldr r2, =gContestMons + 2 adds r1, r2 bl StringCopy pop {r0} @@ -5027,7 +5027,7 @@ sub_80F82B4: @ 80F82B4 movs r1, 0 movs r2, 0 ldr r5, =gSpecialVar_0x8004 - ldr r4, =gUnknown_02039F00 + ldr r4, =gContestMonConditions ldr r0, =gSpecialVar_0x8006 ldrh r0, [r0] lsls r0, 1 @@ -5060,7 +5060,7 @@ _080F82DC: thumb_func_start sub_80F82FC sub_80F82FC: @ 80F82FC ldr r2, =gSpecialVar_0x8004 - ldr r1, =gUnknown_02039F00 + ldr r1, =gContestMonConditions ldr r0, =gSpecialVar_0x8006 ldrh r0, [r0] lsls r0, 1 @@ -5075,7 +5075,7 @@ sub_80F82FC: @ 80F82FC sub_80F831C: @ 80F831C push {lr} movs r1, 0 - ldr r2, =gUnknown_02039F20 + ldr r2, =gContestFinalStandings ldrb r0, [r2] ldr r3, =gSpecialVar_0x8005 cmp r0, 0 @@ -5101,10 +5101,10 @@ _080F833C: sub_80F834C: @ 80F834C push {r4,lr} movs r1, 0 - ldr r2, =gUnknown_02039F20 + ldr r2, =gContestFinalStandings ldrb r0, [r2] ldr r4, =gStringVar3 - ldr r3, =gUnknown_02039E00 + 13 + ldr r3, =gContestMons + 13 cmp r0, 0 beq _080F836E _080F835C: @@ -5134,10 +5134,10 @@ _080F836E: sub_80F8390: @ 80F8390 push {r4,lr} movs r1, 0 - ldr r2, =gUnknown_02039F20 + ldr r2, =gContestFinalStandings ldrb r0, [r2] ldr r4, =gStringVar1 - ldr r3, =gUnknown_02039E00 + 2 + ldr r3, =gContestMons + 2 cmp r0, 0 beq _080F83B2 _080F83A0: @@ -5216,7 +5216,7 @@ sub_80F840C: @ 80F840C thumb_func_start sub_80F8438 sub_80F8438: @ 80F8438 ldr r2, =gSpecialVar_0x8004 - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons ldr r0, =gSpecialVar_0x8006 ldrh r0, [r0] lsls r0, 6 @@ -5272,7 +5272,7 @@ sub_80F8484: @ 80F8484 thumb_func_start sub_80F84B0 sub_80F84B0: @ 80F84B0 ldr r0, =gSpecialVar_0x8004 - ldr r1, =gUnknown_02039F25 + ldr r1, =gContestPlayerMonIndex ldrb r1, [r1] strh r1, [r0] bx lr @@ -5314,7 +5314,7 @@ sub_80F8508: @ 80F8508 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x4 ands r0, r1 @@ -5578,7 +5578,7 @@ sub_80F8714: @ 80F8714 b _080F877E .pool _080F8748: - ldr r5, =gUnknown_02039E00 + 2 + ldr r5, =gContestMons + 2 movs r4, 0x3 _080F874C: adds r0, r5, 0 diff --git a/asm/contest_link_80FC4F4.s b/asm/contest_link_80FC4F4.s index 621e26038..5934c3623 100644 --- a/asm/contest_link_80FC4F4.s +++ b/asm/contest_link_80FC4F4.s @@ -11,7 +11,7 @@ sub_80FC4F4: @ 80FC4F4 adds r2, r0, 0 lsls r4, r1, 16 lsrs r4, 16 - ldr r5, =0x0201c000 + ldr r5, =gDecompressionBuffer adds r0, r5, 0 adds r1, r2, 0 adds r2, r4, 0 @@ -139,12 +139,12 @@ sub_80FC5DC: @ 80FC5DC cmp r0, 0 beq _080FC650 bl GetMultiplayerId - ldr r1, =gUnknown_02039F25 + ldr r1, =gContestPlayerMonIndex strb r0, [r1] bl GetLinkPlayerCount ldr r4, =gUnknown_02039F30 strb r0, [r4] - ldr r1, =gUnknown_02039F2A + ldr r1, =gIsLinkContest movs r0, 0x1 strb r0, [r1] ldr r0, =gWirelessCommType @@ -182,7 +182,7 @@ _080FC63A: ldrb r6, [r6] cmp r3, r6 bge _080FC64A - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r2, 0x4 orrs r1, r2 @@ -201,7 +201,7 @@ _080FC650: sub_80FC670: @ 80FC670 push {r4,lr} adds r4, r0, 0 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x4 ands r0, r1 @@ -285,10 +285,10 @@ _080FC6FE: cmp r0, 0 beq _080FC7F4 ldr r0, =gBlockSendBuffer - ldr r1, =gUnknown_02039F25 + ldr r1, =gContestPlayerMonIndex ldrb r1, [r1] lsls r1, 6 - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons adds r1, r2 movs r2, 0x40 bl memcpy @@ -298,10 +298,10 @@ _080FC6FE: .pool _080FC738: ldr r0, =gBlockSendBuffer - ldr r1, =gUnknown_02039F25 + ldr r1, =gContestPlayerMonIndex ldrb r1, [r1] lsls r1, 6 - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons adds r1, r2 movs r2, 0x40 bl memcpy @@ -321,7 +321,7 @@ _080FC758: ldr r6, =gLinkPlayers _080FC770: lsls r4, r5, 6 - ldr r0, =gUnknown_02039E00 + ldr r0, =gContestMons adds r4, r0 lsls r1, r5, 8 ldr r0, =gBlockRecvBuffer @@ -434,7 +434,7 @@ _080FC858: adds r1, r4, 0 movs r2, 0x4 bl memcpy - ldr r0, =gUnknown_030060B8 + ldr r0, =gContestRngValue adds r1, r4, 0 movs r2, 0x4 bl memcpy @@ -603,7 +603,7 @@ _080FC9C4: lsls r0, 24 cmp r0, 0 beq _080FC9F0 - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex movs r1, 0x1 bl sub_80FC4F4 cmp r0, 0x1 @@ -659,7 +659,7 @@ _080FCA30: beq _080FCAB2 ldr r0, =gContestResources ldr r2, [r0] - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] lsls r1, r0, 3 subs r1, r0 @@ -860,7 +860,7 @@ _080FCC08: lsls r0, 24 cmp r0, 0 beq _080FCC82 - ldr r0, =gUnknown_02039F20 + ldr r0, =gContestFinalStandings movs r1, 0x4 _080FCC16: bl sub_80FC4F4 @@ -881,7 +881,7 @@ _080FCC38: lsls r0, 24 cmp r0, 0 beq _080FCC82 - ldr r0, =gUnknown_02039F20 + ldr r0, =gContestFinalStandings ldr r1, =gUnknown_02039F2B ldrb r1, [r1] lsls r1, 8 @@ -1262,7 +1262,7 @@ _080FCF80: lsls r0, 24 cmp r0, 0 beq _080FCFBE - ldr r0, =gUnknown_02039F00 + ldr r0, =gContestMonConditions movs r1, 0x8 bl sub_80FC4F4 cmp r0, 0x1 @@ -1274,7 +1274,7 @@ _080FCF9C: lsls r0, 24 cmp r0, 0 beq _080FCFBE - ldr r0, =gUnknown_02039F00 + ldr r0, =gContestMonConditions ldr r1, =gUnknown_02039F2B ldrb r1, [r1] lsls r1, 8 diff --git a/asm/contest_link_81D9DE4.s b/asm/contest_link_81D9DE4.s index 12eb159f7..35191e10f 100644 --- a/asm/contest_link_81D9DE4.s +++ b/asm/contest_link_81D9DE4.s @@ -88,8 +88,8 @@ _081D9EA4: _081D9EB4: bl GetMonData strb r0, [r4] - ldr r5, =gUnknown_02039E00 - ldr r4, =gUnknown_02039F25 + ldr r5, =gContestMons + ldr r4, =gContestPlayerMonIndex ldrb r0, [r4] lsls r0, 6 adds r0, r5 @@ -266,7 +266,7 @@ _081DA02A: lsls r0, 24 cmp r0, 0 bne _081DA0B8 - ldr r0, =gUnknown_02039E00 + ldr r0, =gContestMons adds r1, r0, 0 adds r1, 0x2C ldrb r2, [r1] @@ -438,10 +438,10 @@ _081DA1A4: lsls r0, 24 cmp r0, 0 beq _081DA224 - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] lsls r0, 6 - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons adds r0, r1 movs r1, 0x40 bl sub_80FC4F4 @@ -466,7 +466,7 @@ _081DA1D4: ldr r6, =gLinkPlayers _081DA1EC: lsls r4, r5, 6 - ldr r0, =gUnknown_02039E00 + ldr r0, =gContestMons adds r4, r0 lsls r1, r5, 8 ldr r0, =gBlockRecvBuffer @@ -558,7 +558,7 @@ _081DA2AC: adds r1, r4, 0 movs r2, 0x4 bl memcpy - ldr r0, =gUnknown_030060B8 + ldr r0, =gContestRngValue adds r1, r4, 0 movs r2, 0x4 bl memcpy @@ -823,7 +823,7 @@ _081DA4CC: ldr r0, =gUnknown_02039F30 ldrb r2, [r0] lsls r0, r2, 6 - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons adds r0, r1 movs r1, 0x4 subs r1, r2 @@ -847,7 +847,7 @@ _081DA50C: ldr r4, =gUnknown_02039F30 ldrb r3, [r4] lsls r0, r3, 6 - ldr r5, =gUnknown_02039E00 + ldr r5, =gContestMons adds r0, r5 ldr r1, =gBlockRecvBuffer movs r2, 0x4 diff --git a/asm/contest_painting.s b/asm/contest_painting.s index 8bb38eeed..f7c146e3e 100644 --- a/asm/contest_painting.s +++ b/asm/contest_painting.s @@ -438,7 +438,7 @@ _081301A6: str r1, [sp, 0x8] movs r1, 0x1 adds r2, r4, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x1 bl CopyBgTilemapBufferToVram _081301D4: diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 4ee0fa2ae..e99c885cc 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -5,1272 +5,6 @@ .text - thumb_func_start sub_811A20C -sub_811A20C: @ 811A20C - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - adds r6, r0, 0 - mov r8, r1 - mov r9, r2 - adds r5, r3, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r5, 24 - lsrs r5, 24 - bl ResetTasks - ldr r0, =sub_811A2C0 - movs r1, 0 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r6, [r0, 0xA] - strh r5, [r0, 0x16] - adds r0, r4, 0 - movs r1, 0x2 - mov r2, r8 - bl SetWordTaskArg - adds r0, r4, 0 - movs r1, 0x4 - mov r2, r9 - bl SetWordTaskArg - ldr r0, =sub_811A278 - bl SetMainCallback2 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A20C - - thumb_func_start sub_811A278 -sub_811A278: @ 811A278 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_811A278 - - thumb_func_start sub_811A290 -sub_811A290: @ 811A290 - push {lr} - bl TransferPlttBuffer - bl LoadOam - bl ProcessSpriteCopyRequests - pop {r0} - bx r0 - thumb_func_end sub_811A290 - - thumb_func_start sub_811A2A4 -sub_811A2A4: @ 811A2A4 - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r3 - str r1, [r2] - movs r0, 0 - strh r0, [r2, 0x8] - bx lr - .pool - thumb_func_end sub_811A2A4 - - thumb_func_start sub_811A2C0 -sub_811A2C0: @ 811A2C0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl is_c1_link_related_active - cmp r0, 0 - bne _0811A2DC -_0811A2CE: - adds r0, r4, 0 - bl sub_811A428 - lsls r0, 24 - cmp r0, 0 - bne _0811A2CE - b _0811A2EA -_0811A2DC: - adds r0, r4, 0 - bl sub_811A428 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0811A2F2 -_0811A2EA: - ldr r1, =sub_811A2FC - adds r0, r4, 0 - bl sub_811A2A4 -_0811A2F2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A2C0 - - thumb_func_start sub_811A2FC -sub_811A2FC: @ 811A2FC - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x5 - bls _0811A318 - b _0811A41C -_0811A318: - lsls r0, 2 - ldr r1, =_0811A32C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0811A32C: - .4byte _0811A344 - .4byte _0811A370 - .4byte _0811A3CC - .4byte _0811A3D4 - .4byte _0811A3EC - .4byte _0811A40C -_0811A344: - ldr r0, =sub_811A290 - bl SetVBlankCallback - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - adds r1, r4, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0x5 - b _0811A41A - .pool -_0811A370: - bl sub_811AAAC - lsls r0, 16 - lsrs r4, r0, 16 - adds r6, r4, 0 - adds r0, r4, 0 - bl sub_811A88C - cmp r0, 0 - beq _0811A39E - movs r0, 0x1 - negs r0, r0 - movs r1, 0x2 - negs r1, r1 - movs r2, 0 - str r2, [sp] - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x3 - strh r0, [r5] - strh r4, [r5, 0xC] - b _0811A41C -_0811A39E: - cmp r4, 0x18 - bne _0811A3B6 - movs r1, 0x1 - negs r1, r1 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x4 - b _0811A41A -_0811A3B6: - cmp r6, 0 - beq _0811A41C - movs r0, 0x5 - bl PlaySE - adds r0, r6, 0 - bl sub_811C158 - ldrh r0, [r5] - adds r0, 0x1 - b _0811A41A -_0811A3CC: - bl sub_811C170 - lsls r0, 24 - b _0811A414 -_0811A3D4: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0811A41C - ldrh r0, [r5, 0xC] - bl sub_811A8A4 - b _0811A41C - .pool -_0811A3EC: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0811A41C - adds r0, r2, 0 - movs r1, 0x4 - bl GetWordTaskArg - bl sub_811A4D0 - b _0811A41C - .pool -_0811A40C: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 -_0811A414: - cmp r0, 0 - bne _0811A41C - movs r0, 0x1 -_0811A41A: - strh r0, [r5] -_0811A41C: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A2FC - - thumb_func_start sub_811A428 -sub_811A428: @ 811A428 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0x4 - bhi _0811A4BC - lsls r0, 2 - ldr r1, =_0811A454 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0811A454: - .4byte _0811A468 - .4byte _0811A47C - .4byte _0811A482 - .4byte _0811A498 - .4byte _0811A4B0 -_0811A468: - movs r0, 0 - bl SetVBlankCallback - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetPaletteFade - b _0811A4C0 -_0811A47C: - bl sub_811F28C - b _0811A49C -_0811A482: - ldrb r4, [r6, 0x2] - adds r0, r5, 0 - movs r1, 0x2 - bl GetWordTaskArg - adds r1, r0, 0 - ldrb r2, [r6, 0xE] - adds r0, r4, 0 - bl sub_811A95C - b _0811A49C -_0811A498: - bl sub_811BF8C -_0811A49C: - lsls r0, 24 - cmp r0, 0 - bne _0811A4C0 - adds r0, r5, 0 - movs r1, 0x4 - bl GetWordTaskArg - bl sub_811A4D0 - b _0811A4C0 -_0811A4B0: - bl sub_811BFA4 - lsls r0, 24 - cmp r0, 0 - beq _0811A4C0 - b _0811A4C6 -_0811A4BC: - movs r0, 0 - b _0811A4C8 -_0811A4C0: - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] -_0811A4C6: - movs r0, 0x1 -_0811A4C8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_811A428 - - thumb_func_start sub_811A4D0 -sub_811A4D0: @ 811A4D0 - push {r4,lr} - adds r4, r0, 0 - bl sub_811C13C - bl sub_811AA90 - bl sub_811F2B8 - bl FreeAllWindowBuffers - adds r0, r4, 0 - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_811A4D0 - - thumb_func_start easy_chat_input_maybe -easy_chat_input_maybe: @ 811A4F0 - push {r4,r5,lr} - movs r5, 0x3 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x14 - bls _0811A4FE - b _0811A7D4 -_0811A4FE: - lsls r0, 2 - ldr r1, =_0811A510 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0811A510: - .4byte _0811A564 - .4byte _0811A578 - .4byte _0811A58C - .4byte _0811A5A0 - .4byte _0811A5B4 - .4byte _0811A604 - .4byte _0811A5D8 - .4byte _0811A630 - .4byte _0811A664 - .4byte _0811A688 - .4byte _0811A6B4 - .4byte _0811A6D4 - .4byte _0811A708 - .4byte _0811A72C - .4byte _0811A73C - .4byte _0811A770 - .4byte _0811A7D4 - .4byte _0811A784 - .4byte _0811A798 - .4byte _0811A7AC - .4byte _0811A7BC -_0811A564: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00002bb0 - adds r4, r0, r1 - b _0811A7C2 - .pool -_0811A578: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x00002bbc - adds r4, r0, r2 - b _0811A7C2 - .pool -_0811A58C: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r3, =0x00002bc8 - adds r4, r0, r3 - b _0811A7C2 - .pool -_0811A5A0: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00002bd4 - adds r4, r0, r1 - b _0811A7C2 - .pool -_0811A5B4: - ldr r2, =gSaveBlock1Ptr - ldr r0, =gSpecialVar_0x8005 - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r3, =0x00002be0 - adds r0, r3 - ldr r1, [r2] - adds r4, r1, r0 - b _0811A7C2 - .pool -_0811A5D8: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x00002e36 - adds r1, r0, r2 - ldr r3, =0x00002e2a - adds r2, r0, r3 - movs r3, 0x5 -_0811A5E6: - ldrh r0, [r2] - strh r0, [r2, 0xC] - adds r2, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _0811A5E6 - adds r4, r1, 0 - b _0811A7C2 - .pool -_0811A604: - ldr r2, =gSaveBlock1Ptr - ldr r0, =gSpecialVar_0x8005 - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, [r2] - adds r0, r1 - ldr r1, =0x000027d0 - adds r4, r0, r1 - ldr r0, =gSpecialVar_0x8006 - ldrb r5, [r0] - b _0811A7C2 - .pool -_0811A630: - ldr r2, =gSaveBlock1Ptr - ldr r0, =gSpecialVar_0x8005 - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r3, =0x000027cc - adds r0, r3 - ldr r1, [r2] - adds r1, r0 - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - lsls r0, 1 - adds r0, 0x1C - adds r4, r1, r0 - movs r5, 0x1 - b _0811A7C2 - .pool -_0811A664: - ldr r2, =gSaveBlock1Ptr - ldr r0, =gSpecialVar_0x8005 - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, [r2] - adds r0, r1 - ldr r1, =0x000027ce - adds r4, r0, r1 - movs r5, 0 - b _0811A7C2 - .pool -_0811A688: - ldr r4, =gStringVar3 - ldr r1, =gSaveBlock1Ptr - ldr r0, [r1] - ldr r2, =0x00002e6c - adds r0, r2 - ldrh r0, [r0] - strh r0, [r4] - ldr r0, [r1] - ldr r3, =0x00002e6e - adds r0, r3 - ldrh r0, [r0] - strh r0, [r4, 0x2] - b _0811A7C2 - .pool -_0811A6B4: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00002baa - adds r4, r0, r1 - ldr r2, =0x0000ffff - adds r0, r2, 0 - strh r0, [r4] - movs r5, 0x1 - b _0811A7C2 - .pool -_0811A6D4: - ldr r2, =gSaveBlock1Ptr - ldr r0, =gSpecialVar_0x8005 - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r3, =0x000027cc - adds r0, r3 - ldr r1, [r2] - adds r1, r0 - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - lsls r0, 1 - adds r0, 0x4 - adds r4, r1, r0 - movs r5, 0 - b _0811A7C2 - .pool -_0811A708: - ldr r2, =gSaveBlock1Ptr - ldr r0, =gSpecialVar_0x8005 - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, [r2] - adds r0, r1 - ldr r1, =0x000027e4 - adds r4, r0, r1 - movs r5, 0x1 - b _0811A7C2 - .pool -_0811A72C: - ldr r4, =gStringVar3 - adds r0, r4, 0 - movs r1, 0x2 - bl InitializeEasyChatWordArray - b _0811A7C2 - .pool -_0811A73C: - ldr r2, =gSaveBlock1Ptr - ldr r0, =gSpecialVar_0x8005 - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r3, =0x000027cc - adds r0, r3 - ldr r1, [r2] - adds r1, r0 - adds r4, r1, 0 - adds r4, 0x14 - ldr r2, =0x0000ffff - adds r0, r2, 0 - strh r0, [r1, 0x14] - movs r5, 0x2 - b _0811A7C2 - .pool -_0811A770: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r3, =0x00003b6e - adds r4, r0, r3 - b _0811A7C2 - .pool -_0811A784: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003b5a - adds r4, r0, r1 - b _0811A7C2 - .pool -_0811A798: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x00003b6c - adds r4, r0, r2 - b _0811A7C2 - .pool -_0811A7AC: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - movs r3, 0x82 - lsls r3, 1 - adds r4, r0, r3 - b _0811A7C2 - .pool -_0811A7BC: - bl sub_801B058 - adds r4, r0, 0 -_0811A7C2: - bl overworld_free_bg_tilemaps - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - ldr r2, =CB2_ReturnToFieldContinueScript - adds r1, r4, 0 - adds r3, r5, 0 - bl sub_811A20C -_0811A7D4: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end easy_chat_input_maybe - - thumb_func_start sub_811A7E4 -sub_811A7E4: @ 811A7E4 - push {lr} - bl UpdatePaletteFade - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0811A804 - cmp r0, 0x1 - beq _0811A80E - b _0811A840 - .pool -_0811A804: - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - b _0811A840 -_0811A80E: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0811A84E - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003b58 - adds r0, r1 - ldr r1, =0x0000ffff - strh r1, [r0, 0x16] - bl overworld_free_bg_tilemaps - bl sub_811A8F0 - b _0811A84E - .pool -_0811A840: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0811A84E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A7E4 - - thumb_func_start sub_811A858 -sub_811A858: @ 811A858 - push {lr} - ldr r0, =sub_811A7E4 - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A858 - - thumb_func_start sub_811A868 -sub_811A868: @ 811A868 - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - movs r0, 0 - ldr r1, =gUnknown_08597530 -_0811A872: - ldrh r3, [r1] - cmp r2, r3 - beq _0811A884 - adds r1, 0x8 - adds r0, 0x1 - cmp r0, 0x3 - bls _0811A872 - movs r0, 0x1 - negs r0, r0 -_0811A884: - pop {r1} - bx r1 - .pool - thumb_func_end sub_811A868 - - thumb_func_start sub_811A88C -sub_811A88C: @ 811A88C - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl sub_811A868 - adds r1, r0, 0 - mvns r1, r1 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - pop {r1} - bx r1 - thumb_func_end sub_811A88C - - thumb_func_start sub_811A8A4 -sub_811A8A4: @ 811A8A4 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - bl sub_811A868 - adds r4, r0, 0 - bl ResetTasks - ldr r0, =gUnknown_08597530 - lsls r4, 3 - adds r0, 0x4 - adds r4, r0 - ldr r0, [r4] - bl sub_811A4D0 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A8A4 - - thumb_func_start sub_811A8CC -sub_811A8CC: @ 811A8CC - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =0x00003b6e - adds r1, r0 - ldr r2, =CB2_ReturnToFieldContinueScript - movs r0, 0xF - movs r3, 0x3 - bl sub_811A20C - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A8CC - - thumb_func_start sub_811A8F0 -sub_811A8F0: @ 811A8F0 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =0x00003b5a - adds r1, r0 - ldr r2, =CB2_ReturnToFieldContinueScript - movs r0, 0x10 - movs r3, 0x3 - bl sub_811A20C - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A8F0 - - thumb_func_start sub_811A914 -sub_811A914: @ 811A914 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =0x00003b6c - adds r1, r0 - ldr r2, =CB2_ReturnToFieldContinueScript - movs r0, 0x12 - movs r3, 0x3 - bl sub_811A20C - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A914 - - thumb_func_start sub_811A938 -sub_811A938: @ 811A938 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =0x00003b5a - adds r1, r0 - ldr r2, =CB2_ReturnToFieldContinueScript - movs r0, 0x11 - movs r3, 0x3 - bl sub_811A20C - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A938 - - thumb_func_start sub_811A95C -sub_811A95C: @ 811A95C - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r1 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r4, =gUnknown_0203A118 - movs r0, 0x50 - bl Alloc - str r0, [r4] - cmp r0, 0 - bne _0811A984 - movs r0, 0 - b _0811AA7E - .pool -_0811A984: - movs r7, 0 - strb r5, [r0] - ldr r0, [r4] - mov r1, r8 - str r1, [r0, 0x38] - strb r7, [r0, 0x5] - ldr r0, [r4] - strb r7, [r0, 0x6] - ldr r0, [r4] - strb r7, [r0, 0x9] - ldr r0, [r4] - strb r6, [r0, 0x12] - ldr r0, [r4] - strb r7, [r0, 0x13] - adds r0, r5, 0 - bl sub_811BCC8 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r5, 0x10 - bne _0811A9C6 - ldr r0, [r4] - adds r0, 0x14 - bl sub_811BDF0 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x14 - str r1, [r0, 0x34] - movs r1, 0x7 - strb r1, [r0, 0x4] - lsls r0, r6, 1 - b _0811A9DE -_0811A9C6: - ldr r0, [r4] - strb r7, [r0, 0x4] - ldr r3, [r4] - ldr r1, =gUnknown_08597550 - lsls r2, r6, 1 - adds r0, r2, r6 - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - str r0, [r3, 0x34] - adds r0, r2, 0 -_0811A9DE: - ldr r3, =gUnknown_0203A118 - ldr r2, [r3] - ldr r1, =gUnknown_08597550 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0x1] - strb r1, [r2, 0x2] - ldr r1, [r3] - ldrb r0, [r0, 0x2] - strb r0, [r1, 0x3] - ldr r0, [r3] - ldrb r2, [r0, 0x2] - ldrb r1, [r0, 0x3] - adds r4, r2, 0 - muls r4, r1 - adds r1, r4, 0 - strb r1, [r0, 0x7] - ldr r0, [r3] - strb r6, [r0, 0x1] - ldr r1, [r3] - ldrb r0, [r1, 0x7] - adds r4, r3, 0 - cmp r0, 0x9 - bls _0811AA14 - movs r0, 0x9 - strb r0, [r1, 0x7] -_0811AA14: - mov r0, r8 - cmp r0, 0 - beq _0811AA34 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x3C - ldrb r2, [r0, 0x7] - mov r0, r8 - bl CpuSet - b _0811AA64 - .pool -_0811AA34: - movs r3, 0 - ldr r0, [r4] - ldrb r0, [r0, 0x7] - cmp r3, r0 - bge _0811AA5C - adds r6, r4, 0 - ldr r1, =0x0000ffff - adds r5, r1, 0 -_0811AA44: - ldr r2, [r6] - lsls r0, r3, 1 - adds r1, r2, 0 - adds r1, 0x3C - adds r1, r0 - ldrh r0, [r1] - orrs r0, r5 - strh r0, [r1] - adds r3, 0x1 - ldrb r2, [r2, 0x7] - cmp r3, r2 - blt _0811AA44 -_0811AA5C: - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x3C - str r0, [r1, 0x38] -_0811AA64: - bl sub_811F3AC - ldr r1, =gUnknown_0203A118 - ldr r2, [r1] - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0x1 - strb r0, [r2, 0xD] - movs r0, 0x1 -_0811AA7E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_811A95C - - thumb_func_start sub_811AA90 -sub_811AA90: @ 811AA90 - push {r4,lr} - ldr r4, =gUnknown_0203A118 - ldr r0, [r4] - cmp r0, 0 - beq _0811AAA2 - bl Free - movs r0, 0 - str r0, [r4] -_0811AAA2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811AA90 - - thumb_func_start sub_811AAAC -sub_811AAAC: @ 811AAAC - push {lr} - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r0, 0xA - bhi _0811AB3E - lsls r0, 2 - ldr r1, =_0811AACC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0811AACC: - .4byte _0811AAF8 - .4byte _0811AAFE - .4byte _0811AB04 - .4byte _0811AB0A - .4byte _0811AB10 - .4byte _0811AB16 - .4byte _0811AB1C - .4byte _0811AB22 - .4byte _0811AB28 - .4byte _0811AB2E - .4byte _0811AB34 -_0811AAF8: - bl sub_811AB68 - b _0811AB38 -_0811AAFE: - bl sub_811ACDC - b _0811AB38 -_0811AB04: - bl sub_811AE44 - b _0811AB38 -_0811AB0A: - bl sub_811AF00 - b _0811AB38 -_0811AB10: - bl sub_811AF8C - b _0811AB38 -_0811AB16: - bl sub_811B040 - b _0811AB38 -_0811AB1C: - bl sub_811AFEC - b _0811AB38 -_0811AB22: - bl sub_811B08C - b _0811AB38 -_0811AB28: - bl sub_811B0BC - b _0811AB38 -_0811AB2E: - bl sub_811B0E8 - b _0811AB38 -_0811AB34: - bl sub_811B0F8 -_0811AB38: - lsls r0, 16 - lsrs r0, 16 - b _0811AB40 -_0811AB3E: - movs r0, 0 -_0811AB40: - pop {r1} - bx r1 - thumb_func_end sub_811AAAC - - thumb_func_start sub_811AB44 -sub_811AB44: @ 811AB44 - push {lr} - bl sub_811BA68 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _0811AB5E - cmp r0, 0x2 - blt _0811AB62 - cmp r0, 0x8 - bgt _0811AB62 - cmp r0, 0x7 - blt _0811AB62 -_0811AB5E: - movs r0, 0x1 - b _0811AB64 -_0811AB62: - movs r0, 0 -_0811AB64: - pop {r1} - bx r1 - thumb_func_end sub_811AB44 - - thumb_func_start sub_811AB68 -sub_811AB68: @ 811AB68 - push {r4-r7,lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0811ABB8 - bl sub_811BF78 - ldr r1, =gUnknown_0203A118 - ldr r3, [r1] - movs r2, 0 - movs r0, 0x2 - strb r0, [r3, 0x4] - ldr r0, [r1] - strb r2, [r0, 0xA] - ldr r0, [r1] - strb r2, [r0, 0xB] - ldr r0, [r1] - strb r2, [r0, 0xC] - movs r0, 0x9 - b _0811ACCC - .pool -_0811AB9C: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _0811AC68 - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0811AC58 - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _0811AC48 - movs r0, 0 - b _0811ACCC -_0811ABB8: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0811AC78 - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _0811AC7E - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0811AB9C - ldr r2, =gUnknown_0203A118 - ldr r1, [r2] - ldrb r0, [r1, 0x6] - subs r0, 0x1 -_0811ABD8: - strb r0, [r1, 0x6] -_0811ABDA: - adds r7, r2, 0 - adds r4, r7, 0 - ldr r2, [r4] - movs r0, 0x6 - ldrsb r0, [r2, r0] - ldr r6, =gUnknown_08597550 - cmp r0, 0 - bge _0811ABF8 - ldrb r0, [r2, 0x1] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r6 - ldrb r0, [r1, 0x2] - strb r0, [r2, 0x6] -_0811ABF8: - ldr r3, [r4] - movs r2, 0x6 - ldrsb r2, [r3, r2] - adds r5, r6, 0 - ldrb r1, [r3, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - ldrb r0, [r0, 0x2] - cmp r2, r0 - ble _0811AC14 - movs r0, 0 - strb r0, [r3, 0x6] -_0811AC14: - ldr r3, [r4] - movs r2, 0x6 - ldrsb r2, [r3, r2] - ldrb r1, [r3, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r1, r0, r5 - ldrb r0, [r1, 0x2] - cmp r2, r0 - bne _0811AC88 - movs r0, 0x5 - ldrsb r0, [r3, r0] - cmp r0, 0x2 - ble _0811AC36 - movs r0, 0x2 - strb r0, [r3, 0x5] -_0811AC36: - ldr r1, [r4] - movs r0, 0x1 - strb r0, [r1, 0x4] - movs r0, 0x3 - b _0811ACCC - .pool -_0811AC48: - ldr r2, =gUnknown_0203A118 - ldr r1, [r2] - ldrb r0, [r1, 0x5] - adds r0, 0x1 - strb r0, [r1, 0x5] - b _0811ABDA - .pool -_0811AC58: - ldr r2, =gUnknown_0203A118 - ldr r1, [r2] - ldrb r0, [r1, 0x6] - adds r0, 0x1 - b _0811ABD8 - .pool -_0811AC68: - ldr r2, =gUnknown_0203A118 - ldr r1, [r2] - ldrb r0, [r1, 0x5] - subs r0, 0x1 - strb r0, [r1, 0x5] - b _0811ABDA - .pool -_0811AC78: - bl sub_811B150 - b _0811AC82 -_0811AC7E: - bl sub_811B1B4 -_0811AC82: - lsls r0, 16 - lsrs r0, 16 - b _0811ACCC -_0811AC88: - movs r0, 0x5 - ldrsb r0, [r3, r0] - cmp r0, 0 - bge _0811AC96 - ldrb r0, [r1, 0x1] - subs r0, 0x1 - strb r0, [r3, 0x5] -_0811AC96: - ldr r3, [r4] - movs r2, 0x5 - ldrsb r2, [r3, r2] - ldrb r1, [r3, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - ldrb r0, [r0, 0x1] - cmp r2, r0 - blt _0811ACB0 - movs r0, 0 - strb r0, [r3, 0x5] -_0811ACB0: - bl sub_811AB44 - cmp r0, 0 - beq _0811ACCA - ldr r2, [r7] - ldr r0, [r2, 0x4] - ldr r1, =0x00ffff00 - ands r0, r1 - ldr r1, =0x00040100 - cmp r0, r1 - bne _0811ACCA - movs r0, 0 - strb r0, [r2, 0x5] -_0811ACCA: - movs r0, 0x2 -_0811ACCC: - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_811AB68 - thumb_func_start sub_811ACDC sub_811ACDC: @ 811ACDC push {r4-r6,lr} @@ -1635,7 +369,7 @@ _0811AF86: thumb_func_start sub_811AF8C sub_811AF8C: @ 811AF8C push {lr} - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -1684,7 +418,7 @@ _0811AFE6: thumb_func_start sub_811AFEC sub_811AFEC: @ 811AFEC push {r4,lr} - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -1727,7 +461,7 @@ _0811B03A: thumb_func_start sub_811B040 sub_811B040: @ 811B040 push {lr} - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -1832,7 +566,7 @@ sub_811B0E8: @ 811B0E8 thumb_func_start sub_811B0F8 sub_811B0F8: @ 811B0F8 push {r4,lr} - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -3972,7 +2706,7 @@ _0811C044: movs r0, 0x3 movs r2, 0 movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree + bl DecompressAndLoadBgGfxUsingHeap ldr r1, =gEasyChatWindow_Tilemap movs r0, 0x3 movs r2, 0 @@ -3998,7 +2732,7 @@ _0811C090: movs r0, 0x1 movs r2, 0 movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree + bl DecompressAndLoadBgGfxUsingHeap movs r0, 0x1 bl CopyBgTilemapBufferToVram b _0811C124 @@ -5910,7 +4644,7 @@ sub_811D028: @ 811D028 str r4, [sp] str r5, [sp, 0x4] str r6, [sp, 0x8] - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0xC pop {r4-r6} pop {r0} @@ -5959,7 +4693,7 @@ sub_811D058: @ 811D058 str r4, [sp, 0x4] str r2, [sp, 0x8] mov r2, r9 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0x10 pop {r3-r5} mov r8, r3 diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index c2b13e2bf..666e440a6 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -530,7 +530,7 @@ sub_809C2C8: @ 809C2C8 ldrh r1, [r4, 0x2] b _0809C30E _0809C2F0: - ldr r1, =gUnknown_08339D64 + ldr r1, =gDirectionToVectors lsls r2, r6, 3 adds r0, r2, r1 ldr r3, [r0] @@ -631,7 +631,7 @@ _0809C3B4: lsrs r0, 24 cmp r0, 0x1 bne _0809C400 - ldr r1, =gUnknown_08339D64 + ldr r1, =gDirectionToVectors lsls r2, r7, 3 adds r0, r2, r1 ldr r3, [r0] @@ -1658,7 +1658,7 @@ mapheader_run_first_tag2_script_list_match_conditionally: @ 809CC38 negs r0, r0 cmp r4, r0 beq _0809CC90 - bl walkrun_find_lowest_active_bit_in_bitfield + bl StoreInitialPlayerAvatarState mov r0, r8 adds r1, r4, 0 adds r2, r7, 0 @@ -1699,7 +1699,7 @@ sub_809CC9C: @ 809CC9C lsrs r0, 24 cmp r0, 0x1 bne _0809CD8A - bl walkrun_find_lowest_active_bit_in_bitfield + bl StoreInitialPlayerAvatarState adds r0, r7, 0 adds r1, r4, 0 adds r2, r6, 0 @@ -2083,7 +2083,7 @@ _0809CFB0: lsrs r0, 24 cmp r0, 0x1 bne _0809CFFC - bl walkrun_find_lowest_active_bit_in_bitfield + bl StoreInitialPlayerAvatarState adds r0, r6, 0 adds r1, r4, 0 adds r2, r5, 0 @@ -2334,7 +2334,7 @@ dive_warp: @ 809D16C subs r1, 0x7 lsls r1, 16 lsrs r1, 16 - bl sub_8085058 + bl SetDiveWarpEmerge b _0809D1C8 .pool _0809D1A4: @@ -2353,12 +2353,12 @@ _0809D1A4: subs r1, 0x7 lsls r1, 16 lsrs r1, 16 - bl sub_8085078 + bl SetDiveWarpDive _0809D1C8: lsls r0, 24 cmp r0, 0 beq _0809D1E0 - bl walkrun_find_lowest_active_bit_in_bitfield + bl StoreInitialPlayerAvatarState bl sp13E_warp_to_last_warp movs r0, 0xE9 bl PlaySE @@ -2407,7 +2407,7 @@ sub_809D1E8: @ 809D1E8 subs r1, 0x7 lsls r1, 16 lsrs r1, 16 - bl sub_8085058 + bl SetDiveWarpEmerge lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -2431,7 +2431,7 @@ _0809D244: subs r1, 0x7 lsls r1, 16 lsrs r1, 16 - bl sub_8085078 + bl SetDiveWarpDive lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s index 6cf62ba8b..9a019f60c 100644 --- a/asm/field_effect_helpers.s +++ b/asm/field_effect_helpers.s @@ -20,7 +20,7 @@ SetUpReflection: @ 8153ED4 ldrsh r2, [r4, r0] adds r0, r4, 0 movs r3, 0x98 - bl obj_unfreeze + bl CreateCopySpriteAt lsls r0, 24 lsrs r0, 24 lsls r1, r0, 4 @@ -34,7 +34,7 @@ SetUpReflection: @ 8153ED4 movs r0, 0xC orrs r1, r0 strb r1, [r7, 0x5] - ldr r2, =gUnknown_084975C4 + ldr r2, =gReflectionEffectPaletteMap lsrs r0, r1, 4 adds r0, r2 ldrb r0, [r0] @@ -185,7 +185,7 @@ npc_pal_op_B: @ 815401C bne _0815404C ldrh r0, [r2, 0x2] adds r1, r4, 0 - bl npc_load_two_palettes__no_record + bl LoadPlayerObjectReflectionPalette b _0815406A .pool _0815404C: @@ -193,15 +193,15 @@ _0815404C: bne _0815405A ldrh r0, [r2, 0x2] adds r1, r4, 0 - bl npc_load_two_palettes__and_record + bl LoadSpecialObjectReflectionPalette b _0815406A _0815405A: adds r0, r4, 0 - bl npc_paltag_by_palslot + bl GetObjectPaletteTag lsls r0, 16 lsrs r0, 16 adds r1, r4, 0 - bl pal_patch_for_npc + bl PatchObjectPalette _0815406A: adds r0, r4, 0 bl UpdateSpritePaletteWithWeather @@ -225,7 +225,7 @@ npc_pal_op_A: @ 8154078 beq _0815409C adds r0, r1, 0 adds r1, r4, 0 - bl pal_patch_for_npc + bl PatchObjectPalette adds r0, r4, 0 bl UpdateSpritePaletteWithWeather _0815409C: @@ -277,7 +277,7 @@ _081540E0: b _08154214 .pool _081540FC: - ldr r1, =gUnknown_084975C4 + ldr r1, =gReflectionEffectPaletteMap ldrb r0, [r5, 0x5] lsrs r0, 4 adds r0, r1 diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index c0becc6da..0abbf014f 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -5,1279 +5,6 @@ .text - thumb_func_start MovementType_Player -@ void MovementType_Player(struct obj *object) -MovementType_Player: @ 808A998 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, =gEventObjects - adds r0, r2 - ldr r2, =EventObjectCB2_NoMovement2 - bl UpdateEventObjectCurrentMovement - pop {r0} - bx r0 - .pool - thumb_func_end MovementType_Player - - thumb_func_start EventObjectCB2_NoMovement2 -EventObjectCB2_NoMovement2: @ 808A9BC - movs r0, 0 - bx lr - thumb_func_end EventObjectCB2_NoMovement2 - - thumb_func_start player_step -@ void player_step(int dpad_direction, int buttons_new, int buttons_held) -player_step: @ 808A9C0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 16 - lsrs r6, r2, 16 - ldr r4, =gPlayerAvatar - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gEventObjects - adds r5, r0, r1 - adds r0, r5, 0 - bl sub_808C280 - ldrb r0, [r4, 0x6] - cmp r0, 0 - bne _0808AA26 - adds r0, r7, 0 - adds r1, r6, 0 - bl Bike_TryAcroBikeHistoryUpdate - adds r0, r5, 0 - mov r1, r8 - bl TryInterruptEventObjectSpecialAnim - lsls r0, 24 - cmp r0, 0 - bne _0808AA26 - adds r0, r5, 0 - bl npc_clear_strange_bits - bl DoPlayerAvatarTransition - bl TryDoMetatileBehaviorForcedMovment - lsls r0, 24 - cmp r0, 0 - bne _0808AA26 - mov r0, r8 - adds r1, r7, 0 - adds r2, r6, 0 - bl MovePlayerAvatarUsingKeypadInput - bl PlayerAllowForcedMovementIfMovingSameDirection -_0808AA26: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end player_step - - thumb_func_start TryInterruptEventObjectSpecialAnim -@ bool8 TryInterruptEventObjectSpecialAnim(struct npc_state *eventObject, u8 direction) -TryInterruptEventObjectSpecialAnim: @ 808AA38 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - adds r6, r5, 0 - bl EventObjectIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _0808AA92 - adds r0, r4, 0 - bl EventObjectClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - bne _0808AA92 - adds r0, r4, 0 - bl EventObjectGetHeldMovementActionId - lsls r0, 24 - movs r1, 0xE7 - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x3 - bhi _0808AA70 - cmp r5, 0 - bne _0808AA74 -_0808AA70: - movs r0, 0x1 - b _0808AA94 -_0808AA74: - ldrb r0, [r4, 0x18] - lsrs r0, 4 - cmp r0, r5 - beq _0808AA84 -_0808AA7C: - adds r0, r4, 0 - bl EventObjectClearHeldMovement - b _0808AA92 -_0808AA84: - adds r0, r6, 0 - bl sub_808B028 - lsls r0, 24 - cmp r0, 0 - beq _0808AA7C - b _0808AA70 -_0808AA92: - movs r0, 0 -_0808AA94: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end TryInterruptEventObjectSpecialAnim - - thumb_func_start npc_clear_strange_bits -@ void npc_clear_strange_bits(struct npc_state *eventObject) -npc_clear_strange_bits: @ 808AA9C - ldrb r2, [r0, 0x1] - movs r1, 0x11 - negs r1, r1 - ands r1, r2 - movs r2, 0x5 - negs r2, r2 - ands r1, r2 - adds r2, 0x2 - ands r1, r2 - strb r1, [r0, 0x1] - ldr r2, =gPlayerAvatar - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - bx lr - .pool - thumb_func_end npc_clear_strange_bits - - thumb_func_start MovePlayerAvatarUsingKeypadInput -@ void MovePlayerAvatarUsingKeypadInput(int dpad_direction, int buttons_new, int buttons_held) -MovePlayerAvatarUsingKeypadInput: @ 808AAC0 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r0, =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - beq _0808AAE8 - adds r0, r3, 0 - adds r1, r4, 0 - bl MovePlayerOnBike - b _0808AAF0 - .pool -_0808AAE8: - adds r0, r3, 0 - adds r1, r2, 0 - bl MovePlayerNotOnBike -_0808AAF0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end MovePlayerAvatarUsingKeypadInput - - thumb_func_start PlayerAllowForcedMovementIfMovingSameDirection -@ void PlayerAllowForcedMovementIfMovingSameDirection() -PlayerAllowForcedMovementIfMovingSameDirection: @ 808AAF8 - push {lr} - ldr r2, =gPlayerAvatar - ldrb r0, [r2, 0x2] - cmp r0, 0x2 - bne _0808AB0A - ldrb r1, [r2] - movs r0, 0xDF - ands r0, r1 - strb r0, [r2] -_0808AB0A: - pop {r0} - bx r0 - .pool - thumb_func_end PlayerAllowForcedMovementIfMovingSameDirection - - thumb_func_start TryDoMetatileBehaviorForcedMovment -@ bool8 TryDoMetatileBehaviorForcedMovment() -TryDoMetatileBehaviorForcedMovment: @ 808AB14 - push {r4,lr} - ldr r4, =gUnknown_08497444 - bl GetForcedMovementByMetatileBehavior - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - ldr r0, [r0] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end TryDoMetatileBehaviorForcedMovment - - thumb_func_start GetForcedMovementByMetatileBehavior -@ u8 GetForcedMovementByMetatileBehavior() -GetForcedMovementByMetatileBehavior: @ 808AB38 - push {r4-r6,lr} - ldr r3, =gPlayerAvatar - ldrb r1, [r3] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _0808AB8A - ldr r2, =gEventObjects - ldrb r1, [r3, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r5, [r0, 0x1E] - movs r4, 0 - ldr r6, =gUnknown_084973FC -_0808AB58: - lsls r0, r4, 2 - adds r0, r6 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - beq _0808AB80 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r0, 24 - b _0808AB8C - .pool -_0808AB80: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x11 - bls _0808AB58 -_0808AB8A: - movs r0, 0 -_0808AB8C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetForcedMovementByMetatileBehavior - - thumb_func_start ForcedMovement_None -ForcedMovement_None: @ 808AB94 - push {r4,lr} - ldr r4, =gPlayerAvatar - ldrb r1, [r4] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0808ABCE - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gEventObjects - adds r0, r1 - ldrb r2, [r0, 0x1] - movs r1, 0x3 - negs r1, r1 - ands r1, r2 - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x1] - ldrb r1, [r0, 0x18] - lsls r1, 28 - lsrs r1, 28 - bl SetEventObjectDirection - ldrb r1, [r4] - movs r0, 0xBF - ands r0, r1 - strb r0, [r4] -_0808ABCE: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_None - - thumb_func_start DoForcedMovement -DoForcedMovement: @ 808ABE0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r9, r1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r6, =gPlayerAvatar - adds r0, r5, 0 - bl CheckForPlayerAvatarCollision - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - ldrb r0, [r6] - movs r1, 0x40 - mov r10, r1 - movs r1, 0 - mov r8, r1 - mov r1, r10 - orrs r0, r1 - strb r0, [r6] - cmp r4, 0 - beq _0808AC3C - bl ForcedMovement_None - cmp r4, 0x4 - bhi _0808AC24 - movs r0, 0 - b _0808AC48 - .pool -_0808AC24: - cmp r7, 0x6 - bne _0808AC2E - adds r0, r5, 0 - bl PlayerJumpLedge -_0808AC2E: - ldrb r0, [r6] - mov r1, r10 - orrs r0, r1 - strb r0, [r6] - movs r0, 0x2 - strb r0, [r6, 0x2] - b _0808AC46 -_0808AC3C: - movs r0, 0x2 - strb r0, [r6, 0x2] - adds r0, r5, 0 - bl _call_via_r9 -_0808AC46: - movs r0, 0x1 -_0808AC48: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end DoForcedMovement - - thumb_func_start DoForcedMovementInCurrentDirection -DoForcedMovementInCurrentDirection: @ 808AC58 - push {lr} - adds r1, r0, 0 - ldr r0, =gPlayerAvatar - ldrb r2, [r0, 0x5] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, =gEventObjects - adds r0, r2 - ldrb r2, [r0, 0x1] - movs r3, 0x4 - orrs r2, r3 - strb r2, [r0, 0x1] - ldrb r0, [r0, 0x18] - lsrs r0, 4 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end DoForcedMovementInCurrentDirection - - thumb_func_start ForcedMovement_Slip -ForcedMovement_Slip: @ 808AC8C - push {lr} - ldr r0, =PlayerGoSpeed2 - bl DoForcedMovementInCurrentDirection - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_Slip - - thumb_func_start ForcedMovement_WalkSouth -ForcedMovement_WalkSouth: @ 808ACA0 - push {lr} - ldr r1, =PlayerGoSpeed1 - movs r0, 0x1 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_WalkSouth - - thumb_func_start ForcedMovement_WalkNorth -ForcedMovement_WalkNorth: @ 808ACB8 - push {lr} - ldr r1, =PlayerGoSpeed1 - movs r0, 0x2 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_WalkNorth - - thumb_func_start ForcedMovement_WalkWest -ForcedMovement_WalkWest: @ 808ACD0 - push {lr} - ldr r1, =PlayerGoSpeed1 - movs r0, 0x3 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_WalkWest - - thumb_func_start ForcedMovement_WalkEast -ForcedMovement_WalkEast: @ 808ACE8 - push {lr} - ldr r1, =PlayerGoSpeed1 - movs r0, 0x4 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_WalkEast - - thumb_func_start ForcedMovement_PushedSouthByCurrent -ForcedMovement_PushedSouthByCurrent: @ 808AD00 - push {lr} - ldr r1, =PlayerGoSpeed3 - movs r0, 0x1 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_PushedSouthByCurrent - - thumb_func_start ForcedMovement_PushedNorthByCurrent -ForcedMovement_PushedNorthByCurrent: @ 808AD18 - push {lr} - ldr r1, =PlayerGoSpeed3 - movs r0, 0x2 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_PushedNorthByCurrent - - thumb_func_start ForcedMovement_PushedWestByCurrent -ForcedMovement_PushedWestByCurrent: @ 808AD30 - push {lr} - ldr r1, =PlayerGoSpeed3 - movs r0, 0x3 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_PushedWestByCurrent - - thumb_func_start ForcedMovement_PushedEastByCurrent -ForcedMovement_PushedEastByCurrent: @ 808AD48 - push {lr} - ldr r1, =PlayerGoSpeed3 - movs r0, 0x4 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_PushedEastByCurrent - - thumb_func_start ForcedMovement_Slide -ForcedMovement_Slide: @ 808AD60 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gPlayerAvatar - ldrb r3, [r2, 0x5] - lsls r2, r3, 3 - adds r2, r3 - lsls r2, 2 - ldr r3, =gEventObjects - adds r2, r3 - ldrb r3, [r2, 0x1] - movs r4, 0x4 - orrs r3, r4 - movs r4, 0x2 - orrs r3, r4 - strb r3, [r2, 0x1] - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_Slide - - thumb_func_start ForcedMovement_SlideSouth -ForcedMovement_SlideSouth: @ 808AD98 - push {lr} - ldr r1, =PlayerGoSpeed2 - movs r0, 0x1 - bl ForcedMovement_Slide - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_SlideSouth - - thumb_func_start ForcedMovement_SlideNorth -ForcedMovement_SlideNorth: @ 808ADB0 - push {lr} - ldr r1, =PlayerGoSpeed2 - movs r0, 0x2 - bl ForcedMovement_Slide - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_SlideNorth - - thumb_func_start ForcedMovement_SlideWest -ForcedMovement_SlideWest: @ 808ADC8 - push {lr} - ldr r1, =PlayerGoSpeed2 - movs r0, 0x3 - bl ForcedMovement_Slide - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_SlideWest - - thumb_func_start ForcedMovement_SlideEast -ForcedMovement_SlideEast: @ 808ADE0 - push {lr} - ldr r1, =PlayerGoSpeed2 - movs r0, 0x4 - bl ForcedMovement_Slide - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_SlideEast - - thumb_func_start ForcedMovement_0xBB -ForcedMovement_0xBB: @ 808ADF8 - push {lr} - bl sub_808C4D8 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end ForcedMovement_0xBB - - thumb_func_start ForcedMovement_0xBC -ForcedMovement_0xBC: @ 808AE04 - push {lr} - bl sub_808C5B0 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end ForcedMovement_0xBC - - thumb_func_start ForcedMovement_MuddySlope -ForcedMovement_MuddySlope: @ 808AE10 - push {r4,lr} - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gEventObjects - adds r4, r0, r1 - ldrb r1, [r4, 0x18] - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0x20 - bne _0808AE36 - bl GetPlayerSpeed - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bgt _0808AE60 -_0808AE36: - movs r0, 0 - bl Bike_UpdateBikeCounterSpeed - ldrb r0, [r4, 0x1] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r1, =PlayerGoSpeed2 - movs r0, 0x1 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - b _0808AE62 - .pool -_0808AE60: - movs r0, 0 -_0808AE62: - pop {r4} - pop {r1} - bx r1 - thumb_func_end ForcedMovement_MuddySlope - - thumb_func_start MovePlayerNotOnBike -@ void MovePlayerNotOnBike(u8 direction, u8 heldKeys) -MovePlayerNotOnBike: @ 808AE68 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 16 - lsrs r5, 16 - ldr r6, =gUnknown_08497490 - adds r0, r4, 0 - bl CheckMovementInputNotOnBike - lsls r0, 24 - lsrs r0, 22 - adds r0, r6 - ldr r2, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - bl _call_via_r2 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end MovePlayerNotOnBike - - thumb_func_start CheckMovementInputNotOnBike -@ u8 CheckMovementInputNotOnBike(u8 direction) -CheckMovementInputNotOnBike: @ 808AE98 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0808AEB0 - ldr r0, =gPlayerAvatar - strb r4, [r0, 0x2] - movs r0, 0 - b _0808AED2 - .pool -_0808AEB0: - bl GetPlayerMovementDirection - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - beq _0808AECC - ldr r1, =gPlayerAvatar - ldrb r0, [r1, 0x2] - cmp r0, 0x2 - beq _0808AECC - movs r0, 0x1 - b _0808AED0 - .pool -_0808AECC: - ldr r1, =gPlayerAvatar - movs r0, 0x2 -_0808AED0: - strb r0, [r1, 0x2] -_0808AED2: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end CheckMovementInputNotOnBike - - thumb_func_start PlayerNotOnBikeNotMoving -@ void PlayerNotOnBikeNotMoving(u8 direction, u8 heldKeys) -PlayerNotOnBikeNotMoving: @ 808AEDC - push {lr} - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - bl PlayerFaceDirection - pop {r0} - bx r0 - thumb_func_end PlayerNotOnBikeNotMoving - - thumb_func_start PlayerNotOnBikeTurningInPlace -@ void PlayerNotOnBikeTurningInPlace(u8 direction, u8 heldKeys) -PlayerNotOnBikeTurningInPlace: @ 808AEF0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl PlayerTurnInPlace - pop {r0} - bx r0 - thumb_func_end PlayerNotOnBikeTurningInPlace - - thumb_func_start PlayerNotOnBikeMoving -@ void PlayerNotOnBikeMoving(u8 direction, u8 heldKeys) -PlayerNotOnBikeMoving: @ 808AF00 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 16 - lsrs r6, r1, 16 - adds r0, r5, 0 - bl CheckForPlayerAvatarCollision - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _0808AF4E - cmp r4, 0x6 - bne _0808AF24 - adds r0, r5, 0 - bl PlayerJumpLedge - b _0808AFB6 -_0808AF24: - cmp r4, 0x4 - bne _0808AF3C - adds r0, r5, 0 - bl IsPlayerCollidingWithFarawayIslandMew - lsls r0, 24 - cmp r0, 0 - beq _0808AF3C - adds r0, r5, 0 - bl PlayerNotOnBikeCollideWithFarawayIslandMew - b _0808AFB6 -_0808AF3C: - subs r0, r4, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _0808AFB6 - adds r0, r5, 0 - bl PlayerNotOnBikeCollide - b _0808AFB6 -_0808AF4E: - ldr r4, =gPlayerAvatar - ldrb r1, [r4] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0808AF68 - adds r0, r5, 0 - bl PlayerGoSpeed2 - b _0808AFB6 - .pool -_0808AF68: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _0808AFB0 - movs r0, 0x2 - ands r6, r0 - cmp r6, 0 - beq _0808AFB0 - movs r0, 0x8C - lsls r0, 4 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0808AFB0 - ldr r2, =gEventObjects - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1E] - bl IsRunningDisallowed - cmp r0, 0 - bne _0808AFB0 - adds r0, r5, 0 - bl PlayerRun - ldrb r1, [r4] - movs r0, 0x80 - orrs r0, r1 - strb r0, [r4] - b _0808AFB6 - .pool -_0808AFB0: - adds r0, r5, 0 - bl PlayerGoSpeed1 -_0808AFB6: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end PlayerNotOnBikeMoving - - thumb_func_start CheckForPlayerAvatarCollision -CheckForPlayerAvatarCollision: @ 808AFBC - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, =gEventObjects - adds r4, r0 - ldrh r1, [r4, 0x10] - add r0, sp, 0x4 - strh r1, [r0] - ldrh r0, [r4, 0x12] - mov r5, sp - adds r5, 0x6 - strh r0, [r5] - adds r0, r6, 0 - add r1, sp, 0x4 - adds r2, r5, 0 - bl MoveCoords - add r0, sp, 0x4 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - add r1, sp, 0x4 - movs r3, 0 - ldrsh r1, [r1, r3] - movs r3, 0 - ldrsh r2, [r5, r3] - str r0, [sp] - adds r0, r4, 0 - adds r3, r6, 0 - bl CheckForEventObjectCollision - lsls r0, 24 - lsrs r0, 24 - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end CheckForPlayerAvatarCollision - - thumb_func_start sub_808B028 -sub_808B028: @ 808B028 - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, =gEventObjects - adds r4, r0 - ldrh r1, [r4, 0x10] - add r0, sp, 0x4 - strh r1, [r0] - ldrh r0, [r4, 0x12] - mov r5, sp - adds r5, 0x6 - strh r0, [r5] - adds r0, r6, 0 - add r1, sp, 0x4 - adds r2, r5, 0 - bl MoveCoords - add r0, sp, 0x4 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - add r1, sp, 0x4 - movs r3, 0 - ldrsh r1, [r1, r3] - movs r3, 0 - ldrsh r2, [r5, r3] - str r0, [sp] - adds r0, r4, 0 - adds r3, r6, 0 - bl sub_808B164 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_808B028 - - thumb_func_start CheckForEventObjectCollision -@ u8 CheckForEventObjectCollision(struct npc_state *eventObject, u16 x, u16 y, u8 direction, u8 metatileBehavior) -CheckForEventObjectCollision: @ 808B094 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r4, [sp, 0x24] - lsls r1, 16 - lsls r2, 16 - lsls r3, 24 - lsrs r6, r3, 24 - lsls r4, 24 - lsrs r4, 24 - mov r10, r4 - lsrs r7, r1, 16 - asrs r5, r1, 16 - lsrs r1, r2, 16 - mov r9, r1 - asrs r4, r2, 16 - adds r1, r5, 0 - adds r2, r4, 0 - adds r3, r6, 0 - bl GetCollisionAtCoords - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - strb r0, [r1] - cmp r0, 0x3 - bne _0808B0E4 - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r6, 0 - bl sub_808B1BC - lsls r0, 24 - cmp r0, 0 - beq _0808B0E4 - movs r0, 0x5 - b _0808B152 -_0808B0E4: - lsls r5, r7, 16 - asrs r0, r5, 16 - mov r8, r0 - mov r1, r9 - lsls r4, r1, 16 - asrs r7, r4, 16 - adds r1, r7, 0 - adds r2, r6, 0 - bl ShouldJumpLedge - lsls r0, 24 - cmp r0, 0 - beq _0808B108 - movs r0, 0x2B - bl IncrementGameStat - movs r0, 0x6 - b _0808B152 -_0808B108: - mov r0, sp - ldrb r0, [r0] - cmp r0, 0x4 - bne _0808B124 - mov r0, r8 - adds r1, r7, 0 - adds r2, r6, 0 - bl sub_808B238 - lsls r0, 24 - cmp r0, 0 - beq _0808B124 - movs r0, 0x7 - b _0808B152 -_0808B124: - mov r0, sp - ldrb r0, [r0] - cmp r0, 0 - bne _0808B14E - asrs r5, 16 - asrs r4, 16 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl CheckForRotatingGatePuzzleCollision - cmp r0, 0 - beq _0808B142 - movs r0, 0x8 - b _0808B152 -_0808B142: - adds r0, r5, 0 - adds r1, r4, 0 - mov r2, r10 - mov r3, sp - bl check_acro_bike_metatile -_0808B14E: - mov r0, sp - ldrb r0, [r0] -_0808B152: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckForEventObjectCollision - - thumb_func_start sub_808B164 -sub_808B164: @ 808B164 - push {r4-r7,lr} - sub sp, 0x4 - ldr r4, [sp, 0x18] - lsls r3, 24 - lsrs r6, r3, 24 - lsls r4, 24 - lsrs r7, r4, 24 - lsls r1, 16 - asrs r5, r1, 16 - lsls r2, 16 - asrs r4, r2, 16 - adds r1, r5, 0 - adds r2, r4, 0 - adds r3, r6, 0 - bl GetCollisionAtCoords - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - strb r0, [r1] - cmp r0, 0 - bne _0808B1AE - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl CheckForRotatingGatePuzzleCollisionWithoutAnimation - cmp r0, 0 - beq _0808B1A2 - movs r0, 0x8 - b _0808B1B2 -_0808B1A2: - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r7, 0 - mov r3, sp - bl check_acro_bike_metatile -_0808B1AE: - mov r0, sp - ldrb r0, [r0] -_0808B1B2: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_808B164 - - thumb_func_start sub_808B1BC -@ bool8 sub_808B1BC(u16 x, u16 y, u8 direction) -sub_808B1BC: @ 808B1BC - push {r4-r6,lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0808B20C - lsls r5, r3, 16 - asrs r0, r5, 16 - lsls r4, 16 - asrs r1, r4, 16 - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _0808B20C - lsrs r0, r5, 16 - lsrs r1, r4, 16 - movs r2, 0x3 - bl GetEventObjectIdByXYZ - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x10 - bne _0808B20C - adds r0, r6, 0 - bl sub_808C750 - movs r0, 0x1 - b _0808B20E - .pool -_0808B20C: - movs r0, 0 -_0808B20E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_808B1BC - - thumb_func_start ShouldJumpLedge -@ bool8 ShouldJumpLedge(s16 x, s16 y, u8 direction) -ShouldJumpLedge: @ 808B214 - push {lr} - lsls r2, 24 - lsrs r2, 24 - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl GetLedgeJumpDirection - lsls r0, 24 - cmp r0, 0 - bne _0808B230 - movs r0, 0 - b _0808B232 -_0808B230: - movs r0, 0x1 -_0808B232: - pop {r1} - bx r1 - thumb_func_end ShouldJumpLedge - - thumb_func_start sub_808B238 -sub_808B238: @ 808B238 - push {r4-r7,lr} - sub sp, 0x4 - mov r3, sp - strh r0, [r3] - mov r5, sp - adds r5, 0x2 - strh r1, [r5] - lsls r2, 24 - lsrs r7, r2, 24 - ldr r0, =0x00000889 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0808B2D8 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl GetEventObjectIdByXY - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x10 - beq _0808B2D8 - ldr r0, =gEventObjects - lsls r1, r6, 3 - adds r1, r6 - lsls r1, 2 - adds r4, r1, r0 - ldrb r0, [r4, 0x5] - cmp r0, 0x57 - bne _0808B2D8 - ldrh r1, [r4, 0x10] - mov r0, sp - strh r1, [r0] - ldrh r0, [r4, 0x12] - strh r0, [r5] - adds r0, r7, 0 - mov r1, sp - adds r2, r5, 0 - bl MoveCoords - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0 - ldrsh r2, [r5, r0] - adds r0, r4, 0 - adds r3, r7, 0 - bl GetCollisionAtCoords - lsls r0, 24 - cmp r0, 0 - bne _0808B2D8 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsNonAnimDoor - lsls r0, 24 - cmp r0, 0 - bne _0808B2D8 - adds r0, r6, 0 - adds r1, r7, 0 - bl task_add_bump_boulder - movs r0, 0x1 - b _0808B2DA - .pool -_0808B2D8: - movs r0, 0 -_0808B2DA: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_808B238 - - thumb_func_start check_acro_bike_metatile -@ void check_acro_bike_metatile(s16 x, s16 y, u8 metatileBehavior, u8 *returnValue) -check_acro_bike_metatile: @ 808B2E4 - push {r4-r7,lr} - adds r6, r3, 0 - lsls r2, 24 - lsrs r5, r2, 24 - movs r4, 0 - ldr r7, =gUnknown_0849749C -_0808B2F0: - lsls r0, r4, 2 - adds r0, r7 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - beq _0808B314 - ldr r0, =gUnknown_084974B0 - adds r0, r4, r0 - ldrb r0, [r0] - strb r0, [r6] - b _0808B31E - .pool -_0808B314: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _0808B2F0 -_0808B31E: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end check_acro_bike_metatile - thumb_func_start IsPlayerCollidingWithFarawayIslandMew @ bool8 IsPlayerCollidingWithFarawayIslandMew(u8 direction) IsPlayerCollidingWithFarawayIslandMew: @ 808B324 @@ -3305,6 +2032,7 @@ sub_808C228: @ 808C228 thumb_func_end sub_808C228 thumb_func_start sub_808C280 +@ void sub_808C280(struct EventObject *playerEventObj); sub_808C280: @ 808C280 push {r4-r7,lr} mov r7, r9 @@ -4294,7 +3022,7 @@ _0808CA94: movs r0, 0 movs r1, 0x1 add r2, sp, 0xC - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrh r0, [r4, 0xC] adds r0, 0x1 strh r0, [r4, 0xC] @@ -4405,7 +3133,7 @@ fish6: @ 808CB6C movs r0, 0 movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrh r0, [r5, 0x8] adds r0, 0x1 strh r0, [r5, 0x8] @@ -4538,7 +3266,7 @@ fish9: @ 808CC64 movs r0, 0 movs r1, 0x1 movs r3, 0x1 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] @@ -4695,7 +3423,7 @@ fishB: @ 808CD94 movs r0, 0 movs r1, 0x1 movs r3, 0x1 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 movs r0, 0xD strh r0, [r5, 0x8] movs r0, 0x1 @@ -4743,7 +3471,7 @@ fishC: @ 808CE04 movs r0, 0 movs r1, 0x1 movs r3, 0x1 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 ldrh r0, [r5, 0x8] adds r0, 0x1 strh r0, [r5, 0x8] diff --git a/asm/field_screen.s b/asm/field_screen.s index 27627ac58..c11aef1b4 100644 --- a/asm/field_screen.s +++ b/asm/field_screen.s @@ -7914,7 +7914,7 @@ sub_80AF0B4: @ 80AF0B4 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - bl warp1_get_mapheader + bl GetDestinationWarpMapHeader ldrb r1, [r0, 0x17] adds r0, r4, 0 bl sub_8137360 @@ -8924,7 +8924,7 @@ _080AF914: bl sub_80AF710 cmp r0, 0 bne _080AF93E - bl sub_80859A0 + bl BGMusicStopped lsls r0, 24 cmp r0, 0 beq _080AF93E @@ -8934,7 +8934,7 @@ _080AF926: strh r0, [r4, 0x8] b _080AF93E _080AF92E: - bl warp_in + bl WarpIntoMap ldr r0, =sub_8086074 bl SetMainCallback2 adds r0, r5, 0 @@ -8999,7 +8999,7 @@ _080AF9B2: bl sub_80AF710 cmp r0, 0 bne _080AF9E8 - bl sub_80859A0 + bl BGMusicStopped lsls r0, 24 cmp r0, 0 beq _080AF9E8 @@ -9014,7 +9014,7 @@ _080AF9D0: ldrb r0, [r0] cmp r0, 0 bne _080AF9E8 - bl warp_in + bl WarpIntoMap ldr r0, =CB2_LoadMap bl SetMainCallback2 adds r0, r5, 0 @@ -9076,7 +9076,7 @@ _080AFA44: bl sub_81BE72C strh r5, [r4, 0xA] _080AFA5A: - bl sub_80859A0 + bl BGMusicStopped lsls r0, 24 cmp r0, 0 beq _080AFA7C @@ -9086,7 +9086,7 @@ _080AFA64: strh r0, [r4, 0x8] b _080AFA7C _080AFA6C: - bl warp_in + bl WarpIntoMap ldr r0, =CB2_LoadMap bl SetMainCallback2 adds r0, r6, 0 @@ -9297,7 +9297,7 @@ _080AFC2C: bl sub_80AF710 cmp r0, 0 bne _080AFC56 - bl sub_80859A0 + bl BGMusicStopped lsls r0, 24 cmp r0, 0 beq _080AFC56 @@ -9307,7 +9307,7 @@ _080AFC3E: strh r0, [r4, 0x8] b _080AFC56 _080AFC46: - bl warp_in + bl WarpIntoMap ldr r0, =sub_8086024 bl SetMainCallback2 adds r0, r5, 0 @@ -10049,7 +10049,7 @@ _080B0210: bl sub_80AF710 cmp r0, 0 bne _080B023A - bl sub_80859A0 + bl BGMusicStopped lsls r0, 24 cmp r0, 0 beq _080B023A @@ -10059,7 +10059,7 @@ _080B0222: strh r0, [r4, 0x8] b _080B023A _080B022A: - bl warp_in + bl WarpIntoMap ldr r0, =CB2_LoadMap bl SetMainCallback2 adds r0, r5, 0 @@ -10492,7 +10492,7 @@ task50_0807F0C8: @ 80B05CC push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_80859A0 + bl BGMusicStopped lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 diff --git a/asm/field_specials.s b/asm/field_specials.s deleted file mode 100644 index cea228a2a..000000000 --- a/asm/field_specials.s +++ /dev/null @@ -1,8075 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start Special_ShowDiploma -Special_ShowDiploma: @ 8137CB4 - push {lr} - ldr r0, =CB2_ShowDiploma - bl SetMainCallback2 - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end Special_ShowDiploma - - thumb_func_start Special_ViewWallClock -Special_ViewWallClock: @ 8137CC8 - push {lr} - ldr r0, =gMain - ldr r1, =CB2_ReturnToField - str r1, [r0, 0x8] - ldr r0, =Cb2_ViewWallClock - bl SetMainCallback2 - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end Special_ViewWallClock - - thumb_func_start ResetCyclingRoadChallengeData -ResetCyclingRoadChallengeData: @ 8137CEC - ldr r0, =gBikeCyclingChallenge - movs r1, 0 - strb r1, [r0] - ldr r0, =0x0203ab55 - strb r1, [r0] - ldr r1, =gUnknown_0203AB58 - movs r0, 0 - str r0, [r1] - bx lr - .pool - thumb_func_end ResetCyclingRoadChallengeData - - thumb_func_start Special_BeginCyclingRoadChallenge -Special_BeginCyclingRoadChallenge: @ 8137D0C - ldr r1, =gBikeCyclingChallenge - movs r0, 0x1 - strb r0, [r1] - ldr r1, =0x0203ab55 - movs r0, 0 - strb r0, [r1] - ldr r1, =gUnknown_0203AB58 - ldr r0, =gMain - ldr r0, [r0, 0x20] - str r0, [r1] - bx lr - .pool - thumb_func_end Special_BeginCyclingRoadChallenge - - thumb_func_start GetPlayerAvatarBike -GetPlayerAvatarBike: @ 8137D34 - push {lr} - movs r0, 0x4 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _08137D46 - movs r0, 0x1 - b _08137D58 -_08137D46: - movs r0, 0x2 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - bne _08137D56 - movs r0, 0 - b _08137D58 -_08137D56: - movs r0, 0x2 -_08137D58: - pop {r1} - bx r1 - thumb_func_end GetPlayerAvatarBike - - thumb_func_start DetermineCyclingRoadResults -DetermineCyclingRoadResults: @ 8137D5C - push {r4-r7,lr} - adds r7, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - cmp r6, 0x63 - bhi _08137D88 - ldr r4, =gStringVar1 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, =gText_SpaceTimes - adds r0, r4, 0 - bl StringAppend - b _08137D90 - .pool -_08137D88: - ldr r0, =gStringVar1 - ldr r1, =gText_99TimesPlus - bl StringCopy -_08137D90: - ldr r0, =0x00000e0f - cmp r7, r0 - bhi _08137DF0 - ldr r4, =gStringVar2 - adds r0, r7, 0 - movs r1, 0x3C - bl __udivsi3 - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - movs r0, 0xAD - strb r0, [r4, 0x2] - adds r5, r4, 0x3 - adds r0, r7, 0 - movs r1, 0x3C - bl __umodsi3 - movs r1, 0x64 - muls r0, r1 - movs r1, 0x3C - bl __udivsi3 - adds r1, r0, 0 - adds r0, r5, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, =gText_SpaceSeconds - adds r0, r4, 0 - bl StringAppend - b _08137DF8 - .pool -_08137DF0: - ldr r0, =gStringVar2 - ldr r1, =gText_1MinutePlus - bl StringCopy -_08137DF8: - movs r4, 0 - cmp r6, 0 - bne _08137E0C - movs r4, 0x5 - b _08137E2A - .pool -_08137E0C: - cmp r6, 0x3 - bhi _08137E14 - movs r4, 0x4 - b _08137E2A -_08137E14: - cmp r6, 0x9 - bhi _08137E1C - movs r4, 0x3 - b _08137E2A -_08137E1C: - cmp r6, 0x13 - bhi _08137E24 - movs r4, 0x2 - b _08137E2A -_08137E24: - cmp r6, 0x63 - bhi _08137E2A - movs r4, 0x1 -_08137E2A: - adds r0, r7, 0 - movs r1, 0x3C - bl __udivsi3 - cmp r0, 0xA - bhi _08137E3A - adds r0, r4, 0x5 - b _08137E58 -_08137E3A: - cmp r0, 0xF - bhi _08137E42 - adds r0, r4, 0x4 - b _08137E58 -_08137E42: - cmp r0, 0x14 - bhi _08137E4A - adds r0, r4, 0x3 - b _08137E58 -_08137E4A: - cmp r0, 0x28 - bhi _08137E52 - adds r0, r4, 0x2 - b _08137E58 -_08137E52: - cmp r0, 0x3B - bhi _08137E5C - adds r0, r4, 0x1 -_08137E58: - lsls r0, 24 - lsrs r4, r0, 24 -_08137E5C: - ldr r0, =gSpecialVar_Result - strh r4, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end DetermineCyclingRoadResults - - thumb_func_start FinishCyclingRoadChallenge -FinishCyclingRoadChallenge: @ 8137E6C - push {r4,r5,lr} - ldr r0, =gMain - ldr r1, =gUnknown_0203AB58 - ldr r4, [r0, 0x20] - ldr r0, [r1] - subs r4, r0 - ldr r5, =0x0203ab55 - ldrb r1, [r5] - adds r0, r4, 0 - bl DetermineCyclingRoadResults - ldrb r1, [r5] - adds r0, r4, 0 - bl RecordCyclingRoadResults - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end FinishCyclingRoadChallenge - - thumb_func_start RecordCyclingRoadResults -RecordCyclingRoadResults: @ 8137E9C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - ldr r6, =0x00004028 - adds r0, r6, 0 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r7, =0x00004029 - adds r0, r7, 0 - bl VarGet - lsls r0, 16 - adds r4, r0 - cmp r4, r5 - bhi _08137ECC - cmp r4, 0 - bne _08137EE6 -_08137ECC: - lsls r1, r5, 16 - lsrs r1, 16 - adds r0, r6, 0 - bl VarSet - lsrs r1, r5, 16 - adds r0, r7, 0 - bl VarSet - ldr r0, =0x00004027 - mov r1, r8 - bl VarSet -_08137EE6: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end RecordCyclingRoadResults - - thumb_func_start GetRecordedCyclingRoadResults -GetRecordedCyclingRoadResults: @ 8137EFC - push {r4,lr} - ldr r0, =0x00004028 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x00004029 - bl VarGet - lsls r0, 16 - adds r4, r0 - cmp r4, 0 - beq _08137F3C - ldr r0, =0x00004027 - bl VarGet - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl DetermineCyclingRoadResults - movs r0, 0x1 - b _08137F3E - .pool -_08137F3C: - movs r0, 0 -_08137F3E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetRecordedCyclingRoadResults - - thumb_func_start UpdateCyclingRoadState -UpdateCyclingRoadState: @ 8137F44 - push {r4,lr} - ldr r0, =gUnknown_020322DC - ldrh r1, [r0] - ldr r0, =0x00000c1d - cmp r1, r0 - beq _08137F7C - ldr r4, =0x000040a9 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - beq _08137F6E - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3 - bne _08137F7C -_08137F6E: - adds r0, r4, 0 - movs r1, 0 - bl VarSet - movs r0, 0 - bl Overworld_SetSavedMusic -_08137F7C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end UpdateCyclingRoadState - - thumb_func_start SetSSTidalFlag -SetSSTidalFlag: @ 8137F90 - push {lr} - ldr r0, =0x0000088d - bl FlagSet - ldr r0, =0x0000404a - bl GetVarPointer - movs r1, 0 - strh r1, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end SetSSTidalFlag - - thumb_func_start ResetSSTidalFlag -ResetSSTidalFlag: @ 8137FB0 - push {lr} - ldr r0, =0x0000088d - bl FlagClear - pop {r0} - bx r0 - .pool - thumb_func_end ResetSSTidalFlag - - thumb_func_start CountSSTidalStep -CountSSTidalStep: @ 8137FC0 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x0000088d - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08137FE6 - ldr r0, =0x0000404a - bl GetVarPointer - ldrh r1, [r0] - adds r1, r4, r1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xCC - bhi _08137FF4 -_08137FE6: - movs r0, 0 - b _08137FF6 - .pool -_08137FF4: - movs r0, 0x1 -_08137FF6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end CountSSTidalStep - - thumb_func_start GetSSTidalLocation -GetSSTidalLocation: @ 8137FFC - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r7, r3, 0 - ldr r0, =0x0000404a - bl GetVarPointer - adds r4, r0, 0 - ldr r0, =0x000040b4 - bl GetVarPointer - ldrh r0, [r0] - subs r0, 0x1 - cmp r0, 0x9 - bhi _081380C2 - lsls r0, 2 - ldr r1, =_08138038 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08138038: - .4byte _08138060 - .4byte _08138070 - .4byte _08138064 - .4byte _08138068 - .4byte _08138068 - .4byte _0813806C - .4byte _08138098 - .4byte _08138060 - .4byte _08138064 - .4byte _0813806C -_08138060: - movs r0, 0x1 - b _081380CE -_08138064: - movs r0, 0x4 - b _081380CE -_08138068: - movs r0, 0x2 - b _081380CE -_0813806C: - movs r0, 0x3 - b _081380CE -_08138070: - ldrh r0, [r4] - cmp r0, 0x3B - bhi _08138080 - movs r0, 0x31 - strb r0, [r5] - ldrh r0, [r4] - adds r0, 0x13 - b _081380C0 -_08138080: - cmp r0, 0x8B - bhi _0813808E - movs r0, 0x30 - strb r0, [r5] - ldrh r0, [r4] - subs r0, 0x3C - b _081380C0 -_0813808E: - movs r0, 0x2F - strb r0, [r5] - ldrh r0, [r4] - subs r0, 0x8C - b _081380C0 -_08138098: - ldrh r0, [r4] - cmp r0, 0x41 - bhi _081380A8 - movs r0, 0x2F - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0x41 - b _081380BE -_081380A8: - cmp r0, 0x91 - bhi _081380B6 - movs r0, 0x30 - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0x91 - b _081380BE -_081380B6: - movs r0, 0x31 - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0xE0 -_081380BE: - subs r0, r1 -_081380C0: - strh r0, [r6] -_081380C2: - movs r0, 0 - mov r1, r8 - strb r0, [r1] - movs r0, 0x14 - strh r0, [r7] - movs r0, 0 -_081380CE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetSSTidalLocation - - thumb_func_start is_tile_that_overrides_player_control -is_tile_that_overrides_player_control: @ 81380D8 - push {lr} - movs r0, 0x88 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0813810A - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _0813810A - cmp r0, 0x3 - ble _081380F6 - cmp r0, 0x6 - bne _0813810A -_081380F6: - ldr r0, =0x000040f2 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xF9 - bhi _08138118 -_0813810A: - movs r0, 0 - b _0813811A - .pool -_08138118: - movs r0, 0x1 -_0813811A: - pop {r1} - bx r1 - thumb_func_end is_tile_that_overrides_player_control - - thumb_func_start sub_8138120 -sub_8138120: @ 8138120 - push {lr} - movs r0, 0x8A - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08138152 - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _08138152 - cmp r0, 0x3 - ble _0813813E - cmp r0, 0x6 - bne _08138152 -_0813813E: - ldr r0, =0x000040f3 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0x9 - bhi _08138160 -_08138152: - movs r0, 0 - b _08138162 - .pool -_08138160: - movs r0, 0x1 -_08138162: - pop {r1} - bx r1 - thumb_func_end sub_8138120 - - thumb_func_start sub_8138168 -sub_8138168: @ 8138168 - push {lr} - movs r0, 0x72 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0813819A - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _0813819A - cmp r0, 0x3 - ble _08138186 - cmp r0, 0x6 - bne _0813819A -_08138186: - ldr r0, =0x000040f5 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0x9 - bhi _081381A8 -_0813819A: - movs r0, 0 - b _081381AA - .pool -_081381A8: - movs r0, 0x1 -_081381AA: - pop {r1} - bx r1 - thumb_func_end sub_8138168 - - thumb_func_start sub_81381B0 -sub_81381B0: @ 81381B0 - push {lr} - movs r0, 0x80 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081381E2 - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _081381E2 - cmp r0, 0x3 - ble _081381CE - cmp r0, 0x6 - bne _081381E2 -_081381CE: - ldr r0, =0x000040f4 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xF9 - bhi _081381F0 -_081381E2: - movs r0, 0 - b _081381F2 - .pool -_081381F0: - movs r0, 0x1 -_081381F2: - pop {r1} - bx r1 - thumb_func_end sub_81381B0 - - thumb_func_start sub_81381F8 -sub_81381F8: @ 81381F8 - push {lr} - movs r0, 0x75 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0813822A - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _0813822A - cmp r0, 0x3 - ble _08138216 - cmp r0, 0x6 - bne _0813822A -_08138216: - ldr r0, =0x000040f6 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xF9 - bhi _08138238 -_0813822A: - movs r0, 0 - b _0813823A - .pool -_08138238: - movs r0, 0x1 -_0813823A: - pop {r1} - bx r1 - thumb_func_end sub_81381F8 - - thumb_func_start GetLinkPartnerNames -GetLinkPartnerNames: @ 8138240 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - bl GetMultiplayerId - lsls r0, 24 - lsrs r7, r0, 24 - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _0813828A - ldr r0, =gTVStringVarPtrs - mov r8, r0 -_08138262: - cmp r7, r4 - beq _08138280 - lsls r0, r6, 2 - add r0, r8 - ldr r0, [r0] - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - ldr r2, =gLinkPlayers + 8 - adds r1, r2 - bl StringCopy - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08138280: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08138262 -_0813828A: - adds r0, r5, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end GetLinkPartnerNames - - thumb_func_start SpawnLinkPartnerEventObject -SpawnLinkPartnerEventObject: @ 81382A0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - movs r7, 0 - movs r0, 0 - mov r9, r0 - mov r8, r0 - ldr r1, =gUnknown_085B2B5C - add r0, sp, 0x8 - movs r2, 0x4 - bl memcpy - add r4, sp, 0xC - ldr r1, =gUnknown_085B2B60 - adds r0, r4, 0 - movs r2, 0x8 - bl memcpy - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x2 - beq _08138310 - cmp r0, 0x2 - bgt _081382F4 - cmp r0, 0x1 - beq _0813833C - b _08138350 - .pool -_081382F4: - cmp r1, 0x3 - beq _081382FE - cmp r1, 0x4 - beq _08138324 - b _08138350 -_081382FE: - movs r7, 0x2 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldrh r0, [r1] - subs r0, 0x1 - b _0813832C - .pool -_08138310: - movs r7, 0x1 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0] - mov r9, r1 - ldrh r0, [r0, 0x2] - subs r0, 0x1 - b _0813834A - .pool -_08138324: - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 -_0813832C: - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - ldrh r1, [r1, 0x2] - mov r8, r1 - b _08138350 - .pool -_0813833C: - movs r7, 0x3 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r3, [r0] - mov r9, r3 - ldrh r0, [r0, 0x2] - adds r0, 0x1 -_0813834A: - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_08138350: - movs r6, 0 - b _08138410 - .pool -_08138358: - cmp r10, r6 - beq _0813840A - ldr r0, =gLinkPlayers - lsls r2, r6, 3 - subs r1, r2, r6 - lsls r1, 2 - adds r1, r0 - ldrb r3, [r1] - adds r4, r0, 0 - cmp r3, 0x1 - blt _0813838C - cmp r3, 0x2 - ble _0813837C - cmp r3, 0x3 - beq _08138388 - b _0813838C - .pool -_0813837C: - ldrb r0, [r1, 0x13] - movs r5, 0xEC - cmp r0, 0 - bne _0813839C - movs r5, 0xEB - b _0813839C -_08138388: - ldrb r0, [r1, 0x13] - b _08138394 -_0813838C: - subs r0, r2, r6 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x13] -_08138394: - movs r5, 0x69 - cmp r0, 0 - bne _0813839C - movs r5, 0x64 -_0813839C: - mov r0, sp - adds r0, r7 - adds r0, 0x8 - ldrb r1, [r0] - movs r4, 0xF0 - subs r4, r6 - lsls r4, 24 - lsrs r4, 24 - lsls r2, r7, 1 - mov r0, sp - adds r0, r2 - adds r0, 0xC - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - mov r3, r9 - lsls r3, 16 - asrs r3, 16 - mov r12, r3 - add r0, r12 - adds r3, r0, 0x7 - lsls r3, 16 - asrs r3, 16 - mov r12, r3 - mov r0, sp - adds r0, 0xD - adds r0, r2 - movs r2, 0 - ldrsb r2, [r0, r2] - mov r3, r8 - lsls r0, r3, 16 - asrs r0, 16 - adds r0, r2 - adds r0, 0x7 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - adds r0, r5, 0 - adds r2, r4, 0 - mov r3, r12 - bl SpawnSpecialEventObjectParameterized - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r6, 0 - bl sub_813842C - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x4 - bne _0813840A - movs r7, 0 -_0813840A: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08138410: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r6, r0 - bcc _08138358 - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end SpawnLinkPartnerEventObject - - thumb_func_start sub_813842C -sub_813842C: @ 813842C - push {r4,r5,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r2, 24 - movs r1, 0xC0 - lsls r1, 19 - adds r2, r1 - lsrs r5, r2, 24 - lsrs r4, r0, 24 - movs r2, 0xA8 - lsls r2, 21 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0x1 - bls _08138454 - cmp r4, 0x64 - beq _08138454 - cmp r4, 0x69 - bne _081384E6 -_08138454: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - adds r0, r3, 0 - bl GetEventObjectIdByLocalIdAndMap - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x10 - beq _081384E6 - ldr r1, =gEventObjects - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - lsls r3, r5, 4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - cmp r4, 0x69 - beq _081384D8 - cmp r4, 0x69 - bgt _081384A8 - cmp r4, 0x64 - beq _081384C4 - b _081384E6 - .pool -_081384A8: - cmp r4, 0xEB - beq _081384B2 - cmp r4, 0xEC - beq _081384BC - b _081384E6 -_081384B2: - ldr r0, =gEventObjectPalette33 - b _081384C6 - .pool -_081384BC: - ldr r0, =gEventObjectPalette34 - b _081384C6 - .pool -_081384C4: - ldr r0, =gEventObjectPalette8 -_081384C6: - movs r2, 0x80 - lsls r2, 1 - adds r1, r3, r2 - movs r2, 0x20 - bl LoadPalette - b _081384E6 - .pool -_081384D8: - ldr r0, =gEventObjectPalette17 - movs r2, 0x80 - lsls r2, 1 - adds r1, r3, r2 - movs r2, 0x20 - bl LoadPalette -_081384E6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813842C - - thumb_func_start MauvilleGymSpecial1 -MauvilleGymSpecial1: @ 81384F0 - push {r4,r5,lr} - movs r4, 0 - ldr r5, =gUnknown_085B2B68 -_081384F6: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r4, r0 - bne _0813851C - lsls r1, r4, 2 - adds r1, r5 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - ldr r2, =0x00000206 - bl MapGridSetMetatileIdAt - b _0813852A - .pool -_0813851C: - lsls r1, r4, 2 - adds r1, r5 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - ldr r2, =0x00000205 - bl MapGridSetMetatileIdAt -_0813852A: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _081384F6 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end MauvilleGymSpecial1 - - thumb_func_start MauvilleGymSpecial2 -MauvilleGymSpecial2: @ 8138540 - push {r4-r6,lr} - movs r5, 0xC -_08138544: - movs r4, 0x7 - adds r6, r5, 0x1 -_08138548: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - ldr r1, =0xfffffde6 - adds r0, r1 - cmp r0, 0x37 - bls _0813855A - b _08138734 -_0813855A: - lsls r0, 2 - ldr r1, =_0813856C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813856C: - .4byte _081386F2 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813864C - .4byte _08138652 - .4byte _0813868C - .4byte _08138694 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813865C - .4byte _08138662 - .4byte _0813869C - .4byte _081386A4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813866C - .4byte _08138672 - .4byte _081386AC - .4byte _081386B4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813867C - .4byte _08138684 - .4byte _081386BC - .4byte _081386C4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _081386CC - .4byte _081386DC - .4byte _081386EC - .4byte _08138714 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _081386D4 - .4byte _081386E4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813872A - .4byte _0813871C -_0813864C: - movs r2, 0x8C - lsls r2, 2 - b _08138720 -_08138652: - ldr r2, =0x00000231 - b _08138720 - .pool -_0813865C: - movs r2, 0x8E - lsls r2, 2 - b _08138720 -_08138662: - ldr r2, =0x00000239 - b _08138720 - .pool -_0813866C: - movs r2, 0x88 - lsls r2, 2 - b _08138720 -_08138672: - ldr r2, =0x00000221 - b _08138720 - .pool -_0813867C: - ldr r2, =0x00000e28 - b _08138720 - .pool -_08138684: - ldr r2, =0x00000e29 - b _08138720 - .pool -_0813868C: - ldr r2, =0x00000232 - b _08138720 - .pool -_08138694: - ldr r2, =0x00000233 - b _08138720 - .pool -_0813869C: - ldr r2, =0x0000023a - b _08138720 - .pool -_081386A4: - ldr r2, =0x0000023b - b _08138720 - .pool -_081386AC: - ldr r2, =0x00000222 - b _08138720 - .pool -_081386B4: - ldr r2, =0x00000223 - b _08138720 - .pool -_081386BC: - ldr r2, =0x00000e2a - b _08138720 - .pool -_081386C4: - ldr r2, =0x00000e2b - b _08138720 - .pool -_081386CC: - ldr r2, =0x00000e42 - b _08138720 - .pool -_081386D4: - ldr r2, =0x0000021a - b _08138720 - .pool -_081386DC: - ldr r2, =0x00000e43 - b _08138720 - .pool -_081386E4: - ldr r2, =0x0000021a - b _08138720 - .pool -_081386EC: - movs r2, 0xE4 - lsls r2, 4 - b _08138720 -_081386F2: - subs r1, r5, 0x1 - adds r0, r4, 0 - bl MapGridGetMetatileIdAt - movs r1, 0x90 - lsls r1, 2 - cmp r0, r1 - bne _0813870C - ldr r2, =0x00000e48 - b _08138720 - .pool -_0813870C: - ldr r2, =0x00000e49 - b _08138720 - .pool -_08138714: - ldr r2, =0x00000e41 - b _08138720 - .pool -_0813871C: - movs r2, 0xE5 - lsls r2, 4 -_08138720: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _08138734 -_0813872A: - ldr r2, =0x00000251 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_08138734: - adds r4, 0x1 - cmp r4, 0xF - bgt _0813873C - b _08138548 -_0813873C: - adds r5, r6, 0 - cmp r5, 0x17 - bgt _08138744 - b _08138544 -_08138744: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end MauvilleGymSpecial2 - - thumb_func_start MauvilleGymSpecial3 -MauvilleGymSpecial3: @ 8138750 - push {r4-r6,lr} - ldr r4, =gUnknown_085B2B68 - movs r5, 0x3 -_08138756: - ldrb r0, [r4] - ldrb r1, [r4, 0x1] - ldr r2, =0x00000206 - bl MapGridSetMetatileIdAt - adds r4, 0x4 - subs r5, 0x1 - cmp r5, 0 - bge _08138756 - movs r5, 0xC -_0813876A: - movs r4, 0x7 - adds r6, r5, 0x1 -_0813876E: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - ldr r1, =0xfffffde0 - adds r0, r1 - cmp r0, 0x30 - bls _08138780 - b _081388CA -_08138780: - lsls r0, 2 - ldr r1, =_0813879C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813879C: - .4byte _08138860 - .4byte _08138866 - .4byte _08138880 - .4byte _08138888 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _08138870 - .4byte _08138876 - .4byte _08138890 - .4byte _08138898 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388A0 - .4byte _081388A8 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388B0 - .4byte _081388B0 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388C0 -_08138860: - movs r2, 0x8C - lsls r2, 2 - b _081388B2 -_08138866: - ldr r2, =0x00000231 - b _081388B2 - .pool -_08138870: - movs r2, 0x8E - lsls r2, 2 - b _081388B2 -_08138876: - ldr r2, =0x00000239 - b _081388B2 - .pool -_08138880: - ldr r2, =0x00000232 - b _081388B2 - .pool -_08138888: - ldr r2, =0x00000233 - b _081388B2 - .pool -_08138890: - ldr r2, =0x0000023a - b _081388B2 - .pool -_08138898: - ldr r2, =0x0000023b - b _081388B2 - .pool -_081388A0: - ldr r2, =0x00000e42 - b _081388B2 - .pool -_081388A8: - ldr r2, =0x00000e43 - b _081388B2 - .pool -_081388B0: - ldr r2, =0x0000021a -_081388B2: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _081388CA - .pool -_081388C0: - ldr r2, =0x00000251 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_081388CA: - adds r4, 0x1 - cmp r4, 0xF - bgt _081388D2 - b _0813876E -_081388D2: - adds r5, r6, 0 - cmp r5, 0x17 - bgt _081388DA - b _0813876A -_081388DA: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end MauvilleGymSpecial3 - - thumb_func_start PetalburgGymSpecial1 -PetalburgGymSpecial1: @ 81388E4 - push {lr} - ldr r0, =gUnknown_0203AB5C - movs r1, 0 - strb r1, [r0] - ldr r0, =gUnknown_0203AB5D - strb r1, [r0] - movs r0, 0x2C - bl PlaySE - ldr r0, =Task_PetalburgGym - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end PetalburgGymSpecial1 - - thumb_func_start Task_PetalburgGym -Task_PetalburgGym: @ 8138910 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gUnknown_085B2B78 - ldr r5, =gUnknown_0203AB5D - ldrb r1, [r5] - adds r0, r1, r0 - ldr r4, =gUnknown_0203AB5C - ldrb r2, [r4] - ldrb r0, [r0] - cmp r0, r2 - bne _0813896C - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - ldr r2, =gUnknown_085B2B7E - lsls r1, 1 - adds r1, r2 - ldrh r1, [r1] - bl PetalburgGymFunc - movs r0, 0 - strb r0, [r4] - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bne _08138970 - adds r0, r6, 0 - bl DestroyTask - bl EnableBothScriptContexts - b _08138970 - .pool -_0813896C: - adds r0, r2, 0x1 - strb r0, [r4] -_08138970: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end Task_PetalburgGym - - thumb_func_start PetalburgGymFunc -PetalburgGymFunc: @ 8138978 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r2, r1, 16 - movs r7, 0 - subs r0, 0x1 - cmp r0, 0x7 - bhi _08138A40 - lsls r0, 2 - ldr r1, =_081389A0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081389A0: - .4byte _081389C0 - .4byte _081389D2 - .4byte _081389E4 - .4byte _081389F6 - .4byte _08138A04 - .4byte _08138A1A - .4byte _08138A26 - .4byte _08138A34 -_081389C0: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x68 - b _08138A14 -_081389D2: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x4E - b _08138A14 -_081389E4: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x5B - b _08138A14 -_081389F6: - movs r7, 0x1 - mov r1, sp - movs r0, 0x7 - strh r0, [r1] - add r1, sp, 0x8 - movs r0, 0x27 - b _08138A3E -_08138A04: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x34 -_08138A14: - strh r0, [r1] - strh r0, [r1, 0x2] - b _08138A40 -_08138A1A: - movs r7, 0x1 - mov r0, sp - strh r7, [r0] - add r1, sp, 0x8 - movs r0, 0x41 - b _08138A3E -_08138A26: - movs r7, 0x1 - mov r1, sp - movs r0, 0x7 - strh r0, [r1] - add r1, sp, 0x8 - movs r0, 0xD - b _08138A3E -_08138A34: - movs r7, 0x1 - mov r0, sp - strh r7, [r0] - add r1, sp, 0x8 - movs r0, 0x1A -_08138A3E: - strh r0, [r1] -_08138A40: - movs r6, 0 - cmp r6, r7 - bcs _08138A92 - movs r1, 0xC0 - lsls r1, 4 - adds r0, r1, 0 - adds r1, r2, 0 - orrs r1, r0 - lsls r1, 16 - mov r9, r1 - adds r1, r2, 0 - adds r1, 0x8 - orrs r1, r0 - lsls r1, 16 - mov r8, r1 -_08138A5E: - lsls r1, r6, 1 - mov r3, sp - adds r5, r3, r1 - ldrh r0, [r5] - adds r0, 0x7 - add r4, sp, 0x8 - adds r4, r1 - ldrh r1, [r4] - adds r1, 0x7 - mov r3, r9 - lsrs r2, r3, 16 - bl MapGridSetMetatileIdAt - ldrh r0, [r5] - adds r0, 0x7 - ldrh r1, [r4] - adds r1, 0x8 - mov r3, r8 - lsrs r2, r3, 16 - bl MapGridSetMetatileIdAt - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, r7 - bcc _08138A5E -_08138A92: - bl DrawWholeMapView - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end PetalburgGymFunc - - thumb_func_start PetalburgGymSpecial2 -PetalburgGymSpecial2: @ 8138AA4 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - ldr r1, =gUnknown_085B2B7E - ldrh r1, [r1, 0x8] - bl PetalburgGymFunc - pop {r0} - bx r0 - .pool - thumb_func_end PetalburgGymSpecial2 - - thumb_func_start ShowFieldMessageStringVar4 -ShowFieldMessageStringVar4: @ 8138AC0 - push {lr} - ldr r0, =gStringVar4 - bl ShowFieldMessage - pop {r0} - bx r0 - .pool - thumb_func_end ShowFieldMessageStringVar4 - - thumb_func_start StorePlayerCoordsInVars -StorePlayerCoordsInVars: @ 8138AD0 - ldr r1, =gSpecialVar_0x8004 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldrh r0, [r2] - strh r0, [r1] - ldr r1, =gSpecialVar_0x8005 - ldrh r0, [r2, 0x2] - strh r0, [r1] - bx lr - .pool - thumb_func_end StorePlayerCoordsInVars - - thumb_func_start GetPlayerTrainerIdOnesDigit -GetPlayerTrainerIdOnesDigit: @ 8138AF0 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r1, [r0, 0xB] - lsls r1, 8 - ldrb r0, [r0, 0xA] - orrs r0, r1 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end GetPlayerTrainerIdOnesDigit - - thumb_func_start GetPlayerBigGuyGirlString -GetPlayerBigGuyGirlString: @ 8138B10 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08138B34 - ldr r0, =gStringVar1 - ldr r1, =gText_BigGuy - bl StringCopy - b _08138B3C - .pool -_08138B34: - ldr r0, =gStringVar1 - ldr r1, =gText_BigGirl - bl StringCopy -_08138B3C: - pop {r0} - bx r0 - .pool - thumb_func_end GetPlayerBigGuyGirlString - - thumb_func_start GetRivalSonDaughterString -GetRivalSonDaughterString: @ 8138B48 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08138B6C - ldr r0, =gStringVar1 - ldr r1, =gText_Daughter - bl StringCopy - b _08138B74 - .pool -_08138B6C: - ldr r0, =gStringVar1 - ldr r1, =gText_Son - bl StringCopy -_08138B74: - pop {r0} - bx r0 - .pool - thumb_func_end GetRivalSonDaughterString - - thumb_func_start sub_8138B80 -sub_8138B80: @ 8138B80 - ldr r0, =gBattleOutcome - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_8138B80 - - thumb_func_start CableCarWarp -CableCarWarp: @ 8138B8C - push {lr} - sub sp, 0x4 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - beq _08138BB0 - movs r2, 0x1 - negs r2, r2 - movs r0, 0x4 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r3, 0x6 - bl Overworld_SetWarpDestination - b _08138BC2 - .pool -_08138BB0: - movs r2, 0x1 - negs r2, r2 - movs r0, 0x4 - str r0, [sp] - movs r0, 0x13 - movs r1, 0x1 - movs r3, 0x6 - bl Overworld_SetWarpDestination -_08138BC2: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end CableCarWarp - - thumb_func_start SetFlagInVar -SetFlagInVar: @ 8138BC8 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end SetFlagInVar - - thumb_func_start GetWeekCount -GetWeekCount: @ 8138BDC - push {lr} - ldr r0, =gLocalTime - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x7 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - ldr r1, =0x0000270f - cmp r0, r1 - bls _08138BF6 - adds r0, r1, 0 -_08138BF6: - pop {r1} - bx r1 - .pool - thumb_func_end GetWeekCount - - thumb_func_start GetLeadMonFriendshipScore -GetLeadMonFriendshipScore: @ 8138C04 - push {r4,lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0xFF - bne _08138C2C - movs r0, 0x6 - b _08138C7E - .pool -_08138C2C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0xC7 - bls _08138C3C - movs r0, 0x5 - b _08138C7E -_08138C3C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x95 - bls _08138C4C - movs r0, 0x4 - b _08138C7E -_08138C4C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x63 - bls _08138C5C - movs r0, 0x3 - b _08138C7E -_08138C5C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x31 - bls _08138C6C - movs r0, 0x2 - b _08138C7E -_08138C6C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0 - bne _08138C7C - movs r0, 0 - b _08138C7E -_08138C7C: - movs r0, 0x1 -_08138C7E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetLeadMonFriendshipScore - - thumb_func_start CB2_FieldShowRegionMap -CB2_FieldShowRegionMap: @ 8138C84 - push {lr} - ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl sub_817018C - pop {r0} - bx r0 - .pool - thumb_func_end CB2_FieldShowRegionMap - - thumb_func_start FieldShowRegionMap -FieldShowRegionMap: @ 8138C94 - push {lr} - ldr r0, =CB2_FieldShowRegionMap - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end FieldShowRegionMap - - thumb_func_start DoPCTurnOnEffect -DoPCTurnOnEffect: @ 8138CA4 - push {r4,lr} - ldr r4, =Task_PCTurnOnEffect - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08138CD8 - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - strh r2, [r1, 0xE] - strh r2, [r1, 0x10] -_08138CD8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end DoPCTurnOnEffect - - thumb_func_start Task_PCTurnOnEffect -Task_PCTurnOnEffect: @ 8138CE8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08138D06 - adds r0, r1, 0 - bl PCTurnOnEffect_0 -_08138D06: - pop {r0} - bx r0 - .pool - thumb_func_end Task_PCTurnOnEffect - - thumb_func_start PCTurnOnEffect_0 -PCTurnOnEffect_0: @ 8138D10 - push {r4-r6,lr} - adds r4, r0, 0 - movs r6, 0 - movs r5, 0 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bne _08138D7C - strh r5, [r4, 0xE] - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x3 - beq _08138D44 - cmp r0, 0x3 - bgt _08138D3A - cmp r0, 0x2 - beq _08138D40 - b _08138D4C -_08138D3A: - cmp r1, 0x4 - beq _08138D48 - b _08138D4C -_08138D40: - movs r6, 0 - b _08138D4A -_08138D44: - movs r6, 0xFF - b _08138D4A -_08138D48: - movs r6, 0x1 -_08138D4A: - movs r5, 0xFF -_08138D4C: - movs r1, 0x10 - ldrsh r0, [r4, r1] - lsls r1, r6, 24 - asrs r1, 24 - lsls r2, r5, 24 - asrs r2, 24 - bl PCTurnOnEffect_1 - bl DrawWholeMapView - ldrh r0, [r4, 0x10] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _08138D7C - ldrb r0, [r4, 0xA] - bl DestroyTask -_08138D7C: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end PCTurnOnEffect_0 - - thumb_func_start PCTurnOnEffect_1 -PCTurnOnEffect_1: @ 8138D88 - push {r4,r5,lr} - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - movs r3, 0 - lsls r0, 16 - cmp r0, 0 - beq _08138DC4 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08138DAC - movs r3, 0x4 - b _08138DE6 - .pool -_08138DAC: - cmp r0, 0x1 - bne _08138DB8 - ldr r3, =0x0000025a - b _08138DE6 - .pool -_08138DB8: - cmp r0, 0x2 - bne _08138DE6 - ldr r3, =0x00000259 - b _08138DE6 - .pool -_08138DC4: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08138DD4 - movs r3, 0x5 - b _08138DE6 - .pool -_08138DD4: - cmp r0, 0x1 - bne _08138DE0 - ldr r3, =0x0000027f - b _08138DE6 - .pool -_08138DE0: - cmp r0, 0x2 - bne _08138DE6 - ldr r3, =0x0000027e -_08138DE6: - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r5, 0 - ldrsh r0, [r2, r5] - lsls r1, 24 - asrs r1, 24 - adds r0, r1 - adds r0, 0x7 - movs r5, 0x2 - ldrsh r1, [r2, r5] - lsls r2, r4, 24 - asrs r2, 24 - adds r1, r2 - adds r1, 0x7 - movs r4, 0xC0 - lsls r4, 4 - adds r2, r4, 0 - orrs r3, r2 - adds r2, r3, 0 - bl MapGridSetMetatileIdAt - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end PCTurnOnEffect_1 - - thumb_func_start DoPCTurnOffEffect -DoPCTurnOffEffect: @ 8138E20 - push {lr} - bl PCTurnOffEffect - pop {r0} - bx r0 - thumb_func_end DoPCTurnOffEffect - - thumb_func_start PCTurnOffEffect -PCTurnOffEffect: @ 8138E2C - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 - movs r4, 0 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x3 - beq _08138E56 - cmp r0, 0x3 - bgt _08138E4C - cmp r0, 0x2 - beq _08138E52 - b _08138E5E -_08138E4C: - cmp r1, 0x4 - beq _08138E5A - b _08138E5E -_08138E52: - movs r6, 0 - b _08138E5C -_08138E56: - movs r6, 0xFF - b _08138E5C -_08138E5A: - movs r6, 0x1 -_08138E5C: - movs r5, 0xFF -_08138E5E: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08138E70 - movs r4, 0x4 - b _08138E82 - .pool -_08138E70: - cmp r0, 0x1 - bne _08138E7C - ldr r4, =0x0000025a - b _08138E82 - .pool -_08138E7C: - cmp r0, 0x2 - bne _08138E82 - ldr r4, =0x00000259 -_08138E82: - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r1, 0 - ldrsh r0, [r2, r1] - lsls r1, r6, 24 - asrs r1, 24 - adds r0, r1 - adds r0, 0x7 - movs r3, 0x2 - ldrsh r1, [r2, r3] - lsls r2, r5, 24 - asrs r2, 24 - adds r1, r2 - adds r1, 0x7 - movs r3, 0xC0 - lsls r3, 4 - adds r2, r3, 0 - orrs r4, r2 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - bl DrawWholeMapView - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end PCTurnOffEffect - - thumb_func_start DoLotteryCornerComputerEffect -DoLotteryCornerComputerEffect: @ 8138EC0 - push {r4,lr} - ldr r4, =Task_LotteryCornerComputerEffect - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08138EF4 - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - strh r2, [r1, 0xE] - strh r2, [r1, 0x10] -_08138EF4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end DoLotteryCornerComputerEffect - - thumb_func_start Task_LotteryCornerComputerEffect -Task_LotteryCornerComputerEffect: @ 8138F04 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08138F22 - adds r0, r1, 0 - bl LotteryCornerComputerEffect -_08138F22: - pop {r0} - bx r0 - .pool - thumb_func_end Task_LotteryCornerComputerEffect - - thumb_func_start LotteryCornerComputerEffect -LotteryCornerComputerEffect: @ 8138F2C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bne _08138F9A - movs r0, 0 - strh r0, [r4, 0xE] - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08138F64 - ldr r2, =0x00000e9d - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, =0x00000ea5 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - b _08138F7A - .pool -_08138F64: - ldr r2, =0x00000e58 - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - movs r2, 0xE6 - lsls r2, 4 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt -_08138F7A: - bl DrawWholeMapView - ldrh r0, [r4, 0x10] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _08138F9A - ldrb r0, [r4, 0xA] - bl DestroyTask -_08138F9A: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end LotteryCornerComputerEffect - - thumb_func_start EndLotteryCornerComputerEffect -EndLotteryCornerComputerEffect: @ 8138FAC - push {lr} - ldr r2, =0x00000e9d - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, =0x00000ea5 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - bl DrawWholeMapView - pop {r0} - bx r0 - .pool - thumb_func_end EndLotteryCornerComputerEffect - - thumb_func_start SetTrickHouseEndRoomFlag -SetTrickHouseEndRoomFlag: @ 8138FD4 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x000001f5 - strh r0, [r1] - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end SetTrickHouseEndRoomFlag - - thumb_func_start ResetTrickHouseEndRoomFlag -ResetTrickHouseEndRoomFlag: @ 8138FEC - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x000001f5 - strh r0, [r1] - bl FlagClear - pop {r0} - bx r0 - .pool - thumb_func_end ResetTrickHouseEndRoomFlag - - thumb_func_start CheckLeadMonCool -CheckLeadMonCool: @ 8139004 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x16 - bl GetMonData - cmp r0, 0xC7 - bls _08139028 - movs r0, 0x1 - b _0813902A - .pool -_08139028: - movs r0, 0 -_0813902A: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonCool - - thumb_func_start CheckLeadMonBeauty -CheckLeadMonBeauty: @ 8139030 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x17 - bl GetMonData - cmp r0, 0xC7 - bls _08139054 - movs r0, 0x1 - b _08139056 - .pool -_08139054: - movs r0, 0 -_08139056: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonBeauty - - thumb_func_start CheckLeadMonCute -CheckLeadMonCute: @ 813905C - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x18 - bl GetMonData - cmp r0, 0xC7 - bls _08139080 - movs r0, 0x1 - b _08139082 - .pool -_08139080: - movs r0, 0 -_08139082: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonCute - - thumb_func_start CheckLeadMonSmart -CheckLeadMonSmart: @ 8139088 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x21 - bl GetMonData - cmp r0, 0xC7 - bls _081390AC - movs r0, 0x1 - b _081390AE - .pool -_081390AC: - movs r0, 0 -_081390AE: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonSmart - - thumb_func_start CheckLeadMonTough -CheckLeadMonTough: @ 81390B4 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x2F - bl GetMonData - cmp r0, 0xC7 - bls _081390D8 - movs r0, 0x1 - b _081390DA - .pool -_081390D8: - movs r0, 0 -_081390DA: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonTough - - thumb_func_start IsGrassTypeInParty -IsGrassTypeInParty: @ 81390E0 - push {r4-r6,lr} - movs r5, 0 - ldr r6, =gBaseStats -_081390E6: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _0813913C - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0813913C - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r1, 0x6] - cmp r0, 0xC - beq _08139128 - ldrb r0, [r1, 0x7] - cmp r0, 0xC - bne _0813913C -_08139128: - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - b _0813914A - .pool -_0813913C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _081390E6 - ldr r1, =gSpecialVar_Result - movs r0, 0 -_0813914A: - strh r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end IsGrassTypeInParty - - thumb_func_start SpawnScriptEventObject -SpawnScriptEventObject: @ 8139158 - push {lr} - sub sp, 0x8 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r3, [r0] - adds r3, 0x7 - lsls r3, 16 - asrs r3, 16 - ldrh r0, [r0, 0x2] - adds r0, 0x7 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - movs r0, 0x7 - movs r1, 0x8 - movs r2, 0x7F - bl SpawnSpecialEventObjectParameterized - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gEventObjects - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x1] - movs r2, 0x20 - orrs r0, r2 - strb r0, [r1, 0x1] - ldrb r0, [r1, 0x4] - bl CameraObjectSetFollowedObjectId - add sp, 0x8 - pop {r0} - bx r0 - .pool - thumb_func_end SpawnScriptEventObject - - thumb_func_start RemoveScriptEventObject -RemoveScriptEventObject: @ 81391AC - push {lr} - bl GetPlayerAvatarObjectId - lsls r0, 24 - lsrs r0, 24 - bl CameraObjectSetFollowedObjectId - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x7F - bl RemoveEventObjectByLocalIdAndMap - pop {r0} - bx r0 - .pool - thumb_func_end RemoveScriptEventObject - - thumb_func_start GetPokeblockNameByMonNature -GetPokeblockNameByMonNature: @ 81391D0 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetNature - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gStringVar1 - bl CopyMonFavoritePokeblockName - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end GetPokeblockNameByMonNature - - thumb_func_start GetSecretBaseNearbyMapName -GetSecretBaseNearbyMapName: @ 8139200 - push {r4,lr} - ldr r4, =gStringVar1 - ldr r0, =0x00004026 - bl VarGet - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - bl GetMapName - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end GetSecretBaseNearbyMapName - - thumb_func_start sub_8139228 -sub_8139228: @ 8139228 - push {lr} - movs r0, 0x20 - bl GetGameStat - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_8139228 - - thumb_func_start sub_8139238 -sub_8139238: @ 8139238 - push {lr} - ldr r0, =gStringVar1 - bl GetEreaderTrainerName - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139238 - - thumb_func_start sub_8139248 -sub_8139248: @ 8139248 - push {r4,r5,lr} - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r1, =0x00002e68 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r1, 25 - ldr r0, =0x00002e6a - adds r2, r0 - lsrs r1, 25 - ldrh r2, [r2] - adds r1, r2 - ldr r2, =gUnknown_085B2B88 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r0, r2 - ldrb r0, [r0] - adds r5, r1, r0 - movs r0, 0x2 - bl GetPriceReduction - lsls r0, 24 - cmp r0, 0 - bne _08139294 - ldr r4, =gUnknown_085B2B94 - b _08139296 - .pool -_08139294: - ldr r4, =gUnknown_085B2BA0 -_08139296: - adds r0, r5, 0 - movs r1, 0xC - bl __umodsi3 - adds r0, r4 - ldrb r0, [r0] - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8139248 - - thumb_func_start sub_81392AC -sub_81392AC: @ 81392AC - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x00000213 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081392CC - movs r0, 0x1 - b _081392CE - .pool -_081392CC: - movs r0, 0 -_081392CE: - pop {r1} - bx r1 - thumb_func_end sub_81392AC - - thumb_func_start sub_81392D4 -sub_81392D4: @ 81392D4 - push {lr} - ldr r1, =gSpecialVar_0x8004 - movs r0, 0x85 - lsls r0, 2 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081392F0 - movs r0, 0x1 - b _081392F2 - .pool -_081392F0: - movs r0, 0 -_081392F2: - pop {r1} - bx r1 - thumb_func_end sub_81392D4 - - thumb_func_start sub_81392F8 -sub_81392F8: @ 81392F8 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x00000215 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139318 - movs r0, 0x1 - b _0813931A - .pool -_08139318: - movs r0, 0 -_0813931A: - pop {r1} - bx r1 - thumb_func_end sub_81392F8 - - thumb_func_start sub_8139320 -sub_8139320: @ 8139320 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x00000216 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139340 - movs r0, 0x1 - b _08139342 - .pool -_08139340: - movs r0, 0 -_08139342: - pop {r1} - bx r1 - thumb_func_end sub_8139320 - - thumb_func_start LeadMonHasEffortRibbon -LeadMonHasEffortRibbon: @ 8139348 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x47 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end LeadMonHasEffortRibbon - - thumb_func_start GiveLeadMonEffortRibbon -GiveLeadMonEffortRibbon: @ 8139370 - push {r4,lr} - sub sp, 0x4 - movs r0, 0x2A - bl IncrementGameStat - ldr r0, =0x0000089b - bl FlagSet - movs r1, 0x1 - mov r0, sp - strb r1, [r0] - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x47 - mov r2, sp - bl SetMonData - adds r0, r4, 0 - bl GetRibbonCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _081393B6 - adds r0, r4, 0 - movs r1, 0x47 - bl sub_80EE4DC -_081393B6: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end GiveLeadMonEffortRibbon - - thumb_func_start Special_AreLeadMonEVsMaxedOut -Special_AreLeadMonEVsMaxedOut: @ 81393C8 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetMonEVCount - lsls r0, 16 - ldr r1, =0x01fd0000 - cmp r0, r1 - bhi _081393F4 - movs r0, 0 - b _081393F6 - .pool -_081393F4: - movs r0, 0x1 -_081393F6: - pop {r1} - bx r1 - thumb_func_end Special_AreLeadMonEVsMaxedOut - - thumb_func_start sub_81393FC -sub_81393FC: @ 81393FC - push {lr} - movs r0, 0xC7 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _08139454 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - movs r0, 0x83 - lsls r0, 3 - cmp r1, r0 - bne _08139454 - subs r0, 0x75 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139434 - ldr r0, =0x0000409a - movs r1, 0x4 - b _08139446 - .pool -_08139434: - movs r0, 0xE9 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139454 - ldr r0, =0x0000409a - movs r1, 0x5 -_08139446: - bl VarSet - movs r0, 0x1 - b _08139456 - .pool -_08139454: - movs r0, 0 -_08139456: - pop {r1} - bx r1 - thumb_func_end sub_81393FC - - thumb_func_start SetShoalItemFlag -SetShoalItemFlag: @ 813945C - push {lr} - ldr r0, =0x000008bf - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end SetShoalItemFlag - - thumb_func_start PutZigzagoonInPlayerParty -PutZigzagoonInPlayerParty: @ 813946C - push {r4,r5,lr} - sub sp, 0x14 - ldr r5, =gPlayerParty - movs r1, 0x90 - lsls r1, 1 - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - adds r0, r5, 0 - movs r2, 0x7 - movs r3, 0x20 - bl CreateMon - movs r1, 0x1 - add r0, sp, 0x10 - strh r1, [r0] - adds r0, r5, 0 - movs r1, 0x2E - add r2, sp, 0x10 - bl SetMonData - add r1, sp, 0x10 - movs r0, 0x21 - strh r0, [r1] - adds r0, r5, 0 - movs r1, 0xD - add r2, sp, 0x10 - bl SetMonData - add r0, sp, 0x10 - strh r4, [r0] - adds r0, r5, 0 - movs r1, 0xE - add r2, sp, 0x10 - bl SetMonData - adds r0, r5, 0 - movs r1, 0xF - add r2, sp, 0x10 - bl SetMonData - adds r0, r5, 0 - movs r1, 0x10 - add r2, sp, 0x10 - bl SetMonData - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end PutZigzagoonInPlayerParty - - thumb_func_start IsStarterInParty -IsStarterInParty: @ 81394D8 - push {r4-r6,lr} - ldr r0, =0x00004023 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - bl GetStarterPokemon - lsls r0, 16 - lsrs r6, r0, 16 - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _08139526 -_081394FA: - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - cmp r0, r6 - bne _0813951C - movs r0, 0x1 - b _08139528 - .pool -_0813951C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _081394FA -_08139526: - movs r0, 0 -_08139528: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsStarterInParty - - thumb_func_start ScriptCheckFreePokemonStorageSpace -ScriptCheckFreePokemonStorageSpace: @ 8139530 - push {lr} - bl CheckFreePokemonStorageSpace - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end ScriptCheckFreePokemonStorageSpace - - thumb_func_start IsPokerusInParty -IsPokerusInParty: @ 8139540 - push {lr} - ldr r0, =gPlayerParty - movs r1, 0x3F - bl CheckPartyPokerus - lsls r0, 24 - cmp r0, 0 - beq _08139558 - movs r0, 0x1 - b _0813955A - .pool -_08139558: - movs r0, 0 -_0813955A: - pop {r1} - bx r1 - thumb_func_end IsPokerusInParty - - thumb_func_start sub_8139560 -sub_8139560: @ 8139560 - push {lr} - ldr r0, =sub_81395BC - movs r1, 0x9 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - movs r2, 0 - strh r0, [r1, 0x8] - strh r2, [r1, 0xA] - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - strh r0, [r1, 0xC] - ldr r0, =gSpecialVar_0x8007 - ldrh r0, [r0] - strh r0, [r1, 0xE] - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - strh r0, [r1, 0x10] - movs r0, 0 - bl SetCameraPanningCallback - movs r0, 0xD6 - bl PlaySE - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139560 - - thumb_func_start sub_81395BC -sub_81395BC: @ 81395BC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - bl __modsi3 - cmp r0, 0 - bne _08139614 - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x4] - subs r0, 0x1 - strh r0, [r4, 0x4] - ldrh r0, [r4] - negs r0, r0 - strh r0, [r4] - ldrh r0, [r4, 0x8] - negs r0, r0 - strh r0, [r4, 0x8] - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x8 - ldrsh r1, [r4, r2] - bl SetCameraPanning - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08139614 - adds r0, r5, 0 - bl sub_8139620 - bl InstallCameraPanAheadCallback -_08139614: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81395BC - - thumb_func_start sub_8139620 -sub_8139620: @ 8139620 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_8139620 - - thumb_func_start sub_8139634 -sub_8139634: @ 8139634 - push {lr} - movs r0, 0x95 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8139634 - - thumb_func_start SetRoute119Weather -SetRoute119Weather: @ 8139648 - push {lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r0, 24 - bl is_map_type_1_2_3_5_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08139664 - movs r0, 0x14 - bl SetSav1Weather -_08139664: - pop {r0} - bx r0 - thumb_func_end SetRoute119Weather - - thumb_func_start SetRoute123Weather -SetRoute123Weather: @ 8139668 - push {lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r0, 24 - bl is_map_type_1_2_3_5_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08139684 - movs r0, 0x15 - bl SetSav1Weather -_08139684: - pop {r0} - bx r0 - thumb_func_end SetRoute123Weather - - thumb_func_start GetLeadMonIndex -GetLeadMonIndex: @ 8139688 - push {r4-r6,lr} - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - cmp r5, r6 - bcs _081396D6 -_08139698: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _081396CC - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _081396CC - adds r0, r5, 0 - b _081396D8 - .pool -_081396CC: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r6 - bcc _08139698 -_081396D6: - movs r0, 0 -_081396D8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetLeadMonIndex - - thumb_func_start ScriptGetPartyMonSpecies -ScriptGetPartyMonSpecies: @ 81396E0 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .pool - thumb_func_end ScriptGetPartyMonSpecies - - thumb_func_start nullsub_54 -nullsub_54: @ 8139708 - bx lr - thumb_func_end nullsub_54 - - thumb_func_start sub_813970C -sub_813970C: @ 813970C - push {r4,lr} - ldr r0, =0x000040c2 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - adds r3, r0, 0 - ldr r2, =gLocalTime - movs r1, 0 - ldrsh r0, [r2, r1] - subs r0, r3 - cmp r0, 0x6 - ble _08139734 - movs r0, 0 - b _0813974C - .pool -_08139734: - ldrh r1, [r2] - movs r4, 0 - ldrsh r0, [r2, r4] - cmp r0, 0 - blt _0813974A - subs r1, r3 - movs r0, 0x7 - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - b _0813974C -_0813974A: - movs r0, 0x8 -_0813974C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813970C - - thumb_func_start sub_8139754 -sub_8139754: @ 8139754 - push {r4,lr} - ldr r0, =0x000040c2 - ldr r4, =gLocalTime - ldrh r1, [r4] - bl VarSet - ldrh r0, [r4] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8139754 - - thumb_func_start sub_8139770 -sub_8139770: @ 8139770 - push {r4-r6,lr} - ldr r6, =gSpecialVar_0x8004 - ldrh r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x3 - bl GetMonData - cmp r0, 0x2 - bne _081397A6 - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - ldr r4, =gStringVar1 - movs r1, 0x7 - adds r2, r4, 0 - bl GetMonData - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - adds r1, r4, 0 - bl StringCompare - cmp r0, 0 - beq _081397BC -_081397A6: - movs r0, 0x1 - b _081397BE - .pool -_081397BC: - movs r0, 0 -_081397BE: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8139770 - - thumb_func_start sub_81397C4 -sub_81397C4: @ 81397C4 - push {r4,r5,lr} - ldr r2, =gSpecialVar_Result - ldrh r1, [r2] - ldr r0, =0x0000270f - cmp r1, r0 - bls _081397E0 - movs r0, 0 - bl TV_PrintIntToStringVar - b _08139862 - .pool -_081397E0: - ldr r0, =0x000003e7 - cmp r1, r0 - bls _081397F8 - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - adds r4, 0x1 - b _0813981C - .pool -_081397F8: - cmp r1, 0x63 - bls _0813980C - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - adds r4, 0x2 - b _0813981C - .pool -_0813980C: - cmp r1, 0x9 - bls _0813983C - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - adds r4, 0x3 -_0813981C: - ldrh r5, [r2] - adds r0, r5, 0 - bl CountDigits - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl ConvertIntToDecimalStringN - b _08139862 - .pool -_0813983C: - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - strb r0, [r4, 0x3] - adds r4, 0x4 - ldrh r5, [r2] - adds r0, r5, 0 - bl CountDigits - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl ConvertIntToDecimalStringN -_08139862: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81397C4 - - thumb_func_start sub_813986C -sub_813986C: @ 813986C - push {lr} - ldr r0, =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0x4 - bhi _081398B8 - lsls r0, 2 - ldr r1, =_08139888 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08139888: - .4byte _0813989C - .4byte _081398A0 - .4byte _081398A4 - .4byte _081398A8 - .4byte _081398AC -_0813989C: - movs r0, 0x3 - b _081398AE -_081398A0: - movs r0, 0x4 - b _081398AE -_081398A4: - movs r0, 0 - b _081398AE -_081398A8: - movs r0, 0x1 - b _081398AE -_081398AC: - movs r0, 0x2 -_081398AE: - bl mevent_081445C0 - lsls r0, 16 - lsrs r0, 16 - b _081398BA -_081398B8: - movs r0, 0 -_081398BA: - pop {r1} - bx r1 - thumb_func_end sub_813986C - - thumb_func_start sub_81398C0 -sub_81398C0: @ 81398C0 - push {r4,lr} - ldr r1, =gSpecialVar_0x8004 - ldr r2, =0xfffffedf - adds r0, r2, 0 - ldrh r2, [r1] - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x39 - bls _081398E0 - movs r0, 0 - b _081398FC - .pool -_081398E0: - ldr r4, =gStringVar2 - ldrh r0, [r1] - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xD - muls r1, r0 - ldr r0, =gMoveNames - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - movs r0, 0x1 -_081398FC: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81398C0 - - thumb_func_start sub_813990C -sub_813990C: @ 813990C - push {r4,r5,lr} - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _08139942 -_0813991C: - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x4 - bl GetMonData - cmp r0, 0x1 - bne _08139938 - movs r0, 0x1 - b _08139944 - .pool -_08139938: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _0813991C -_08139942: - movs r0, 0 -_08139944: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_813990C - - thumb_func_start InMultiBattleRoom -InMultiBattleRoom: @ 813994C - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x00000f1a - cmp r1, r0 - bne _08139978 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _08139978 - movs r0, 0x1 - b _0813997A - .pool -_08139978: - movs r0, 0 -_0813997A: - pop {r1} - bx r1 - thumb_func_end InMultiBattleRoom - - thumb_func_start sub_8139980 -sub_8139980: @ 8139980 - push {lr} - movs r0, 0 - bl SetCameraPanningCallback - movs r0, 0x8 - movs r1, 0 - bl SetCameraPanning - pop {r0} - bx r0 - thumb_func_end sub_8139980 - - thumb_func_start sub_8139994 -sub_8139994: @ 8139994 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x15] - subs r0, 0x10 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x5 - bhi _081399E4 - lsls r0, 2 - ldr r1, =_081399B8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081399B8: - .4byte _081399E4 - .4byte _081399D0 - .4byte _081399D4 - .4byte _081399D8 - .4byte _081399DC - .4byte _081399E0 -_081399D0: - movs r1, 0x5 - b _081399E6 -_081399D4: - movs r1, 0x6 - b _081399E6 -_081399D8: - movs r1, 0x7 - b _081399E6 -_081399DC: - movs r1, 0x8 - b _081399E6 -_081399E0: - movs r1, 0xF - b _081399E6 -_081399E4: - movs r1, 0x4 -_081399E6: - ldr r0, =0x00004043 - bl VarSet - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139994 - - thumb_func_start sub_81399F4 -sub_81399F4: @ 81399F4 - push {r4,lr} - ldr r2, =gUnknown_0203AB60 - movs r0, 0 - strh r0, [r2] - ldr r1, =gUnknown_0203AB62 - strh r0, [r1] - ldr r0, =gSaveBlock1Ptr - ldr r3, [r0] - movs r0, 0x14 - ldrsb r0, [r3, r0] - adds r4, r1, 0 - cmp r0, 0xD - bne _08139A6E - ldrb r0, [r3, 0x15] - subs r0, 0x10 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x4 - bhi _08139A6E - lsls r0, 2 - ldr r1, =_08139A34 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08139A34: - .4byte _08139A66 - .4byte _08139A5E - .4byte _08139A56 - .4byte _08139A4E - .4byte _08139A48 -_08139A48: - movs r0, 0 - strh r0, [r2] - b _08139A6C -_08139A4E: - movs r0, 0 - strh r0, [r2] - movs r0, 0x1 - b _08139A6C -_08139A56: - movs r0, 0 - strh r0, [r2] - movs r0, 0x2 - b _08139A6C -_08139A5E: - movs r0, 0 - strh r0, [r2] - movs r0, 0x3 - b _08139A6C -_08139A66: - movs r0, 0 - strh r0, [r2] - movs r0, 0x4 -_08139A6C: - strh r0, [r4] -_08139A6E: - ldrh r0, [r4] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81399F4 - - thumb_func_start sub_8139A78 -sub_8139A78: @ 8139A78 - push {r4-r6,lr} - ldr r0, =sub_8139AF4 - movs r1, 0x9 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r4, r1, r0 - movs r3, 0 - strh r3, [r4, 0x2] - strh r3, [r4, 0x4] - movs r6, 0x1 - strh r6, [r4, 0x8] - ldr r0, =gSpecialVar_0x8005 - ldr r1, =gSpecialVar_0x8006 - ldrh r2, [r0] - ldrh r0, [r1] - cmp r2, r0 - bls _08139AC0 - subs r0, r2, r0 - lsls r0, 16 - lsrs r5, r0, 16 - strh r6, [r4, 0xC] - b _08139AC8 - .pool -_08139AC0: - subs r0, r2 - lsls r0, 16 - lsrs r5, r0, 16 - strh r3, [r4, 0xC] -_08139AC8: - cmp r5, 0x8 - bls _08139ACE - movs r5, 0x8 -_08139ACE: - ldr r0, =gUnknown_085B2C18 - adds r0, r5, r0 - ldrb r0, [r0] - strh r0, [r4, 0xA] - movs r0, 0 - bl SetCameraPanningCallback - ldrb r1, [r4, 0xC] - adds r0, r5, 0 - bl sub_8139C2C - movs r0, 0x59 - bl PlaySE - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139A78 - - thumb_func_start sub_8139AF4 -sub_8139AF4: @ 8139AF4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bne _08139B54 - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - ldrh r0, [r4, 0x8] - negs r0, r0 - strh r0, [r4, 0x8] - movs r2, 0x8 - ldrsh r1, [r4, r2] - movs r0, 0 - bl SetCameraPanning - movs r0, 0x4 - ldrsh r1, [r4, r0] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _08139B54 - movs r0, 0x49 - bl PlaySE - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts - bl InstallCameraPanAheadCallback -_08139B54: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139AF4 - - thumb_func_start sub_8139B60 -sub_8139B60: @ 8139B60 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0xC - ldr r5, =gUnknown_0203AB5E - ldr r0, =gUnknown_085B2BAC - bl AddWindow - strb r0, [r5] - ldrb r0, [r5] - movs r1, 0 - bl SetStandardWindowBorderStyle - ldr r4, =gText_ElevatorNowOn - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x40 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - ldrb r0, [r5] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - mov r9, r1 - str r1, [sp, 0x4] - movs r1, 0 - mov r8, r1 - str r1, [sp, 0x8] - movs r1, 0x1 - adds r2, r4, 0 - bl PrintTextOnWindow - ldr r6, =gElevatorFloorsTable - ldr r4, =gSpecialVar_0x8005 - ldrh r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r1, [r0] - movs r0, 0x1 - movs r2, 0x40 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - ldrb r0, [r5] - ldrh r1, [r4] - lsls r1, 2 - adds r1, r6 - ldr r2, [r1] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x11 - str r1, [sp] - mov r1, r9 - str r1, [sp, 0x4] - mov r1, r8 - str r1, [sp, 0x8] - movs r1, 0x1 - bl PrintTextOnWindow - ldrb r0, [r5] - bl PutWindowTilemap - ldrb r0, [r5] - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139B60 - - thumb_func_start sub_8139C10 -sub_8139C10: @ 8139C10 - push {r4,lr} - ldr r4, =gUnknown_0203AB5E - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139C10 - - thumb_func_start sub_8139C2C -sub_8139C2C: @ 8139C2C - push {r4-r6,lr} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r4, =sub_8139C80 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08139C6C - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - strh r5, [r1, 0xC] - ldr r0, =gUnknown_085B2C21 - adds r0, r6, r0 - ldrb r0, [r0] - strh r0, [r1, 0xE] -_08139C6C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139C2C - - thumb_func_start sub_8139C80 -sub_8139C80: @ 8139C80 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - lsls r0, 2 - ldr r1, [sp] - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - movs r2, 0x2 - ldrsh r0, [r6, r2] - cmp r0, 0x6 - bne _08139D7C - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _08139D10 - movs r1, 0 - ldr r2, =gUnknown_085B2BF4 - mov r10, r2 -_08139CBA: - movs r5, 0 - adds r7, r1, 0x7 - lsls r0, r1, 1 - adds r2, r1, 0x1 - mov r8, r2 - adds r0, r1 - lsls r0, 1 - mov r9, r0 -_08139CCA: - adds r4, r5, 0 - adds r4, 0x8 - movs r1, 0 - ldrsh r0, [r6, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 15 - add r0, r9 - add r0, r10 - ldrh r0, [r0] - movs r1, 0xC0 - lsls r1, 4 - adds r2, r1, 0 - orrs r2, r0 - adds r0, r4, 0 - adds r1, r7, 0 - bl MapGridSetMetatileIdAt - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _08139CCA - mov r2, r8 - lsls r0, r2, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _08139CBA - b _08139D62 - .pool -_08139D10: - movs r1, 0 - ldr r0, =gUnknown_085B2C06 - mov r10, r0 -_08139D16: - movs r5, 0 - adds r7, r1, 0x7 - lsls r0, r1, 1 - adds r2, r1, 0x1 - mov r8, r2 - adds r0, r1 - lsls r0, 1 - mov r9, r0 -_08139D26: - adds r4, r5, 0 - adds r4, 0x8 - movs r1, 0 - ldrsh r0, [r6, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 15 - add r0, r9 - add r0, r10 - ldrh r0, [r0] - movs r1, 0xC0 - lsls r1, 4 - adds r2, r1, 0 - orrs r2, r0 - adds r0, r4, 0 - adds r1, r7, 0 - bl MapGridSetMetatileIdAt - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _08139D26 - mov r2, r8 - lsls r0, r2, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _08139D16 -_08139D62: - bl DrawWholeMapView - movs r0, 0 - strh r0, [r6, 0x2] - movs r0, 0 - ldrsh r1, [r6, r0] - movs r2, 0x6 - ldrsh r0, [r6, r2] - cmp r1, r0 - bne _08139D7C - ldr r0, [sp] - bl DestroyTask -_08139D7C: - ldrh r0, [r6, 0x2] - adds r0, 0x1 - strh r0, [r6, 0x2] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139C80 - - thumb_func_start sub_8139D98 -sub_8139D98: @ 8139D98 - push {r4-r7,lr} - sub sp, 0x18 - ldr r6, =gSpecialVar_0x8004 - ldrh r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x27 - bl GetMonData - str r0, [sp] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x28 - bl GetMonData - str r0, [sp, 0x4] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x29 - bl GetMonData - str r0, [sp, 0x8] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x2A - bl GetMonData - str r0, [sp, 0xC] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x2B - bl GetMonData - str r0, [sp, 0x10] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x2C - bl GetMonData - str r0, [sp, 0x14] - ldr r1, =gSpecialVar_0x8005 - movs r0, 0 - strh r0, [r1] - movs r4, 0 - adds r2, r1, 0 -_08139E00: - lsls r0, r4, 2 - add r0, sp - ldr r1, [r0] - ldrh r0, [r2] - adds r0, r1 - strh r0, [r2] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _08139E00 - ldr r2, =gSpecialVar_0x8006 - movs r0, 0 - strh r0, [r2] - ldr r1, =gSpecialVar_0x8007 - ldr r0, [sp] - strh r0, [r1] - movs r4, 0x1 - adds r6, r2, 0 - adds r7, r1, 0 -_08139E28: - ldrh r0, [r6] - lsls r0, 2 - mov r2, sp - adds r1, r2, r0 - lsls r0, r4, 2 - adds r5, r2, r0 - ldr r1, [r1] - ldr r0, [r5] - cmp r1, r0 - bcs _08139E54 - strh r4, [r6] - b _08139E6C - .pool -_08139E54: - cmp r1, r0 - bne _08139E6E - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08139E6E - strh r4, [r6] - ldr r0, [r5] -_08139E6C: - strh r0, [r7] -_08139E6E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _08139E28 - add sp, 0x18 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8139D98 - - thumb_func_start warp0_in_pokecenter -warp0_in_pokecenter: @ 8139E80 - push {r4,lr} - ldr r0, =gUnknown_020322DC - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r1, 8 - ldrb r0, [r0, 0x1] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r2, =gUnknown_085B2C2A - ldrh r0, [r2] - ldr r1, =0x0000ffff - cmp r0, r1 - beq _08139EC6 - adds r4, r1, 0 - adds r1, r2, 0 -_08139EA4: - ldrh r0, [r2] - cmp r0, r3 - bne _08139EBC - movs r0, 0x1 - b _08139EC8 - .pool -_08139EBC: - adds r1, 0x2 - adds r2, 0x2 - ldrh r0, [r1] - cmp r0, r4 - bne _08139EA4 -_08139EC6: - movs r0, 0 -_08139EC8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end warp0_in_pokecenter - - thumb_func_start sub_8139ED0 -sub_8139ED0: @ 8139ED0 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x00003c1a - cmp r1, r0 - beq _08139EEC - movs r0, 0x1 - b _08139EEE - .pool -_08139EEC: - movs r0, 0 -_08139EEE: - pop {r1} - bx r1 - thumb_func_end sub_8139ED0 - - thumb_func_start UpdateFrontierManiac -UpdateFrontierManiac: @ 8139EF4 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x0000402f - bl GetVarPointer - adds r5, r0, 0 - ldrh r0, [r5] - adds r4, r0 - strh r4, [r5] - ldrh r0, [r5] - movs r1, 0xA - bl __umodsi3 - strh r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end UpdateFrontierManiac - - thumb_func_start sub_8139F20 -sub_8139F20: @ 8139F20 - push {r4-r7,lr} - movs r4, 0 - ldr r0, =0x0000402f - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x9 - bls _08139F34 - b _0813A03A -_08139F34: - lsls r0, r6, 2 - ldr r1, =_08139F48 - adds r1, r0, r1 - ldr r1, [r1] - adds r2, r0, 0 - mov pc, r1 - .pool - .align 2, 0 -_08139F48: - .4byte _08139F70 - .4byte _08139F70 - .4byte _08139F70 - .4byte _08139F70 - .4byte _08139F94 - .4byte _08139FB4 - .4byte _08139FCC - .4byte _08139FE4 - .4byte _08139FFC - .4byte _0813A014 -_08139F70: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - movs r3, 0xCE - lsls r3, 4 - adds r1, r0, r3 - adds r3, r1, r2 - ldr r1, =0x00000ce2 - adds r0, r1 - adds r1, r0, r2 - ldrh r0, [r3] - ldrh r2, [r1] - cmp r0, r2 - bcs _0813A028 - b _0813A038 - .pool -_08139F94: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r3, =0x00000d0c - adds r2, r0, r3 - adds r3, 0x2 -_08139F9E: - adds r1, r0, r3 - ldrh r0, [r2] - ldrh r3, [r1] - cmp r0, r3 - bcs _0813A028 - b _0813A038 - .pool -_08139FB4: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000de2 - adds r2, r0, r1 - ldr r3, =0x00000de4 - b _08139F9E - .pool -_08139FCC: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000dc8 - adds r2, r0, r1 - ldr r3, =0x00000dca - b _08139F9E - .pool -_08139FE4: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000dda - adds r2, r0, r1 - ldr r3, =0x00000ddc - b _08139F9E - .pool -_08139FFC: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000e04 - adds r2, r0, r1 - ldr r3, =0x00000e06 - b _08139F9E - .pool -_0813A014: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000e1a - adds r2, r0, r1 - ldr r3, =0x00000e1c - adds r1, r0, r3 - ldrh r0, [r2] - ldrh r3, [r1] - cmp r0, r3 - bcc _0813A038 -_0813A028: - adds r4, r0, 0 - b _0813A03A - .pool -_0813A038: - ldrh r4, [r1] -_0813A03A: - movs r2, 0 - ldr r5, =gUnknown_085B2CC8 - lsls r0, r6, 1 - adds r1, r0, r5 - ldrb r1, [r1] - adds r3, r0, 0 - ldr r7, =gUnknown_085B2C50 - cmp r1, r4 - bcs _0813A062 - adds r1, r3, 0 -_0813A04E: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1 - bhi _0813A062 - adds r0, r2, r1 - adds r0, r5 - ldrb r0, [r0] - cmp r0, r4 - bcc _0813A04E -_0813A062: - adds r0, r3, r6 - adds r0, r2 - lsls r0, 2 - adds r0, r7 - ldr r0, [r0] - bl ShowFieldMessage - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139F20 - - thumb_func_start sub_813A080 -sub_813A080: @ 813A080 - push {r4-r7,lr} - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r4, r0, 30 - cmp r5, 0x2 - bne _0813A0D8 - movs r0, 0xA9 - lsls r0, 1 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0813A0D8 - ldr r1, =gSpecialVar_0x8005 - movs r0, 0x5 - strh r0, [r1] - ldr r1, =gSpecialVar_0x8006 - movs r0, 0x4 - strh r0, [r1] - b _0813A110 - .pool -_0813A0D0: - movs r0, 0x4 - strh r0, [r6] - adds r0, r3, 0x5 - b _0813A10E -_0813A0D8: - movs r3, 0 - ldr r6, =gSpecialVar_0x8005 - ldr r7, =gSpecialVar_0x8006 - lsls r1, r4, 1 - lsls r2, r5, 2 - ldr r4, =gUnknown_085B2CDC - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - adds r1, r2 - movs r2, 0xCE - lsls r2, 4 - adds r0, r2 - adds r0, r1 - ldrh r1, [r0] -_0813A0F4: - lsls r0, r3, 1 - adds r0, r4 - ldrh r0, [r0] - cmp r0, r1 - bhi _0813A0D0 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x8 - bls _0813A0F4 - movs r0, 0x4 - strh r0, [r6] - movs r0, 0xC -_0813A10E: - strh r0, [r7] -_0813A110: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A080 - - thumb_func_start sub_813A128 -sub_813A128: @ 813A128 - push {r4,lr} - ldr r0, =sub_813A2DC - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r3, r0, r1 - ldr r1, =gSpecialVar_0x8004 - ldrh r0, [r1] - strh r0, [r3, 0x1E] - ldrh r0, [r1] - cmp r0, 0xC - bls _0813A14E - b _0813A2C6 -_0813A14E: - lsls r0, 2 - ldr r1, =_0813A168 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813A168: - .4byte _0813A19C - .4byte _0813A1AA - .4byte _0813A1C2 - .4byte _0813A1D6 - .4byte _0813A1F0 - .4byte _0813A208 - .4byte _0813A222 - .4byte _0813A23C - .4byte _0813A25A - .4byte _0813A274 - .4byte _0813A274 - .4byte _0813A28E - .4byte _0813A2A8 -_0813A19C: - movs r1, 0 - movs r0, 0x1 - strh r0, [r3, 0x8] - strh r0, [r3, 0xA] - strh r0, [r3, 0xC] - strh r0, [r3, 0xE] - b _0813A2BC -_0813A1AA: - movs r1, 0 - movs r0, 0x5 - strh r0, [r3, 0x8] - movs r0, 0x8 - strh r0, [r3, 0xA] - movs r0, 0x1 - strh r0, [r3, 0xC] - strh r0, [r3, 0xE] - movs r0, 0x9 - strh r0, [r3, 0x10] - movs r0, 0xA - b _0813A2BE -_0813A1C2: - movs r2, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r1, 0xC - strh r1, [r3, 0xA] - movs r0, 0x1 - strh r0, [r3, 0xC] - strh r0, [r3, 0xE] - movs r0, 0x7 - b _0813A250 -_0813A1D6: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xB - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A1F0: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A208: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0x7 - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A222: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xA - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A23C: - movs r2, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r1, 0xC - strh r1, [r3, 0xA] - movs r0, 0xF - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xE -_0813A250: - strh r0, [r3, 0x10] - strh r1, [r3, 0x12] - strh r2, [r3, 0x14] - strh r4, [r3, 0x26] - b _0813A2D2 -_0813A25A: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xA - strh r0, [r3, 0xA] - movs r0, 0x11 - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xB - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A274: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xB - strh r0, [r3, 0xA] - movs r0, 0xF - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xE - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A28E: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0x7 - strh r0, [r3, 0xA] - movs r0, 0x13 - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xA - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A2A8: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0x7 - strh r0, [r3, 0xA] - movs r0, 0x11 - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xC -_0813A2BC: - strh r0, [r3, 0x10] -_0813A2BE: - strh r0, [r3, 0x12] - strh r1, [r3, 0x14] - strh r4, [r3, 0x26] - b _0813A2D2 -_0813A2C6: - ldr r1, =gSpecialVar_Result - movs r0, 0x7F - strh r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_0813A2D2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A128 - - thumb_func_start sub_813A2DC -sub_813A2DC: @ 813A2DC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x20 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - bl ScriptContext2_Enable - ldr r0, =gUnknown_0203AB68 - movs r5, 0 - strh r5, [r0] - ldr r1, =gUnknown_0203AB6C - movs r0, 0x40 - strb r0, [r1] - ldrh r0, [r6, 0x1E] - movs r1, 0 - bl sub_813AA60 - ldrb r0, [r6, 0x1E] - movs r1, 0 - bl sub_813ACE8 - ldr r4, =gUnknown_0203AB64 - movs r1, 0xA - ldrsh r0, [r6, r1] - lsls r0, 3 - bl AllocZeroed - str r0, [r4] - ldr r0, =gUnknown_0203AB6A - strh r5, [r0] - bl sub_813A42C - movs r3, 0 - movs r4, 0 - movs r2, 0xA - ldrsh r0, [r6, r2] - add r1, sp, 0x18 - mov r8, r1 - cmp r3, r0 - bge _0813A36A - ldr r5, =gUnknown_085B2CF0 -_0813A33A: - lsls r1, r4, 2 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r1, r5 - ldr r0, [r1] - ldr r1, =gUnknown_0203AB64 - ldr r2, [r1] - lsls r1, r4, 3 - adds r1, r2 - str r0, [r1] - str r4, [r1, 0x4] - adds r1, r3, 0 - bl display_text_and_get_width - adds r3, r0, 0 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - movs r2, 0xA - ldrsh r0, [r6, r2] - cmp r4, r0 - blt _0813A33A -_0813A36A: - adds r0, r3, 0 - bl convert_pixel_width_to_tile_width - strh r0, [r6, 0x10] - movs r1, 0xC - ldrsh r0, [r6, r1] - movs r2, 0x10 - ldrsh r1, [r6, r2] - adds r0, r1 - cmp r0, 0x1D - ble _0813A38C - movs r0, 0x1D - subs r0, r1 - cmp r0, 0 - bge _0813A38A - movs r0, 0 -_0813A38A: - strh r0, [r6, 0xC] -_0813A38C: - ldrb r2, [r6, 0xC] - ldrb r3, [r6, 0xE] - ldrb r0, [r6, 0x10] - str r0, [sp] - ldrb r0, [r6, 0x12] - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - movs r0, 0x64 - str r0, [sp, 0xC] - add r0, sp, 0x10 - movs r1, 0 - bl sub_8198A50 - ldr r0, [sp, 0x10] - ldr r1, [sp, 0x14] - str r0, [sp, 0x18] - str r1, [sp, 0x1C] - mov r0, r8 - bl AddWindow - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x22] - movs r1, 0 - bl SetStandardWindowBorderStyle - ldr r4, =gUnknown_030061D0 - ldrh r0, [r6, 0xA] - strh r0, [r4, 0xC] - ldrh r0, [r6, 0x8] - strh r0, [r4, 0xE] - ldrh r0, [r6, 0x22] - strb r0, [r4, 0x10] - adds r0, r7, 0 - bl sub_813A694 - ldrh r1, [r6, 0x16] - ldrh r2, [r6, 0x18] - adds r0, r4, 0 - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x24] - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_813A4EC - str r1, [r0] - add sp, 0x20 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A2DC - - thumb_func_start sub_813A42C -sub_813A42C: @ 813A42C - ldr r1, =gUnknown_030061D0 - ldr r0, =gUnknown_0203AB64 - ldr r0, [r0] - str r0, [r1] - ldr r0, =sub_813A46C - str r0, [r1, 0x4] - movs r0, 0 - str r0, [r1, 0x8] - movs r2, 0 - movs r0, 0x1 - strh r0, [r1, 0xC] - strh r0, [r1, 0xE] - strb r2, [r1, 0x10] - strb r2, [r1, 0x11] - movs r0, 0x8 - strb r0, [r1, 0x12] - strb r2, [r1, 0x13] - movs r0, 0x21 - strb r0, [r1, 0x14] - movs r0, 0x31 - strb r0, [r1, 0x15] - movs r0, 0 - strb r0, [r1, 0x16] - movs r0, 0x1 - strb r0, [r1, 0x17] - bx lr - .pool - thumb_func_end sub_813A42C - - thumb_func_start sub_813A46C -sub_813A46C: @ 813A46C - push {r4,r5,lr} - sub sp, 0x4 - movs r0, 0x5 - bl PlaySE - ldr r0, =sub_813A4EC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0813A4D4 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - movs r2, 0 - bl ListMenuGetScrollAndRow - ldr r1, =gUnknown_0203AB68 - mov r0, sp - ldrh r0, [r0] - strh r0, [r1] - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - bl ListMenuGetCurrentItemArrayId - ldrh r0, [r4, 0x1E] - ldr r5, =gUnknown_0203AB6A - ldrh r1, [r5] - bl sub_813AC44 - ldrh r0, [r4, 0x1E] - mov r1, sp - ldrh r1, [r1] - bl sub_813AA60 - ldrb r0, [r4, 0x1E] - mov r1, sp - ldrh r1, [r1] - bl sub_813AD34 - mov r0, sp - ldrh r0, [r0] - strh r0, [r5] -_0813A4D4: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A46C - - thumb_func_start sub_813A4EC -sub_813A4EC: @ 813A4EC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - ldrh r0, [r6, 0x24] - lsls r0, 24 - lsrs r0, 24 - bl ListMenuHandleInputGetItemId - adds r4, r0, 0 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _0813A51C - adds r0, 0x1 - cmp r4, r0 - bne _0813A530 - b _0813A566 - .pool -_0813A51C: - ldr r1, =gSpecialVar_Result - movs r0, 0x7F - strh r0, [r1] - movs r0, 0x5 - bl PlaySE - b _0813A54C - .pool -_0813A530: - ldr r0, =gSpecialVar_Result - strh r4, [r0] - movs r0, 0x5 - bl PlaySE - movs r1, 0x14 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _0813A54C - movs r1, 0xA - ldrsh r0, [r6, r1] - subs r0, 0x1 - cmp r4, r0 - bne _0813A558 -_0813A54C: - adds r0, r5, 0 - bl sub_813A570 - b _0813A566 - .pool -_0813A558: - adds r0, r5, 0 - bl sub_813A738 - ldr r0, =sub_813A600 - str r0, [r6] - bl EnableBothScriptContexts -_0813A566: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A4EC - - thumb_func_start sub_813A570 -sub_813A570: @ 813A570 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - bl ListMenuGetCurrentItemArrayId - ldrh r0, [r4, 0x1E] - mov r1, sp - ldrh r1, [r1] - bl sub_813AC44 - adds r0, r5, 0 - bl sub_813A738 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - ldr r0, =gUnknown_0203AB64 - ldr r0, [r0] - bl Free - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_8198070 - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl CopyWindowToVram - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A570 - - thumb_func_start sub_813A600 -sub_813A600: @ 813A600 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x14 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - beq _0813A624 - cmp r0, 0x2 - bne _0813A624 - movs r0, 0x1 - strh r0, [r1, 0x14] - ldr r0, =sub_813A664 - str r0, [r1] -_0813A624: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A600 - - thumb_func_start sub_813A630 -sub_813A630: @ 813A630 - push {lr} - ldr r0, =sub_813A600 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - bne _0813A64C - bl EnableBothScriptContexts - b _0813A65C - .pool -_0813A64C: - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x14] - adds r0, 0x1 - strh r0, [r1, 0x14] -_0813A65C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A630 - - thumb_func_start sub_813A664 -sub_813A664: @ 813A664 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ScriptContext2_Enable - adds r0, r4, 0 - bl sub_813A694 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_813A4EC - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A664 - - thumb_func_start sub_813A694 -sub_813A694: @ 813A694 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - mov r1, sp - ldr r0, =gUnknown_085B3030 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r0, [r0] - str r0, [r1] - movs r0, 0x8 - ldrsh r1, [r4, r0] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - beq _0813A724 - mov r2, sp - movs r3, 0x10 - ldrsh r1, [r4, r3] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - lsls r1, 3 - adds r1, 0xC - movs r5, 0xC - ldrsh r0, [r4, r5] - subs r0, 0x1 - lsls r0, 3 - adds r1, r0 - movs r3, 0 - strb r1, [r2, 0x1] - mov r1, sp - movs r0, 0x8 - strb r0, [r1, 0x2] - movs r0, 0x10 - ldrsh r1, [r4, r0] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - lsls r1, 3 - adds r1, 0xC - movs r5, 0xC - ldrsh r0, [r4, r5] - subs r0, 0x1 - lsls r0, 3 - adds r1, r0 - strb r1, [r2, 0x4] - mov r1, sp - movs r2, 0x12 - ldrsh r0, [r4, r2] - lsls r0, 3 - adds r0, 0xA - strb r0, [r1, 0x5] - mov r0, sp - strh r3, [r0, 0x6] - mov r2, sp - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x8] - subs r0, r1 - strh r0, [r2, 0x8] - ldr r1, =gUnknown_0203AB68 - mov r0, sp - bl AddScrollIndicatorArrowPair - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] -_0813A724: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A694 - - thumb_func_start sub_813A738 -sub_813A738: @ 813A738 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r2, r1, r0 - movs r0, 0x8 - ldrsh r1, [r2, r0] - movs r3, 0xA - ldrsh r0, [r2, r3] - cmp r1, r0 - beq _0813A75E - ldrh r0, [r2, 0x20] - lsls r0, 24 - lsrs r0, 24 - bl RemoveScrollIndicatorArrowPair -_0813A75E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A738 - - thumb_func_start nullsub_55 -nullsub_55: @ 813A768 - bx lr - thumb_func_end nullsub_55 - - thumb_func_start sub_813A76C -sub_813A76C: @ 813A76C - push {r4-r6,lr} - movs r4, 0 - ldr r6, =gLinkPlayers - ldr r0, =0x0000401f - adds r5, r0, 0 -_0813A776: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x13] - cmp r0, 0 - bne _0813A79C - subs r0, r5, r4 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - bl VarSet - b _0813A7A8 - .pool -_0813A79C: - subs r0, r5, r4 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x69 - bl VarSet -_0813A7A8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0813A776 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813A76C - - thumb_func_start sub_813A7B8 -sub_813A7B8: @ 813A7B8 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldrh r0, [r1] - cmp r0, 0x5 - bls _0813A7C6 - movs r0, 0 - strh r0, [r1] -_0813A7C6: - ldrh r1, [r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetNature - lsls r0, 24 - ldr r1, =gUnknown_085B3040 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - bl ShowFieldMessage - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A7B8 - - thumb_func_start UpdateFrontierGambler -UpdateFrontierGambler: @ 813A7F4 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x00004030 - bl GetVarPointer - adds r5, r0, 0 - ldrh r0, [r5] - adds r4, r0 - strh r4, [r5] - ldrh r0, [r5] - movs r1, 0xC - bl __umodsi3 - strh r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end UpdateFrontierGambler - - thumb_func_start sub_813A820 -sub_813A820: @ 813A820 - push {r4,lr} - ldr r0, =0x00004030 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r1, =gUnknown_085B30A4 - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - bl ShowFieldMessage - ldr r0, =0x00004031 - adds r1, r4, 0 - bl VarSet - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A820 - - thumb_func_start sub_813A854 -sub_813A854: @ 813A854 - push {r4,lr} - ldr r4, =gUnknown_085B30D4 - ldr r0, =0x00004031 - bl VarGet - lsls r0, 16 - lsrs r0, 14 - adds r0, r4 - ldr r0, [r0] - bl ShowFieldMessage - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A854 - - thumb_func_start sub_813A878 -sub_813A878: @ 813A878 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, =0x00004031 - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, =0x000040cf - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r4, =0x00004033 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0813A8F0 - ldr r1, =gUnknown_085B3104 - lsls r0, r6, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r0, r5, 8 - adds r0, r7 - cmp r1, r0 - bne _0813A8F0 - mov r0, r8 - cmp r0, 0 - beq _0813A8E8 - adds r0, r4, 0 - movs r1, 0x2 - bl VarSet - b _0813A8F0 - .pool -_0813A8E8: - adds r0, r4, 0 - movs r1, 0x3 - bl VarSet -_0813A8F0: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_813A878 - - thumb_func_start sub_813A8FC -sub_813A8FC: @ 813A8FC - push {lr} - sub sp, 0x2C - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000eb8 - adds r0, r1 - ldrh r1, [r0] - add r0, sp, 0xC - movs r2, 0x1 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - ldr r1, =gText_BP - bl StringCopy - movs r0, 0x1 - add r1, sp, 0xC - movs r2, 0x30 - bl GetStringRightAlignXOffset - adds r3, r0, 0 - ldr r0, =gUnknown_0203AB6D - ldrb r0, [r0] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - add r2, sp, 0xC - bl PrintTextOnWindow - add sp, 0x2C - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A8FC - - thumb_func_start sub_813A958 -sub_813A958: @ 813A958 - push {r4,lr} - ldr r4, =gUnknown_0203AB6D - ldr r0, =gUnknown_085B311C - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStandardWindowBorderStyle - bl sub_813A8FC - ldrb r0, [r4] - movs r1, 0x2 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A958 - - thumb_func_start sub_813A988 -sub_813A988: @ 813A988 - push {r4,lr} - ldr r4, =gUnknown_0203AB6D - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A988 - - thumb_func_start sub_813A9A4 -sub_813A9A4: @ 813A9A4 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000eb8 - adds r1, r0, r2 - ldr r0, =gSpecialVar_0x8004 - ldrh r2, [r1] - ldrh r0, [r0] - cmp r2, r0 - bcs _0813A9C8 - movs r0, 0 - b _0813A9CA - .pool -_0813A9C8: - subs r0, r2, r0 -_0813A9CA: - strh r0, [r1] - pop {r0} - bx r0 - thumb_func_end sub_813A9A4 - - thumb_func_start sub_813A9D0 -sub_813A9D0: @ 813A9D0 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000eb8 - adds r2, r0, r1 - ldrh r1, [r2] - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r1, r0 - ldr r0, =0x0000270f - cmp r1, r0 - ble _0813A9FC - strh r0, [r2] - b _0813A9FE - .pool -_0813A9FC: - strh r1, [r2] -_0813A9FE: - pop {r0} - bx r0 - thumb_func_end sub_813A9D0 - - thumb_func_start sub_813AA04 -sub_813AA04: @ 813AA04 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000eb8 - adds r0, r1 - ldrh r0, [r0] - bx lr - .pool - thumb_func_end sub_813AA04 - - thumb_func_start sub_813AA18 -sub_813AA18: @ 813AA18 - push {r4,lr} - ldr r4, =gUnknown_0203AB6E - ldr r0, =gUnknown_085B3124 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStandardWindowBorderStyle - ldrb r0, [r4] - movs r1, 0x2 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AA18 - - thumb_func_start sub_813AA44 -sub_813AA44: @ 813AA44 - push {r4,lr} - ldr r4, =gUnknown_0203AB6E - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AA44 - - thumb_func_start sub_813AA60 -sub_813AA60: @ 813AA60 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 16 - lsls r1, 16 - lsrs r5, r1, 16 - lsrs r4, r0, 16 - ldr r1, =0xfffd0000 - adds r0, r1 - lsrs r0, 16 - cmp r0, 0x3 - bls _0813AA78 - b _0813ABC2 -_0813AA78: - movs r0, 0xD8 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - cmp r4, 0x4 - beq _0813AAE8 - cmp r4, 0x4 - bgt _0813AAA0 - cmp r4, 0x3 - beq _0813AAAA - b _0813ABC2 - .pool -_0813AAA0: - cmp r4, 0x5 - beq _0813AB5C - cmp r4, 0x6 - beq _0813AB94 - b _0813ABC2 -_0813AAAA: - ldr r1, =gUnknown_085B3170 - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - str r4, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r1, =gUnknown_085B312C - lsls r0, r5, 1 - adds r1, r0, r1 - ldrh r5, [r1] - ldr r0, =0x0000ffff - cmp r5, r0 - beq _0813AB18 - b _0813AB2C - .pool -_0813AAE8: - ldr r1, =gUnknown_085B319C - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r1, =gUnknown_085B3142 - lsls r0, r5, 1 - adds r1, r0, r1 - ldrh r5, [r1] - ldr r0, =0x0000ffff - cmp r5, r0 - bne _0813AB2C -_0813AB18: - ldrh r0, [r1] - bl sub_813ABD4 - b _0813ABC2 - .pool -_0813AB2C: - ldr r4, =0x0000157c - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - lsls r0, r5, 24 - lsrs r0, 24 - str r4, [sp] - str r4, [sp, 0x4] - movs r1, 0x21 - movs r2, 0x58 - movs r3, 0 - bl AddDecorationIconObject - ldr r1, =gUnknown_0203AB6C - strb r0, [r1] - b _0813ABC2 - .pool -_0813AB5C: - ldr r1, =gUnknown_085B31B4 - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r1, =gUnknown_085B314E - lsls r0, r5, 1 - adds r0, r1 - ldrh r0, [r0] - bl sub_813ABD4 - b _0813ABC2 - .pool -_0813AB94: - ldr r1, =gUnknown_085B31D0 - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r1, =gUnknown_085B315C - lsls r0, r5, 1 - adds r0, r1 - ldrh r0, [r0] - bl sub_813ABD4 -_0813ABC2: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AA60 - - thumb_func_start sub_813ABD4 -sub_813ABD4: @ 813ABD4 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - ldr r4, =0x0000157c - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - adds r0, r4, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl AddItemIconSprite - ldr r4, =gUnknown_0203AB6C - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0813AC32 - ldr r3, =gSprites - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x5] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x24 - strh r1, [r0, 0x20] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x5C - strh r1, [r0, 0x22] -_0813AC32: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ABD4 - - thumb_func_start sub_813AC44 -sub_813AC44: @ 813AC44 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - ldr r2, =gUnknown_0203AB6C - ldrb r0, [r2] - cmp r0, 0x40 - beq _0813AC70 - cmp r1, 0x6 - bgt _0813AC6A - cmp r1, 0x3 - blt _0813AC6A - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySpriteAndFreeResources -_0813AC6A: - ldr r1, =gUnknown_0203AB6C - movs r0, 0x40 - strb r0, [r1] -_0813AC70: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AC44 - - thumb_func_start sub_813AC7C -sub_813AC7C: @ 813AC7C - push {lr} - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0 - beq _0813ACB8 - ldr r0, =gStringVar1 - ldr r2, =gUnknown_085B320C - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - b _0813ACD2 - .pool -_0813ACB8: - ldr r0, =gStringVar1 - ldr r2, =gUnknown_085B31F8 - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy -_0813ACD2: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AC7C - - thumb_func_start sub_813ACE8 -sub_813ACE8: @ 813ACE8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - subs r0, 0x9 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0813AD20 - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - cmp r0, 0 - bne _0813AD18 - ldr r4, =gUnknown_0203AB5E - ldr r0, =gUnknown_085B3220 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStandardWindowBorderStyle -_0813AD18: - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_813AD34 -_0813AD20: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ACE8 - - thumb_func_start sub_813AD34 -sub_813AD34: @ 813AD34 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - adds r7, r5, 0 - lsrs r6, r0, 24 - movs r1, 0xF7 - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0813ADAC - ldr r4, =gUnknown_0203AB5E - ldrb r0, [r4] - movs r1, 0x60 - str r1, [sp] - movs r1, 0x30 - str r1, [sp, 0x4] - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - cmp r6, 0xA - bne _0813AD90 - ldrb r0, [r4] - ldr r2, =gUnknown_085B3254 - lsls r1, r5, 2 - adds r1, r2 - ldr r2, [r1] - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - b _0813ADAC - .pool -_0813AD90: - ldrb r0, [r4] - ldr r2, =gUnknown_085B3228 - lsls r1, r7, 2 - adds r1, r2 - ldr r2, [r1] - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow -_0813ADAC: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AD34 - - thumb_func_start sub_813ADB8 -sub_813ADB8: @ 813ADB8 - push {r4,lr} - ldr r4, =gUnknown_0203AB5E - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ADB8 - - thumb_func_start sub_813ADD4 -sub_813ADD4: @ 813ADD4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - ldr r0, =sub_813A600 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _0813AE90 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - ldrh r0, [r6, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r4, sp - adds r4, 0x16 - add r1, sp, 0x14 - adds r2, r4, 0 - bl ListMenuGetScrollAndRow - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl SetStandardWindowBorderStyle - movs r5, 0 - mov r9, r4 - ldr r0, =gUnknown_085B2CF0 - mov r8, r0 - movs r4, 0 -_0813AE1E: - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - add r1, sp, 0x14 - ldrh r2, [r1] - adds r2, r5 - lsls r2, 2 - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - lsls r1, 6 - adds r2, r1 - add r2, r8 - ldr r2, [r2] - lsls r1, r5, 28 - lsrs r1, 24 - str r1, [sp] - movs r7, 0xFF - str r7, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x1 - movs r3, 0xA - bl sub_8199F74 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _0813AE1E - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gText_SelectorArrow - mov r3, r9 - ldrh r1, [r3] - lsls r1, 28 - lsrs r1, 24 - str r1, [sp] - str r7, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl CopyWindowToVram -_0813AE90: - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ADD4 - - thumb_func_start sub_813AEB4 -sub_813AEB4: @ 813AEB4 - push {r4,lr} - movs r1, 0 - ldr r0, =gSpecialVar_0x8005 - strh r1, [r0] - ldr r0, =0x0000400e - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x0000400d - bl VarGet - lsls r0, 16 - lsrs r1, r0, 16 - cmp r4, 0 - beq _0813AF18 - movs r2, 0 - lsls r1, 1 - ldr r3, =gUnknown_0861500C - ldr r0, =gUnknown_085B320C - adds r0, r1, r0 - ldrh r1, [r0] -_0813AEE2: - lsls r0, r2, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r1 - beq _0813AF0C - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1D - bls _0813AEE2 - b _0813AF38 - .pool -_0813AF0C: - ldr r0, =gSpecialVar_0x8005 - strh r2, [r0] - b _0813AF38 - .pool -_0813AF18: - movs r2, 0 - lsls r1, 1 - ldr r3, =gUnknown_0861500C - ldr r0, =gUnknown_085B31F8 - adds r0, r1, r0 - ldrh r1, [r0] -_0813AF24: - lsls r0, r2, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r1 - beq _0813AF0C - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1D - bls _0813AF24 -_0813AF38: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AEB4 - - thumb_func_start sub_813AF48 -sub_813AF48: @ 813AF48 - push {r4,r5,lr} - ldr r0, =sub_813A600 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xFF - beq _0813AFB6 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - ldr r0, =gUnknown_0203AB64 - ldr r0, [r0] - bl Free - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_8198070 - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl ClearWindowTilemap - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl CopyWindowToVram - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask -_0813AFB6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AF48 - - thumb_func_start sub_813AFC8 -sub_813AFC8: @ 813AFC8 - push {lr} - ldr r0, =task_deoxys_sound - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AFC8 - - thumb_func_start task_deoxys_sound -task_deoxys_sound: @ 813AFDC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =0x000008d4 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B004 - ldr r1, =gSpecialVar_Result - movs r0, 0x3 - b _0813B06A - .pool -_0813B004: - ldr r0, =0x00004035 - mov r8, r0 - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r4, =0x00004034 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r4, 0 - movs r1, 0 - bl VarSet - cmp r5, 0 - beq _0813B05C - ldr r0, =gUnknown_085B33F6 - subs r1, r5, 0x1 - adds r1, r0 - ldrb r0, [r1] - cmp r0, r6 - bcs _0813B05C - movs r0, 0 - bl sub_813B0B4 - mov r0, r8 - movs r1, 0 - bl VarSet - ldr r1, =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] - b _0813B070 - .pool -_0813B05C: - cmp r5, 0xA - bne _0813B080 - ldr r0, =0x000008d4 - bl FlagSet - ldr r1, =gSpecialVar_Result - movs r0, 0x2 -_0813B06A: - strh r0, [r1] - bl EnableBothScriptContexts -_0813B070: - adds r0, r7, 0 - bl DestroyTask - b _0813B0A2 - .pool -_0813B080: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_813B0B4 - ldr r0, =0x00004035 - adds r1, r5, 0 - bl VarSet - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] - adds r0, r7, 0 - bl DestroyTask -_0813B0A2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end task_deoxys_sound - - thumb_func_start sub_813B0B4 -sub_813B0B4: @ 813B0B4 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 5 - ldr r1, =gUnknown_085B3280 - adds r0, r1 - movs r1, 0xD0 - lsls r1, 1 - movs r2, 0x8 - bl LoadPalette - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x1 - mov r3, sp - bl TryGetEventObjectIdByLocalIdAndMap - cmp r4, 0 - bne _0813B0F0 - movs r0, 0xC4 - bl PlaySE - b _0813B0F8 - .pool -_0813B0F0: - movs r0, 0x82 - lsls r0, 1 - bl PlaySE -_0813B0F8: - ldr r0, =sub_813B160 - movs r1, 0x8 - bl CreateTask - ldr r3, =gFieldEffectArguments - movs r0, 0x1 - str r0, [r3] - movs r0, 0x3A - str r0, [r3, 0x4] - movs r0, 0x1A - str r0, [r3, 0x8] - ldr r0, =gUnknown_085B33E0 - lsls r2, r4, 1 - adds r1, r2, r0 - ldrb r1, [r1] - str r1, [r3, 0xC] - adds r0, 0x1 - adds r0, r2, r0 - ldrb r0, [r0] - str r0, [r3, 0x10] - adds r5, r2, 0 - cmp r4, 0 - bne _0813B138 - movs r0, 0x3C - b _0813B13A - .pool -_0813B138: - movs r0, 0x5 -_0813B13A: - str r0, [r3, 0x14] - movs r0, 0x42 - bl FieldEffectStart - ldr r0, =gUnknown_085B33E0 - adds r1, r5, r0 - ldrb r1, [r1] - adds r0, 0x1 - adds r0, r5, r0 - ldrb r2, [r0] - movs r0, 0x1 - bl Overworld_SetEventObjTemplateCoords - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B0B4 - - thumb_func_start sub_813B160 -sub_813B160: @ 813B160 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x42 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _0813B17C - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_0813B17C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813B160 - - thumb_func_start increment_var_x4026_on_birth_island_modulo_100 -increment_var_x4026_on_birth_island_modulo_100: @ 813B184 - push {r4,lr} - ldr r4, =0x00004034 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x00003a1a - cmp r1, r0 - bne _0813B1C8 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x63 - bls _0813B1C0 - adds r0, r4, 0 - movs r1, 0 - bl VarSet - b _0813B1C8 - .pool -_0813B1C0: - adds r0, r4, 0 - adds r1, r2, 0 - bl VarSet -_0813B1C8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end increment_var_x4026_on_birth_island_modulo_100 - - thumb_func_start sub_813B1D0 -sub_813B1D0: @ 813B1D0 - push {lr} - ldr r0, =0x00004035 - bl VarGet - lsls r0, 24 - lsrs r0, 19 - ldr r1, =gUnknown_085B3280 - adds r0, r1 - movs r1, 0xD0 - lsls r1, 1 - movs r2, 0x8 - bl LoadPalette - movs r0, 0x80 - lsls r0, 19 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B1D0 - - thumb_func_start set_unknown_box_id -@ void set_unknown_box_id(char id) -set_unknown_box_id: @ 813B204 - ldr r1, =gUnknown_0203AB6F - strb r0, [r1] - bx lr - .pool - thumb_func_end set_unknown_box_id - - thumb_func_start get_unknown_box_id -get_unknown_box_id: @ 813B210 - ldr r0, =gUnknown_0203AB6F - ldrb r0, [r0] - bx lr - .pool - thumb_func_end get_unknown_box_id - - thumb_func_start sub_813B21C -sub_813B21C: @ 813B21C - push {r4,r5,lr} - ldr r5, =0x000008d7 - adds r0, r5, 0 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0813B258 - bl StorageGetCurrentBox - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =0x00004036 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r4, r0 - beq _0813B258 - adds r0, r5, 0 - bl FlagSet - movs r0, 0x1 - b _0813B25A - .pool -_0813B258: - movs r0, 0 -_0813B25A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_813B21C - - thumb_func_start sub_813B260 -sub_813B260: @ 813B260 - push {r4-r7,lr} - ldr r0, =0x00004036 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - bl set_unknown_box_id - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r4, r0, 24 -_0813B278: - movs r5, 0 - lsls r6, r4, 24 - lsls r7, r4, 16 -_0813B27E: - lsls r1, r5, 24 - lsrs r1, 24 - lsrs r0, r6, 24 - bl GetBoxedMonPtr - movs r1, 0xB - movs r2, 0 - bl GetBoxMonData - cmp r0, 0 - bne _0813B2C0 - bl get_unknown_box_id - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - beq _0813B2A6 - ldr r0, =0x000008d7 - bl FlagClear -_0813B2A6: - ldr r0, =0x00004036 - lsrs r1, r7, 16 - bl VarSet - bl sub_813B21C - lsls r0, 24 - lsrs r0, 24 - b _0813B2DC - .pool -_0813B2C0: - adds r5, 0x1 - cmp r5, 0x1D - ble _0813B27E - adds r4, 0x1 - cmp r4, 0xE - bne _0813B2CE - movs r4, 0 -_0813B2CE: - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _0813B278 - movs r0, 0 -_0813B2DC: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_813B260 - - thumb_func_start sub_813B2E4 -sub_813B2E4: @ 813B2E4 - push {r4,lr} - bl Random - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x00004038 - movs r1, 0 - bl VarSet - movs r0, 0xDF - lsls r0, 1 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813B340 - ldr r0, =0x000001bf - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B330 - ldr r0, =0x00004037 - movs r1, 0x7 - ands r4, r1 - adds r1, r4, 0 - adds r1, 0x9 - bl VarSet - b _0813B36A - .pool -_0813B330: - movs r0, 0x1 - ands r4, r0 - cmp r4, 0 - bne _0813B354 - bl Random - lsls r0, 16 - lsrs r4, r0, 16 -_0813B340: - ldr r0, =0x00004037 - movs r1, 0x7 - ands r4, r1 - adds r1, r4, 0x1 - bl VarSet - b _0813B36A - .pool -_0813B354: - bl Random - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x00004037 - movs r1, 0x7 - ands r4, r1 - adds r1, r4, 0 - adds r1, 0x9 - bl VarSet -_0813B36A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B2E4 - - thumb_func_start sub_813B374 -sub_813B374: @ 813B374 - push {r4,lr} - ldr r0, =0x00004037 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =gStringVar1 - ldr r2, =gUnknown_085B3400 - subs r1, r4, 0x1 - adds r1, r2 - ldrb r1, [r1] - movs r2, 0 - bl GetMapName - cmp r4, 0x8 - bls _0813B3A8 - movs r0, 0x1 - b _0813B3AA - .pool -_0813B3A8: - movs r0, 0 -_0813B3AA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813B374 - - thumb_func_start sub_813B3B0 -sub_813B3B0: @ 813B3B0 - push {r4-r6,lr} - ldr r5, =0x00004038 - adds r0, r5, 0 - bl VarGet - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x00004037 - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0 - beq _0813B47C - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x000003e7 - cmp r4, r0 - bls _0813B474 - adds r0, r5, 0 - movs r1, 0 - bl VarSet - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x4 - ldrsb r0, [r1, r0] - cmp r0, 0x18 - bne _0813B414 - movs r0, 0x5 - ldrsb r0, [r1, r0] - cmp r0, 0x69 - bgt _0813B414 - cmp r0, 0x65 - blt _0813B414 - ldr r0, =0x00004039 - movs r1, 0x1 - b _0813B478 - .pool -_0813B414: - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r1, 0x4 - ldrsb r1, [r2, r1] - adds r3, r0, 0 - cmp r1, 0 - bne _0813B444 - movs r0, 0x5 - ldrsb r0, [r2, r0] - cmp r0, 0x34 - beq _0813B436 - cmp r0, 0x34 - blt _0813B444 - cmp r0, 0x38 - bgt _0813B444 - cmp r0, 0x36 - blt _0813B444 -_0813B436: - ldr r0, =0x00004039 - movs r1, 0x1 - b _0813B478 - .pool -_0813B444: - ldr r3, [r3] - movs r2, 0x5 - ldrsb r2, [r3, r2] - ldr r1, =gUnknown_085B3410 - subs r0, r6, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r2, r0 - bne _0813B468 - movs r0, 0x4 - ldrsb r0, [r3, r0] - cmp r0, 0 - bne _0813B468 - movs r0, 0x1 - b _0813B47E - .pool -_0813B468: - ldr r0, =0x00004037 - movs r1, 0 - b _0813B478 - .pool -_0813B474: - adds r0, r5, 0 - adds r1, r4, 0 -_0813B478: - bl VarSet -_0813B47C: - movs r0, 0 -_0813B47E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_813B3B0 - - thumb_func_start sub_813B484 -sub_813B484: @ 813B484 - push {lr} - movs r0, 0x2 - bl sub_80AB104 - pop {r0} - bx r0 - thumb_func_end sub_813B484 - - thumb_func_start sub_813B490 -sub_813B490: @ 813B490 - push {r4-r7,lr} - movs r3, 0 - ldr r0, =gSaveBlock1Ptr - ldr r4, [r0] - movs r6, 0x4 - ldrsb r6, [r4, r6] - ldr r5, =gUnknown_085B3420 - adds r0, r5, 0x2 - mov r12, r0 - adds r7, r5, 0x1 -_0813B4A4: - lsls r0, r3, 1 - adds r2, r0, r3 - adds r0, r2, r5 - ldrb r0, [r0] - cmp r6, r0 - bne _0813B4CC - movs r1, 0x5 - ldrsb r1, [r4, r1] - adds r0, r2, r7 - ldrb r0, [r0] - cmp r1, r0 - bne _0813B4CC - mov r1, r12 - adds r0, r2, r1 - ldrb r0, [r0] - b _0813B4D8 - .pool -_0813B4CC: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xB - bls _0813B4A4 - movs r0, 0x1 -_0813B4D8: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_813B490 - - thumb_func_start sub_813B4E0 -sub_813B4E0: @ 813B4E0 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - bl GetRematchIdxByTrainerIdx - cmp r0, 0 - blt _0813B50C - movs r1, 0xAE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B50C - movs r0, 0x1 - b _0813B50E - .pool -_0813B50C: - movs r0, 0 -_0813B50E: - pop {r1} - bx r1 - thumb_func_end sub_813B4E0 - - thumb_func_start sub_813B514 -sub_813B514: @ 813B514 - push {lr} - ldr r0, =0x0000403f - bl VarGet - lsls r0, 16 - cmp r0, 0 - beq _0813B52C - movs r0, 0x1 - b _0813B52E - .pool -_0813B52C: - movs r0, 0 -_0813B52E: - pop {r1} - bx r1 - thumb_func_end sub_813B514 - - thumb_func_start sub_813B534 -sub_813B534: @ 813B534 - push {lr} - ldr r2, =gUnknown_0203AB70 - ldr r1, =gBattleTypeFlags - ldr r0, [r1] - str r0, [r2] - movs r0, 0 - str r0, [r1] - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0813B552 - ldr r0, =sub_80B3AF8 - movs r1, 0x5 - bl CreateTask -_0813B552: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B534 - - thumb_func_start sub_813B568 -sub_813B568: @ 813B568 - push {lr} - ldr r0, =sub_813B57C - movs r1, 0x5 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B568 - - thumb_func_start sub_813B57C -sub_813B57C: @ 813B57C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0x9 - bls _0813B596 - b _0813B7C6 -_0813B596: - lsls r0, 2 - ldr r1, =_0813B5A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813B5A8: - .4byte _0813B5D0 - .4byte _0813B5E4 - .4byte _0813B614 - .4byte _0813B6B4 - .4byte _0813B6E4 - .4byte _0813B728 - .4byte _0813B764 - .4byte _0813B772 - .4byte _0813B784 - .4byte _0813B7A8 -_0813B5D0: - ldr r0, =sub_80B3AF8 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _0813B5DE - b _0813B7C6 -_0813B5DE: - b _0813B790 - .pool -_0813B5E4: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813B5F2 - b _0813B7C6 -_0813B5F2: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0813B5FE - b _0813B790 -_0813B5FE: - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSpecialVar_0x8004 - movs r2, 0x2 - bl SendBlock - b _0813B708 - .pool -_0813B614: - bl GetBlockReceivedStatus - movs r1, 0x2 - ands r1, r0 - cmp r1, 0 - bne _0813B622 - b _0813B7C6 -_0813B622: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _0813B62E - b _0813B790 -_0813B62E: - ldr r5, =gSpecialVar_0x8005 - ldr r0, =gBlockRecvBuffer - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r5] - movs r0, 0x1 - bl ResetBlockReceivedFlag - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x1 - bne _0813B668 - ldrh r1, [r5] - cmp r1, 0x1 - bne _0813B668 - ldr r0, =gSpecialVar_Result - strh r1, [r0] - b _0813B790 - .pool -_0813B668: - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - adds r2, r0, 0 - cmp r1, 0 - bne _0813B68C - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0x1 - bne _0813B68C - ldr r1, =gSpecialVar_Result - movs r0, 0x2 - b _0813B6AC - .pool -_0813B68C: - ldrh r0, [r2] - cmp r0, 0x1 - bne _0813B6A8 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0 - bne _0813B6A8 - ldr r1, =gSpecialVar_Result - movs r0, 0x3 - b _0813B6AC - .pool -_0813B6A8: - ldr r1, =gSpecialVar_Result - movs r0, 0 -_0813B6AC: - strh r0, [r1] - b _0813B790 - .pool -_0813B6B4: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813B6C2 - b _0813B7C6 -_0813B6C2: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0813B790 - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSpecialVar_Result - movs r2, 0x2 - bl SendBlock - b _0813B708 - .pool -_0813B6E4: - bl GetBlockReceivedStatus - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _0813B7C6 - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _0813B790 - ldr r1, =gSpecialVar_Result - ldr r0, =gBlockRecvBuffer - ldrh r0, [r0] - strh r0, [r1] - movs r0, 0 - bl ResetBlockReceivedFlag -_0813B708: - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _0813B7C6 - .pool -_0813B728: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0813B74C - ldr r0, =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0x2 - bne _0813B790 - ldr r0, =gText_YourPartnerHasRetired - bl ShowFieldAutoScrollMessage - b _0813B790 - .pool -_0813B74C: - ldr r0, =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0x3 - bne _0813B790 - ldr r0, =gText_YourPartnerHasRetired - bl ShowFieldAutoScrollMessage - b _0813B790 - .pool -_0813B764: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _0813B7C6 - b _0813B790 -_0813B772: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B7C6 - bl sub_800ADF8 - b _0813B790 -_0813B784: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B7C6 -_0813B790: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0813B7C6 - .pool -_0813B7A8: - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - bne _0813B7B4 - bl sub_800AC34 -_0813B7B4: - ldr r0, =gBattleTypeFlags - ldr r1, =gUnknown_0203AB70 - ldr r1, [r1] - str r1, [r0] - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_0813B7C6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B57C - - thumb_func_start sub_813B7D8 -sub_813B7D8: @ 813B7D8 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _0813B7F8 - ldr r2, =CB2_ReturnToFieldContinueScriptPlayMapMusic - movs r0, 0 - movs r1, 0x1 - bl DoRayquazaScene - b _0813B802 - .pool -_0813B7F8: - ldr r2, =CB2_ReturnToFieldContinueScriptPlayMapMusic - movs r0, 0x1 - movs r1, 0 - bl DoRayquazaScene -_0813B802: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B7D8 - - thumb_func_start sub_813B80C -sub_813B80C: @ 813B80C - push {lr} - ldr r0, =sub_813B824 - movs r1, 0x8 - bl CreateTask - movs r0, 0x9D - bl PlaySE - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B80C - - thumb_func_start sub_813B824 -sub_813B824: @ 813B824 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r0, 0x2 - ldrsh r1, [r4, r0] - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r1, r0 - bne _0813B858 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - movs r0, 0 - strh r0, [r4, 0x2] - movs r0, 0x9D - bl PlaySE -_0813B858: - movs r0, 0 - ldrsh r1, [r4, r0] - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - subs r0, 0x1 - cmp r1, r0 - bne _0813B86C - adds r0, r5, 0 - bl DestroyTask -_0813B86C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B824 - - thumb_func_start sub_813B880 -sub_813B880: @ 813B880 - push {lr} - ldr r0, =_fwalk - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - movs r0, 0x4 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - strh r0, [r1, 0xC] - strh r2, [r1, 0xE] - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B880 - - thumb_func_start _fwalk -_fwalk: @ 813B8B0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r0, 2 - add r0, r9 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - movs r0, 0x6 - ldrsh r1, [r5, r0] - lsls r1, 1 - adds r1, r5 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - movs r1, 0x6 - ldrsh r0, [r5, r1] - lsls r0, 1 - adds r0, r5 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bne _0813B94E - movs r6, 0 -_0813B8EA: - movs r4, 0 - lsls r3, r6, 3 - mov r10, r3 - adds r7, r6, 0x1 - mov r8, r7 -_0813B8F4: - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r2, 0 - ldrsh r0, [r1, r2] - adds r0, r4 - adds r0, 0x6 - movs r3, 0x2 - ldrsh r1, [r1, r3] - adds r1, r6 - adds r1, 0x4 - ldr r7, =0x00000201 - adds r2, r4, r7 - add r2, r10 - movs r7, 0x6 - ldrsh r3, [r5, r7] - lsls r3, 5 - adds r2, r3 - lsls r2, 16 - lsrs r2, 16 - bl MapGridSetMetatileIdAt - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0813B8F4 - mov r1, r8 - lsls r0, r1, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _0813B8EA - bl DrawWholeMapView - ldrh r0, [r5, 0x6] - adds r0, 0x1 - strh r0, [r5, 0x6] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _0813B94E - mov r0, r9 - bl DestroyTask - bl EnableBothScriptContexts -_0813B94E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end _fwalk - - thumb_func_start sub_813B968 -sub_813B968: @ 813B968 - push {r4,r5,lr} - ldr r5, =gSpecialVar_Result - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - movs r1, 0x7 - bl __udivsi3 - strh r0, [r5] - ldrh r4, [r5] - adds r0, r4, 0 - movs r1, 0x14 - bl __udivsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - subs r4, r1 - strh r4, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B968 - - thumb_func_start sub_813B9A0 -sub_813B9A0: @ 813B9A0 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x1C] - movs r0, 0xB0 - lsls r0, 4 - cmp r1, r0 - bne _0813B9B6 - movs r0, 0x3 - bl Overworld_SetHealLocationWarp -_0813B9B6: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B9A0 - - thumb_func_start sub_813B9C0 -sub_813B9C0: @ 813B9C0 - push {r4,lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x4 - ldrsb r1, [r0, r1] - lsls r1, 8 - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r2, =gUnknown_085B3444 - ldrh r0, [r2] - ldr r1, =0x0000ffff - cmp r0, r1 - beq _0813BA06 - adds r4, r1, 0 - adds r1, r2, 0 -_0813B9E6: - ldrh r0, [r2] - cmp r0, r3 - bne _0813B9FC - movs r0, 0x1 - b _0813BA08 - .pool -_0813B9FC: - adds r1, 0x2 - adds r2, 0x2 - ldrh r0, [r1] - cmp r0, r4 - bne _0813B9E6 -_0813BA06: - movs r0, 0 -_0813BA08: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813B9C0 - - thumb_func_start ResetFanClub -ResetFanClub: @ 813BA10 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x0000141e - adds r1, r0, r2 - movs r2, 0 - strh r2, [r1] - movs r1, 0xA1 - lsls r1, 5 - adds r0, r1 - strh r2, [r0] - bx lr - .pool - thumb_func_end ResetFanClub - - thumb_func_start sub_813BA30 -sub_813BA30: @ 813BA30 - push {lr} - bl sub_813BF44 - lsls r0, 24 - cmp r0, 0 - beq _0813BA52 - bl sub_813BCE8 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrh r0, [r0, 0xE] - movs r2, 0xA1 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] -_0813BA52: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BA30 - - thumb_func_start sub_813BA60 -sub_813BA60: @ 813BA60 - push {r4,lr} - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r0, [r0] - lsrs r0, 7 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0813BAB6 - bl sub_813BF60 - bl sub_813BD84 - ldr r1, [r4] - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrh r0, [r0, 0xE] - movs r2, 0xA1 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] - ldr r0, =0x00000315 - bl FlagClear - ldr r0, =0x00000316 - bl FlagClear - ldr r0, =0x00000317 - bl FlagClear - movs r0, 0xC6 - lsls r0, 2 - bl FlagClear - ldr r0, =0x000002da - bl FlagClear - ldr r0, =0x00004095 - movs r1, 0x1 - bl VarSet -_0813BAB6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BA60 - - thumb_func_start sub_813BADC -sub_813BADC: @ 813BADC - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =0x00004095 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _0813BB58 - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - ldr r5, =0x0000141e - adds r3, r0, r5 - ldrh r2, [r3] - movs r1, 0x7F - ands r1, r2 - ldr r0, =gUnknown_085B3470 - adds r0, r6, r0 - ldrb r0, [r0] - adds r1, r0 - cmp r1, 0x13 - ble _0813BB54 - bl sub_813BCA8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bhi _0813BB3C - bl sub_813BB74 - ldr r0, [r4] - adds r0, r5 - ldrh r2, [r0] - ldr r1, =0x0000ff80 - ands r1, r2 - strh r1, [r0] - b _0813BB58 - .pool -_0813BB3C: - ldr r2, [r4] - adds r2, r5 - ldrh r1, [r2] - ldr r0, =0x0000ff80 - ands r0, r1 - movs r1, 0x14 - orrs r0, r1 - strh r0, [r2] - b _0813BB58 - .pool -_0813BB54: - adds r0, r2, r0 - strh r0, [r3] -_0813BB58: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x7F - ands r0, r1 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BADC - - thumb_func_start sub_813BB74 -sub_813BB74: @ 813BB74 - push {r4-r7,lr} - sub sp, 0x8 - movs r3, 0 - movs r5, 0 - ldr r7, =gSaveBlock1Ptr - ldr r2, =0x0000141e - movs r6, 0x1 -_0813BB82: - ldr r0, [r7] - adds r0, r2 - ldrh r1, [r0] - ldr r0, =gUnknown_085B3474 - adds r0, r5, r0 - ldrb r4, [r0] - asrs r1, r4 - ands r1, r6 - cmp r1, 0 - bne _0813BBC8 - adds r3, r5, 0 - str r2, [sp] - str r3, [sp, 0x4] - bl Random - adds r1, r6, 0 - ands r1, r0 - ldr r2, [sp] - ldr r3, [sp, 0x4] - cmp r1, 0 - beq _0813BBC8 - ldr r0, [r7] - adds r0, r2 - adds r1, r6, 0 - lsls r1, r4 - ldrh r2, [r0] - orrs r1, r2 - strh r1, [r0] - b _0813BBEA - .pool -_0813BBC8: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0813BB82 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r0, =0x0000141e - adds r2, r0 - ldr r1, =gUnknown_085B3474 - adds r1, r3, r1 - movs r0, 0x1 - ldrb r1, [r1] - lsls r0, r1 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] -_0813BBEA: - adds r0, r3, 0 - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BB74 - - thumb_func_start sub_813BC00 -sub_813BC00: @ 813BC00 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r0, 0 - mov r10, r0 - bl sub_813BCA8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0813BC2E - movs r0, 0 - b _0813BC8E -_0813BC1E: - mov r1, r8 - ldr r0, [r1] - add r0, r9 - lsls r4, r6 - ldrh r1, [r0] - eors r4, r1 - strh r4, [r0] - b _0813BC8C -_0813BC2E: - movs r5, 0 - ldr r2, =gSaveBlock1Ptr - mov r8, r2 - ldr r0, =0x0000141e - mov r9, r0 - movs r4, 0x1 -_0813BC3A: - mov r1, r8 - ldr r0, [r1] - add r0, r9 - ldrh r1, [r0] - ldr r7, =gUnknown_085B347C - adds r0, r5, r7 - ldrb r6, [r0] - asrs r1, r6 - ands r1, r4 - cmp r1, 0 - beq _0813BC5E - mov r10, r5 - bl Random - adds r1, r4, 0 - ands r1, r0 - cmp r1, 0 - bne _0813BC1E -_0813BC5E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0813BC3A - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x0000141e - adds r4, r0, r2 - ldrh r1, [r4] - mov r2, r10 - adds r0, r2, r7 - ldrb r2, [r0] - adds r0, r1, 0 - asrs r0, r2 - movs r3, 0x1 - ands r0, r3 - cmp r0, 0 - beq _0813BC8C - adds r0, r3, 0 - lsls r0, r2 - eors r1, r0 - strh r1, [r4] -_0813BC8C: - mov r0, r10 -_0813BC8E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BC00 - - thumb_func_start sub_813BCA8 -sub_813BCA8: @ 813BCA8 - push {r4,r5,lr} - movs r3, 0 - movs r2, 0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r4, [r0] - movs r5, 0x1 -_0813BCBA: - adds r1, r2, 0 - adds r1, 0x8 - adds r0, r4, 0 - asrs r0, r1 - ands r0, r5 - cmp r0, 0 - beq _0813BCCE - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 -_0813BCCE: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _0813BCBA - adds r0, r3, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BCA8 - - thumb_func_start sub_813BCE8 -sub_813BCE8: @ 813BCE8 - push {r4-r6,lr} - movs r5, 0 - ldr r2, =gSaveBlock2Ptr - ldr r0, [r2] - ldrh r1, [r0, 0xE] - ldr r0, =0x000003e6 - cmp r1, r0 - bhi _0813BD58 - adds r6, r2, 0 - b _0813BD32 - .pool -_0813BD04: - ldr r0, [r6] - ldrh r1, [r0, 0xE] - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - movs r2, 0xA1 - lsls r2, 5 - adds r0, r2 - ldrh r0, [r0] - subs r1, r0 - cmp r1, 0xB - ble _0813BD58 - bl sub_813BC00 - ldr r0, [r4] - movs r1, 0xA1 - lsls r1, 5 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0xC - strh r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0813BD32: - bl sub_813BCA8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bhi _0813BD54 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, [r6] - ldrh r0, [r0, 0xE] - movs r2, 0xA1 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] - b _0813BD58 - .pool -_0813BD54: - cmp r5, 0x8 - bne _0813BD04 -_0813BD58: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813BCE8 - - thumb_func_start sub_813BD60 -sub_813BD60: @ 813BD60 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r0, [r0] - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - asrs r0, r1 - movs r1, 0x1 - ands r0, r1 - bx lr - .pool - thumb_func_end sub_813BD60 - - thumb_func_start sub_813BD84 -sub_813BD84: @ 813BD84 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r0, =0x0000141e - adds r2, r0 - ldrh r1, [r2] - movs r3, 0x80 - lsls r3, 6 - adds r0, r3, 0 - orrs r0, r1 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - orrs r0, r1 - movs r3, 0x80 - lsls r3, 3 - adds r1, r3, 0 - orrs r0, r1 - strh r0, [r2] - bx lr - .pool - thumb_func_end sub_813BD84 - - thumb_func_start sub_813BDB4 -sub_813BDB4: @ 813BDB4 - push {lr} - movs r3, 0 - movs r2, 0 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - subs r0, 0x8 - cmp r0, 0x7 - bhi _0813BE14 - lsls r0, 2 - ldr r1, =_0813BDD8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813BDD8: - .4byte _0813BE14 - .4byte _0813BE14 - .4byte _0813BDF8 - .4byte _0813BDFE - .4byte _0813BE04 - .4byte _0813BE0A - .4byte _0813BE10 - .4byte _0813BE14 -_0813BDF8: - movs r3, 0 - movs r2, 0x3 - b _0813BE14 -_0813BDFE: - movs r3, 0 - movs r2, 0x1 - b _0813BE14 -_0813BE04: - movs r3, 0x1 - movs r2, 0 - b _0813BE14 -_0813BE0A: - movs r3, 0 - movs r2, 0x4 - b _0813BE14 -_0813BE10: - movs r3, 0x1 - movs r2, 0x5 -_0813BE14: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003150 - adds r0, r1 - adds r1, r3, 0 - bl sub_813BE30 - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BDB4 - - thumb_func_start sub_813BE30 -sub_813BE30: @ 813BE30 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r0, r5, 4 - adds r1, r6, r0 - ldrb r0, [r1] - cmp r0, 0xFF - bne _0813BEE8 - cmp r2, 0x5 - bhi _0813BED4 - lsls r0, r2, 2 - ldr r1, =_0813BE58 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813BE58: - .4byte _0813BED4 - .4byte _0813BE70 - .4byte _0813BE84 - .4byte _0813BE98 - .4byte _0813BEAC - .4byte _0813BEC0 -_0813BE70: - ldr r0, =gStringVar1 - ldr r1, =gText_Steven - bl StringCopy - b _0813BF04 - .pool -_0813BE84: - ldr r0, =gStringVar1 - ldr r1, =gText_Brawly - bl StringCopy - b _0813BF04 - .pool -_0813BE98: - ldr r0, =gStringVar1 - ldr r1, =gText_Winona - bl StringCopy - b _0813BF04 - .pool -_0813BEAC: - ldr r0, =gStringVar1 - ldr r1, =gText_Phoebe - bl StringCopy - b _0813BF04 - .pool -_0813BEC0: - ldr r0, =gStringVar1 - ldr r1, =gText_Glacia - bl StringCopy - b _0813BF04 - .pool -_0813BED4: - ldr r0, =gStringVar1 - ldr r1, =gText_Wallace - bl StringCopy - b _0813BF04 - .pool -_0813BEE8: - ldr r4, =gStringVar1 - adds r0, r4, 0 - movs r2, 0x7 - bl StringCopyN - movs r0, 0xFF - strb r0, [r4, 0x7] - adds r0, r6, 0 - adds r0, 0x50 - adds r0, r5 - ldrb r1, [r0] - adds r0, r4, 0 - bl ConvertInternationalString -_0813BF04: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BE30 - - thumb_func_start sub_813BF10 -sub_813BF10: @ 813BF10 - push {lr} - ldr r0, =0x00004095 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _0813BF40 - bl sub_813BA30 - ldr r0, =gBattleOutcome - ldrb r0, [r0] - cmp r0, 0x1 - bne _0813BF3C - bl sub_813BB74 - b _0813BF40 - .pool -_0813BF3C: - bl sub_813BC00 -_0813BF40: - pop {r0} - bx r0 - thumb_func_end sub_813BF10 - - thumb_func_start sub_813BF44 -sub_813BF44: @ 813BF44 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r0, [r0] - lsrs r0, 7 - movs r1, 0x1 - ands r0, r1 - bx lr - .pool - thumb_func_end sub_813BF44 - - thumb_func_start sub_813BF60 -sub_813BF60: @ 813BF60 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =0x0000141e - adds r1, r0 - ldrh r2, [r1] - movs r0, 0x80 - orrs r0, r2 - strh r0, [r1] - bx lr - .pool - thumb_func_end sub_813BF60 - - thumb_func_start sub_813BF7C -sub_813BF7C: @ 813BF7C - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - bl sub_813BADC - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BF7C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/learn_move.s b/asm/learn_move.s deleted file mode 100644 index 109f1a32e..000000000 --- a/asm/learn_move.s +++ /dev/null @@ -1,1646 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8160624 -sub_8160624: @ 8160624 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8160624 - - thumb_func_start sub_8160638 -sub_8160638: @ 8160638 - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - ldr r0, =sub_8160664 - movs r1, 0xA - bl CreateTask - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8160638 - - thumb_func_start sub_8160664 -sub_8160664: @ 8160664 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08160688 - ldr r0, =sub_81606A0 - bl SetMainCallback2 - ldr r1, =gFieldCallback - ldr r0, =sub_80AF168 - str r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_08160688: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8160664 - - thumb_func_start sub_81606A0 -sub_81606A0: @ 81606A0 - push {r4-r6,lr} - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - bl clear_scheduled_bg_copies_to_vram - ldr r6, =gUnknown_0203BC34 - movs r0, 0x8C - lsls r0, 1 - bl AllocZeroed - str r0, [r6] - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - adds r0, 0x44 - movs r5, 0 - strb r1, [r0] - ldr r0, =sub_8160624 - bl SetVBlankCallback - bl sub_81607EC - movs r0, 0 - bl sub_81D2824 - ldr r4, =gUnknown_0203BC38 - movs r0, 0 - strh r5, [r4] - strh r5, [r4, 0x2] - strb r0, [r4, 0x4] - bl sub_8161280 - ldr r0, =gUnknown_085CEBB0 - bl LoadSpriteSheet - ldr r0, =gUnknown_085CEBB8 - bl LoadSpritePalette - bl sub_81610B8 - ldr r0, =gMultiuseListMenuTemplate - ldrh r1, [r4] - ldrh r2, [r4, 0x2] - bl ListMenuInit - ldr r1, [r6] - movs r2, 0x89 - lsls r2, 1 - adds r1, r2 - strb r0, [r1] - movs r0, 0 - movs r1, 0 - movs r2, 0x2 - bl FillPalette - ldr r0, =sub_816082C - bl SetMainCallback2 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81606A0 - - thumb_func_start sub_8160740 -sub_8160740: @ 8160740 - push {r4,r5,lr} - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - bl clear_scheduled_bg_copies_to_vram - ldr r5, =gUnknown_0203BC34 - movs r0, 0x8C - lsls r0, 1 - bl AllocZeroed - str r0, [r5] - movs r1, 0x1C - strb r1, [r0] - ldr r0, [r5] - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - adds r0, 0x44 - strb r1, [r0] - ldr r0, [r5] - ldr r1, =gSpecialVar_0x8005 - ldrh r1, [r1] - adds r0, 0x45 - strb r1, [r0] - ldr r0, =sub_8160624 - bl SetVBlankCallback - bl sub_81607EC - ldr r4, =gUnknown_0203BC38 - ldrb r0, [r4, 0x4] - bl sub_81D2824 - bl sub_8161280 - ldr r0, =gUnknown_085CEBB0 - bl LoadSpriteSheet - ldr r0, =gUnknown_085CEBB8 - bl LoadSpritePalette - bl sub_81610B8 - ldr r0, =gMultiuseListMenuTemplate - ldrh r1, [r4] - ldrh r2, [r4, 0x2] - bl ListMenuInit - ldr r1, [r5] - movs r2, 0x89 - lsls r2, 1 - adds r1, r2 - strb r0, [r1] - movs r0, 0 - movs r1, 0 - movs r2, 0x2 - bl FillPalette - ldr r0, =sub_816082C - bl SetMainCallback2 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8160740 - - thumb_func_start sub_81607EC -sub_81607EC: @ 81607EC - push {lr} - bl ResetVramOamAndBgCntRegs - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085CEC28 - movs r0, 0 - movs r2, 0x2 - bl InitBgsFromTemplates - bl ResetAllBgsCoordinates - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end sub_81607EC - - thumb_func_start sub_816082C -sub_816082C: @ 816082C - push {lr} - bl sub_8160868 - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_816082C - - thumb_func_start sub_816084C -sub_816084C: @ 816084C - push {r4,lr} - adds r1, r0, 0 - ldr r4, =gStringVar4 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - bl sub_81D2BF4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816084C - - thumb_func_start sub_8160868 -sub_8160868: @ 8160868 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r1, =gUnknown_0203BC34 - ldr r0, [r1] - ldrb r0, [r0] - adds r7, r1, 0 - cmp r0, 0x21 - bls _0816087E - b _08160E8A -_0816087E: - lsls r0, 2 - ldr r1, =_08160890 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08160890: - .4byte _08160918 - .4byte _08160932 - .4byte _0816094C - .4byte _08160954 - .4byte _0816095C - .4byte _08160964 - .4byte _08160980 - .4byte _08160E8A - .4byte _08160988 - .4byte _081609A8 - .4byte _08160E8A - .4byte _08160E8A - .4byte _08160A44 - .4byte _08160A64 - .4byte _08160CB8 - .4byte _08160CD8 - .4byte _08160AB8 - .4byte _08160AD0 - .4byte _08160AEC - .4byte _08160C1C - .4byte _08160C48 - .4byte _08160C98 - .4byte _08160CA6 - .4byte _08160E8A - .4byte _08160B2C - .4byte _08160B60 - .4byte _08160B80 - .4byte _08160BDC - .4byte _08160CFC - .4byte _08160D48 - .4byte _08160E0C - .4byte _08160E38 - .4byte _08160E58 - .4byte _08160E70 -_08160918: - ldr r1, [r7] - ldrb r0, [r1] - adds r0, 0x1 - movs r4, 0 - strb r0, [r1] - movs r0, 0 - bl render_previous_quest_text - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - b _08160CAE -_08160932: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08160940 - b _08160E8A -_08160940: - ldr r1, [r7] - movs r0, 0x4 - b _08160E88 - .pool -_0816094C: - ldr r1, [r7] - ldrb r0, [r1] - adds r0, 0x1 - b _08160E88 -_08160954: - movs r0, 0 - bl render_previous_quest_text - b _0816096A -_0816095C: - movs r0, 0 - bl sub_8160F50 - b _08160E8A -_08160964: - movs r0, 0 - bl sub_8161074 -_0816096A: - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl sub_81611AC - b _08160E8A - .pool -_08160980: - movs r0, 0x1 - bl sub_8160F50 - b _08160E8A -_08160988: - bl sub_81D2C3C - lsls r0, 16 - cmp r0, 0 - beq _08160994 - b _08160E8A -_08160994: - bl sub_81D2C50 - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - b _08160E88 - .pool -_081609A8: - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - bne _08160A0A - ldr r5, =gUnknown_0203BC34 - ldr r0, [r5] - adds r0, 0x44 - ldrb r1, [r0] - movs r0, 0x64 - adds r4, r1, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - bl sub_8161054 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl GiveMoveToMon - lsls r0, 16 - ldr r1, =0xffff0000 - cmp r0, r1 - beq _08160A04 - ldr r0, =gText_PkmnLearnedMove4 - bl sub_816084C - ldr r1, =gSpecialVar_0x8004 - movs r0, 0x1 - strh r0, [r1] - ldr r1, [r5] - movs r0, 0x1F - b _08160E88 - .pool -_08160A04: - ldr r1, [r5] - movs r0, 0x10 - b _08160E88 -_08160A0A: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08160A18 - cmp r1, 0x1 - beq _08160A18 - b _08160E8A -_08160A18: - ldr r0, =gUnknown_0203BC38 - ldrb r0, [r0, 0x4] - cmp r0, 0 - bne _08160A30 - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x3 - b _08160E88 - .pool -_08160A30: - cmp r0, 0x1 - beq _08160A36 - b _08160E8A -_08160A36: - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x5 - b _08160E88 - .pool -_08160A44: - bl sub_81D2C3C - lsls r0, 16 - cmp r0, 0 - beq _08160A50 - b _08160E8A -_08160A50: - bl sub_81D2C50 - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - b _08160E88 - .pool -_08160A64: - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - bne _08160A7C - ldr r0, =gSpecialVar_0x8004 - strh r1, [r0] - b _08160E82 - .pool -_08160A7C: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08160A8A - cmp r1, 0x1 - beq _08160A8A - b _08160E8A -_08160A8A: - ldr r0, =gUnknown_0203BC38 - ldrb r0, [r0, 0x4] - cmp r0, 0 - bne _08160AA4 - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x3 - b _08160E88 - .pool -_08160AA4: - cmp r0, 0x1 - beq _08160AAA - b _08160E8A -_08160AAA: - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x5 - b _08160E88 - .pool -_08160AB8: - ldr r0, =gText_PkmnTryingToLearnMove - bl sub_816084C - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - b _08160E88 - .pool -_08160AD0: - bl sub_81D2C3C - lsls r0, 16 - cmp r0, 0 - beq _08160ADC - b _08160E8A -_08160ADC: - bl sub_81D2C50 - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x12 - b _08160E88 - .pool -_08160AEC: - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - bne _08160B10 - ldr r0, =gText_WhichMoveToForget2 - bl sub_816084C - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x13 - b _08160E88 - .pool -_08160B10: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08160B1E - cmp r1, 0x1 - beq _08160B1E - b _08160E8A -_08160B1E: - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x18 - b _08160E88 - .pool -_08160B2C: - ldr r4, =gStringVar2 - bl sub_8161054 - movs r1, 0xD - muls r1, r0 - ldr r0, =gMoveNames - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - ldr r0, =gText_StopTryingToTeachMove - bl sub_816084C - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - b _08160E88 - .pool -_08160B60: - bl sub_81D2C3C - lsls r0, 16 - cmp r0, 0 - beq _08160B6C - b _08160E8A -_08160B6C: - bl sub_81D2C50 - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - b _08160E88 - .pool -_08160B80: - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - bne _08160B98 - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x1B - b _08160E88 - .pool -_08160B98: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08160BA6 - cmp r1, 0x1 - beq _08160BA6 - b _08160E8A -_08160BA6: - ldr r0, =gUnknown_0203BC38 - ldrb r0, [r0, 0x4] - cmp r0, 0 - bne _08160BC4 - ldr r2, =gUnknown_0203BC34 - ldr r1, [r2] - movs r0, 0x3 - strb r0, [r1] - adds r7, r2, 0 - b _08160BD0 - .pool -_08160BC4: - ldr r7, =gUnknown_0203BC34 - cmp r0, 0x1 - bne _08160BD0 - ldr r1, [r7] - movs r0, 0x5 - strb r0, [r1] -_08160BD0: - ldr r1, [r7] - movs r0, 0x10 - b _08160E88 - .pool -_08160BDC: - bl sub_81D2C3C - lsls r0, 16 - cmp r0, 0 - beq _08160BE8 - b _08160E8A -_08160BE8: - movs r0, 0x3 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, =gUnknown_0203BC38 - ldrb r0, [r0, 0x4] - cmp r0, 0 - bne _08160C08 - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x3 - b _08160E88 - .pool -_08160C08: - cmp r0, 0x1 - beq _08160C0E - b _08160E8A -_08160C0E: - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x5 - b _08160E88 - .pool -_08160C1C: - bl sub_81D2C3C - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _08160C2A - b _08160E8A -_08160C2A: - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x14 - strb r0, [r1] - subs r0, 0x15 - str r2, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _08160E8A - .pool -_08160C48: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08160C56 - b _08160E8A -_08160C56: - bl sub_8161054 - lsls r0, 16 - lsrs r0, 16 - ldr r4, =gPlayerParty - ldr r1, =gUnknown_0203BC34 - ldr r1, [r1] - adds r1, 0x44 - ldrb r1, [r1] - ldr r2, =gPlayerPartyCount - ldrb r2, [r2] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, =sub_8160740 - str r0, [sp] - adds r0, r4, 0 - bl sub_81BFA38 - bl sub_8160EA0 - b _08160E8A - .pool -_08160C98: - bl sub_81D2C3C - lsls r0, 16 - cmp r0, 0 - beq _08160CA4 - b _08160E8A -_08160CA4: - b _08160E82 -_08160CA6: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] -_08160CAE: - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _08160E8A -_08160CB8: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - b _08160E88 - .pool -_08160CD8: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08160CE6 - b _08160E8A -_08160CE6: - bl sub_8160EA0 - ldr r0, =CB2_ReturnToField - bl SetMainCallback2 - b _08160E8A - .pool -_08160CFC: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, =gUnknown_0203BC38 - ldrb r0, [r0, 0x4] - cmp r0, 0 - bne _08160D30 - movs r0, 0x1 - bl render_previous_quest_text - b _08160D3A - .pool -_08160D30: - cmp r0, 0x1 - bne _08160D3A - movs r0, 0x1 - bl sub_8161074 -_08160D3A: - bl sub_8161234 - movs r0, 0x3 - movs r1, 0x2 - bl CopyWindowToVram - b _08160E8A -_08160D48: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08160D56 - b _08160E8A -_08160D56: - ldr r1, [r7] - adds r2, r1, 0 - adds r2, 0x45 - ldrb r0, [r2] - cmp r0, 0x4 - bne _08160D6C - movs r0, 0x18 - b _08160E88 - .pool -_08160D6C: - adds r0, r1, 0 - adds r0, 0x44 - ldrb r0, [r0] - movs r4, 0x64 - muls r0, r4 - ldr r5, =gPlayerParty - adds r0, r5 - ldrb r1, [r2] - adds r1, 0xD - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - ldr r2, =gStringVar3 - movs r1, 0xD - mov r8, r1 - mov r1, r8 - muls r1, r0 - ldr r6, =gMoveNames - adds r1, r6 - adds r0, r2, 0 - bl StringCopy - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0x44 - ldrb r0, [r0] - muls r0, r4 - adds r0, r5 - adds r1, 0x45 - ldrb r1, [r1] - bl RemoveMonPPBonus - ldr r0, [r7] - adds r0, 0x44 - ldrb r0, [r0] - muls r4, r0 - adds r4, r5 - bl sub_8161054 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r0, [r7] - adds r0, 0x45 - ldrb r2, [r0] - adds r0, r4, 0 - bl SetMonMoveSlot - ldr r4, =gStringVar2 - bl sub_8161054 - mov r1, r8 - muls r1, r0 - adds r1, r6 - adds r0, r4, 0 - bl StringCopy - ldr r0, =gText_12AndPoof - bl sub_816084C - ldr r1, [r7] - movs r0, 0x1E - strb r0, [r1] - ldr r1, =gSpecialVar_0x8004 - movs r0, 0x1 - strh r0, [r1] - b _08160E8A - .pool -_08160E0C: - bl sub_81D2C3C - lsls r0, 16 - cmp r0, 0 - bne _08160E8A - ldr r0, =gText_PkmnForgotMoveAndLearnedNew - bl sub_816084C - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x1F - strb r0, [r1] - ldr r0, =0x0000016f - bl PlayFanfare - b _08160E8A - .pool -_08160E38: - bl sub_81D2C3C - lsls r0, 16 - cmp r0, 0 - bne _08160E8A - ldr r0, =0x0000016f - bl PlayFanfare - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x20 - b _08160E88 - .pool -_08160E58: - bl IsFanfareTaskInactive - lsls r0, 24 - cmp r0, 0 - beq _08160E8A - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x21 - b _08160E88 - .pool -_08160E70: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08160E8A - movs r0, 0x5 - bl PlaySE -_08160E82: - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0xE -_08160E88: - strb r0, [r1] -_08160E8A: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8160868 - - thumb_func_start sub_8160EA0 -sub_8160EA0: @ 8160EA0 - push {r4,lr} - bl sub_8161234 - ldr r4, =gUnknown_0203BC34 - ldr r0, [r4] - movs r1, 0x89 - lsls r1, 1 - adds r0, r1 - ldrb r0, [r0] - ldr r1, =gUnknown_0203BC38 - adds r2, r1, 0x2 - bl DestroyListMenuTask - bl FreeAllWindowBuffers - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] - bl ResetSpriteData - bl FreeAllSpritePalettes - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8160EA0 - - thumb_func_start render_previous_quest_text -render_previous_quest_text: @ 8160EE0 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - movs r2, 0 - ldr r6, =gSprites - ldr r4, =gUnknown_0203BC34 - movs r3, 0x4 -_08160EF0: - ldr r0, [r4] - adds r0, 0x1 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0xF - ble _08160EF0 - cmp r5, 0 - bne _08160F38 - ldr r4, =gStringVar4 - ldr r1, =gText_TeachWhichMoveToPkmn - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x3 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0x1 - str r0, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0 - bl PrintTextOnWindow -_08160F38: - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end render_previous_quest_text - - thumb_func_start sub_8160F50 -sub_8160F50: @ 8160F50 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r6, =gUnknown_0203BC34 - ldr r0, [r6] - movs r4, 0x89 - lsls r4, 1 - adds r0, r4 - ldrb r0, [r0] - bl ListMenuHandleInputGetItemId - adds r5, r0, 0 - ldr r0, [r6] - adds r0, r4 - ldrb r0, [r0] - ldr r4, =gUnknown_0203BC38 - adds r2, r4, 0x2 - adds r1, r4, 0 - bl ListMenuGetScrollAndRow - movs r0, 0x2 - negs r0, r0 - cmp r5, r0 - beq _08160FE4 - adds r0, 0x1 - cmp r5, r0 - bne _08161010 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0 - bne _08160F9C - bl GetLRKeysState - lsls r0, 24 - cmp r0, 0 - beq _0816103E -_08160F9C: - movs r0, 0x5 - bl PlaySE - cmp r7, 0 - bne _08160FC4 - movs r0, 0x1 - bl PutWindowTilemap - ldr r0, [r6] - movs r1, 0x5 - strb r1, [r0] - movs r0, 0x1 - strb r0, [r4, 0x4] - b _08160FD4 - .pool -_08160FC4: - movs r0, 0 - bl PutWindowTilemap - ldr r0, [r6] - movs r2, 0 - movs r1, 0x3 - strb r1, [r0] - strb r2, [r4, 0x4] -_08160FD4: - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - bl sub_8161054 - bl sub_816137C - b _0816103E -_08160FE4: - movs r0, 0x5 - bl PlaySE - bl sub_8161234 - ldr r1, [r6] - movs r0, 0xC - strb r0, [r1] - ldr r4, =gStringVar4 - ldr r1, =gText_GiveUpTeachingNewMove - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - bl sub_81D2BF4 - b _0816103E - .pool -_08161010: - movs r0, 0x5 - bl PlaySE - bl sub_8161234 - ldr r1, [r6] - movs r0, 0x8 - strb r0, [r1] - ldr r0, =gStringVar2 - movs r1, 0xD - muls r1, r5 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_TeachX - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - bl sub_81D2BF4 -_0816103E: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8160F50 - - thumb_func_start sub_8161054 -sub_8161054: @ 8161054 - ldr r0, =gUnknown_0203BC34 - ldr r2, [r0] - ldr r1, =gUnknown_0203BC38 - ldrh r0, [r1, 0x2] - ldrh r1, [r1] - adds r0, r1 - lsls r0, 3 - adds r2, 0x4C - adds r2, r0 - ldr r0, [r2] - bx lr - .pool - thumb_func_end sub_8161054 - - thumb_func_start sub_8161074 -sub_8161074: @ 8161074 - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _081610A6 - ldr r4, =gStringVar4 - ldr r1, =gText_TeachWhichMoveToPkmn - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x3 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0x1 - str r0, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0 - bl PrintTextOnWindow -_081610A6: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8161074 - - thumb_func_start sub_81610B8 -sub_81610B8: @ 81610B8 - push {r4-r7,lr} - ldr r2, =gUnknown_0203BC34 - ldr r0, [r2] - movs r1, 0x8A - lsls r1, 1 - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - ldr r0, [r2] - ldr r2, =0x00000113 - adds r1, r0, r2 - movs r0, 0x1 - negs r0, r0 - strb r0, [r1] - bl sub_81611AC - movs r4, 0 - ldr r5, =gUnknown_085CEC10 -_081610DC: - adds r2, r4, 0 - cmp r4, 0 - bge _081610E4 - adds r2, r4, 0x3 -_081610E4: - asrs r2, 2 - lsls r1, r2, 2 - subs r1, r4, r1 - lsls r1, 19 - movs r0, 0xD0 - lsls r0, 15 - adds r1, r0 - asrs r1, 16 - lsls r2, 19 - movs r0, 0x90 - lsls r0, 14 - adds r2, r0 - asrs r2, 16 - adds r0, r5, 0 - movs r3, 0 - bl CreateSprite - ldr r2, =gUnknown_0203BC34 - ldr r1, [r2] - adds r1, 0x1 - adds r1, r4 - strb r0, [r1] - adds r4, 0x1 - cmp r4, 0x7 - ble _081610DC - movs r4, 0 - ldr r7, =gUnknown_085CEC10 - adds r6, r2, 0 -_0816111C: - adds r2, r4, 0 - cmp r4, 0 - bge _08161124 - adds r2, r4, 0x3 -_08161124: - asrs r2, 2 - lsls r1, r2, 2 - subs r1, r4, r1 - lsls r1, 19 - movs r0, 0xD0 - lsls r0, 15 - adds r1, r0 - asrs r1, 16 - lsls r2, 19 - movs r0, 0xD0 - lsls r0, 14 - adds r2, r0 - asrs r2, 16 - adds r0, r7, 0 - movs r3, 0 - bl CreateSprite - ldr r1, [r6] - adds r2, r4, 0 - adds r2, 0x8 - adds r1, 0x1 - adds r1, r2 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x1 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, =gSprites - adds r0, r5 - movs r1, 0x2 - bl StartSpriteAnim - adds r4, 0x1 - cmp r4, 0x7 - ble _0816111C - movs r4, 0 - ldr r3, =gUnknown_0203BC34 - movs r2, 0x4 -_08161176: - ldr r0, [r3] - adds r0, 0x1 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - adds r4, 0x1 - cmp r4, 0xF - ble _08161176 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81610B8 - - thumb_func_start sub_81611AC -sub_81611AC: @ 81611AC - push {r4-r6,lr} - ldr r4, =gUnknown_0203BC34 - ldr r1, [r4] - movs r2, 0x8A - lsls r2, 1 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0xFF - bne _081611D4 - ldr r0, =gUnknown_085CEBC0 - movs r3, 0x8B - lsls r3, 1 - adds r1, r3 - bl AddScrollIndicatorArrowPair - ldr r1, [r4] - movs r5, 0x8A - lsls r5, 1 - adds r1, r5 - strb r0, [r1] -_081611D4: - ldr r0, [r4] - ldr r6, =0x00000113 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08161210 - ldr r0, =gTempScrollArrowTemplate - adds r2, r0, 0 - ldr r1, =gUnknown_085CEBD0 - ldm r1!, {r3,r5,r6} - stm r2!, {r3,r5,r6} - ldr r1, [r1] - str r1, [r2] - ldr r2, [r4] - movs r3, 0x88 - lsls r3, 1 - adds r1, r2, r3 - ldrb r1, [r1] - ldr r5, =0x00000111 - adds r2, r5 - ldrb r2, [r2] - subs r1, r2 - strh r1, [r0, 0x8] - ldr r1, =gUnknown_0203BC38 - bl AddScrollIndicatorArrowPair - ldr r1, [r4] - ldr r6, =0x00000113 - adds r1, r6 - strb r0, [r1] -_08161210: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81611AC - - thumb_func_start sub_8161234 -sub_8161234: @ 8161234 - push {r4,lr} - ldr r4, =gUnknown_0203BC34 - ldr r0, [r4] - movs r2, 0x8A - lsls r2, 1 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0xFF - beq _08161256 - bl RemoveScrollIndicatorArrowPair - ldr r0, [r4] - movs r1, 0x8A - lsls r1, 1 - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] -_08161256: - ldr r0, [r4] - ldr r2, =0x00000113 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0xFF - beq _08161270 - bl RemoveScrollIndicatorArrowPair - ldr r0, [r4] - ldr r2, =0x00000113 - adds r1, r0, r2 - movs r0, 0xFF - strb r0, [r1] -_08161270: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8161234 - - thumb_func_start sub_8161280 -sub_8161280: @ 8161280 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - ldr r4, =gUnknown_0203BC34 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x44 - ldrb r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r2, =gPlayerParty - adds r0, r2 - adds r1, 0x12 - bl GetMoveRelearnerMoves - ldr r1, [r4] - movs r6, 0x88 - lsls r6, 1 - adds r1, r6 - strb r0, [r1] - movs r5, 0 - ldr r0, [r4] - adds r0, r6 - ldrb r0, [r0] - cmp r5, r0 - bge _081612F6 - mov r8, r4 - movs r0, 0xD - mov r12, r0 - ldr r2, =gMoveNames - mov r9, r2 -_081612C2: - mov r7, r8 - ldr r4, [r7] - lsls r3, r5, 3 - adds r2, r4, 0 - adds r2, 0x48 - adds r2, r3 - lsls r0, r5, 1 - adds r1, r4, 0 - adds r1, 0x12 - adds r1, r0 - ldrh r0, [r1] - mov r7, r12 - muls r7, r0 - adds r0, r7, 0 - add r0, r9 - str r0, [r2] - adds r0, r4, 0 - adds r0, 0x4C - adds r0, r3 - ldrh r1, [r1] - str r1, [r0] - adds r5, 0x1 - adds r0, r4, r6 - ldrb r0, [r0] - cmp r5, r0 - blt _081612C2 -_081612F6: - ldr r4, =gUnknown_0203BC34 - ldr r0, [r4] - adds r0, 0x44 - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r0, =gStringVar1 - mov r1, sp - bl StringCopy10 - ldr r2, [r4] - movs r5, 0x88 - lsls r5, 1 - adds r3, r2, r5 - ldrb r0, [r3] - lsls r0, 3 - adds r1, r2, 0 - adds r1, 0x48 - adds r1, r0 - ldr r0, =gText_Cancel - str r0, [r1] - ldrb r0, [r3] - lsls r0, 3 - adds r2, 0x4C - adds r2, r0 - movs r0, 0x2 - negs r0, r0 - str r0, [r2] - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x48 - adds r1, r5 - ldrb r1, [r1] - bl sub_81D28C8 - ldr r1, [r4] - ldr r2, =0x00000111 - adds r1, r2 - strb r0, [r1] - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8161280 - - thumb_func_start sub_816137C -sub_816137C: @ 816137C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - ldr r0, =gUnknown_0203BC38 - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _08161394 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - bne _081613CC -_08161394: - movs r5, 0 - ldr r4, =gSprites - ldr r3, =gUnknown_0203BC34 - movs r2, 0x4 -_0816139C: - ldr r0, [r3] - adds r0, 0x1 - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xF - bls _0816139C - b _081614FE - .pool -_081613CC: - ldr r1, =gContestEffects - ldr r0, =gContestMoves - lsls r4, 3 - adds r0, r4, r0 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x1] - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r6, r0, 24 - mov r8, r4 - cmp r6, 0xFF - bne _081613EE - movs r6, 0 -_081613EE: - movs r5, 0 - ldr r7, =gUnknown_0203BC34 - ldr r4, =gSprites -_081613F4: - cmp r5, r6 - bcs _08161420 - ldr r0, [r7] - adds r0, 0x1 - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAnim - b _08161436 - .pool -_08161420: - ldr r0, [r7] - adds r0, 0x1 - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - bl StartSpriteAnim -_08161436: - ldr r0, [r7] - adds r0, 0x1 - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - movs r3, 0x5 - negs r3, r3 - adds r2, r3, 0 - ands r1, r2 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x7 - bls _081613F4 - ldr r1, =gContestEffects - ldr r0, =gContestMoves - add r0, r8 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x2] - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0xFF - bne _0816147C - movs r6, 0 -_0816147C: - movs r5, 0 - ldr r0, =gUnknown_0203BC34 - mov r8, r0 - ldr r7, =gSprites -_08161484: - cmp r5, r6 - bcs _081614B8 - mov r1, r8 - ldr r0, [r1] - adds r4, r5, 0 - adds r4, 0x8 - adds r0, 0x1 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - movs r1, 0x3 - bl StartSpriteAnim - b _081614D4 - .pool -_081614B8: - mov r3, r8 - ldr r0, [r3] - adds r4, r5, 0 - adds r4, 0x8 - adds r0, 0x1 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - movs r1, 0x2 - bl StartSpriteAnim -_081614D4: - mov r1, r8 - ldr r0, [r1] - adds r0, 0x1 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - adds r0, 0x3E - ldrb r1, [r0] - movs r3, 0x5 - negs r3, r3 - adds r2, r3, 0 - ands r1, r2 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x7 - bls _08161484 -_081614FE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_816137C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/macros/battle_ai_script.inc b/asm/macros/battle_ai_script.inc index 5e81686bf..28f60be46 100644 --- a/asm/macros/battle_ai_script.inc +++ b/asm/macros/battle_ai_script.inc @@ -27,86 +27,86 @@ .byte \param0 .endm - .macro if_hp_less_than bank, param1, param2 + .macro if_hp_less_than battler, param1, param2 .byte 0x5 - .byte \bank + .byte \battler .byte \param1 .4byte \param2 .endm - .macro if_hp_more_than bank, param1, param2 + .macro if_hp_more_than battler, param1, param2 .byte 0x6 - .byte \bank + .byte \battler .byte \param1 .4byte \param2 .endm - .macro if_hp_equal bank, param1, param2 + .macro if_hp_equal battler, param1, param2 .byte 0x7 - .byte \bank + .byte \battler .byte \param1 .4byte \param2 .endm - .macro if_hp_not_equal bank, param1, param2 + .macro if_hp_not_equal battler, param1, param2 .byte 0x8 - .byte \bank + .byte \battler .byte \param1 .4byte \param2 .endm - .macro if_status bank, status1, param2 + .macro if_status battler, status1, param2 .byte 0x9 - .byte \bank + .byte \battler .4byte \status1 .4byte \param2 .endm - .macro if_not_status bank, status1, param2 + .macro if_not_status battler, status1, param2 .byte 0xa - .byte \bank + .byte \battler .4byte \status1 .4byte \param2 .endm - .macro if_status2 bank, status2, param2 + .macro if_status2 battler, status2, param2 .byte 0xb - .byte \bank + .byte \battler .4byte \status2 .4byte \param2 .endm - .macro if_not_status2 bank, status2, param2 + .macro if_not_status2 battler, status2, param2 .byte 0xc - .byte \bank + .byte \battler .4byte \status2 .4byte \param2 .endm - .macro if_status3 bank, status3, param2 + .macro if_status3 battler, status3, param2 .byte 0xd - .byte \bank + .byte \battler .4byte \status3 .4byte \param2 .endm - .macro if_not_status3 bank, status3, param2 + .macro if_not_status3 battler, status3, param2 .byte 0xe - .byte \bank + .byte \battler .4byte \status3 .4byte \param2 .endm - .macro if_side_affecting bank, sidestatus, param2 + .macro if_side_affecting battler, sidestatus, param2 .byte 0xf - .byte \bank + .byte \battler .4byte \sidestatus .4byte \param2 .endm - .macro if_not_side_affecting bank, sidestatus, param2 + .macro if_not_side_affecting battler, sidestatus, param2 .byte 0x10 - .byte \bank + .byte \battler .4byte \sidestatus .4byte \param2 .endm @@ -222,9 +222,9 @@ .byte 0x24 .endm - .macro get_last_used_bank_move bank + .macro get_last_used_bank_move battler .byte 0x25 - .byte \bank + .byte \battler .endm .macro if_equal_ param0, param1 @@ -259,9 +259,9 @@ .byte 0x2b .endm - .macro count_usable_party_mons bank + .macro count_usable_party_mons battler .byte 0x2c - .byte \bank + .byte \battler .endm .macro get_considered_move @@ -272,9 +272,9 @@ .byte 0x2e .endm - .macro get_ability bank + .macro get_ability battler .byte 0x2f - .byte \bank + .byte \battler .endm .macro get_highest_type_effectiveness @@ -295,16 +295,16 @@ .byte 0x33 .endm - .macro if_status_in_party bank, status1, param2 + .macro if_status_in_party battler, status1, param2 .byte 0x34 - .byte \bank + .byte \battler .4byte \status1 .4byte \param2 .endm - .macro if_status_not_in_party bank, status1, param2 + .macro if_status_not_in_party battler, status1, param2 .byte 0x35 - .byte \bank + .byte \battler .4byte \status1 .4byte \param2 .endm @@ -325,33 +325,33 @@ .4byte \param1 .endm - .macro if_stat_level_less_than bank, stat, param2, param3 + .macro if_stat_level_less_than battler, stat, param2, param3 .byte 0x39 - .byte \bank + .byte \battler .byte \stat .byte \param2 .4byte \param3 .endm - .macro if_stat_level_more_than bank, stat, param2, param3 + .macro if_stat_level_more_than battler, stat, param2, param3 .byte 0x3a - .byte \bank + .byte \battler .byte \stat .byte \param2 .4byte \param3 .endm - .macro if_stat_level_equal bank, stat, param2, param3 + .macro if_stat_level_equal battler, stat, param2, param3 .byte 0x3b - .byte \bank + .byte \battler .byte \stat .byte \param2 .4byte \param3 .endm - .macro if_stat_level_not_equal bank, stat, param2, param3 + .macro if_stat_level_not_equal battler, stat, param2, param3 .byte 0x3c - .byte \bank + .byte \battler .byte \stat .byte \param2 .4byte \param3 @@ -367,37 +367,37 @@ .4byte \param0 .endm - .macro if_has_move bank, param1, param2 + .macro if_has_move battler, param1, param2 .byte 0x3f - .byte \bank + .byte \battler .2byte \param1 .4byte \param2 .endm - .macro if_doesnt_have_move bank, param1, param2 + .macro if_doesnt_have_move battler, param1, param2 .byte 0x40 - .byte \bank + .byte \battler .2byte \param1 .4byte \param2 .endm - .macro if_has_move_with_effect bank, param1, param2 + .macro if_has_move_with_effect battler, param1, param2 .byte 0x41 - .byte \bank + .byte \battler .byte \param1 .4byte \param2 .endm - .macro if_doesnt_have_move_with_effect bank, param1, param2 + .macro if_doesnt_have_move_with_effect battler, param1, param2 .byte 0x42 - .byte \bank + .byte \battler .byte \param1 .4byte \param2 .endm - .macro if_any_move_disabled_or_encored bank, param1, param2 + .macro if_any_move_disabled_or_encored battler, param1, param2 .byte 0x43 - .byte \bank + .byte \battler .byte \param1 .4byte \param2 .endm @@ -421,33 +421,33 @@ .byte 0x47 .endm - .macro get_hold_effect bank + .macro get_hold_effect battler .byte 0x48 - .byte \bank + .byte \battler .endm - .macro get_gender bank + .macro get_gender battler .byte 0x49 - .byte \bank + .byte \battler .endm - .macro is_first_turn_for bank + .macro is_first_turn_for battler .byte 0x4a - .byte \bank + .byte \battler .endm - .macro get_stockpile_count bank + .macro get_stockpile_count battler .byte 0x4b - .byte \bank + .byte \battler .endm .macro is_double_battle .byte 0x4c .endm - .macro get_used_held_item bank + .macro get_used_held_item battler .byte 0x4d - .byte \bank + .byte \battler .endm .macro get_move_type_from_result @@ -462,9 +462,9 @@ .byte 0x50 .endm - .macro get_protect_count bank + .macro get_protect_count battler .byte 0x51 - .byte \bank + .byte \battler .endm .macro nullsub_52 @@ -526,27 +526,27 @@ .4byte \param0 .endm - .macro is_of_type bank, type + .macro is_of_type battler, type .byte 0x5f - .byte \bank + .byte \battler .byte \type .endm - .macro check_ability bank, ability + .macro check_ability battler, ability .byte 0x60 - .byte \bank + .byte \battler .byte \ability .endm - .macro if_flash_fired bank, param1 + .macro if_flash_fired battler, param1 .byte 0x61 - .byte \bank + .byte \battler .4byte \param1 .endm - .macro if_holds_item bank, param1, param2 + .macro if_holds_item battler, param1, param2 .byte 0x62 - .byte \bank + .byte \battler .2byte \param1 .4byte \param2 .endm @@ -572,23 +572,23 @@ get_type AI_TYPE2_TARGET .endm - .macro if_ability bank, ability, ptr - check_ability \bank, \ability + .macro if_ability battler, ability, ptr + check_ability \battler, \ability if_equal 1, \ptr .endm - .macro if_no_ability bank, ability, ptr - check_ability \bank, \ability + .macro if_no_ability battler, ability, ptr + check_ability \battler, \ability if_equal 0, \ptr .endm - .macro if_type bank, type, ptr - is_of_type \bank, \type + .macro if_type battler, type, ptr + is_of_type \battler, \type if_equal 1, \ptr .endm - .macro if_no_type bank, type, ptr - is_of_type \bank, \type + .macro if_no_type battler, type, ptr + is_of_type \battler, \type if_equal 0, \ptr .endm @@ -610,10 +610,10 @@ if_equal 0, \ptr .endm - .macro if_any_move_disabled bank, ptr - if_any_move_disabled_or_encored \bank, 0, \ptr + .macro if_any_move_disabled battler, ptr + if_any_move_disabled_or_encored \battler, 0, \ptr .endm - .macro if_any_move_encored bank, ptr - if_any_move_disabled_or_encored \bank, 1, \ptr + .macro if_any_move_encored battler, ptr + if_any_move_disabled_or_encored \battler, 1, \ptr .endm diff --git a/asm/macros/battle_anim_script.inc b/asm/macros/battle_anim_script.inc index b26d1218d..d1a8f6656 100644 --- a/asm/macros/battle_anim_script.inc +++ b/asm/macros/battle_anim_script.inc @@ -56,14 +56,14 @@ .2byte \param0 .endm - .macro monbg bank + .macro monbg battler .byte 0xa - .byte \bank + .byte \battler .endm - .macro clearmonbg bank + .macro clearmonbg battler .byte 0xb - .byte \bank + .byte \battler .endm .macro setalpha param0 @@ -189,14 +189,14 @@ .4byte \param2 .endm - .macro monbg_22 bank + .macro monbg_22 battler .byte 0x22 - .byte \bank + .byte \battler .endm - .macro clearmonbg_23 bank + .macro clearmonbg_23 battler .byte 0x23 - .byte \bank + .byte \battler .endm .macro jumpifcontest param0 @@ -229,38 +229,38 @@ .byte \param4 .endm - .macro monbgprio_28 bank + .macro monbgprio_28 battler .byte 0x28 - .byte \bank + .byte \battler .endm .macro monbgprio_29 .byte 0x29 .endm - .macro monbgprio_2A bank + .macro monbgprio_2A battler .byte 0x2a - .byte \bank + .byte \battler .endm - .macro invisible bank + .macro invisible battler .byte 0x2b - .byte \bank + .byte \battler .endm - .macro visible bank + .macro visible battler .byte 0x2c - .byte \bank + .byte \battler .endm - .macro doublebattle_2D bank + .macro doublebattle_2D battler .byte 0x2d - .byte \bank + .byte \battler .endm - .macro doublebattle_2E bank + .macro doublebattle_2E battler .byte 0x2e - .byte \bank + .byte \battler .endm .macro stopsound diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index c03d78df7..927a0edd1 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -45,14 +45,14 @@ .byte 0xa .endm - .macro healthbarupdate bank + .macro healthbarupdate battler .byte 0xb - .byte \bank + .byte \battler .endm - .macro datahpupdate bank + .macro datahpupdate battler .byte 0xc - .byte \bank + .byte \battler .endm .macro critmessage @@ -104,38 +104,38 @@ .byte 0x17 .endm - .macro clearstatusfromeffect bank + .macro clearstatusfromeffect battler .byte 0x18 - .byte \bank + .byte \battler .endm - .macro tryfaintmon bank, param1, param2 + .macro tryfaintmon battler, param1, param2 .byte 0x19 - .byte \bank + .byte \battler .byte \param1 .4byte \param2 .endm - .macro dofaintanimation bank + .macro dofaintanimation battler .byte 0x1a - .byte \bank + .byte \battler .endm - .macro cleareffectsonfaint bank + .macro cleareffectsonfaint battler .byte 0x1b - .byte \bank + .byte \battler .endm - .macro jumpifstatus bank, status1, param2 + .macro jumpifstatus battler, status1, param2 .byte 0x1c - .byte \bank + .byte \battler .4byte \status1 .4byte \param2 .endm - .macro jumpifstatus2 bank, status2, param2 + .macro jumpifstatus2 battler, status2, param2 .byte 0x1d - .byte \bank + .byte \battler .4byte \status2 .4byte \param2 .endm @@ -147,40 +147,40 @@ .4byte \param2 .endm - .macro jumpifsideaffecting bank, sidestatus, param2 + .macro jumpifsideaffecting battler, sidestatus, param2 .byte 0x1f - .byte \bank + .byte \battler .2byte \sidestatus .4byte \param2 .endm - .macro jumpifstat bank, ifflag, stat, param3, param4 + .macro jumpifstat battler, ifflag, stat, param3, param4 .byte 0x20 - .byte \bank + .byte \battler .byte \ifflag .byte \stat .byte \param3 .4byte \param4 .endm - .macro jumpifstatus3condition bank, status3, param2, param3 + .macro jumpifstatus3condition battler, status3, param2, param3 .byte 0x21 - .byte \bank + .byte \battler .4byte \status3 .byte \param2 .4byte \param3 .endm - .macro jumpiftype bank, type, param2 + .macro jumpiftype battler, type, param2 .byte 0x22 - .byte \bank + .byte \battler .byte \type .4byte \param2 .endm - .macro getexp bank + .macro getexp battler .byte 0x23 - .byte \bank + .byte \battler .endm .macro atk24 param0 @@ -325,9 +325,9 @@ .byte 0x3a .endm - .macro healthbar_update bank + .macro healthbar_update battler .byte 0x3b - .byte \bank + .byte \battler .endm .macro return @@ -356,9 +356,9 @@ .4byte \param0 .endm - .macro jumpiftype2 bank, type, param2 + .macro jumpiftype2 battler, type, param2 .byte 0x42 - .byte \bank + .byte \battler .byte \type .4byte \param2 .endm @@ -373,16 +373,16 @@ .byte 0x44 .endm - .macro playanimation bank, param1, param2 + .macro playanimation battler, param1, param2 .byte 0x45 - .byte \bank + .byte \battler .byte \param1 .4byte \param2 .endm - .macro playanimation2 bank, param1, param2 + .macro playanimation2 battler, param1, param2 .byte 0x46 - .byte \bank + .byte \battler .4byte \param1 .4byte \param2 .endm @@ -391,9 +391,9 @@ .byte 0x47 .endm - .macro playstatchangeanimation bank, param1, param2 + .macro playstatchangeanimation battler, param1, param2 .byte 0x48 - .byte \bank + .byte \battler .byte \param1 .byte \param2 .endm @@ -412,25 +412,25 @@ .byte 0x4b .endm - .macro getswitchedmondata bank + .macro getswitchedmondata battler .byte 0x4c - .byte \bank + .byte \battler .endm - .macro switchindataupdate bank + .macro switchindataupdate battler .byte 0x4d - .byte \bank + .byte \battler .endm - .macro switchinanim bank, dontclearsubstitutebit + .macro switchinanim battler, dontclearsubstitutebit .byte 0x4e - .byte \bank + .byte \battler .byte \dontclearsubstitutebit .endm - .macro jumpifcantswitch bank, param1 + .macro jumpifcantswitch battler, param1 .byte 0x4f - .byte \bank + .byte \battler .4byte \param1 .endm @@ -440,20 +440,20 @@ .4byte \param1 .endm - .macro switchhandleorder bank, param1 + .macro switchhandleorder battler, param1 .byte 0x51 - .byte \bank + .byte \battler .byte \param1 .endm - .macro switchineffects bank + .macro switchineffects battler .byte 0x52 - .byte \bank + .byte \battler .endm - .macro trainerslidein bank + .macro trainerslidein battler .byte 0x53 - .byte \bank + .byte \battler .endm .macro playse param0 @@ -466,18 +466,18 @@ .2byte \param0 .endm - .macro playfaintcry bank + .macro playfaintcry battler .byte 0x56 - .byte \bank + .byte \battler .endm .macro atk57 .byte 0x57 .endm - .macro returntoball bank + .macro returntoball battler .byte 0x58 - .byte \bank + .byte \battler .endm .macro handlelearnnewmove param0, param1, param2 @@ -497,18 +497,18 @@ .4byte \param0 .endm - .macro hitanimation bank + .macro hitanimation battler .byte 0x5c - .byte \bank + .byte \battler .endm .macro getmoneyreward .byte 0x5d .endm - .macro atk5E bank + .macro atk5E battler .byte 0x5e - .byte \bank + .byte \battler .endm .macro swapattackerwithtarget @@ -520,35 +520,35 @@ .byte \param0 .endm - .macro drawpartystatussummary bank + .macro drawpartystatussummary battler .byte 0x61 - .byte \bank + .byte \battler .endm - .macro hidepartystatussummary bank + .macro hidepartystatussummary battler .byte 0x62 - .byte \bank + .byte \battler .endm - .macro jumptorandomattack param0 + .macro jumptocalledmove param0 .byte 0x63 .byte \param0 .endm - .macro statusanimation bank + .macro statusanimation battler .byte 0x64 - .byte \bank + .byte \battler .endm - .macro status2animation bank, status2 + .macro status2animation battler, status2 .byte 0x65 - .byte \bank + .byte \battler .4byte \status2 .endm - .macro chosenstatusanimation bank, param1, param2 + .macro chosenstatusanimation battler, param1, param2 .byte 0x66 - .byte \bank + .byte \battler .byte \param1 .4byte \param2 .endm @@ -565,9 +565,9 @@ .byte 0x69 .endm - .macro removeitem bank + .macro removeitem battler .byte 0x6a - .byte \bank + .byte \battler .endm .macro atknameinbuff1 @@ -586,14 +586,14 @@ .byte 0x6e .endm - .macro makevisible bank + .macro makevisible battler .byte 0x6f - .byte \bank + .byte \battler .endm - .macro recordlastability bank + .macro recordlastability battler .byte 0x70 - .byte \bank + .byte \battler .endm .macro buffermovetolearn @@ -605,23 +605,23 @@ .4byte \param0 .endm - .macro hpthresholds bank + .macro hpthresholds battler .byte 0x73 - .byte \bank + .byte \battler .endm - .macro hpthresholds2 bank + .macro hpthresholds2 battler .byte 0x74 - .byte \bank + .byte \battler .endm .macro useitemonopponent .byte 0x75 .endm - .macro various bank, param1 + .macro various battler, param1 .byte 0x76 - .byte \bank + .byte \battler .byte \param1 .endm @@ -642,10 +642,10 @@ .4byte \param0 .endm - .macro tryhealhalfhealth param0, bank + .macro tryhealhalfhealth param0, battler .byte 0x7b .4byte \param0 - .byte \bank + .byte \battler .endm .macro trymirrormove @@ -773,9 +773,9 @@ .4byte \param0 .endm - .macro updatestatusicon bank + .macro updatestatusicon battler .byte 0x98 - .byte \bank + .byte \battler .endm .macro setmist @@ -1112,14 +1112,14 @@ .4byte \param0 .endm - .macro switchoutabilities bank + .macro switchoutabilities battler .byte 0xe2 - .byte \bank + .byte \battler .endm - .macro jumpifhasnohp bank, param1 + .macro jumpifhasnohp battler, param1 .byte 0xe3 - .byte \bank + .byte \battler .4byte \param1 .endm @@ -1215,112 +1215,112 @@ .endm @ various command changed to more readable macros - .macro cancelmultiturnmoves bank - various \bank, VARIOUS_CANCEL_MULTI_TURN_MOVES + .macro cancelmultiturnmoves battler + various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES .endm - .macro setmagiccoattarget bank - various \bank, VARIOUS_SET_MAGIC_COAT_TARGET + .macro setmagiccoattarget battler + various \battler, VARIOUS_SET_MAGIC_COAT_TARGET .endm - .macro getifcantrunfrombattle bank - various \bank, VARIOUS_IS_RUNNING_IMPOSSIBLE + .macro getifcantrunfrombattle battler + various \battler, VARIOUS_IS_RUNNING_IMPOSSIBLE .endm - .macro getmovetarget bank - various \bank, VARIOUS_GET_MOVE_TARGET + .macro getmovetarget battler + various \battler, VARIOUS_GET_MOVE_TARGET .endm - .macro various4 bank - various \bank, 4 + .macro various4 battler + various \battler, 4 .endm - .macro resetintrimidatetracebits bank - various \bank, VARIOUS_RESET_INTIMIDATE_TRACE_BITS + .macro resetintrimidatetracebits battler + various \battler, VARIOUS_RESET_INTIMIDATE_TRACE_BITS .endm - .macro updatechoicemoveonlvlup bank - various \bank, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP + .macro updatechoicemoveonlvlup battler + various \battler, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP .endm - .macro various7 bank - various \bank, 7 + .macro various7 battler + various \battler, 7 .endm - .macro various8 bank - various \bank, 8 + .macro various8 battler + various \battler, 8 .endm - .macro various9 bank - various \bank, 9 + .macro various9 battler + various \battler, 9 .endm - .macro various10 bank - various \bank, 10 + .macro various10 battler + various \battler, 10 .endm - .macro various11 bank - various \bank, 11 + .macro various11 battler + various \battler, 11 .endm - .macro various12 bank - various \bank, 12 + .macro various12 battler + various \battler, 12 .endm - .macro forfeityesnobox bank - various \bank, VARIOUS_EMIT_YESNOBOX + .macro forfeityesnobox battler + various \battler, VARIOUS_EMIT_YESNOBOX .endm - .macro various14 bank - various \bank, 14 + .macro various14 battler + various \battler, 14 .endm - .macro various15 bank - various \bank, 15 + .macro various15 battler + various \battler, 15 .endm - .macro various16 bank - various \bank, 16 + .macro various16 battler + various \battler, 16 .endm - .macro various17 bank - various \bank, 17 + .macro various17 battler + various \battler, 17 .endm - .macro waitcry bank - various \bank, VARIOUS_WAIT_CRY + .macro waitcry battler + various \battler, VARIOUS_WAIT_CRY .endm - .macro returnopponentmon1toball bank - various \bank, VARIOUS_RETURN_OPPONENT_MON1 + .macro returnopponentmon1toball battler + various \battler, VARIOUS_RETURN_OPPONENT_MON1 .endm - .macro returnopponentmon2toball bank - various \bank, VARIOUS_RETURN_OPPONENT_MON2 + .macro returnopponentmon2toball battler + various \battler, VARIOUS_RETURN_OPPONENT_MON2 .endm - .macro various21 bank - various \bank, 21 + .macro volumedown + various BS_ATTACKER, VARIOUS_VOLUME_DOWN .endm - .macro various22 bank - various \bank, 22 + .macro volumeup + various BS_ATTACKER, VARIOUS_VOLUME_UP .endm - .macro various23 bank - various \bank, 23 + .macro various23 battler + various \battler, 23 .endm - .macro various24 bank - various \bank, 24 + .macro various24 battler + various \battler, 24 .endm - .macro setoutcomeonteleport bank - various \bank, VARIOUS_SET_TELEPORT_OUTCOME + .macro setoutcomeonteleport battler + various \battler, VARIOUS_SET_TELEPORT_OUTCOME .endm - .macro playtrainerdefeatbgm bank - various \bank, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC + .macro playtrainerdefeatbgm battler + various \battler, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC .endm @ helpful macros @@ -1332,12 +1332,12 @@ setbyte cEFFECT_CHOOSER \effect .endm - .macro chosenstatus1animation bank, status - chosenstatusanimation \bank 0x0 \status + .macro chosenstatus1animation battler, status + chosenstatusanimation \battler 0x0 \status .endm - .macro chosenstatus2animation bank, status - chosenstatusanimation \bank 0x1 \status + .macro chosenstatus2animation battler, status + chosenstatusanimation \battler 0x1 \status .endm .macro sethword dst, value @@ -1380,12 +1380,12 @@ jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, \move, \jumpptr .endm - .macro jumpifstatus3 bank, status, jumpptr - jumpifstatus3condition \bank, \status, 0x0, \jumpptr + .macro jumpifstatus3 battler, status, jumpptr + jumpifstatus3condition \battler, \status, 0x0, \jumpptr .endm - .macro jumpifnostatus3 bank, status, jumpptr - jumpifstatus3condition \bank, \status, 0x1, \jumpptr + .macro jumpifnostatus3 battler, status, jumpptr + jumpifstatus3condition \battler, \status, 0x1, \jumpptr .endm .macro jumpifmovehadnoeffect jumpptr diff --git a/asm/party_menu.s b/asm/party_menu.s index 0d5c6b631..67fdab266 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -2740,7 +2740,7 @@ sub_81B1708: @ 81B1708 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -4196,7 +4196,7 @@ sub_81B227C: @ 81B227C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -4454,7 +4454,7 @@ _081B243E: adds r0, r4, 0 movs r1, 0 movs r3, 0x1 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 adds r0, r4, 0 bl PutWindowTilemap adds r0, r4, 0 @@ -4502,7 +4502,7 @@ _081B24C0: adds r0, r5, 0 movs r1, 0 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 b _081B2540 .pool _081B2514: @@ -4525,7 +4525,7 @@ _081B2514: adds r0, r5, 0 movs r1, 0 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 _081B2540: adds r0, r5, 0 bl PutWindowTilemap @@ -5108,7 +5108,7 @@ sub_81B2A3C: @ 81B2A3C str r1, [sp, 0x8] movs r1, 0 adds r2, r5, 0 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0xC pop {r4,r5} pop {r0} @@ -5804,7 +5804,7 @@ _081B2FF2: ldr r1, [r1] str r1, [sp, 0x8] movs r1, 0x1 - bl box_print + bl AddTextPrinterParameterized3 _081B3018: add sp, 0xC pop {r3} @@ -5938,7 +5938,7 @@ _081B3104: movs r1, 0x1 adds r2, r4, 0 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x2 bl schedule_bg_copy_tilemap_to_vram _081B313C: @@ -6132,7 +6132,7 @@ _081B328C: str r1, [sp, 0x10] movs r1, 0x1 mov r2, r9 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -6193,7 +6193,7 @@ sub_81B3300: @ 81B3300 movs r0, 0x6 movs r1, 0x1 adds r2, r4, 0 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 add sp, 0x10 pop {r4} pop {r0} @@ -6692,7 +6692,7 @@ sub_81B3730: @ 81B3730 ldrb r0, [r0, 0x17] cmp r0, 0x3 bhi _081B3774 - bl ProcessMenuInputNoWrapAround_other + bl Menu_ProcessInputNoWrapAround_other b _081B3778 .pool _081B3774: @@ -6796,7 +6796,7 @@ sub_81B3828: @ 81B3828 ldr r0, =sub_81B3894 str r0, [sp] movs r0, 0x1 - bl sub_81BF8EC + bl ShowPokemonSummaryScreen b _081B3880 .pool _081B3868: @@ -6810,7 +6810,7 @@ _081B3868: ldr r0, =sub_81B3894 str r0, [sp] movs r0, 0 - bl sub_81BF8EC + bl ShowPokemonSummaryScreen _081B3880: add sp, 0x4 pop {r4} @@ -8138,7 +8138,7 @@ sub_81B43DC: @ 81B43DC push {r4-r6,lr} lsls r0, 24 lsrs r4, r0, 24 - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -8671,7 +8671,7 @@ sub_81B48DC: @ 81B48DC muls r1, r0 ldr r0, =gPlayerParty adds r4, r1, r0 - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -8963,7 +8963,7 @@ sub_81B4BA0: @ 81B4BA0 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -9069,7 +9069,7 @@ sub_81B4C94: @ 81B4C94 push {r7} lsls r0, 24 lsrs r5, r0, 24 - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -9877,7 +9877,7 @@ sub_81B5430: @ 81B5430 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -10171,7 +10171,7 @@ sub_81B56D8: @ 81B56D8 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -11626,7 +11626,7 @@ c2_815ABFC: @ 81B6254 bl GoToBagMenu b _081B6276 _081B626C: - ldr r0, =gUnknown_0203CF30 + ldr r0, =gPyramidBagCursorData ldr r1, [r0] movs r0, 0x4 bl sub_81C4F98 @@ -12508,7 +12508,7 @@ _081B6A40: adds r0, r6, 0 mov r1, r10 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized cmp r4, 0 beq _081B6A82 adds r0, r7, 0x1 @@ -13156,7 +13156,7 @@ sub_81B7028: @ 81B7028 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -13235,7 +13235,7 @@ sub_81B70B8: @ 81B70B8 ldr r3, =sub_81B70F0 ldrh r4, [r4, 0xE] str r4, [sp] - bl sub_81BFA38 + bl ShowSelectMovePokemonSummaryScreen add sp, 0x4 pop {r4} pop {r0} @@ -13458,7 +13458,7 @@ sub_81B72C8: @ 81B72C8 muls r1, r0 ldr r0, =gPlayerParty adds r4, r1, r0 - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r5, r0, 24 cmp r5, 0 @@ -15240,7 +15240,7 @@ sub_81B82D4: @ 81B82D4 push {r4-r7,lr} lsls r0, 24 lsrs r5, r0, 24 - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -17663,7 +17663,7 @@ sub_81B968C: @ 81B968C ldr r0, =CB2_ReturnToField str r0, [sp] movs r0, 0x3 - bl sub_81BF8EC + bl ShowPokemonSummaryScreen ldr r1, =gFieldCallback ldr r0, =sub_80AF168 str r0, [r1] diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 24e041b7f..9d5603085 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -6,1513 +6,8 @@ .text - thumb_func_start sub_80C7128 -sub_80C7128: @ 80C7128 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - adds r7, r3, 0 - ldr r5, [sp, 0x1C] - ldr r4, [sp, 0x20] - ldr r0, [sp, 0x24] - mov r9, r0 - ldr r0, [sp, 0x28] - ldr r3, [sp, 0x2C] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r3, 16 - lsrs r3, 16 - mov r0, r9 - lsls r0, 17 - mov r9, r0 - lsrs r2, 11 - adds r2, r1 - lsls r2, 1 - adds r6, r2 - adds r0, r4, 0 - muls r0, r3 - adds r0, r5 - lsls r0, 1 - adds r7, r0 - movs r4, 0 - cmp r4, r8 - bcs _080C7198 - mov r0, r9 - lsrs r0, 1 - mov r9, r0 - lsls r5, r3, 1 -_080C717E: - adds r0, r7, 0 - adds r1, r6, 0 - mov r3, r9 - lsrs r2, r3, 16 - bl CpuSet - adds r6, 0x40 - adds r7, r5 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r8 - bcc _080C717E -_080C7198: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80C7128 - - thumb_func_start sub_80C71A4 -sub_80C71A4: @ 80C71A4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r4, r0, 0 - ldr r0, [sp, 0x28] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - lsrs r2, 11 - adds r2, r1 - lsls r2, 1 - adds r4, r2 - lsls r3, 17 - lsrs r0, r3, 16 - str r0, [sp, 0x4] - movs r0, 0 - cmp r0, r10 - bcs _080C724E - movs r6, 0x80 - lsls r6, 5 - mov r5, sp - ldr r7, =0x040000d4 - lsrs r3, 17 - mov r9, r3 - mov r1, r9 - movs r2, 0x81 - lsls r2, 24 - orrs r1, r2 - mov r9, r1 -_080C71EA: - adds r3, r4, 0 - ldr r2, [sp, 0x4] - movs r1, 0x40 - adds r1, r4 - mov r8, r1 - adds r0, 0x1 - mov r12, r0 - cmp r2, r6 - bhi _080C7214 - movs r0, 0 - strh r0, [r5] - mov r2, sp - str r2, [r7] - str r4, [r7, 0x4] - mov r0, r9 - str r0, [r7, 0x8] - ldr r0, [r7, 0x8] - b _080C7242 - .pool -_080C7214: - movs r4, 0 - strh r4, [r5] - ldr r1, =0x040000d4 - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - ldr r0, =0x81000800 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r6 - subs r2, r6 - cmp r2, r6 - bhi _080C7214 - strh r4, [r5] - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - lsrs r0, r2, 1 - movs r2, 0x81 - lsls r2, 24 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_080C7242: - mov r4, r8 - mov r1, r12 - lsls r0, r1, 16 - lsrs r0, 16 - cmp r0, r10 - bcc _080C71EA -_080C724E: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C71A4 - - thumb_func_start c3_0808C39C -c3_0808C39C: @ 80C7268 - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x4 - bls _080C7284 - b _080C756A -_080C7284: - lsls r0, 2 - ldr r1, =_080C7298 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C7298: - .4byte _080C72AC - .4byte _080C730C - .4byte _080C7320 - .4byte _080C746A - .4byte _080C7544 -_080C72AC: - ldrb r0, [r5, 0xA] - adds r1, r5, 0 - adds r1, 0x26 - bl sub_80C75FC - bl sub_81973A4 - movs r0, 0 - movs r1, 0 - bl NewMenuHelpers_DrawDialogueFrame - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, =gUnknown_085716C0 - movs r2, 0xA - ldrsh r0, [r5, r2] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0xFF - bl AddTextPrinterParameterized - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldrh r0, [r5, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl CopyWindowToVram - b _080C7318 - .pool -_080C730C: - bl IsWeatherNotFadingIn - lsls r0, 24 - cmp r0, 0 - bne _080C7318 - b _080C756A -_080C7318: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080C756A -_080C7320: - bl ProcessMenuInput - lsls r0, 24 - asrs r0, 24 - strh r0, [r5, 0xC] - movs r3, 0xC - ldrsh r1, [r5, r3] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080C73D0 - cmp r1, r0 - bgt _080C7342 - subs r0, 0x1 - cmp r1, r0 - beq _080C7348 - b _080C73F6 -_080C7342: - cmp r1, 0x4 - beq _080C73D0 - b _080C73F6 -_080C7348: - ldrh r3, [r5, 0xA] - strh r3, [r5, 0xE] - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080C7366 - subs r0, r3, 0x1 - strh r0, [r5, 0xE] - lsls r0, 16 - cmp r0, 0 - bge _080C7366 - movs r0, 0x4 - strh r0, [r5, 0xE] -_080C7366: - ldrh r1, [r2, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080C7382 - ldrh r0, [r5, 0xE] - adds r0, 0x1 - strh r0, [r5, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _080C7382 - movs r0, 0 - strh r0, [r5, 0xE] -_080C7382: - lsls r0, r3, 16 - asrs r0, 16 - ldrh r2, [r5, 0xE] - movs r3, 0xE - ldrsh r1, [r5, r3] - cmp r0, r1 - bne _080C7392 - b _080C756A -_080C7392: - movs r4, 0 - strh r2, [r5, 0xA] - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, =gUnknown_085716C0 - movs r2, 0xA - ldrsh r0, [r5, r2] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - b _080C756A - .pool -_080C73D0: - ldrh r0, [r5, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_819746C - bl ScriptContext2_Disable - bl EnableBothScriptContexts - ldrh r0, [r5, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - adds r0, r4, 0 - bl DestroyTask - b _080C756A -_080C73F6: - movs r3, 0xC - ldrsh r4, [r5, r3] - cmp r4, 0 - bne _080C7428 - bl CountPartyMons - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bne _080C7428 - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, =gText_PartyFull - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r4, 0x3 - str r4, [sp, 0xC] - b _080C7532 - .pool -_080C7428: - movs r1, 0xC - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _080C745C - bl CountPartyMons - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bne _080C745C - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, =gText_JustOnePkmn - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r4, 0x3 - str r4, [sp, 0xC] - b _080C7532 - .pool -_080C745C: - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - movs r0, 0x4 - strh r0, [r5, 0x8] - b _080C756A -_080C746A: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r7, 0x3 - adds r4, r7, 0 - ands r4, r1 - cmp r4, 0 - beq _080C749C - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, =gUnknown_085716C0 - movs r2, 0xA - ldrsh r0, [r5, r2] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - b _080C7528 - .pool -_080C749C: - movs r0, 0x40 - ands r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0 - beq _080C74E8 - ldrh r0, [r5, 0xA] - subs r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - cmp r0, 0 - bge _080C74B8 - movs r0, 0x4 - strh r0, [r5, 0xA] -_080C74B8: - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursor - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xA] - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, =gUnknown_085716C0 - movs r3, 0xA - ldrsh r0, [r5, r3] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - str r4, [sp] - b _080C7528 - .pool -_080C74E8: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080C756A - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080C7500 - strh r6, [r5, 0xA] -_080C7500: - movs r0, 0x1 - bl MoveMenuCursor - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xA] - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, =gUnknown_085716C0 - movs r2, 0xA - ldrsh r0, [r5, r2] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - str r6, [sp] -_080C7528: - movs r4, 0x2 - str r4, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - str r7, [sp, 0xC] -_080C7532: - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - strh r4, [r5, 0x8] - b _080C756A - .pool -_080C7544: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080C756A - bl overworld_free_bg_tilemaps - ldrb r0, [r5, 0xC] - bl sub_80C7D74 - ldrh r0, [r5, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - adds r0, r4, 0 - bl DestroyTask -_080C756A: - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end c3_0808C39C - - thumb_func_start sub_80C7578 -sub_80C7578: @ 80C7578 - push {lr} - ldr r0, =c3_0808C39C - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7578 - - thumb_func_start mapldr_0808C6D8 -mapldr_0808C6D8: @ 80C75A8 - push {r4,r5,lr} - ldr r0, =gMain - ldr r5, [r0, 0xC] - movs r0, 0 - bl SetVBlankCallback - ldr r4, =c3_0808C39C - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - ldr r2, =gUnknown_02039D00 - ldrb r2, [r2] - strh r2, [r1, 0xA] - bl _call_via_r4 - adds r0, r5, 0 - bl SetVBlankCallback - bl pal_fill_black - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end mapldr_0808C6D8 - - thumb_func_start sub_80C75FC -sub_80C75FC: @ 80C75FC - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x8 - adds r6, r0, 0 - mov r9, r1 - lsls r6, 24 - lsrs r6, 24 - ldr r0, =gUnknown_085716E8 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - ldr r0, =gUnknown_085716C0 - mov r8, r0 - movs r1, 0x5 - bl GetMaxWidthInMenuTable - lsls r0, 24 - ldr r2, =0x00ffffff - ldr r1, [sp] - ands r1, r2 - orrs r1, r0 - str r1, [sp] - mov r0, sp - bl AddWindow - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - lsls r4, r5, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - adds r0, r4, 0 - movs r1, 0x5 - mov r2, r8 - bl PrintMenuTable - adds r0, r4, 0 - movs r1, 0x5 - adds r2, r6, 0 - bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed - mov r0, r9 - strh r5, [r0] - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C75FC - thumb_func_start sub_80C7678 -sub_80C7678: @ 80C7678 - push {lr} - bl sub_80CAEA0 - ldr r1, =gUnknown_02039D00 - strb r0, [r1] - ldr r1, =gFieldCallback - ldr r0, =mapldr_0808C6D8 - str r0, [r1] - ldr r0, =CB2_ReturnToField - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7678 - thumb_func_start sub_80C76A4 -sub_80C76A4: @ 80C76A4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r0 - lsls r1, 24 - lsrs r0, r1, 24 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r3, 24 - adds r4, r3, 0 - ldr r2, =0x0000ffff - cmp r3, 0x1 - bhi _080C76C6 - movs r2, 0x1 - cmp r3, 0x1 - beq _080C76CA -_080C76C6: - cmp r4, 0x3 - bne _080C7714 -_080C76CA: - lsls r0, 24 - asrs r0, 24 - lsls r2, 16 - asrs r1, r2, 16 - adds r1, r0 - lsls r0, r1, 16 - asrs r1, r0, 16 - adds r6, r2, 0 - cmp r1, 0 - blt _080C7760 - cmp r1, r7 - bgt _080C7760 -_080C76E2: - asrs r4, r0, 16 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - add r0, r8 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - bne _080C770C - asrs r0, r6, 16 - adds r0, r4, r0 - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - blt _080C7760 - cmp r2, r7 - ble _080C76E2 - b _080C7760 - .pool -_080C770C: - adds r0, r4, 0 - b _080C7764 -_080C7710: - adds r0, r5, 0 - b _080C7764 -_080C7714: - lsls r0, 24 - asrs r0, 24 - lsls r2, 16 - asrs r1, r2, 16 - adds r1, r0 - lsls r0, r1, 16 - asrs r1, r0, 16 - adds r6, r2, 0 - cmp r1, 0 - blt _080C7760 - cmp r1, r7 - bgt _080C7760 -_080C772C: - asrs r5, r0, 16 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 4 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _080C7750 - adds r0, r4, 0 - movs r1, 0x2D - bl GetBoxMonData - cmp r0, 0 - beq _080C7710 -_080C7750: - asrs r0, r6, 16 - adds r0, r5, r0 - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - blt _080C7760 - cmp r2, r7 - ble _080C772C -_080C7760: - movs r0, 0x1 - negs r0, r0 -_080C7764: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80C76A4 - - thumb_func_start ResetPokemonStorageSystem -ResetPokemonStorageSystem: @ 80C7770 - push {r4-r6,lr} - movs r0, 0 - bl sub_80D1D18 - movs r5, 0 -_080C777A: - movs r4, 0 - lsls r6, r5, 24 -_080C777E: - lsls r1, r4, 24 - lsrs r1, 24 - lsrs r0, r6, 24 - bl sub_80D2018 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1D - bls _080C777E - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xD - bls _080C777A - movs r5, 0 -_080C779E: - lsls r0, r5, 24 - lsrs r0, 24 - bl GetBoxNamePtr - ldr r1, =gText_Box - bl StringCopy - adds r4, r5, 0x1 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - lsls r4, 16 - lsrs r5, r4, 16 - cmp r5, 0xD - bls _080C779E - movs r5, 0 -_080C77C2: - lsls r0, r5, 24 - lsrs r0, 24 - movs r1, 0x3 - ands r1, r5 - bl sub_80D2120 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xD - bls _080C77C2 - bl ResetWaldaWallpaper - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end ResetPokemonStorageSystem - - thumb_func_start sub_80C77E8 -sub_80C77E8: @ 80C77E8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x20 - adds r5, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r6, r1, 0 - lsls r2, 16 - lsrs r2, 16 - adds r7, r2, 0 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - ldr r0, =gUnknown_0857173C - str r0, [sp, 0x18] - ldr r1, =0xffff0000 - add r4, sp, 0x18 - ldr r0, [r4, 0x4] - ands r0, r1 - orrs r0, r7 - str r0, [r4, 0x4] - mov r1, sp - ldr r0, =gUnknown_0857175C - str r0, [sp] - movs r0, 0x80 - lsls r0, 4 - strh r0, [r1, 0x4] - strh r6, [r1, 0x6] - ldr r0, =gUnknown_08571F5C - str r0, [sp, 0x8] - movs r0, 0xC0 - lsls r0, 1 - strh r0, [r1, 0xC] - adds r0, r6, 0x1 - strh r0, [r1, 0xE] - add r0, sp, 0x10 - movs r1, 0 - movs r2, 0x8 - bl memset - ldr r0, [sp, 0x38] - cmp r0, 0 - beq _080C7846 - adds r0, r4, 0 - bl LoadSpritePalette -_080C7846: - mov r0, sp - bl LoadSpriteSheets - ldr r0, =gUnknown_02039D04 - str r5, [r0] - movs r1, 0x90 - lsls r1, 2 - adds r0, r5, r1 - strh r6, [r0] - adds r1, 0x2 - adds r0, r5, r1 - strh r7, [r0] - adds r1, 0x4 - adds r0, r5, r1 - mov r1, r8 - strb r1, [r0] - movs r1, 0x8F - lsls r1, 2 - adds r0, r5, r1 - ldr r1, [sp, 0x38] - str r1, [r0] - add sp, 0x20 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C77E8 - - thumb_func_start sub_80C7890 -sub_80C7890: @ 80C7890 - push {r4,r5,lr} - ldr r5, =gUnknown_02039D04 - ldr r1, [r5] - movs r2, 0x8F - lsls r2, 2 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0 - beq _080C78AC - adds r2, 0x6 - adds r0, r1, r2 - ldrh r0, [r0] - bl FreeSpritePaletteByTag -_080C78AC: - ldr r0, [r5] - movs r4, 0x90 - lsls r4, 2 - adds r0, r4 - ldrh r0, [r0] - bl FreeSpriteTilesByTag - ldr r0, [r5] - adds r0, r4 - ldrh r0, [r0] - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - bl FreeSpriteTilesByTag - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7890 - - thumb_func_start sub_80C78D4 -sub_80C78D4: @ 80C78D4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_80C7958 - pop {r0} - bx r0 - thumb_func_end sub_80C78D4 - - thumb_func_start sub_80C78E4 -sub_80C78E4: @ 80C78E4 - push {lr} - bl sub_80C7B14 - pop {r0} - bx r0 - thumb_func_end sub_80C78E4 - - thumb_func_start sub_80C78F0 -sub_80C78F0: @ 80C78F0 - push {lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080C790C - movs r0, 0x5 - bl PlaySE - movs r0, 0xC9 - b _080C7954 - .pool -_080C790C: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080C792C - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_02039D04 - ldr r0, [r0] - movs r1, 0x91 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - b _080C7954 - .pool -_080C792C: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080C7940 - movs r0, 0x5 - bl PlaySE - bl sub_80C7BB4 - b _080C7952 -_080C7940: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080C7952 - movs r0, 0x5 - bl PlaySE - bl sub_80C7B80 -_080C7952: - movs r0, 0xC8 -_080C7954: - pop {r1} - bx r1 - thumb_func_end sub_80C78F0 - - thumb_func_start sub_80C7958 -sub_80C7958: @ 80C7958 - push {r4-r6,lr} - sub sp, 0x3C - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0 - movs r1, 0 - str r0, [sp, 0x34] - str r1, [sp, 0x38] - movs r1, 0xC0 - lsls r1, 24 - ldr r0, [sp, 0x34] - orrs r0, r1 - str r0, [sp, 0x34] - ldr r1, =0xffff0fff - add r4, sp, 0x34 - ldr r0, [r4, 0x4] - ands r0, r1 - movs r1, 0x80 - lsls r1, 5 - orrs r0, r1 - str r0, [r4, 0x4] - add r1, sp, 0x1C - movs r2, 0 - strh r2, [r1] - mov r0, sp - adds r0, 0x1E - strh r2, [r0] - str r4, [sp, 0x20] - ldr r0, =gDummySpriteAnimTable - str r0, [sp, 0x24] - str r2, [sp, 0x28] - ldr r0, =gDummySpriteAffineAnimTable - str r0, [sp, 0x2C] - ldr r0, =SpriteCallbackDummy - str r0, [sp, 0x30] - add r0, sp, 0x4 - movs r2, 0x18 - bl memcpy - ldr r6, =gUnknown_02039D04 - ldr r0, [r6] - movs r1, 0x91 - lsls r1, 2 - adds r0, r1 - strb r5, [r0] - add r2, sp, 0x4 - ldr r1, [r6] - movs r5, 0x90 - lsls r5, 2 - adds r0, r1, r5 - ldrh r0, [r0] - strh r0, [r2] - ldr r3, =0x00000242 - adds r1, r3 - ldrh r0, [r1] - strh r0, [r2, 0x2] - adds r0, r2, 0 - movs r1, 0xA0 - movs r2, 0x60 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - ldr r3, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - str r0, [r3] - ldrb r2, [r4, 0x1] - movs r1, 0x3F - adds r0, r1, 0 - ands r0, r2 - movs r2, 0x80 - orrs r0, r2 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x3] - ands r1, r0 - movs r0, 0x40 - orrs r1, r0 - strb r1, [r4, 0x3] - add r1, sp, 0x4 - adds r3, r5 - ldrh r0, [r3] - adds r0, 0x1 - strh r0, [r1] - ldr r0, =sSpriteAnimTable_8571710 - str r0, [sp, 0xC] - movs r4, 0 -_080C7A10: - ldr r0, [r6] - ldr r1, =0x00000246 - adds r0, r1 - ldrb r3, [r0] - add r0, sp, 0x4 - movs r1, 0x7C - movs r2, 0x50 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - ldr r2, [r6] - lsls r3, r4, 2 - adds r2, 0x4 - adds r2, r3 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r1, r0, r1 - str r1, [r2] - movs r5, 0 - movs r0, 0x2 - ands r0, r4 - cmp r0, 0 - beq _080C7A4A - movs r0, 0xC4 - strh r0, [r1, 0x20] - movs r5, 0x2 -_080C7A4A: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _080C7A6E - ldr r1, [r6] - adds r1, 0x4 - adds r1, r3 - ldr r2, [r1] - movs r0, 0x70 - strh r0, [r2, 0x22] - ldr r2, [r1] - ldrb r1, [r2, 0x3] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2, 0x3] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_080C7A6E: - ldr r0, [r6] - adds r0, 0x4 - adds r0, r3 - ldr r0, [r0] - lsls r1, r5, 24 - lsrs r1, 24 - bl StartSpriteAnim - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _080C7A10 - movs r4, 0 - ldr r5, =gUnknown_02039D04 -_080C7A8C: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 19 - movs r3, 0xF8 - lsls r3, 15 - adds r0, r3 - lsrs r0, 16 - lsls r2, r4, 24 - lsrs r2, 24 - ldr r1, [r5] - ldr r3, =0x00000246 - adds r1, r3 - ldrb r1, [r1] - str r1, [sp] - movs r1, 0x58 - movs r3, 0 - bl sub_80CD2E8 - adds r2, r0, 0 - ldr r0, [r5] - lsls r1, r4, 2 - adds r0, 0x20 - adds r0, r1 - str r2, [r0] - cmp r2, 0 - beq _080C7AD4 - movs r1, 0x1 - cmp r4, 0 - bne _080C7ACC - movs r3, 0x1 - negs r3, r3 - adds r1, r3, 0 -_080C7ACC: - strh r1, [r2, 0x2E] - ldr r1, [r0] - ldr r0, =sub_80C7CF4 - str r0, [r1, 0x1C] -_080C7AD4: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _080C7A8C - bl sub_80C7BE4 - add sp, 0x3C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7958 - - thumb_func_start sub_80C7B14 -sub_80C7B14: @ 80C7B14 - push {r4-r6,lr} - ldr r4, =gUnknown_02039D04 - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0 - beq _080C7B2A - bl DestroySprite - ldr r1, [r4] - movs r0, 0 - str r0, [r1] -_080C7B2A: - movs r5, 0 - adds r6, r4, 0 -_080C7B2E: - ldr r0, [r6] - lsls r4, r5, 2 - adds r0, 0x4 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _080C7B4A - bl DestroySprite - ldr r0, [r6] - adds r0, 0x4 - adds r0, r4 - movs r1, 0 - str r1, [r0] -_080C7B4A: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _080C7B2E - movs r5, 0 -_080C7B56: - ldr r0, =gUnknown_02039D04 - ldr r0, [r0] - lsls r1, r5, 2 - adds r0, 0x20 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _080C7B6A - bl DestroySprite -_080C7B6A: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x1 - bls _080C7B56 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7B14 - - thumb_func_start sub_80C7B80 -sub_80C7B80: @ 80C7B80 - push {lr} - ldr r2, =gUnknown_02039D04 - ldr r1, [r2] - movs r0, 0x91 - lsls r0, 2 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xD - bls _080C7BA6 - ldr r0, [r2] - movs r1, 0x91 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_080C7BA6: - bl sub_80C7BE4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7B80 - - thumb_func_start sub_80C7BB4 -sub_80C7BB4: @ 80C7BB4 - push {lr} - ldr r0, =gUnknown_02039D04 - ldr r2, [r0] - movs r1, 0x91 - lsls r1, 2 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080C7BD0 - subs r1, r0, 0x1 - b _080C7BD2 - .pool -_080C7BD0: - movs r1, 0xD -_080C7BD2: - movs r3, 0x91 - lsls r3, 2 - adds r0, r2, r3 - strb r1, [r0] - bl sub_80C7BE4 - pop {r0} - bx r0 - thumb_func_end sub_80C7BB4 - - thumb_func_start sub_80C7BE4 -sub_80C7BE4: @ 80C7BE4 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x24 - ldr r0, =gUnknown_02039D04 - mov r9, r0 - ldr r0, [r0] - movs r4, 0x91 - lsls r4, 2 - adds r0, r4 - ldrb r0, [r0] - bl GetBoxNamePtr - mov r10, r0 - mov r1, r9 - ldr r0, [r1] - adds r0, r4 - ldrb r0, [r0] - bl CountMonsInBox - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - add r4, sp, 0x1C - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x8 - bl memset - movs r0, 0x8 - strb r0, [r4, 0x3] - movs r0, 0x4 - strb r0, [r4, 0x4] - adds r0, r4, 0 - bl AddWindow - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x44 - bl FillWindowPixelBuffer - movs r0, 0x1 - mov r1, r10 - movs r2, 0x40 - bl GetStringCenterAlignXOffset - lsls r2, r0, 24 - lsrs r2, 24 - ldr r0, =gUnknown_08571734 - mov r8, r0 - str r0, [sp] - movs r6, 0x1 - negs r6, r6 - str r6, [sp, 0x4] - mov r1, r10 - str r1, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x1 - movs r3, 0x1 - bl box_print - add r0, sp, 0xC - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, =gUnknown_08571737 - add r0, sp, 0xC - bl StringAppend - movs r0, 0x1 - add r1, sp, 0xC - movs r2, 0x40 - bl GetStringCenterAlignXOffset - lsls r2, r0, 24 - lsrs r2, 24 - mov r0, r8 - str r0, [sp] - str r6, [sp, 0x4] - add r1, sp, 0xC - str r1, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x1 - movs r3, 0x11 - bl box_print - adds r0, r4, 0 - movs r1, 0x7 - bl GetWindowAttribute - adds r5, r0, 0 - mov r1, r9 - ldr r0, [r1] - movs r1, 0x90 - lsls r1, 2 - adds r0, r1 - ldrh r0, [r0] - bl GetSpriteTileStartByTag - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 11 - ldr r0, =0x06010100 - adds r1, r0 - ldr r2, =0x04000100 - adds r0, r5, 0 - bl CpuSet - adds r0, r4, 0 - bl RemoveWindow - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7BE4 - - thumb_func_start sub_80C7CF4 -sub_80C7CF4: @ 80C7CF4 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - adds r0, 0x1 - movs r2, 0 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080C7D24 - strh r2, [r1, 0x30] - ldrh r0, [r1, 0x2E] - ldrh r3, [r1, 0x24] - adds r0, r3 - strh r0, [r1, 0x24] - ldrh r0, [r1, 0x32] - adds r0, 0x1 - strh r0, [r1, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _080C7D24 - strh r2, [r1, 0x32] - strh r2, [r1, 0x24] -_080C7D24: - pop {r0} - bx r0 - thumb_func_end sub_80C7CF4 - - thumb_func_start sub_80C7D28 -sub_80C7D28: @ 80C7D28 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl sub_80D2AA4 - bl TransferPlttBuffer - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - movs r1, 0xB3 - lsls r1, 2 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x18 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7D28 - - thumb_func_start c2_Box -c2_Box: @ 80C7D54 - push {lr} - bl RunTasks - bl do_scheduled_bg_tilemap_copies_to_vram - bl sub_80CA028 - bl sub_80CAA14 - bl AnimateSprites - bl BuildOamBuffer - pop {r0} - bx r0 - thumb_func_end c2_Box thumb_func_start sub_80C7D74 sub_80C7D74: @ 80C7D74 @@ -2473,7 +968,7 @@ _080C8668: ldr r1, =0x000002ca adds r0, r1 ldrb r0, [r0] - bl sub_80D1D18 + bl SetCurrentBox ldr r0, =gUnknown_02039D0C ldrb r0, [r0] cmp r0, 0 @@ -3409,7 +1904,7 @@ _080C8F0C: adds r0, 0x1 strb r0, [r1] _080C8F22: - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -4133,7 +2628,7 @@ _080C9584: b _080C9664 .pool _080C95A4: - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -4705,7 +3200,7 @@ _080C9A9C: ldr r2, =0x000002ca adds r0, r2 ldrb r0, [r0] - bl sub_80D1D18 + bl SetCurrentBox ldr r0, =task_pokemon_box_related bl add_to_c3_somehow _080C9AB8: @@ -4927,7 +3422,7 @@ _080C9C78: b _080C9CAA .pool _080C9C8C: - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -5058,7 +3553,7 @@ _080C9DAC: b _080C9DE0 .pool _080C9DC0: - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -5190,7 +3685,7 @@ _080C9EB4: adds r1, r4, 0 adds r2, r7, 0 adds r3, r6, 0 - bl sub_81BFA80 + bl ShowPokemonSummaryScreenSet40EF b _080C9F56 .pool _080C9F04: @@ -5200,7 +3695,7 @@ _080C9F04: adds r1, r4, 0 adds r2, r7, 0 adds r3, r6, 0 - bl sub_81BF8EC + bl ShowPokemonSummaryScreen b _080C9F56 .pool _080C9F1C: @@ -5310,7 +3805,7 @@ sub_80C9FEC: @ 80C9FEC movs r0, 0x3 movs r2, 0 movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree + bl DecompressAndLoadBgGfxUsingHeap ldr r0, =gUnknown_08572174 ldr r1, =0x0600f800 bl LZ77UnCompVram @@ -5349,7 +3844,7 @@ sub_80CA044: @ 80CA044 movs r0, 0x1 movs r2, 0 movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree + bl DecompressAndLoadBgGfxUsingHeap ldr r0, =gUnknown_085722A0 ldr r5, =gUnknown_02039D08 ldr r1, [r5] @@ -5892,7 +4387,7 @@ sub_80CA4FC: @ 80CA4FC movs r0, 0 movs r1, 0x1 movs r3, 0x6 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, [r6] ldr r1, =0x00000d1d adds r2, r1 @@ -5903,7 +4398,7 @@ sub_80CA4FC: @ 80CA4FC movs r0, 0 movs r1, 0x2 movs r3, 0x6 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, [r6] ldr r0, =0x00000d41 adds r2, r0 @@ -5914,7 +4409,7 @@ sub_80CA4FC: @ 80CA4FC movs r0, 0 movs r1, 0x2 movs r3, 0xA - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, [r6] ldr r1, =0x00000d65 adds r2, r1 @@ -5925,7 +4420,7 @@ sub_80CA4FC: @ 80CA4FC movs r0, 0 movs r1, 0 movs r3, 0x6 - bl PrintTextOnWindow + bl AddTextPrinterParameterized b _080CA5E8 .pool _080CA588: @@ -5939,7 +4434,7 @@ _080CA588: movs r0, 0 movs r1, 0 movs r3, 0x6 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, [r6] ldr r1, =0x00000cf9 adds r2, r1 @@ -5950,7 +4445,7 @@ _080CA588: movs r0, 0 movs r1, 0x1 movs r3, 0x6 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, [r6] ldr r0, =0x00000d1d adds r2, r0 @@ -5961,7 +4456,7 @@ _080CA588: movs r0, 0 movs r1, 0x2 movs r3, 0x6 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, [r6] ldr r1, =0x00000d41 adds r2, r1 @@ -5972,7 +4467,7 @@ _080CA588: movs r0, 0 movs r1, 0x2 movs r3, 0xA - bl PrintTextOnWindow + bl AddTextPrinterParameterized _080CA5E8: movs r0, 0 movs r1, 0x2 @@ -6842,7 +5337,7 @@ _080CAD30: movs r0, 0x1 movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x1 movs r1, 0x2 movs r2, 0xE @@ -9968,7 +8463,7 @@ sub_80CC680: @ 80CC680 lsls r0, 24 lsrs r0, 24 adds r1, r4, 0 - bl sub_80D2120 + bl SetBoxWallpaper ldr r0, =gUnknown_02039D08 ldr r0, [r0] ldr r1, =0x00000a62 @@ -13098,7 +11593,7 @@ sub_80CE0E8: @ 80CE0E8 b _080CE10C .pool _080CE108: - bl sub_80D2018 + bl ClearMonInBox _080CE10C: pop {r0} bx r0 @@ -17973,7 +16468,7 @@ _080D09EC: bl sub_80CB778 mov r0, r8 adds r1, r5, 0 - bl sub_80D2018 + bl ClearMonInBox adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -19694,7 +18189,7 @@ _080D17DA: movs r1, 0x1 adds r2, r4, 0 movs r3, 0x4 - bl sub_8199F74 + bl AddTextPrinterParameterized5 add sp, 0x14 pop {r4} pop {r0} @@ -20353,8 +18848,8 @@ StorageGetCurrentBox: @ 80D1D0C .pool thumb_func_end StorageGetCurrentBox - thumb_func_start sub_80D1D18 -sub_80D1D18: @ 80D1D18 + thumb_func_start SetCurrentBox +SetCurrentBox: @ 80D1D18 push {lr} lsls r0, 24 lsrs r1, r0, 24 @@ -20367,7 +18862,7 @@ _080D1D28: pop {r0} bx r0 .pool - thumb_func_end sub_80D1D18 + thumb_func_end SetCurrentBox thumb_func_start GetBoxMonDataFromAnyBox GetBoxMonDataFromAnyBox: @ 80D1D30 @@ -20768,8 +19263,8 @@ _080D2004: .pool thumb_func_end sub_80D1F98 - thumb_func_start sub_80D2018 -sub_80D2018: @ 80D2018 + thumb_func_start ClearMonInBox +ClearMonInBox: @ 80D2018 push {r4,lr} lsls r0, 24 lsrs r3, r0, 24 @@ -20798,7 +19293,7 @@ _080D2048: pop {r0} bx r0 .pool - thumb_func_end sub_80D2018 + thumb_func_end ClearMonInBox thumb_func_start sub_80D2054 sub_80D2054: @ 80D2054 @@ -20914,8 +19409,8 @@ _080D2112: .pool thumb_func_end sub_80D20F8 - thumb_func_start sub_80D2120 -sub_80D2120: @ 80D2120 + thumb_func_start SetBoxWallpaper +SetBoxWallpaper: @ 80D2120 push {lr} lsls r0, 24 lsrs r2, r0, 24 @@ -20935,7 +19430,7 @@ _080D213E: pop {r0} bx r0 .pool - thumb_func_end sub_80D2120 + thumb_func_end SetBoxWallpaper thumb_func_start sub_80D214C sub_80D214C: @ 80D214C diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s deleted file mode 100644 index b2cba6dab..000000000 --- a/asm/pokemon_summary_screen.s +++ /dev/null @@ -1,5216 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - - - thumb_func_start sub_81C4568 -sub_81C4568: @ 81C4568 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gUnknown_0203CF1C - ldr r2, [r2] - adds r0, 0x3 - ldr r3, =0x000040d3 - adds r2, r3 - adds r0, r2, r0 - ldrb r0, [r0] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r5, =gSprites - adds r4, r5 - adds r1, 0x3 - adds r2, r1 - ldrb r0, [r2] - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - adds r3, r5 - adds r5, r4, 0 - adds r5, 0x2A - ldrb r1, [r5] - adds r2, r3, 0 - adds r2, 0x2A - ldrb r0, [r2] - strb r0, [r5] - strb r1, [r2] - ldrb r6, [r4, 0x5] - lsrs r5, r6, 4 - ldrb r2, [r3, 0x5] - lsrs r2, 4 - lsls r2, 4 - movs r1, 0xF - adds r0, r1, 0 - ands r0, r6 - orrs r0, r2 - strb r0, [r4, 0x5] - lsls r5, 4 - ldrb r0, [r3, 0x5] - ands r1, r0 - orrs r1, r5 - strb r1, [r3, 0x5] - adds r4, 0x3F - ldrb r0, [r4] - movs r2, 0x4 - orrs r0, r2 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - strb r0, [r4] - adds r3, 0x3F - ldrb r0, [r3] - orrs r0, r2 - ands r0, r1 - strb r0, [r3] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4568 - - thumb_func_start sub_81C45F4 -sub_81C45F4: @ 81C45F4 - push {r4-r6,lr} - adds r3, r0, 0 - adds r6, r1, 0 - ldr r0, =gUnknown_0203CF1C - ldr r2, [r0] - adds r5, r2, 0 - adds r5, 0x70 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _081C4620 - cmp r0, 0x1 - bne _081C4610 - b _081C4750 -_081C4610: - adds r0, r3, 0 - bl sub_81C47B4 - lsls r0, 24 - lsrs r0, 24 - b _081C4770 - .pool -_081C4620: - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081C4680 - ldr r1, =0x000040be - adds r0, r2, r1 - ldrb r1, [r0] - movs r0, 0x3 - bl sub_80688F8 - lsls r0, 24 - cmp r0, 0 - beq _081C4668 - ldrh r2, [r5, 0x2] - lsls r0, r2, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - ldr r1, [r1, 0x8] - b _081C46D6 - .pool -_081C4668: - ldrh r2, [r5, 0x2] - lsls r0, r2, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - b _081C46B0 - .pool -_081C4680: - ldr r0, =gMonSpritesGfxPtr - ldr r3, [r0] - adds r4, r0, 0 - cmp r3, 0 - beq _081C46E4 - ldr r1, [r2] - ldr r0, =gPlayerParty - cmp r1, r0 - beq _081C46A6 - ldr r1, =0x000040bc - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x2 - beq _081C46A6 - adds r1, 0x33 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _081C46CC -_081C46A6: - ldrh r2, [r5, 0x2] - lsls r0, r2, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, [r4] -_081C46B0: - ldr r1, [r1, 0x8] - ldr r3, [r5, 0xC] - bl HandleLoadSpecialPokePic_2 - b _081C4768 - .pool -_081C46CC: - ldrh r2, [r5, 0x2] - lsls r0, r2, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, [r3, 0x8] -_081C46D6: - ldr r3, [r5, 0xC] - bl HandleLoadSpecialPokePic_DontHandleDeoxys - b _081C4768 - .pool -_081C46E4: - ldr r1, [r2] - ldr r0, =gPlayerParty - cmp r1, r0 - beq _081C4700 - ldr r1, =0x000040bc - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x2 - beq _081C4700 - adds r1, 0x33 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _081C472C -_081C4700: - ldrh r4, [r5, 0x2] - lsls r4, 3 - ldr r0, =gMonFrontPicTable - adds r4, r0 - movs r0, 0 - movs r1, 0x1 - bl sub_806F4F8 - adds r1, r0, 0 - ldrh r2, [r5, 0x2] - ldr r3, [r5, 0xC] - adds r0, r4, 0 - bl HandleLoadSpecialPokePic_2 - b _081C4768 - .pool -_081C472C: - ldrh r4, [r5, 0x2] - lsls r4, 3 - ldr r0, =gMonFrontPicTable - adds r4, r0 - movs r0, 0 - movs r1, 0x1 - bl sub_806F4F8 - adds r1, r0, 0 - ldrh r2, [r5, 0x2] - ldr r3, [r5, 0xC] - adds r0, r4, 0 - bl HandleLoadSpecialPokePic_DontHandleDeoxys - b _081C4768 - .pool -_081C4750: - ldrh r0, [r5, 0x2] - ldr r1, [r5, 0x48] - ldr r2, [r5, 0xC] - bl GetMonSpritePalStructFromOtIdPersonality - adds r4, r0, 0 - bl LoadCompressedObjectPalette - ldrh r0, [r4, 0x4] - movs r1, 0x1 - bl SetMultiuseSpriteTemplateToPokemon -_081C4768: - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - movs r0, 0xFF -_081C4770: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81C45F4 - - thumb_func_start sub_81C4778 -sub_81C4778: @ 81C4778 - push {r4,lr} - ldr r0, =gUnknown_0203CF1C - ldr r1, [r0] - adds r4, r1, 0 - adds r4, 0x70 - ldrb r0, [r4, 0x4] - cmp r0, 0 - bne _081C47AE - adds r0, r1, 0 - adds r0, 0xC - bl ShouldPlayNormalMonCry - cmp r0, 0x1 - bne _081C47A4 - ldrh r0, [r4, 0x2] - movs r1, 0 - movs r2, 0 - bl PlayCry3 - b _081C47AE - .pool -_081C47A4: - ldrh r0, [r4, 0x2] - movs r1, 0 - movs r2, 0xB - bl PlayCry3 -_081C47AE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C4778 - - thumb_func_start sub_81C47B4 -sub_81C47B4: @ 81C47B4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, =gUnknown_0203CF1C - ldr r6, [r0] - adds r6, 0x70 - ldr r0, =gMultiuseSpriteTemplate - movs r1, 0x28 - movs r2, 0x40 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r4, r0, 4 - add r4, r8 - lsls r4, 2 - ldr r5, =gSprites - adds r7, r4, r5 - adds r0, r7, 0 - bl FreeSpriteOamMatrix - ldrh r0, [r6, 0x2] - movs r1, 0 - strh r0, [r7, 0x2E] - strh r1, [r7, 0x32] - adds r5, 0x1C - adds r4, r5 - ldr r0, =sub_81C4844 - str r0, [r4] - ldrb r1, [r7, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - strb r0, [r7, 0x5] - ldrh r0, [r6, 0x2] - bl IsMonSpriteNotFlipped - lsls r0, 24 - cmp r0, 0 - bne _081C4828 - adds r0, r7, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - b _081C4836 - .pool -_081C4828: - adds r2, r7, 0 - adds r2, 0x3F - ldrb r1, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_081C4836: - mov r0, r8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81C47B4 - - thumb_func_start sub_81C4844 -sub_81C4844: @ 81C4844 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - adds r5, r0, 0 - adds r5, 0x70 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081C487E - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _081C487E - ldrh r0, [r4, 0x2E] - bl IsMonSpriteNotFlipped - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x30] - bl sub_81C4778 - ldrh r1, [r4, 0x2E] - ldrb r2, [r5, 0x4] - adds r0, r4, 0 - bl PokemonSummaryDoMonAnimation -_081C487E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4844 - - thumb_func_start sub_81C488C -sub_81C488C: @ 81C488C - ldr r1, =gUnknown_0203CF24 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_81C488C - - thumb_func_start sub_81C4898 -sub_81C4898: @ 81C4898 - push {r4,lr} - ldr r4, =gUnknown_0203CF24 - ldrb r0, [r4] - cmp r0, 0xFF - beq _081C48AA - bl DestroyTask - movs r0, 0xFF - strb r0, [r4] -_081C48AA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4898 - - thumb_func_start sub_81C48B4 -sub_81C48B4: @ 81C48B4 - push {lr} - ldr r2, =gSprites - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r1, =0x000040d3 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, =SpriteCallbackDummy - cmp r1, r0 - beq _081C48E8 - movs r0, 0x1 - b _081C48EA - .pool -_081C48E8: - movs r0, 0 -_081C48EA: - pop {r1} - bx r1 - thumb_func_end sub_81C48B4 - - thumb_func_start sub_81C48F0 -sub_81C48F0: @ 81C48F0 - push {r4-r6,lr} - ldr r6, =gSprites - ldr r5, =gUnknown_0203CF1C - ldr r0, [r5] - ldr r4, =0x000040d3 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r5] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r6, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =SpriteCallbackDummy - str r1, [r0] - bl sub_806EE98 - ldr r0, [r5] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - lsls r3, r0, 4 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1, 0 - orrs r3, r0 - movs r2, 0 - ldr r5, =gPlttBufferUnfaded - ldr r4, =gPlttBufferFaded -_081C494C: - adds r0, r2, r3 - lsls r0, 16 - lsrs r0, 15 - adds r1, r0, r5 - adds r0, r4 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0xF - bls _081C494C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C48F0 - - thumb_func_start sub_81C4984 -sub_81C4984: @ 81C4984 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r1, =0x00007533 - ldr r2, =gUnknown_0861D120 - adds r0, r1, 0 - bl sub_811FF94 - adds r4, r0, 0 - ldr r6, =gUnknown_0203CF1C - ldr r0, [r6] - str r4, [r0, 0x8] - cmp r4, 0 - beq _081C49CE - adds r0, r5, 0 - movs r1, 0x8 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - ldr r1, [r6] - ldr r2, [r1, 0x8] - movs r0, 0x3C - strh r0, [r2, 0x20] - ldr r2, [r1, 0x8] - movs r0, 0x1A - strh r0, [r2, 0x22] - ldr r2, [r1, 0x8] - ldrb r1, [r2, 0x5] - subs r0, 0x27 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x5] -_081C49CE: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4984 - - thumb_func_start sub_81C49E0 -sub_81C49E0: @ 81C49E0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r0, [r0, 0x8] - bl DestroySprite - ldr r0, =0x00007533 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl sub_81C4984 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C49E0 - - thumb_func_start sub_81C4A08 -sub_81C4A08: @ 81C4A08 - push {r4,lr} - movs r1, 0x26 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl ItemIdToBallId - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl LoadBallGfx - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - ldr r1, =gBallSpriteTemplates - adds r0, r1 - movs r1, 0x10 - movs r2, 0x88 - movs r3, 0 - bl CreateSprite - ldr r2, =gUnknown_0203CF1C - ldr r1, [r2] - ldr r3, =0x000040d4 - adds r1, r3 - strb r0, [r1] - ldr r4, =gSprites - ldr r2, [r2] - adds r2, r3 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =SpriteCallbackDummy - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4A08 - - thumb_func_start sub_81C4A88 -sub_81C4A88: @ 81C4A88 - push {r4,r5,lr} - ldr r5, =gUnknown_0203CF1C - ldr r0, [r5] - ldr r1, =0x000040d5 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0xFF - bne _081C4AA6 - ldr r0, =gUnknown_0861D108 - movs r1, 0x40 - movs r2, 0x98 - movs r3, 0 - bl CreateSprite - strb r0, [r4] -_081C4AA6: - ldr r0, [r5] - adds r0, 0xC - bl sub_81B205C - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _081C4AE8 - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - subs r1, r2, 0x1 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - movs r0, 0x2 - movs r1, 0 - bl sub_81C4204 - b _081C4AF0 - .pool -_081C4AE8: - movs r0, 0x2 - movs r1, 0x1 - bl sub_81C4204 -_081C4AF0: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C4A88 - - thumb_func_start sub_81C4AF8 -sub_81C4AF8: @ 81C4AF8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =gUnknown_0203CF1C - ldr r1, =0x000040d3 - add r1, r8 - ldr r0, [r0] - adds r7, r0, r1 - ldr r1, =0x000040c0 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bls _081C4BD2 - movs r0, 0 - mov r9, r0 - mov r1, r8 - cmp r1, 0x8 - bne _081C4B2A - movs r0, 0x1 - mov r9, r0 -_081C4B2A: - movs r5, 0 - ldr r6, =gSprites - mov r10, r5 -_081C4B30: - lsls r1, r5, 20 - movs r0, 0xB2 - lsls r0, 15 - adds r1, r0 - asrs r1, 16 - ldr r0, =gUnknown_0861D084 - movs r2, 0x28 - mov r3, r9 - bl CreateSprite - adds r1, r7, r5 - strb r0, [r1] - adds r4, r1, 0 - cmp r5, 0 - bne _081C4B74 - ldrb r1, [r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x4 - bl StartSpriteAnim - b _081C4B9A - .pool -_081C4B74: - cmp r5, 0x9 - bne _081C4B8A - ldrb r1, [r7, 0x9] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x5 - bl StartSpriteAnim - b _081C4B9A -_081C4B8A: - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x6 - bl StartSpriteAnim -_081C4B9A: - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r6, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_81C4BE4 - str r1, [r0] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r1, r8 - strh r1, [r0, 0x2E] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r1, r10 - strh r1, [r0, 0x30] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x9 - bls _081C4B30 -_081C4BD2: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4AF8 - - thumb_func_start sub_81C4BE4 -sub_81C4BE4: @ 81C4BE4 - push {lr} - adds r3, r0, 0 - adds r0, 0x2A - ldrb r0, [r0] - subs r0, 0x4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bhi _081C4C1C - ldrh r0, [r3, 0x30] - adds r0, 0x1 - movs r1, 0x1F - ands r0, r1 - strh r0, [r3, 0x30] - cmp r0, 0x18 - ble _081C4C10 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - b _081C4C2A -_081C4C10: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - b _081C4C28 -_081C4C1C: - movs r0, 0 - strh r0, [r3, 0x30] - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - subs r0, 0x5 -_081C4C28: - ands r0, r1 -_081C4C2A: - strb r0, [r2] - movs r1, 0x2E - ldrsh r0, [r3, r1] - cmp r0, 0x8 - bne _081C4C44 - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r1, =0x000040c6 - b _081C4C4A - .pool -_081C4C44: - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r1, =0x000040c7 -_081C4C4A: - adds r0, r1 - ldrb r0, [r0] - lsls r0, 4 - strh r0, [r3, 0x26] - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4BE4 - - thumb_func_start sub_81C4C60 -sub_81C4C60: @ 81C4C60 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 -_081C4C68: - adds r0, r5, r4 - lsls r0, 24 - lsrs r0, 24 - bl sub_81C41C0 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _081C4C68 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C4C60 - - thumb_func_start sub_81C4C84 -sub_81C4C84: @ 81C4C84 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r1, =0x000040db - adds r5, r0, r1 - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 24 - movs r4, 0 - ldr r7, =gSprites - movs r2, 0x80 - lsls r2, 19 - adds r2, r0 - mov r9, r2 - lsrs r6, r0, 24 - movs r1, 0xA0 - lsls r1, 19 - adds r1, r0 - mov r8, r1 -_081C4CB4: - cmp r4, 0 - bne _081C4CD4 - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - mov r2, r9 - b _081C4CE4 - .pool -_081C4CD4: - cmp r4, 0x9 - bne _081C4CEC - ldrb r1, [r5, 0x9] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - mov r2, r8 -_081C4CE4: - lsrs r1, r2, 24 - bl StartSpriteAnim - b _081C4D02 -_081C4CEC: - adds r0, r5, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - adds r1, r6, 0x6 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim -_081C4D02: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _081C4CB4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81C4C84 - - thumb_func_start sub_81C4D18 -sub_81C4D18: @ 81C4D18 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203CF1C - ldr r2, =0x000040d3 - adds r0, r2 - ldr r1, [r1] - adds r5, r1, r0 - movs r3, 0 - ldr r4, =gSprites - movs r7, 0x5 - negs r7, r7 - movs r6, 0 -_081C4D32: - adds r2, r5, r3 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r6, [r0, 0x30] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r7, 0 - ands r0, r2 - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x9 - bls _081C4D32 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4D18 - - thumb_func_start sub_81C4D70 -sub_81C4D70: @ 81C4D70 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - ldr r4, =gUnknown_0203CF28 - movs r0, 0x4 - bl Alloc - str r0, [r4] - ldr r1, [r5] - lsls r0, r1, 20 - lsrs r4, r0, 30 - cmp r4, 0 - bne _081C4DDC - lsls r0, r1, 30 - lsrs r0, 30 - movs r1, 0x8 - movs r2, 0 - bl SetBgAttribute - ldr r3, [r5] - lsls r0, r3, 30 - lsrs r0, 30 - ldr r1, =gUnknown_0861D1A0 - lsls r3, 22 - lsrs r3, 24 - str r4, [sp] - movs r2, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r0, [r5] - lsls r0, 30 - lsrs r0, 30 - ldr r1, =gUnknown_0861DEF4 - movs r2, 0x1 - str r2, [sp] - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r1, [r5] - lsls r1, 22 - lsrs r1, 24 - str r4, [sp] - movs r2, 0x20 - movs r3, 0x20 - bl sub_8199D3C - b _081C4E2E - .pool -_081C4DDC: - lsls r0, r1, 30 - lsrs r0, 30 - movs r1, 0x8 - movs r2, 0x2 - bl SetBgAttribute - ldr r0, [r5] - lsls r0, 30 - lsrs r0, 30 - movs r1, 0x9 - movs r2, 0x1 - bl SetBgAttribute - ldr r3, [r5] - lsls r0, r3, 30 - lsrs r0, 30 - ldr r1, =gUnknown_0861E208 - lsls r3, 22 - lsrs r3, 24 - movs r2, 0 - str r2, [sp] - bl decompress_and_copy_tile_data_to_vram - ldr r0, [r5] - lsls r0, 30 - lsrs r0, 30 - ldr r1, =gUnknown_0861EF64 - movs r4, 0x1 - str r4, [sp] - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r1, [r5] - lsls r1, 22 - lsrs r1, 24 - str r4, [sp] - movs r2, 0x40 - movs r3, 0x40 - bl sub_8199D3C -_081C4E2E: - ldr r0, [r5] - lsls r0, 30 - lsrs r0, 30 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - ldr r0, [r5] - lsls r0, 30 - lsrs r0, 30 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldr r0, [r5] - lsls r0, 30 - lsrs r0, 30 - movs r1, 0x4 - movs r2, 0x1 - bl SetBgAttribute - ldr r0, =gUnknown_0861D140 - ldr r1, =gPlttBufferUnfaded + 0xE0 - ldr r2, =0x04000018 - bl CpuSet - ldr r0, =gUnknown_0203CF28 - ldr r1, [r0] - ldr r0, [r5] - lsls r0, 30 - lsrs r0, 30 - strb r0, [r1] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4D70 - - thumb_func_start sub_81C4E90 -sub_81C4E90: @ 81C4E90 - push {lr} - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - beq _081C4EA0 - movs r0, 0x1 - b _081C4EAC -_081C4EA0: - ldr r0, =gUnknown_0203CF28 - ldr r0, [r0] - ldrb r0, [r0] - bl ShowBg - movs r0, 0 -_081C4EAC: - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C4E90 - - thumb_func_start sub_81C4EB4 -sub_81C4EB4: @ 81C4EB4 - push {r4,lr} - ldr r4, =gUnknown_0203CF28 - ldr r0, [r4] - cmp r0, 0 - beq _081C4EC6 - bl Free - movs r0, 0 - str r0, [r4] -_081C4EC6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4EB4 - - thumb_func_start sub_81C4ED0 -sub_81C4ED0: @ 81C4ED0 - push {lr} - adds r1, r0, 0 - ldr r0, =gUnknown_0203CF28 - ldr r0, [r0] - ldrb r0, [r0] - lsls r1, 8 - movs r2, 0 - bl ChangeBgY - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4ED0 - - thumb_func_start sub_81C4EEC -sub_81C4EEC: @ 81C4EEC - ldr r1, =gUnknown_0203CF30 - movs r0, 0 - strh r0, [r1, 0x6] - strh r0, [r1, 0x8] - bx lr - .pool - thumb_func_end sub_81C4EEC - - thumb_func_start sub_81C4EFC -sub_81C4EFC: @ 81C4EFC - push {lr} - ldr r1, =CB2_ReturnToFieldWithOpenMenu - movs r0, 0 - bl sub_81C4F98 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4EFC - - thumb_func_start sub_81C4F10 -sub_81C4F10: @ 81C4F10 - push {lr} - ldr r1, =SetCB2ToReshowScreenAfterMenu2 - movs r0, 0x1 - bl sub_81C4F98 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4F10 - - thumb_func_start sub_81C4F24 -sub_81C4F24: @ 81C4F24 - push {lr} - bl ScriptContext2_Enable - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - ldr r0, =sub_81C4F44 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4F24 - - thumb_func_start sub_81C4F44 -sub_81C4F44: @ 81C4F44 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081C4F6E - bl overworld_free_bg_tilemaps - ldr r0, =gFieldCallback2 - ldr r1, =hm_add_c3_without_phase_2 - str r1, [r0] - ldr r1, =CB2_ReturnToField - movs r0, 0x3 - bl sub_81C4F98 - adds r0, r4, 0 - bl DestroyTask -_081C4F6E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4F44 - - thumb_func_start sub_81C4F84 -sub_81C4F84: @ 81C4F84 - push {lr} - ldr r0, =gUnknown_0203CF30 - ldr r1, [r0] - movs r0, 0x4 - bl sub_81C4F98 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4F84 - - thumb_func_start sub_81C4F98 -sub_81C4F98: @ 81C4F98 - push {r4-r6,lr} - adds r5, r1, 0 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r6, =gUnknown_0203CF2C - ldr r0, =0x0000098c - bl AllocZeroed - str r0, [r6] - cmp r4, 0x4 - beq _081C4FB2 - ldr r0, =gUnknown_0203CF30 - strb r4, [r0, 0x4] -_081C4FB2: - cmp r5, 0 - beq _081C4FBA - ldr r0, =gUnknown_0203CF30 - str r5, [r0] -_081C4FBA: - ldr r0, [r6] - movs r1, 0 - str r1, [r0] - ldr r1, =0x00000814 - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - ldr r0, [r6] - ldr r1, =0x00000816 - adds r0, r1 - movs r1, 0x1 - negs r1, r1 - strb r1, [r0] - ldr r0, [r6] - ldr r1, =0x00000804 - adds r0, r1 - movs r1, 0xFF - movs r2, 0xB - bl memset - ldr r0, [r6] - ldr r1, =0x0000080f - adds r0, r1 - movs r1, 0xFF - movs r2, 0x5 - bl memset - ldr r0, =sub_81C504C - bl SetMainCallback2 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4F98 - - thumb_func_start sub_81C501C -sub_81C501C: @ 81C501C - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_81C501C - - thumb_func_start sub_81C5038 -sub_81C5038: @ 81C5038 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_81C5038 - - thumb_func_start sub_81C504C -sub_81C504C: @ 81C504C - push {lr} -_081C504E: - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081C5072 - bl sub_81C5078 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081C5072 - bl sub_81221AC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081C504E -_081C5072: - pop {r0} - bx r0 - thumb_func_end sub_81C504C - - thumb_func_start sub_81C5078 -sub_81C5078: @ 81C5078 - push {lr} - sub sp, 0x4 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x10 - bls _081C508C - b _081C51BC -_081C508C: - lsls r0, 2 - ldr r1, =_081C50A0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C50A0: - .4byte _081C50E4 - .4byte _081C50EE - .4byte _081C50F4 - .4byte _081C50FA - .4byte _081C510C - .4byte _081C5112 - .4byte _081C5122 - .4byte _081C513C - .4byte _081C5148 - .4byte _081C514E - .4byte _081C515C - .4byte _081C5162 - .4byte _081C5168 - .4byte _081C516E - .4byte _081C5174 - .4byte _081C517A - .4byte _081C5188 -_081C50E4: - bl SetVBlankHBlankCallbacksToNull - bl clear_scheduled_bg_copies_to_vram - b _081C51A2 -_081C50EE: - bl ScanlineEffect_Stop - b _081C51A2 -_081C50F4: - bl FreeAllSpritePalettes - b _081C51A2 -_081C50FA: - bl ResetPaletteFade - ldr r2, =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - b _081C51A0 - .pool -_081C510C: - bl ResetSpriteData - b _081C51A2 -_081C5112: - bl sub_81221AC - lsls r0, 24 - cmp r0, 0 - bne _081C51A2 - bl ResetTasks - b _081C51A2 -_081C5122: - bl sub_81C51DC - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r1, =0x00000984 - adds r0, r1 - movs r1, 0 - strh r1, [r0] - b _081C51A2 - .pool -_081C513C: - bl sub_81C5238 - lsls r0, 24 - cmp r0, 0 - beq _081C51D4 - b _081C51A2 -_081C5148: - bl sub_81C6BD8 - b _081C51A2 -_081C514E: - bl sub_81C5924 - bl sub_81C59BC - bl sub_81C5A20 - b _081C51A2 -_081C515C: - bl sub_81C5314 - b _081C51A2 -_081C5162: - bl sub_81C56F8 - b _081C51A2 -_081C5168: - bl sub_81C6EF4 - b _081C51A2 -_081C516E: - bl sub_81C5674 - b _081C51A2 -_081C5174: - bl sub_81C700C - b _081C51A2 -_081C517A: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - b _081C51A2 -_081C5188: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 -_081C51A0: - strb r0, [r2, 0x8] -_081C51A2: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _081C51D4 - .pool -_081C51BC: - ldr r0, =sub_81C5038 - bl SetVBlankCallback - ldr r0, =sub_81C501C - bl SetMainCallback2 - movs r0, 0x1 - b _081C51D6 - .pool -_081C51D4: - movs r0, 0 -_081C51D6: - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_81C5078 - - thumb_func_start sub_81C51DC -sub_81C51DC: @ 81C51DC - push {lr} - bl ResetVramOamAndBgCntRegs - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0861F2B4 - movs r0, 0 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r0, =gUnknown_0203CF2C - ldr r1, [r0] - adds r1, 0x4 - movs r0, 0x2 - bl SetBgTilemapBuffer - bl ResetAllBgsCoordinates - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C51DC - - thumb_func_start sub_81C5238 -sub_81C5238: @ 81C5238 - push {r4,lr} - sub sp, 0x4 - ldr r4, =gUnknown_0203CF2C - ldr r0, [r4] - ldr r1, =0x00000984 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x4 - bhi _081C52F0 - lsls r0, 2 - ldr r1, =_081C5264 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C5264: - .4byte _081C5278 - .4byte _081C5294 - .4byte _081C52B8 - .4byte _081C52C8 - .4byte _081C52D4 -_081C5278: - bl reset_temp_tile_data_buffers - ldr r1, =gBagScreen_Gfx - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - b _081C52D8 - .pool -_081C5294: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081C5308 - ldr r0, =gUnknown_08D9AE04 - ldr r4, =gUnknown_0203CF2C - ldr r1, [r4] - adds r1, 0x4 - bl LZDecompressWram - ldr r1, [r4] - b _081C52DC - .pool -_081C52B8: - ldr r0, =gUnknown_08D9AF44 - movs r1, 0 - movs r2, 0x20 - bl LoadCompressedPalette - b _081C52D8 - .pool -_081C52C8: - ldr r0, =gUnknown_0861F3CC - bl LoadCompressedObjectPic - b _081C52D8 - .pool -_081C52D4: - bl sub_81C6E98 -_081C52D8: - ldr r0, =gUnknown_0203CF2C - ldr r1, [r0] -_081C52DC: - ldr r0, =0x00000984 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _081C5308 - .pool -_081C52F0: - bl LoadListMenuArrowsGfx - ldr r0, [r4] - ldr r1, =0x00000984 - adds r0, r1 - movs r1, 0 - strh r1, [r0] - movs r0, 0x1 - b _081C530A - .pool -_081C5308: - movs r0, 0 -_081C530A: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81C5238 - - thumb_func_start sub_81C5314 -sub_81C5314: @ 81C5314 - push {r4-r7,lr} - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r1, =0x00000ca9 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r1, 30 - lsrs r1, 30 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - ldr r3, =0x00000e2c - adds r0, r3 - adds r7, r2, r0 - movs r6, 0 - ldr r1, =gUnknown_0203CF2C - ldr r0, [r1] - ldr r4, =0x00000821 - adds r0, r4 - ldrb r0, [r0] - subs r0, 0x1 - cmp r6, r0 - bge _081C5382 - adds r5, r1, 0 -_081C5344: - lsls r1, r6, 1 - adds r4, r1, r6 - lsls r4, 3 - ldr r0, =0x0000087c - adds r4, r0 - ldr r0, [r5] - adds r0, r4 - adds r1, r7 - ldrh r1, [r1] - bl sub_81C540C - ldr r1, [r5] - lsls r2, r6, 3 - ldr r3, =0x00000824 - adds r0, r1, r3 - adds r0, r2 - adds r4, r1, r4 - str r4, [r0] - ldr r4, =0x00000828 - adds r0, r1, r4 - adds r0, r2 - str r6, [r0] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, =0x00000821 - adds r1, r0 - ldrb r0, [r1] - subs r0, 0x1 - cmp r6, r0 - blt _081C5344 -_081C5382: - ldr r5, =gUnknown_0203CF2C - lsls r4, r6, 1 - adds r4, r6 - lsls r4, 3 - ldr r1, =0x0000087c - adds r4, r1 - ldr r0, [r5] - adds r0, r4 - ldr r1, =gText_CloseBag - bl StringCopy - ldr r1, [r5] - lsls r2, r6, 3 - ldr r3, =0x00000824 - adds r0, r1, r3 - adds r0, r2 - adds r4, r1, r4 - str r4, [r0] - ldr r4, =0x00000828 - adds r1, r4 - adds r1, r2 - movs r0, 0x2 - negs r0, r0 - str r0, [r1] - ldr r2, =gMultiuseListMenuTemplate - adds r1, r2, 0 - ldr r0, =gUnknown_0861F2C0 - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - ldr r1, [r5] - ldr r6, =0x00000821 - adds r0, r1, r6 - ldrb r0, [r0] - strh r0, [r2, 0xC] - adds r3, r1, r3 - str r3, [r2] - ldr r7, =0x00000822 - adds r1, r7 - ldrb r0, [r1] - strh r0, [r2, 0xE] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5314 - - thumb_func_start sub_81C540C -sub_81C540C: @ 81C540C - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 16 - lsrs r4, r1, 16 - adds r0, r4, 0 - bl ItemId_GetPocket - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _081C5450 - ldr r0, =gStringVar1 - adds r1, r4, 0 - subs r1, 0x84 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, =gStringVar2 - adds r0, r4, 0 - bl CopyItemName - ldr r1, =gText_UnkF908Var1Clear7Var2 - adds r0, r5, 0 - bl StringExpandPlaceholders - b _081C5458 - .pool -_081C5450: - adds r0, r4, 0 - adds r1, r5, 0 - bl CopyItemName -_081C5458: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C540C - - thumb_func_start sub_81C5460 -sub_81C5460: @ 81C5460 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x1 - beq _081C5476 - movs r0, 0x5 - bl PlaySE - bl sub_81C6F20 -_081C5476: - ldr r5, =gUnknown_0203CF2C - ldr r1, [r5] - ldr r2, =0x00000814 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0xFF - bne _081C5504 - adds r2, 0x1 - adds r0, r1, r2 - ldrb r1, [r0] - movs r0, 0x1 - eors r0, r1 - bl sub_81C6FF8 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _081C54E0 - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - lsls r3, r4, 1 - ldr r1, =0x00000ca9 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r1, 30 - lsrs r1, 30 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r3, r0 - ldr r0, =0x00000e2c - adds r2, r0 - adds r2, r3 - ldrh r0, [r2] - ldr r1, [r5] - ldr r2, =0x00000815 - adds r1, r2 - ldrb r1, [r1] - bl sub_81C6F90 - b _081C54EE - .pool -_081C54E0: - ldr r0, =0x0000ffff - ldr r1, [r5] - ldr r2, =0x00000815 - adds r1, r2 - ldrb r1, [r1] - bl sub_81C6F90 -_081C54EE: - ldr r0, =gUnknown_0203CF2C - ldr r1, [r0] - ldr r0, =0x00000815 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x1 - eors r0, r2 - strb r0, [r1] - adds r0, r4, 0 - bl sub_81C55D8 -_081C5504: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5460 - - thumb_func_start sub_81C5518 -sub_81C5518: @ 81C5518 - push {r4-r6,lr} - sub sp, 0x10 - adds r4, r1, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r2, 24 - lsrs r5, r2, 24 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _081C55B8 - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r1, =0x00000814 - adds r0, r1 - ldrb r1, [r0] - cmp r1, 0xFF - beq _081C5560 - lsls r0, r4, 24 - lsrs r0, 24 - cmp r1, r0 - bne _081C5558 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_81C5AB8 - b _081C5560 - .pool -_081C5558: - adds r0, r5, 0 - movs r1, 0xFF - bl sub_81C5AB8 -_081C5560: - ldr r0, =gStringVar1 - ldr r1, =gSaveBlock2Ptr - ldr r3, [r1] - ldr r2, =0x00000ca9 - adds r1, r3, r2 - ldrb r2, [r1] - lsls r2, 30 - lsrs r2, 30 - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 1 - adds r1, r4, r1 - ldr r2, =0x00000e54 - adds r3, r2 - adds r3, r1 - ldrb r1, [r3] - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar4 - ldr r1, =gText_xVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x7 - adds r1, r4, 0 - movs r2, 0x77 - bl GetStringRightAlignXOffset - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - movs r0, 0xFF - str r0, [sp, 0x8] - str r1, [sp, 0xC] - adds r0, r6, 0 - adds r1, r4, 0 - adds r3, r5, 0 - bl sub_81C6C94 -_081C55B8: - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5518 - - thumb_func_start sub_81C55D8 -sub_81C55D8: @ 81C55D8 - push {r4,lr} - sub sp, 0x10 - adds r3, r0, 0 - movs r0, 0x2 - negs r0, r0 - cmp r3, r0 - beq _081C561C - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - lsls r3, 1 - ldr r1, =0x00000ca9 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r1, 30 - lsrs r1, 30 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r3, r0 - ldr r0, =0x00000e2c - adds r2, r0 - adds r2, r3 - ldrh r0, [r2] - bl ItemId_GetDescription - adds r4, r0, 0 - b _081C5638 - .pool -_081C561C: - ldr r0, =gStringVar1 - ldr r2, =gReturnToXStringsTable2 - ldr r1, =gUnknown_0203CF30 - ldrb r1, [r1, 0x4] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_ReturnToVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders -_081C5638: - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r1, 0 - str r1, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - str r1, [sp, 0x8] - str r1, [sp, 0xC] - adds r1, r4, 0 - movs r2, 0x3 - movs r3, 0 - bl sub_81C6C3C - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C55D8 - - thumb_func_start sub_81C5674 -sub_81C5674: @ 81C5674 - push {r4,lr} - sub sp, 0x10 - ldr r4, =gUnknown_0203CF2C - ldr r1, [r4] - ldr r2, =0x00000816 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0xFF - bne _081C56B4 - adds r2, 0xB - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - subs r0, r1 - str r0, [sp] - ldr r0, =0x00000b5e - str r0, [sp, 0x4] - str r0, [sp, 0x8] - ldr r0, =gUnknown_0203CF38 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0xAC - movs r2, 0xC - movs r3, 0x94 - bl AddScrollIndicatorArrowPairParameterized - ldr r1, [r4] - ldr r2, =0x00000816 - adds r1, r2 - strb r0, [r1] -_081C56B4: - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5674 - - thumb_func_start sub_81C56CC -sub_81C56CC: @ 81C56CC - push {r4,lr} - ldr r4, =gUnknown_0203CF2C - ldr r0, [r4] - ldr r2, =0x00000816 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0xFF - beq _081C56EA - bl RemoveScrollIndicatorArrowPair - ldr r0, [r4] - ldr r1, =0x00000816 - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] -_081C56EA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C56CC - - thumb_func_start sub_81C56F8 -sub_81C56F8: @ 81C56F8 - push {r4,lr} - ldr r0, =sub_81C5BC8 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - ldr r0, =gMultiuseListMenuTemplate - ldr r2, =gUnknown_0203CF30 - ldrh r1, [r2, 0x8] - ldrh r2, [r2, 0x6] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C56F8 - - thumb_func_start sub_81C5738 -sub_81C5738: @ 81C5738 - push {r4-r6,lr} - mov r6, r8 - push {r6} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gSaveBlock2Ptr - ldr r6, [r2] - ldr r3, =0x00000ca9 - adds r2, r6, r3 - ldrb r3, [r2] - lsls r3, 30 - lsrs r2, r3, 30 - lsls r4, r2, 2 - adds r4, r2 - lsls r4, 2 - ldr r2, =0x00000e2c - adds r4, r2 - adds r4, r6, r4 - lsrs r3, 30 - lsls r2, r3, 2 - adds r2, r3 - lsls r2, 1 - ldr r3, =0x00000e54 - adds r2, r3 - adds r6, r2 - lsls r5, r0, 1 - adds r5, r4 - ldrh r2, [r5] - mov r8, r2 - lsls r2, r1, 1 - adds r2, r4 - ldrh r3, [r2] - strh r3, [r5] - mov r3, r8 - strh r3, [r2] - adds r0, r6, r0 - ldrb r2, [r0] - adds r6, r1 - ldrb r1, [r6] - strb r1, [r0] - strb r2, [r6] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5738 - - thumb_func_start sub_81C57A8 -sub_81C57A8: @ 81C57A8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r1, =0x00000ca9 - adds r0, r3, r1 - ldrb r1, [r0] - lsls r1, 30 - lsrs r2, r1, 30 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 2 - ldr r2, =0x00000e2c - adds r0, r2 - adds r6, r3, r0 - lsrs r1, 30 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - ldr r1, =0x00000e54 - adds r0, r1 - adds r3, r0 - cmp r4, r5 - beq _081C5862 - lsls r0, r4, 1 - adds r0, r6 - ldrh r0, [r0] - mov r12, r0 - adds r0, r3, r4 - ldrb r0, [r0] - mov r8, r0 - cmp r5, r4 - bls _081C5830 - subs r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r2, r4, 16 - cmp r4, r5 - bge _081C5854 -_081C5802: - asrs r2, 16 - lsls r0, r2, 1 - adds r0, r6 - ldrh r1, [r0, 0x2] - strh r1, [r0] - adds r1, r3, r2 - ldrb r0, [r1, 0x1] - strb r0, [r1] - adds r2, 0x1 - lsls r2, 16 - asrs r0, r2, 16 - cmp r0, r5 - blt _081C5802 - b _081C5854 - .pool -_081C5830: - lsls r2, r7, 16 - cmp r7, r5 - ble _081C5854 -_081C5836: - asrs r2, 16 - lsls r1, r2, 1 - adds r1, r6 - subs r0, r1, 0x2 - ldrh r0, [r0] - strh r0, [r1] - adds r1, r3, r2 - subs r0, r1, 0x1 - ldrb r0, [r0] - strb r0, [r1] - subs r2, 0x1 - lsls r2, 16 - asrs r0, r2, 16 - cmp r0, r5 - bgt _081C5836 -_081C5854: - lsls r0, r5, 1 - adds r0, r6 - mov r2, r12 - strh r2, [r0] - adds r0, r3, r5 - mov r1, r8 - strb r1, [r0] -_081C5862: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81C57A8 - - thumb_func_start sub_81C586C -sub_81C586C: @ 81C586C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r1, =0x00000ca9 - adds r0, r3, r1 - ldrb r1, [r0] - lsls r1, 30 - lsrs r2, r1, 30 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 2 - ldr r2, =0x00000e2c - adds r0, r2 - adds r0, r3 - mov r9, r0 - lsrs r1, 30 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - ldr r4, =0x00000e54 - adds r0, r4 - adds r3, r0 - mov r8, r3 - movs r5, 0 - movs r3, 0 -_081C58A4: - lsls r0, r5, 1 - mov r1, r9 - adds r2, r0, r1 - ldrh r0, [r2] - mov r4, r8 - adds r1, r4, r5 - cmp r0, 0 - beq _081C58BA - ldrb r0, [r1] - cmp r0, 0 - bne _081C58BE -_081C58BA: - strh r3, [r2] - strb r3, [r1] -_081C58BE: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x9 - bls _081C58A4 - movs r5, 0 -_081C58CA: - adds r1, r5, 0x1 - lsls r0, r1, 24 - lsrs r4, r0, 24 - adds r7, r1, 0 - cmp r4, 0x9 - bhi _081C58FE - lsls r0, r5, 1 - mov r1, r9 - adds r6, r0, r1 -_081C58DC: - ldrh r0, [r6] - cmp r0, 0 - beq _081C58EC - mov r2, r8 - adds r0, r2, r5 - ldrb r0, [r0] - cmp r0, 0 - bne _081C58F4 -_081C58EC: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_81C5738 -_081C58F4: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _081C58DC -_081C58FE: - lsls r0, r7, 24 - lsrs r5, r0, 24 - cmp r5, 0x8 - bls _081C58CA - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C586C - - thumb_func_start sub_81C5924 -sub_81C5924: @ 81C5924 - push {r4-r6,lr} - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r1, =0x00000ca9 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r1, 30 - lsrs r1, 30 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - ldr r1, =0x00000e2c - adds r0, r1 - adds r5, r2, r0 - bl sub_81C586C - ldr r3, =gUnknown_0203CF2C - ldr r0, [r3] - ldr r2, =0x00000821 - adds r0, r2 - movs r1, 0 - strb r1, [r0] - movs r4, 0 - adds r6, r3, 0 -_081C5954: - lsls r0, r4, 1 - adds r0, r5 - ldrh r0, [r0] - ldr r3, =gUnknown_0203CF2C - cmp r0, 0 - beq _081C596A - ldr r1, [r6] - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_081C596A: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x9 - bls _081C5954 - ldr r0, [r3] - ldr r2, =0x00000821 - adds r0, r2 - ldrb r1, [r0] - adds r1, 0x1 - strb r1, [r0] - ldr r0, [r3] - adds r2, r0, r2 - ldrb r2, [r2] - cmp r2, 0x8 - bls _081C59AC - ldr r2, =0x00000822 - adds r1, r0, r2 - movs r0, 0x8 - strb r0, [r1] - b _081C59B2 - .pool -_081C59AC: - ldr r1, =0x00000822 - adds r0, r1 - strb r2, [r0] -_081C59B2: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5924 - - thumb_func_start sub_81C59BC -sub_81C59BC: @ 81C59BC - push {r4,r5,lr} - ldr r0, =gUnknown_0203CF30 - ldrh r1, [r0, 0x8] - adds r3, r0, 0 - ldr r4, =gUnknown_0203CF2C - cmp r1, 0 - beq _081C59E4 - ldrh r0, [r3, 0x8] - ldr r1, [r4] - ldr r5, =0x00000822 - adds r2, r1, r5 - ldrb r2, [r2] - adds r0, r2 - subs r5, 0x1 - adds r1, r5 - ldrb r1, [r1] - cmp r0, r1 - ble _081C59E4 - subs r0, r1, r2 - strh r0, [r3, 0x8] -_081C59E4: - adds r2, r3, 0 - ldrh r1, [r2, 0x8] - ldrh r0, [r2, 0x6] - adds r1, r0 - ldr r0, [r4] - ldr r4, =0x00000821 - adds r0, r4 - ldrb r0, [r0] - cmp r1, r0 - blt _081C5A18 - adds r1, r0, 0 - cmp r1, 0 - bne _081C5A14 - strh r1, [r2, 0x6] - b _081C5A18 - .pool -_081C5A14: - subs r0, 0x1 - strh r0, [r3, 0x6] -_081C5A18: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C59BC - - thumb_func_start sub_81C5A20 -sub_81C5A20: @ 81C5A20 - push {r4-r7,lr} - ldr r0, =gUnknown_0203CF30 - ldrh r1, [r0, 0x6] - adds r5, r0, 0 - cmp r1, 0x4 - bls _081C5A80 - movs r4, 0 - ldrh r0, [r5, 0x6] - subs r0, 0x4 - cmp r4, r0 - bgt _081C5A80 - ldrh r2, [r5, 0x8] - ldr r6, =gUnknown_0203CF2C - ldr r0, [r6] - ldr r3, =0x00000822 - adds r1, r0, r3 - ldrb r1, [r1] - adds r2, r1 - ldr r7, =0x00000821 - adds r0, r7 - ldrb r0, [r0] - cmp r2, r0 - beq _081C5A80 - adds r3, r5, 0 -_081C5A50: - ldrh r0, [r3, 0x6] - subs r0, 0x1 - strh r0, [r3, 0x6] - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrh r0, [r3, 0x6] - subs r0, 0x4 - cmp r4, r0 - bgt _081C5A80 - ldrh r2, [r5, 0x8] - ldr r1, [r6] - ldr r7, =0x00000822 - adds r0, r1, r7 - ldrb r0, [r0] - adds r2, r0 - ldr r0, =0x00000821 - adds r1, r0 - ldrb r1, [r1] - cmp r2, r1 - bne _081C5A50 -_081C5A80: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5A20 - - thumb_func_start sub_81C5A98 -sub_81C5A98: @ 81C5A98 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - bl ListMenuGetYCoordForPrintingArrowCursor - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - bl sub_81C5AB8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C5A98 - - thumb_func_start sub_81C5AB8 -sub_81C5AB8: @ 81C5AB8 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - cmp r2, 0xFF - bne _081C5AF4 - movs r0, 0x1 - movs r1, 0 - bl GetMenuCursorDimensionByFont - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - movs r1, 0x1 - bl GetMenuCursorDimensionByFont - lsls r0, 24 - lsrs r0, 24 - str r4, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - adds r3, r5, 0 - bl FillWindowPixelRect - b _081C5B08 -_081C5AF4: - ldr r1, =gText_SelectorArrow2 - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r2, [sp, 0xC] - movs r2, 0 - adds r3, r5, 0 - bl sub_81C6C3C -_081C5B08: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5AB8 - - thumb_func_start sub_81C5B14 -sub_81C5B14: @ 81C5B14 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81C5B4C - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5B14 - - thumb_func_start sub_81C5B4C -sub_81C5B4C: @ 81C5B4C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r2, r0, r1 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081C5BBC - ldrb r0, [r2] - ldr r4, =gUnknown_0203CF38 - subs r2, r4, 0x2 - adds r1, r4, 0 - bl DestroyListMenuTask - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0 - beq _081C5B94 - bl SetMainCallback2 - b _081C5B9E - .pool -_081C5B94: - adds r0, r4, 0 - subs r0, 0x8 - ldr r0, [r0] - bl SetMainCallback2 -_081C5B9E: - bl sub_81C56CC - bl ResetSpriteData - bl FreeAllSpritePalettes - bl FreeAllWindowBuffers - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - bl Free - adds r0, r5, 0 - bl DestroyTask -_081C5BBC: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5B4C - - thumb_func_start sub_81C5BC8 -sub_81C5BC8: @ 81C5BC8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r7, r0, r1 - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081C5BEA - b _081C5D16 -_081C5BEA: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081C5BF8 - b _081C5D16 -_081C5BF8: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _081C5C5C - ldr r4, =gUnknown_0203CF30 - ldrb r0, [r4, 0x4] - cmp r0, 0x2 - bne _081C5C12 - b _081C5D16 -_081C5C12: - ldrb r0, [r7] - adds r1, r4, 0 - adds r1, 0x8 - adds r2, r4, 0x6 - bl ListMenuGetScrollAndRow - ldrh r1, [r4, 0x8] - ldrh r0, [r4, 0x6] - adds r1, r0 - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r2, =0x00000821 - adds r0, r2 - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - beq _081C5D16 - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_81C67CC - b _081C5D16 - .pool -_081C5C5C: - ldrb r0, [r7] - bl ListMenuHandleInputGetItemId - adds r6, r0, 0 - ldrb r0, [r7] - ldr r1, =gUnknown_0203CF38 - mov r8, r1 - mov r2, r8 - subs r2, 0x2 - bl ListMenuGetScrollAndRow - movs r0, 0x2 - negs r0, r0 - cmp r6, r0 - beq _081C5C88 - adds r0, 0x1 - cmp r6, r0 - bne _081C5CA0 - b _081C5D16 - .pool -_081C5C88: - movs r0, 0x5 - bl PlaySE - ldr r0, =gSpecialVar_ItemId - strh r4, [r0] - adds r0, r5, 0 - bl sub_81C5B14 - b _081C5D16 - .pool -_081C5CA0: - movs r0, 0x5 - bl PlaySE - ldr r2, =gSpecialVar_ItemId - mov r12, r2 - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - lsls r3, r6, 1 - ldr r0, =0x00000ca9 - adds r4, r2, r0 - ldrb r1, [r4] - lsls r1, 30 - lsrs r1, 30 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r3, r0 - ldr r1, =0x00000e2c - adds r0, r2, r1 - adds r0, r3 - ldrh r0, [r0] - mov r1, r12 - strh r0, [r1] - strh r6, [r7, 0x2] - ldrb r1, [r4] - lsls r1, 30 - lsrs r1, 30 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - adds r0, r6, r0 - ldr r1, =0x00000e54 - adds r2, r1 - adds r2, r0 - ldrb r0, [r2] - strh r0, [r7, 0x4] - mov r0, r8 - subs r0, 0x8 - ldrb r0, [r0, 0x4] - cmp r0, 0x2 - bne _081C5D10 - adds r0, r5, 0 - bl sub_81C674C - b _081C5D16 - .pool -_081C5D10: - adds r0, r5, 0 - bl sub_81C5D20 -_081C5D16: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81C5BC8 - - thumb_func_start sub_81C5D20 -sub_81C5D20: @ 81C5D20 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - bl sub_81C56CC - ldrb r0, [r4] - movs r1, 0x1 - bl sub_81C5A98 - ldr r0, =gUnknown_0203CF30 - ldrb r4, [r0, 0x4] - cmp r4, 0x1 - beq _081C5D74 - cmp r4, 0x3 - beq _081C5DC4 - ldr r0, =gUnknown_0203CF2C - ldr r1, [r0] - ldr r0, =0x00000818 - adds r2, r1, r0 - ldr r0, =gUnknown_0861F308 - str r0, [r2] - movs r0, 0x82 - lsls r0, 4 - adds r1, r0 - movs r0, 0x4 - b _081C5DD8 - .pool -_081C5D74: - ldr r0, =gSpecialVar_ItemId - ldrh r0, [r0] - bl ItemId_GetBattleUsage - lsls r0, 24 - cmp r0, 0 - beq _081C5DA0 - ldr r0, =gUnknown_0203CF2C - ldr r1, [r0] - ldr r0, =0x00000818 - adds r2, r1, r0 - ldr r0, =gUnknown_0861F30E - b _081C5DCE - .pool -_081C5DA0: - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r1, =0x00000818 - adds r2, r0, r1 - ldr r1, =gUnknown_0861F310 - str r1, [r2] - movs r1, 0x82 - lsls r1, 4 - adds r0, r1 - strb r4, [r0] - b _081C5DDA - .pool -_081C5DC4: - ldr r0, =gUnknown_0203CF2C - ldr r1, [r0] - ldr r0, =0x00000818 - adds r2, r1, r0 - ldr r0, =gUnknown_0861F30C -_081C5DCE: - str r0, [r2] - movs r0, 0x82 - lsls r0, 4 - adds r1, r0 - movs r0, 0x2 -_081C5DD8: - strb r0, [r1] -_081C5DDA: - ldr r0, =gSpecialVar_ItemId - ldrh r0, [r0] - ldr r1, =gStringVar1 - bl CopyItemName - ldr r4, =gStringVar4 - ldr r1, =gText_Var1IsSelected - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r1, 0 - str r1, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - str r1, [sp, 0x8] - str r1, [sp, 0xC] - adds r1, r4, 0 - movs r2, 0x3 - movs r3, 0 - bl sub_81C6C3C - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - movs r1, 0x82 - lsls r1, 4 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _081C5E3C - movs r0, 0 - b _081C5E42 - .pool -_081C5E3C: - cmp r0, 0x2 - bne _081C5E50 - movs r0, 0x1 -_081C5E42: - bl sub_81C6D24 - lsls r0, 24 - lsrs r0, 24 - bl sub_81C5EAC - b _081C5E62 -_081C5E50: - movs r0, 0x2 - bl sub_81C6D24 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - movs r2, 0x2 - bl sub_81C5F08 -_081C5E62: - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - movs r1, 0x82 - lsls r1, 4 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x4 - bne _081C5E8C - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81C5FE4 - b _081C5E98 - .pool -_081C5E8C: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81C5F68 -_081C5E98: - str r0, [r1] - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5D20 - - thumb_func_start sub_81C5EAC -sub_81C5EAC: @ 81C5EAC - push {r4-r6,lr} - sub sp, 0x14 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - ldr r6, =gUnknown_0203CF2C - ldr r1, [r6] - movs r5, 0x82 - lsls r5, 4 - adds r0, r1, r5 - ldrb r0, [r0] - str r0, [sp, 0x8] - ldr r0, =gUnknown_0861F2D8 - str r0, [sp, 0xC] - ldr r0, =0x00000818 - adds r1, r0 - ldr r0, [r1] - str r0, [sp, 0x10] - adds r0, r4, 0 - movs r1, 0x7 - movs r2, 0x8 - movs r3, 0x1 - bl AddItemMenuActionTextPrinters - ldr r0, [r6] - adds r0, r5 - ldrb r1, [r0] - adds r0, r4, 0 - movs r2, 0 - bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5EAC - - thumb_func_start sub_81C5F08 -sub_81C5F08: @ 81C5F08 - push {r4-r6,lr} - sub sp, 0x14 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - movs r0, 0x38 - str r0, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - ldr r0, =gUnknown_0861F2D8 - str r0, [sp, 0xC] - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r1, =0x00000818 - adds r0, r1 - ldr r0, [r0] - str r0, [sp, 0x10] - adds r0, r4, 0 - movs r1, 0x7 - movs r2, 0x8 - movs r3, 0x1 - bl sub_8198DBC - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0x38 - adds r2, r5, 0 - adds r3, r6, 0 - bl sub_8199944 - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5F08 - - thumb_func_start sub_81C5F68 -sub_81C5F68: @ 81C5F68 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081C5FD0 - bl ProcessMenuInputNoWrapAround - lsls r0, 24 - asrs r4, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _081C5FD0 - adds r0, 0x1 - cmp r4, r0 - bne _081C5FA8 - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_0861F2D8 - ldr r1, [r0, 0x1C] - adds r0, r5, 0 - bl _call_via_r1 - b _081C5FD0 - .pool -_081C5FA8: - movs r0, 0x5 - bl PlaySE - ldr r1, =gUnknown_0861F2D8 - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r2, =0x00000818 - adds r0, r2 - ldr r0, [r0] - adds r0, r4 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r1, [r0] - cmp r1, 0 - beq _081C5FD0 - adds r0, r6, 0 - bl _call_via_r1 -_081C5FD0: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5F68 - - thumb_func_start sub_81C5FE4 -sub_81C5FE4: @ 81C5FE4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081C5FF8 - b _081C6160 -_081C5FF8: - bl GetMenuCursorPos - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, =gMain - ldrh r1, [r5, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081C6040 - lsls r0, r4, 24 - asrs r0, 24 - cmp r0, 0 - bgt _081C6016 - b _081C6160 -_081C6016: - subs r0, 0x2 - lsls r0, 24 - asrs r0, 24 - bl sub_81C616C - lsls r0, 24 - cmp r0, 0 - bne _081C6028 - b _081C6160 -_081C6028: - movs r0, 0x5 - bl PlaySE - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - bl sub_8199134 - b _081C6160 - .pool -_081C6040: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081C6084 - lsls r0, r4, 24 - asrs r1, r0, 24 - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - movs r2, 0x82 - lsls r2, 4 - adds r0, r2 - ldrb r0, [r0] - subs r0, 0x2 - cmp r1, r0 - blt _081C6060 - b _081C6160 -_081C6060: - adds r0, r1, 0x2 - lsls r0, 24 - asrs r0, 24 - bl sub_81C616C - lsls r0, 24 - cmp r0, 0 - beq _081C6160 - movs r0, 0x5 - bl PlaySE - movs r0, 0 - movs r1, 0x1 - bl sub_8199134 - b _081C6160 - .pool -_081C6084: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _081C6098 - bl GetLRKeysState - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081C60C0 -_081C6098: - lsls r0, r4, 24 - asrs r1, r0, 24 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081C6160 - subs r0, r1, 0x1 - lsls r0, 24 - asrs r0, 24 - bl sub_81C616C - lsls r0, 24 - cmp r0, 0 - beq _081C6160 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _081C60FA -_081C60C0: - ldrh r1, [r5, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _081C60D6 - bl GetLRKeysState - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _081C6102 -_081C60D6: - lsls r0, r4, 24 - asrs r1, r0, 24 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081C6160 - adds r0, r1, 0x1 - lsls r0, 24 - asrs r0, 24 - bl sub_81C616C - lsls r0, 24 - cmp r0, 0 - beq _081C6160 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_081C60FA: - movs r1, 0 - bl sub_8199134 - b _081C6160 -_081C6102: - ldrh r1, [r5, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081C6148 - movs r0, 0x5 - bl PlaySE - ldr r2, =gUnknown_0861F2D8 - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - lsls r1, r4, 24 - asrs r1, 24 - ldr r3, =0x00000818 - adds r0, r3 - ldr r0, [r0] - adds r0, r1 - ldrb r0, [r0] - lsls r0, 3 - adds r2, 0x4 - adds r0, r2 - ldr r1, [r0] - cmp r1, 0 - beq _081C6160 - adds r0, r6, 0 - bl _call_via_r1 - b _081C6160 - .pool -_081C6148: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081C6160 - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_0861F2D8 - ldr r1, [r0, 0x1C] - adds r0, r6, 0 - bl _call_via_r1 -_081C6160: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5FE4 - - thumb_func_start sub_81C616C -sub_81C616C: @ 81C616C - push {lr} - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - blt _081C61A0 - ldr r0, =gUnknown_0203CF2C - ldr r2, [r0] - movs r3, 0x82 - lsls r3, 4 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r1, r0 - bgt _081C61A0 - ldr r3, =0x00000818 - adds r0, r2, r3 - ldr r0, [r0] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x5 - beq _081C61A0 - movs r0, 0x1 - b _081C61A2 - .pool -_081C61A0: - movs r0, 0 -_081C61A2: - pop {r1} - bx r1 - thumb_func_end sub_81C616C - - thumb_func_start sub_81C61A8 -sub_81C61A8: @ 81C61A8 - push {lr} - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - movs r1, 0x82 - lsls r1, 4 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _081C61C8 - movs r0, 0 - bl sub_81C6D6C - b _081C61DA - .pool -_081C61C8: - cmp r0, 0x2 - bne _081C61D4 - movs r0, 0x1 - bl sub_81C6D6C - b _081C61DA -_081C61D4: - movs r0, 0x2 - bl sub_81C6D6C -_081C61DA: - pop {r0} - bx r0 - thumb_func_end sub_81C61A8 - - thumb_func_start sub_81C61E0 -sub_81C61E0: @ 81C61E0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gSpecialVar_ItemId - ldrh r0, [r4] - bl ItemId_GetPocket - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - beq _081C620C - cmp r0, 0x2 - beq _081C620C - cmp r0, 0x3 - beq _081C620C - ldrh r0, [r4] - bl ItemIsMail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081C6228 -_081C620C: - bl sub_81C61A8 - ldr r1, =gText_DadsAdvice - ldr r2, =sub_81C6714 - adds r0, r5, 0 - bl DisplayItemMessageInBattlePyramid - b _081C6252 - .pool -_081C6228: - ldrh r0, [r4] - bl ItemId_GetFieldFunc - cmp r0, 0 - beq _081C6252 - bl sub_81C61A8 - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldrh r0, [r4] - bl ItemId_GetFieldFunc - adds r1, r0, 0 - adds r0, r5, 0 - bl _call_via_r1 -_081C6252: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C61E0 - - thumb_func_start sub_81C6258 -sub_81C6258: @ 81C6258 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - bl sub_81C61A8 - movs r1, 0x2 - ldrsh r0, [r4, r1] - bl sub_81C55D8 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - ldrb r0, [r4] - movs r1, 0 - bl sub_81C5A98 - adds r0, r5, 0 - bl sub_81C629C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6258 - - thumb_func_start sub_81C629C -sub_81C629C: @ 81C629C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_81C5674 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81C5BC8 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C629C - - thumb_func_start sub_81C62C4 -sub_81C62C4: @ 81C62C4 - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r6, r0, 3 - ldr r7, =gTasks + 0x8 - adds r4, r6, r7 - bl sub_81C61A8 - movs r0, 0x1 - strh r0, [r4, 0x10] - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _081C62F4 - adds r0, r5, 0 - bl sub_81C6350 - b _081C6334 - .pool -_081C62F4: - ldr r0, =gSpecialVar_ItemId - ldrh r0, [r0] - ldr r1, =gStringVar1 - bl CopyItemName - ldr r4, =gStringVar4 - ldr r1, =gText_TossHowManyVar1s - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r1, 0 - str r1, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - str r1, [sp, 0x8] - str r1, [sp, 0xC] - adds r1, r4, 0 - movs r2, 0x3 - movs r3, 0 - bl sub_81C6C3C - bl sub_81C6404 - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, =sub_81C64B4 - str r1, [r0] -_081C6334: - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C62C4 - - thumb_func_start sub_81C6350 -sub_81C6350: @ 81C6350 - push {r4,r5,lr} - sub sp, 0x10 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - ldr r0, =gSpecialVar_ItemId - ldrh r0, [r0] - ldr r1, =gStringVar1 - bl CopyItemName - ldr r0, =gStringVar2 - movs r2, 0x10 - ldrsh r1, [r4, r2] - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar4 - ldr r1, =gText_ConfirmTossItems - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r1, 0 - str r1, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - str r1, [sp, 0x8] - str r1, [sp, 0xC] - adds r1, r4, 0 - movs r2, 0x3 - movs r3, 0 - bl sub_81C6C3C - ldr r1, =gUnknown_0861F314 - adds r0, r5, 0 - bl sub_81C6DAC - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6350 - - thumb_func_start sub_81C63D0 -sub_81C63D0: @ 81C63D0 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - movs r1, 0x2 - ldrsh r0, [r4, r1] - bl sub_81C55D8 - ldrb r0, [r4] - movs r1, 0 - bl sub_81C5A98 - adds r0, r5, 0 - bl sub_81C629C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C63D0 - - thumb_func_start sub_81C6404 -sub_81C6404: @ 81C6404 - push {r4,lr} - sub sp, 0xC - ldr r0, =gStringVar1 - movs r1, 0x1 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar4 - ldr r1, =gText_xVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x3 - bl sub_81C6CEC - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x28 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x2 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x1 - adds r2, r4, 0 - bl PrintTextOnWindow - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6404 - - thumb_func_start sub_81C645C -sub_81C645C: @ 81C645C - push {r4,lr} - sub sp, 0xC - adds r1, r0, 0 - ldr r0, =gStringVar1 - lsls r1, 16 - asrs r1, 16 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar4 - ldr r1, =gText_xVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x28 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x2 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x1 - adds r2, r4, 0 - bl PrintTextOnWindow - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C645C - - thumb_func_start sub_81C64B4 -sub_81C64B4: @ 81C64B4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - adds r0, r4, 0 - adds r0, 0x10 - ldrh r1, [r4, 0x4] - bl AdjustQuantityAccordingToDPadInput - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081C64E8 - movs r1, 0x10 - ldrsh r0, [r4, r1] - bl sub_81C645C - b _081C6544 - .pool -_081C64E8: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081C651C - movs r0, 0x5 - bl PlaySE - movs r0, 0x3 - movs r1, 0 - bl sub_8198070 - movs r0, 0x3 - bl ClearWindowTilemap - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - adds r0, r5, 0 - bl sub_81C6350 - b _081C6544 - .pool -_081C651C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081C6544 - movs r0, 0x5 - bl PlaySE - movs r0, 0x3 - movs r1, 0 - bl sub_8198070 - movs r0, 0x3 - bl ClearWindowTilemap - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - adds r0, r6, 0 - bl sub_81C63D0 -_081C6544: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81C64B4 - - thumb_func_start sub_81C654C -sub_81C654C: @ 81C654C - push {r4-r6,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r5, =gTasks + 0x8 - adds r6, r4, r5 - ldr r0, =gSpecialVar_ItemId - ldrh r0, [r0] - ldr r1, =gStringVar1 - bl CopyItemName - ldr r0, =gStringVar2 - movs r2, 0x10 - ldrsh r1, [r6, r2] - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r6, =gStringVar4 - ldr r1, =gText_ThrewAwayVar2Var1s - adds r0, r6, 0 - bl StringExpandPlaceholders - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r1, 0 - str r1, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - str r1, [sp, 0x8] - str r1, [sp, 0xC] - adds r1, r6, 0 - movs r2, 0x3 - movs r3, 0 - bl sub_81C6C3C - subs r5, 0x8 - adds r4, r5 - ldr r0, =sub_81C65CC - str r0, [r4] - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C654C - - thumb_func_start sub_81C65CC -sub_81C65CC: @ 81C65CC - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldr r6, =gUnknown_0203CF38 - subs r7, r6, 0x2 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _081C662E - movs r0, 0x5 - bl PlaySE - ldr r0, =gSpecialVar_ItemId - ldrh r0, [r0] - ldrh r1, [r4, 0x10] - bl RemovePyramidBagItem - ldrb r0, [r4] - adds r1, r6, 0 - adds r2, r7, 0 - bl DestroyListMenuTask - bl sub_81C5924 - bl sub_81C59BC - bl sub_81C5314 - ldr r0, =gMultiuseListMenuTemplate - ldrh r1, [r6] - ldrh r2, [r7] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - adds r0, r5, 0 - bl sub_81C629C -_081C662E: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C65CC - - thumb_func_start sub_81C6648 -sub_81C6648: @ 81C6648 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - bl sub_81C61A8 - ldr r5, =gSpecialVar_ItemId - ldrh r0, [r5] - bl ItemIsMail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081C667C - ldr r1, =gText_CantWriteMail - ldr r2, =sub_81C66EC - adds r0, r4, 0 - bl DisplayItemMessageInBattlePyramid - b _081C66A6 - .pool -_081C667C: - ldrh r0, [r5] - bl ItemId_GetImportance - lsls r0, 24 - cmp r0, 0 - bne _081C66A0 - ldr r0, =gUnknown_0203CF2C - ldr r1, [r0] - ldr r0, =sub_81B7F60 - str r0, [r1] - adds r0, r4, 0 - bl sub_81C5B14 - b _081C66A6 - .pool -_081C66A0: - adds r0, r6, 0 - bl sub_81C66AC -_081C66A6: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81C6648 - - thumb_func_start sub_81C66AC -sub_81C66AC: @ 81C66AC - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gSpecialVar_ItemId - ldrh r0, [r0] - ldr r1, =gStringVar1 - bl CopyItemName - ldr r5, =gStringVar4 - ldr r1, =gText_Var1CantBeHeld - adds r0, r5, 0 - bl StringExpandPlaceholders - ldr r2, =sub_81C66EC - adds r0, r4, 0 - adds r1, r5, 0 - bl DisplayItemMessageInBattlePyramid - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C66AC - - thumb_func_start sub_81C66EC -sub_81C66EC: @ 81C66EC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081C670A - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_81C6714 -_081C670A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C66EC - - thumb_func_start sub_81C6714 -sub_81C6714: @ 81C6714 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - bl sub_81C6E1C - movs r1, 0x2 - ldrsh r0, [r4, r1] - bl sub_81C55D8 - ldrb r0, [r4] - movs r1, 0 - bl sub_81C5A98 - adds r0, r5, 0 - bl sub_81C629C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6714 - - thumb_func_start sub_81C674C -sub_81C674C: @ 81C674C - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - ldr r5, =gSpecialVar_ItemId - ldrh r0, [r5] - bl itemid_80BF6D8_mail_related - lsls r0, 24 - cmp r0, 0 - bne _081C677C - ldr r1, =gText_CantWriteMail - ldr r2, =sub_81C66EC - adds r0, r4, 0 - bl DisplayItemMessageInBattlePyramid - b _081C6796 - .pool -_081C677C: - ldrh r0, [r5] - bl ItemId_GetImportance - lsls r0, 24 - cmp r0, 0 - bne _081C6790 - adds r0, r4, 0 - bl sub_81C5B14 - b _081C6796 -_081C6790: - adds r0, r6, 0 - bl sub_81C66AC -_081C6796: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81C674C - - thumb_func_start sub_81C679C -sub_81C679C: @ 81C679C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gSpecialVar_ItemId - ldrh r0, [r4] - bl ItemId_GetBattleFunc - cmp r0, 0 - beq _081C67C0 - bl sub_81C61A8 - ldrh r0, [r4] - bl ItemId_GetBattleFunc - adds r1, r0, 0 - adds r0, r5, 0 - bl _call_via_r1 -_081C67C0: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C679C - - thumb_func_start sub_81C67CC -sub_81C67CC: @ 81C67CC - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - mov r9, r0 - adds r5, r4, r0 - ldr r0, =gUnknown_0203CF30 - ldrh r1, [r0, 0x6] - ldrh r0, [r0, 0x8] - adds r1, r0 - strh r1, [r5, 0x2] - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r2, =0x00000814 - adds r0, r2 - movs r2, 0 - mov r8, r2 - strb r1, [r0] - ldrb r0, [r5] - movs r1, 0x10 - movs r2, 0x1 - bl ListMenuSetUnkIndicatorsStructField - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - movs r0, 0x2 - ldrsh r2, [r5, r0] - lsls r2, 1 - ldr r1, =0x00000ca9 - adds r0, r3, r1 - ldrb r1, [r0] - lsls r1, 30 - lsrs r1, 30 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, r0 - ldr r0, =0x00000e2c - adds r3, r0 - adds r3, r2 - ldrh r0, [r3] - ldr r1, =gStringVar1 - bl CopyItemName - ldr r6, =gStringVar4 - ldr r1, =gText_MoveVar1Where - adds r0, r6, 0 - bl StringExpandPlaceholders - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - mov r1, r8 - str r1, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - str r1, [sp, 0x8] - str r1, [sp, 0xC] - adds r1, r6, 0 - movs r2, 0x3 - movs r3, 0 - bl sub_81C6C3C - ldrb r0, [r5] - movs r1, 0x1 - bl sub_81C5A98 - ldrb r0, [r5, 0x2] - bl sub_81C704C - movs r2, 0x8 - negs r2, r2 - add r9, r2 - add r4, r9 - ldr r0, =sub_81C68B0 - str r0, [r4] - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C67CC - - thumb_func_start sub_81C68B0 -sub_81C68B0: @ 81C68B0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081C695C - ldr r7, =gMain - ldrh r1, [r7, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _081C68F8 - movs r0, 0x5 - bl PlaySE - ldrb r0, [r4] - ldr r1, =gUnknown_0203CF38 - subs r2, r1, 0x2 - bl ListMenuGetScrollAndRow - b _081C6940 - .pool -_081C68F8: - ldrb r0, [r4] - bl ListMenuHandleInputGetItemId - adds r6, r0, 0 - ldrb r0, [r4] - ldr r4, =gUnknown_0203CF38 - subs r2, r4, 0x2 - adds r1, r4, 0 - bl ListMenuGetScrollAndRow - movs r0, 0 - bl sub_81C7028 - subs r4, 0x8 - ldrb r0, [r4, 0x6] - bl sub_81C704C - movs r0, 0x2 - negs r0, r0 - cmp r6, r0 - beq _081C6930 - adds r0, 0x1 - cmp r6, r0 - bne _081C6950 - b _081C695C - .pool -_081C6930: - movs r0, 0x5 - bl PlaySE - ldrh r1, [r7, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081C6948 -_081C6940: - adds r0, r5, 0 - bl sub_81C6964 - b _081C695C -_081C6948: - adds r0, r5, 0 - bl sub_81C6A14 - b _081C695C -_081C6950: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_81C6964 -_081C695C: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81C68B0 - - thumb_func_start sub_81C6964 -sub_81C6964: @ 81C6964 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - ldr r7, =gUnknown_0203CF38 - subs r0, r7, 0x2 - mov r8, r0 - ldrh r0, [r0] - ldrh r1, [r7] - adds r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - movs r3, 0x2 - ldrsh r1, [r5, r3] - cmp r1, r4 - beq _081C6996 - subs r0, r4, 0x1 - cmp r1, r0 - bne _081C69A8 -_081C6996: - adds r0, r6, 0 - bl sub_81C6A14 - b _081C69FC - .pool -_081C69A8: - ldrb r0, [r5, 0x2] - lsls r1, r4, 24 - lsrs r1, 24 - bl sub_81C57A8 - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r1, =0x00000814 - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - movs r0, 0x1 - bl sub_81C7028 - ldrb r0, [r5] - adds r1, r7, 0 - mov r2, r8 - bl DestroyListMenuTask - movs r3, 0x2 - ldrsh r0, [r5, r3] - cmp r0, r4 - bge _081C69E0 - adds r1, r7, 0 - subs r1, 0x8 - ldrh r0, [r1, 0x6] - subs r0, 0x1 - strh r0, [r1, 0x6] -_081C69E0: - bl sub_81C5314 - ldr r0, =gMultiuseListMenuTemplate - ldrh r1, [r7] - mov r3, r8 - ldrh r2, [r3] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - adds r0, r6, 0 - bl sub_81C629C -_081C69FC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6964 - - thumb_func_start sub_81C6A14 -sub_81C6A14: @ 81C6A14 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldr r5, =gUnknown_0203CF38 - subs r7, r5, 0x2 - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r1, =0x00000814 - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - movs r0, 0x1 - bl sub_81C7028 - ldrb r0, [r4] - adds r1, r5, 0 - adds r2, r7, 0 - bl DestroyListMenuTask - movs r0, 0x2 - ldrsh r2, [r4, r0] - ldrh r0, [r5] - ldrh r1, [r7] - adds r0, r1 - cmp r2, r0 - bge _081C6A5E - adds r1, r5, 0 - subs r1, 0x8 - ldrh r0, [r1, 0x6] - subs r0, 0x1 - strh r0, [r1, 0x6] -_081C6A5E: - bl sub_81C5314 - ldr r0, =gMultiuseListMenuTemplate - ldrh r1, [r5] - ldrh r2, [r7] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - adds r0, r6, 0 - bl sub_81C629C - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6A14 - - thumb_func_start sub_81C6A94 -sub_81C6A94: @ 81C6A94 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - ldr r0, =gPlayerParty - mov r9, r0 - movs r0, 0x14 - bl Alloc - adds r7, r0, 0 - movs r0, 0xA - bl Alloc - adds r5, r0, 0 - ldr r1, =gSaveBlock2Ptr - mov r8, r1 - ldr r2, [r1] - ldr r4, =0x00000ca9 - adds r0, r2, r4 - ldrb r0, [r0] - lsls r0, 30 - lsrs r0, 30 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldr r0, =0x00000e2c - adds r1, r0 - adds r0, r7, 0 - movs r2, 0x14 - bl memcpy - mov r1, r8 - ldr r2, [r1] - adds r0, r2, r4 - ldrb r0, [r0] - lsls r0, 30 - lsrs r0, 30 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 1 - adds r1, r2 - ldr r0, =0x00000e54 - adds r1, r0 - adds r0, r5, 0 - movs r2, 0xA - bl memcpy - movs r6, 0 -_081C6AF8: - movs r0, 0x64 - muls r0, r6 - add r0, r9 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r1, sp - strh r0, [r1] - cmp r0, 0 - beq _081C6B88 - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - cmp r0, 0 - bne _081C6B88 - mov r1, r8 - ldr r2, [r1] - adds r0, r2, r4 - ldrb r1, [r0] - lsls r1, 30 - lsrs r1, 30 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x00000e2c - adds r0, r1 - adds r1, r7, 0 - movs r2, 0x14 - bl memcpy - mov r0, r8 - ldr r2, [r0] - adds r0, r2, r4 - ldrb r1, [r0] - lsls r1, 30 - lsrs r1, 30 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - adds r0, r2 - ldr r1, =0x00000e54 - adds r0, r1 - adds r1, r5, 0 - movs r2, 0xA - bl memcpy - adds r0, r7, 0 - bl Free - adds r0, r5, 0 - bl Free - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] - b _081C6BC6 - .pool -_081C6B88: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bls _081C6AF8 - movs r1, 0 - mov r0, sp - strh r1, [r0] - movs r6, 0 - movs r4, 0x64 -_081C6B9C: - adds r0, r6, 0 - muls r0, r4 - add r0, r9 - movs r1, 0xC - mov r2, sp - bl SetMonData - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bls _081C6B9C - ldr r1, =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] - adds r0, r7, 0 - bl Free - adds r0, r5, 0 - bl Free -_081C6BC6: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6A94 - - thumb_func_start sub_81C6BD8 -sub_81C6BD8: @ 81C6BD8 - push {r4,lr} - ldr r0, =gUnknown_0861F328 - bl InitWindows - bl DeactivateAllTextPrinters - movs r0, 0 - movs r1, 0x1 - movs r2, 0xE0 - bl LoadUserWindowBorderGfx - movs r0, 0 - movs r1, 0xA - movs r2, 0xD0 - bl LoadMessageBoxGfx - ldr r0, =gUnknown_0860F074 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r4, 0 -_081C6C04: - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _081C6C04 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6BD8 - - thumb_func_start sub_81C6C3C -sub_81C6C3C: @ 81C6C3C - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x14 - ldr r4, [sp, 0x28] - ldr r6, [sp, 0x2C] - ldr r5, [sp, 0x30] - mov r8, r5 - ldr r5, [sp, 0x34] - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r5, 24 - lsrs r5, 24 - str r4, [sp] - str r6, [sp, 0x4] - lsls r4, r5, 1 - adds r4, r5 - ldr r5, =gUnknown_0861F31C - adds r4, r5 - str r4, [sp, 0x8] - mov r4, r8 - lsls r4, 24 - asrs r4, 24 - str r4, [sp, 0xC] - str r1, [sp, 0x10] - movs r1, 0x1 - bl AddTextPrinterParameterized2 - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6C3C - - thumb_func_start sub_81C6C94 -sub_81C6C94: @ 81C6C94 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x14 - ldr r4, [sp, 0x28] - ldr r6, [sp, 0x2C] - ldr r5, [sp, 0x30] - mov r8, r5 - ldr r5, [sp, 0x34] - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r5, 24 - lsrs r5, 24 - str r4, [sp] - str r6, [sp, 0x4] - lsls r4, r5, 1 - adds r4, r5 - ldr r5, =gUnknown_0861F31C - adds r4, r5 - str r4, [sp, 0x8] - mov r4, r8 - lsls r4, 24 - asrs r4, 24 - str r4, [sp, 0xC] - str r1, [sp, 0x10] - movs r1, 0x7 - bl AddTextPrinterParameterized2 - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6C94 - - thumb_func_start sub_81C6CEC -sub_81C6CEC: @ 81C6CEC - push {lr} - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - movs r2, 0x1 - movs r3, 0xE - bl SetWindowBorderStyle - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - pop {r0} - bx r0 - thumb_func_end sub_81C6CEC - - thumb_func_start sub_81C6D08 -sub_81C6D08: @ 81C6D08 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203CF2C - ldr r1, [r1] - ldr r2, =0x0000080f - adds r1, r2 - adds r1, r0 - ldrb r0, [r1] - bx lr - .pool - thumb_func_end sub_81C6D08 - - thumb_func_start sub_81C6D24 -sub_81C6D24: @ 81C6D24 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_0203CF2C - ldr r3, =0x0000080f - adds r1, r2, r3 - ldr r0, [r0] - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0xFF - bne _081C6D58 - lsls r0, r2, 3 - ldr r1, =gUnknown_0861F350 - adds r0, r1 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - movs r2, 0x1 - movs r3, 0xE - bl SetWindowBorderStyle - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram -_081C6D58: - ldrb r0, [r4] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C6D24 - - thumb_func_start sub_81C6D6C -sub_81C6D6C: @ 81C6D6C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203CF2C - ldr r2, =0x0000080f - adds r0, r2 - ldr r1, [r1] - adds r4, r1, r0 - ldrb r0, [r4] - cmp r0, 0xFF - beq _081C6D9E - movs r1, 0 - bl sub_8198070 - ldrb r0, [r4] - bl ClearWindowTilemap - ldrb r0, [r4] - bl RemoveWindow - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0xFF - strb r0, [r4] -_081C6D9E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6D6C - - thumb_func_start sub_81C6DAC -sub_81C6DAC: @ 81C6DAC - push {lr} - sub sp, 0x10 - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0861F370 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0xE - str r2, [sp, 0x8] - str r3, [sp, 0xC] - movs r2, 0x1 - movs r3, 0 - bl CreateYesNoMenuWithCallbacks - add sp, 0x10 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6DAC - - thumb_func_start DisplayItemMessageInBattlePyramid -@ void DisplayItemMessageInBattlePyramid(u8 taskId, u8 *str, void ( *callback)(u8 taskId)) -DisplayItemMessageInBattlePyramid: @ 81C6DD8 - push {r4-r6,lr} - sub sp, 0x10 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0x11 - bl FillWindowPixelBuffer - bl GetPlayerTextSpeed - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - str r5, [sp, 0x8] - str r6, [sp, 0xC] - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0xA - movs r3, 0xD - bl DisplayMessageAndContinueTask - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end DisplayItemMessageInBattlePyramid - - thumb_func_start sub_81C6E1C -sub_81C6E1C: @ 81C6E1C - push {lr} - movs r0, 0x2 - movs r1, 0 - bl sub_8197DF8 - movs r0, 0x2 - bl ClearWindowTilemap - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - pop {r0} - bx r0 - thumb_func_end sub_81C6E1C - - thumb_func_start sub_81C6E38 -sub_81C6E38: @ 81C6E38 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_0203CF2C - ldr r2, =0x00000804 - adds r1, r4, r2 - ldr r0, [r0] - adds r5, r0, r1 - ldrb r0, [r5] - cmp r0, 0xFF - beq _081C6E80 - ldr r0, =0x00001024 - adds r4, r0 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - bl FreeSpriteOamMatrix - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - movs r0, 0xFF - strb r0, [r5] -_081C6E80: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6E38 - - thumb_func_start sub_81C6E98 -sub_81C6E98: @ 81C6E98 - push {r4,lr} - sub sp, 0x8 - movs r0, 0x40 - bl Alloc - adds r4, r0, 0 - ldr r0, =gUnknown_08D9ADD0 - adds r1, r4, 0 - bl LZDecompressWram - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r0, 25 - adds r0, r4, r0 - str r0, [sp] - ldr r1, =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r1 - ldr r1, =0x00001024 - orrs r0, r1 - str r0, [sp, 0x4] - mov r0, sp - bl LoadSpritePalette - adds r0, r4, 0 - bl Free - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6E98 - - thumb_func_start sub_81C6EF4 -sub_81C6EF4: @ 81C6EF4 - push {r4,lr} - ldr r0, =gUnknown_0203CF2C - ldr r4, [r0] - ldr r0, =0x00000804 - adds r4, r0 - ldr r0, =gUnknown_0861F3D4 - movs r1, 0x44 - movs r2, 0x38 - movs r3, 0 - bl CreateSprite - strb r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6EF4 - - thumb_func_start sub_81C6F20 -sub_81C6F20: @ 81C6F20 - push {r4,lr} - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r1, =0x00000804 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r4, r0, r1 - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _081C6F50 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r0, =sub_81C6F68 - str r0, [r4, 0x1C] -_081C6F50: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6F20 - - thumb_func_start sub_81C6F68 -sub_81C6F68: @ 81C6F68 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _081C6F84 - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAffineAnim - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] -_081C6F84: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6F68 - - thumb_func_start sub_81C6F90 -sub_81C6F90: @ 81C6F90 - push {r4-r6,lr} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r0, =gUnknown_0203CF2C - ldr r2, =0x00000805 - adds r1, r4, r2 - ldr r0, [r0] - adds r5, r0, r1 - ldrb r0, [r5] - cmp r0, 0xFF - bne _081C6FE0 - ldr r0, =0x00001025 - adds r4, r0 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - adds r0, r4, 0 - adds r1, r4, 0 - adds r2, r6, 0 - bl AddItemIconSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _081C6FE0 - strb r2, [r5] - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - movs r1, 0x18 - strh r1, [r0, 0x24] - movs r1, 0x58 - strh r1, [r0, 0x26] -_081C6FE0: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6F90 - - thumb_func_start sub_81C6FF8 -sub_81C6FF8: @ 81C6FF8 - push {lr} - lsls r0, 24 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r0, 24 - bl sub_81C6E38 - pop {r0} - bx r0 - thumb_func_end sub_81C6FF8 - - thumb_func_start sub_81C700C -sub_81C700C: @ 81C700C - push {lr} - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r1, =0x00000807 - adds r0, r1 - movs r1, 0x8 - bl sub_8122344 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C700C - - thumb_func_start sub_81C7028 -sub_81C7028: @ 81C7028 - push {lr} - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r1, =0x00000807 - adds r0, r1 - movs r1, 0x8 - bl sub_81223FC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C7028 - - thumb_func_start sub_81C704C -sub_81C704C: @ 81C704C - push {lr} - adds r3, r0, 0 - lsls r3, 24 - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r1, =0x00000807 - adds r0, r1 - lsrs r3, 4 - movs r1, 0x80 - lsls r1, 13 - adds r3, r1 - lsrs r3, 16 - movs r1, 0x88 - movs r2, 0x78 - bl sub_8122448 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C704C - - thumb_func_start sub_81C7078 -sub_81C7078: @ 81C7078 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - bl is_c1_link_related_active - cmp r0, 0 - bne _081C7090 - ldr r0, =sub_81C7170 - b _081C7092 - .pool -_081C7090: - ldr r0, =sub_81C71E4 -_081C7092: - lsls r1, r4, 24 - lsrs r1, 24 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - movs r1, 0x1 - adds r2, r5, 0 - bl SetWordTaskArg - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r2, =gUnknown_0203CF3C - ldrb r1, [r2] - strh r1, [r0, 0xE] - ldrb r0, [r2] - adds r1, r0, 0x1 - strb r1, [r2] - lsls r0, 24 - lsrs r0, 8 - orrs r0, r4 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C7078 - - thumb_func_start sub_81C70D8 -sub_81C70D8: @ 81C70D8 - push {lr} - ldr r1, =0x0000ffff - ands r1, r0 - lsrs r3, r0, 16 - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r1, r0, r2 - ldrb r0, [r1, 0x4] - cmp r0, 0 - beq _081C711C - ldr r2, [r1] - ldr r0, =sub_81C7170 - cmp r2, r0 - beq _081C70FE - ldr r0, =sub_81C71E4 - cmp r2, r0 - bne _081C711C -_081C70FE: - movs r2, 0xE - ldrsh r0, [r1, r2] - cmp r0, r3 - bne _081C711C - movs r0, 0x1 - b _081C711E - .pool -_081C711C: - movs r0, 0 -_081C711E: - pop {r1} - bx r1 - thumb_func_end sub_81C70D8 - - thumb_func_start sub_81C7124 -sub_81C7124: @ 81C7124 - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - ldr r4, =gTasks -_081C712C: - ldrb r0, [r4, 0x4] - cmp r0, 0 - beq _081C7160 - ldr r1, [r4] - ldr r0, =sub_81C7170 - cmp r1, r0 - beq _081C7140 - ldr r0, =sub_81C71E4 - cmp r1, r0 - bne _081C7160 -_081C7140: - lsls r0, r5, 24 - lsrs r0, 24 - movs r1, 0x1 - bl GetWordTaskArg - cmp r0, r6 - bne _081C7160 - movs r0, 0x1 - b _081C716A - .pool -_081C7160: - adds r4, 0x28 - adds r5, 0x1 - cmp r5, 0xF - ble _081C712C - movs r0, 0 -_081C716A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81C7124 - - thumb_func_start sub_81C7170 -sub_81C7170: @ 81C7170 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - movs r1, 0x1 - bl GetWordTaskArg - adds r6, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - movs r7, 0 -_081C718C: - movs r1, 0 - ldrsh r0, [r4, r1] - bl _call_via_r6 - cmp r0, 0x4 - bhi _081C71D6 - lsls r0, 2 - ldr r1, =_081C71AC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C71AC: - .4byte _081C71C6 - .4byte _081C71C0 - .4byte _081C71DE - .4byte _081C71DA - .4byte _081C71CE -_081C71C0: - ldrh r0, [r4] - adds r0, 0x1 - b _081C71D8 -_081C71C6: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _081C71DE -_081C71CE: - adds r0, r5, 0 - bl DestroyTask - b _081C71DE -_081C71D6: - subs r0, 0x5 -_081C71D8: - strh r0, [r4] -_081C71DA: - cmp r7, 0 - beq _081C718C -_081C71DE: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81C7170 - - thumb_func_start sub_81C71E4 -sub_81C71E4: @ 81C71E4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_8087598 - cmp r0, 0 - bne _081C724A - adds r0, r5, 0 - movs r1, 0x1 - bl GetWordTaskArg - adds r2, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - bl _call_via_r2 - cmp r0, 0x4 - bhi _081C7246 - lsls r0, 2 - ldr r1, =_081C7224 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C7224: - .4byte _081C7238 - .4byte _081C7238 - .4byte _081C724A - .4byte _081C724A - .4byte _081C723E -_081C7238: - ldrh r0, [r4] - adds r0, 0x1 - b _081C7248 -_081C723E: - adds r0, r5, 0 - bl DestroyTask - b _081C724A -_081C7246: - subs r0, 0x5 -_081C7248: - strh r0, [r4] -_081C724A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C71E4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokenav.s b/asm/pokenav.s index dd2dbf4e0..cfad3feda 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -4,6 +4,239 @@ .syntax unified .text + + + + thumb_func_start sub_81C7078 +sub_81C7078: @ 81C7078 + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + bl is_c1_link_related_active + cmp r0, 0 + bne _081C7090 + ldr r0, =sub_81C7170 + b _081C7092 + .pool +_081C7090: + ldr r0, =sub_81C71E4 +_081C7092: + lsls r1, r4, 24 + lsrs r1, 24 + bl CreateTask + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + movs r1, 0x1 + adds r2, r5, 0 + bl SetWordTaskArg + ldr r1, =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r2, =gUnknown_0203CF3C + ldrb r1, [r2] + strh r1, [r0, 0xE] + ldrb r0, [r2] + adds r1, r0, 0x1 + strb r1, [r2] + lsls r0, 24 + lsrs r0, 8 + orrs r0, r4 + pop {r4,r5} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81C7078 + + thumb_func_start sub_81C70D8 +sub_81C70D8: @ 81C70D8 + push {lr} + ldr r1, =0x0000ffff + ands r1, r0 + lsrs r3, r0, 16 + ldr r2, =gTasks + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r1, r0, r2 + ldrb r0, [r1, 0x4] + cmp r0, 0 + beq _081C711C + ldr r2, [r1] + ldr r0, =sub_81C7170 + cmp r2, r0 + beq _081C70FE + ldr r0, =sub_81C71E4 + cmp r2, r0 + bne _081C711C +_081C70FE: + movs r2, 0xE + ldrsh r0, [r1, r2] + cmp r0, r3 + bne _081C711C + movs r0, 0x1 + b _081C711E + .pool +_081C711C: + movs r0, 0 +_081C711E: + pop {r1} + bx r1 + thumb_func_end sub_81C70D8 + + thumb_func_start sub_81C7124 +sub_81C7124: @ 81C7124 + push {r4-r6,lr} + adds r6, r0, 0 + movs r5, 0 + ldr r4, =gTasks +_081C712C: + ldrb r0, [r4, 0x4] + cmp r0, 0 + beq _081C7160 + ldr r1, [r4] + ldr r0, =sub_81C7170 + cmp r1, r0 + beq _081C7140 + ldr r0, =sub_81C71E4 + cmp r1, r0 + bne _081C7160 +_081C7140: + lsls r0, r5, 24 + lsrs r0, 24 + movs r1, 0x1 + bl GetWordTaskArg + cmp r0, r6 + bne _081C7160 + movs r0, 0x1 + b _081C716A + .pool +_081C7160: + adds r4, 0x28 + adds r5, 0x1 + cmp r5, 0xF + ble _081C712C + movs r0, 0 +_081C716A: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_81C7124 + + thumb_func_start sub_81C7170 +sub_81C7170: @ 81C7170 + push {r4-r7,lr} + lsls r0, 24 + lsrs r5, r0, 24 + adds r0, r5, 0 + movs r1, 0x1 + bl GetWordTaskArg + adds r6, r0, 0 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, =gTasks + 0x8 + adds r4, r0, r1 + movs r7, 0 +_081C718C: + movs r1, 0 + ldrsh r0, [r4, r1] + bl _call_via_r6 + cmp r0, 0x4 + bhi _081C71D6 + lsls r0, 2 + ldr r1, =_081C71AC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081C71AC: + .4byte _081C71C6 + .4byte _081C71C0 + .4byte _081C71DE + .4byte _081C71DA + .4byte _081C71CE +_081C71C0: + ldrh r0, [r4] + adds r0, 0x1 + b _081C71D8 +_081C71C6: + ldrh r0, [r4] + adds r0, 0x1 + strh r0, [r4] + b _081C71DE +_081C71CE: + adds r0, r5, 0 + bl DestroyTask + b _081C71DE +_081C71D6: + subs r0, 0x5 +_081C71D8: + strh r0, [r4] +_081C71DA: + cmp r7, 0 + beq _081C718C +_081C71DE: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81C7170 + + thumb_func_start sub_81C71E4 +sub_81C71E4: @ 81C71E4 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + bl sub_8087598 + cmp r0, 0 + bne _081C724A + adds r0, r5, 0 + movs r1, 0x1 + bl GetWordTaskArg + adds r2, r0, 0 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, =gTasks + 0x8 + adds r4, r0, r1 + movs r1, 0 + ldrsh r0, [r4, r1] + bl _call_via_r2 + cmp r0, 0x4 + bhi _081C7246 + lsls r0, 2 + ldr r1, =_081C7224 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081C7224: + .4byte _081C7238 + .4byte _081C7238 + .4byte _081C724A + .4byte _081C724A + .4byte _081C723E +_081C7238: + ldrh r0, [r4] + adds r0, 0x1 + b _081C7248 +_081C723E: + adds r0, r5, 0 + bl DestroyTask + b _081C724A +_081C7246: + subs r0, 0x5 +_081C7248: + strh r0, [r4] +_081C724A: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_81C71E4 thumb_func_start CB2_PokeNav CB2_PokeNav: @ 81C7250 @@ -1238,7 +1471,7 @@ sub_81C7BA4: @ 81C7BA4 movs r1, 0x1 movs r2, 0 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0xC pop {r4,r5} pop {r0} @@ -1585,7 +1818,7 @@ sub_81C7E58: @ 81C7E58 adds r0, r4, 0 movs r2, 0x20 bl LoadPalette - ldr r4, =0x0201c000 + ldr r4, =gDecompressionBuffer mov r0, r8 adds r1, r4, 0 bl LZ77UnCompWram @@ -1667,7 +1900,7 @@ sub_81C7F24: @ 81C7F24 adds r0, r4, 0 movs r2, 0x20 bl LoadPalette - ldr r4, =0x0201d000 + ldr r4, =gDecompressionBuffer+0x1000 adds r0, r6, 0 adds r1, r4, 0 bl LZ77UnCompWram @@ -2326,7 +2559,7 @@ _081C8434: str r6, [sp, 0x8] adds r2, r7, 0 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrh r0, [r4, 0xC] adds r0, 0x1 strh r0, [r4, 0xC] @@ -3474,7 +3707,7 @@ sub_81C8CB4: @ 81C8CB4 str r2, [sp, 0x4] str r6, [sp, 0x8] movs r2, 0x8 - bl box_print + bl AddTextPrinterParameterized3 adds r0, r4, 0 movs r1, 0x1 bl sub_81C8C64 @@ -3536,7 +3769,7 @@ sub_81C8D4C: @ 81C8D4C str r2, [sp, 0x8] adds r2, r5, 0 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized adds r0, r4, 0 movs r1, 0 bl sub_81C8C64 @@ -3602,7 +3835,7 @@ sub_81C8DBC: @ 81C8DBC movs r1, 0x7 movs r2, 0x2 adds r3, r5, 0 - bl box_print + bl AddTextPrinterParameterized3 ldrh r0, [r6, 0x8] lsls r4, 1 ldrb r1, [r6, 0x4] @@ -3664,7 +3897,7 @@ sub_81C8E54: @ 81C8E54 movs r1, 0x7 adds r2, r5, 0 movs r3, 0x2 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrh r0, [r7, 0x8] ldrb r1, [r7, 0x4] str r1, [sp] @@ -6845,7 +7078,7 @@ sub_81CA714: @ 81CA714 str r6, [sp, 0x8] movs r1, 0x1 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0xC pop {r4-r6} pop {r0} @@ -6883,7 +7116,7 @@ sub_81CA770: @ 81CA770 str r6, [sp, 0x8] movs r1, 0x1 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0xC pop {r4-r6} pop {r0} @@ -9840,7 +10073,7 @@ sub_81CBE88: @ 81CBE88 movs r1, 0x7 adds r2, r3, 0 movs r3, 0x2 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0xC pop {r0} bx r0 @@ -9875,7 +10108,7 @@ sub_81CBEB4: @ 81CBEB4 adds r0, r5, 0 movs r1, 0x7 adds r2, r6, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0xC pop {r4-r6} pop {r0} @@ -9923,7 +10156,7 @@ _081CBF24: movs r1, 0x7 add r2, sp, 0xC adds r3, r4, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0x2C pop {r4,r5} pop {r0} @@ -9957,7 +10190,7 @@ _081CBF76: str r1, [sp, 0x8] movs r1, 0x7 movs r3, 0x10 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x80 lsls r0, 21 adds r6, r0 @@ -10142,7 +10375,7 @@ sub_81CC0E0: @ 81CC0E0 str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0x20 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0xC pop {r0} bx r0 @@ -10176,7 +10409,7 @@ sub_81CC11C: @ 81CC11C str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0xC pop {r0} bx r0 @@ -10219,7 +10452,7 @@ sub_81CC158: @ 81CC158 adds r0, r2, 0 adds r2, r5, 0 movs r3, 0x20 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0xC pop {r4,r5} pop {r0} @@ -11461,7 +11694,7 @@ _081CCB44: str r1, [sp, 0x8] movs r1, 0x7 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrh r1, [r5] ldrb r2, [r5, 0x3] adds r0, r4, 0 @@ -11493,7 +11726,7 @@ _081CCB8E: str r1, [sp, 0x8] movs r1, 0x7 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r1, =0x00001041 movs r0, 0xC str r0, [sp] @@ -11523,7 +11756,7 @@ _081CCBDC: str r1, [sp, 0x8] movs r1, 0x7 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrh r1, [r5] ldrb r2, [r5, 0x3] adds r0, r4, 0 @@ -11802,7 +12035,7 @@ _081CCE08: movs r1, 0x7 adds r2, r6, 0 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x80 lsls r0, 21 adds r4, r0 @@ -14918,7 +15151,7 @@ _081CE7DA: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized b _081CE924 _081CE800: bl sub_81CDD5C @@ -14943,7 +15176,7 @@ _081CE80C: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add r1, sp, 0xC movs r0, 0xFC strb r0, [r1] @@ -14969,7 +15202,7 @@ _081CE80C: movs r1, 0x1 add r2, sp, 0xC movs r3, 0x4 - bl PrintTextOnWindow + bl AddTextPrinterParameterized bl sub_81CDD48 adds r1, r0, 0 lsls r1, 16 @@ -14985,7 +15218,7 @@ _081CE80C: movs r1, 0x1 add r2, sp, 0xC movs r3, 0x1C - bl PrintTextOnWindow + bl AddTextPrinterParameterized b _081CE924 .pool _081CE89C: @@ -16965,7 +17198,7 @@ sub_81CF7F4: @ 81CF7F4 movs r1, 0x1 adds r2, r5, 0 movs r3, 0x4 - bl PrintTextOnWindow + bl AddTextPrinterParameterized adds r0, r4, 0 adds r1, r7, 0 movs r2, 0x1 @@ -16981,7 +17214,7 @@ sub_81CF7F4: @ 81CF7F4 movs r1, 0x1 adds r2, r4, 0 movs r3, 0x22 - bl PrintTextOnWindow + bl AddTextPrinterParameterized mov r1, r8 ldrb r0, [r1, 0x8] movs r1, 0x2 @@ -18364,7 +18597,7 @@ sub_81D02B0: @ 81D02B0 adds r0, r4, 0 movs r1, 0x1 add r2, sp, 0xC - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0x1C pop {r4,r5} pop {r0} @@ -19875,7 +20108,7 @@ sub_81D0E84: @ 81D0E84 movs r1, 0x1 movs r2, 0 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 ldrb r0, [r5, 0xA] movs r1, 0x2 bl CopyWindowToVram @@ -19922,7 +20155,7 @@ _081D0F2E: str r1, [sp, 0x8] movs r1, 0x1 movs r2, 0 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x80 lsls r0, 21 adds r5, r0 @@ -19962,7 +20195,7 @@ _081D0F7C: str r1, [sp, 0x8] movs r1, 0x1 movs r2, 0 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x80 lsls r0, 21 adds r6, r0 @@ -20027,7 +20260,7 @@ sub_81D0FF0: @ 81D0FF0 movs r1, 0x1 adds r2, r4, 0 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r6] cmp r0, 0 beq _081D1040 @@ -20072,7 +20305,7 @@ _081D104A: movs r1, 0x1 adds r2, r5, 0 movs r3, 0x3C - bl PrintTextOnWindow + bl AddTextPrinterParameterized adds r0, r4, 0 movs r1, 0x2 bl CopyWindowToVram @@ -20146,7 +20379,7 @@ sub_81D10D0: @ 81D10D0 str r1, [sp, 0x8] movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized mov r1, r8 ldrb r0, [r1, 0xC] movs r1, 0x2 @@ -20169,7 +20402,7 @@ sub_81D1148: @ 81D1148 add r2, sp, 0x8 mov r0, sp bl sub_81D0760 - bl dp13_810BB8C + bl ResetAllPicSprites movs r0, 0x28 movs r1, 0x68 bl sub_81D1184 @@ -20187,7 +20420,7 @@ sub_81D1148: @ 81D1148 sub_81D1178: @ 81D1178 push {lr} ldrh r0, [r0, 0x10] - bl sub_818D820 + bl FreeAndDestroyMonPicSprite pop {r0} bx r0 thumb_func_end sub_81D1178 @@ -20213,7 +20446,7 @@ sub_81D1184: @ 81D1184 ldr r3, =0x0000ffff str r3, [sp, 0xC] movs r3, 0x1 - bl sub_818D7D8 + bl CreateMonPicSprite_HandleDeoxys lsls r0, 16 lsrs r0, 16 ldr r1, =gSprites @@ -20256,7 +20489,7 @@ sub_81D11FC: @ 81D11FC push {r4,r5,lr} adds r4, r0, 0 ldrh r0, [r4, 0x10] - bl sub_818D820 + bl FreeAndDestroyMonPicSprite movs r5, 0x20 negs r5, r5 adds r0, r5, 0 @@ -20873,7 +21106,7 @@ _081D1D8C: movs r1, 0x1 movs r2, 0x8 adds r3, r5, 0 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 _081D1DAC: add sp, 0x34 pop {r4,r5} @@ -22403,7 +22636,7 @@ sub_81D28FC: @ 81D28FC movs r0, 0 movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r5, =gText_PPSlash movs r1, 0x29 mov r10, r1 @@ -22415,7 +22648,7 @@ sub_81D28FC: @ 81D28FC movs r1, 0x1 adds r2, r5, 0 movs r3, 0x4 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r5, =gText_PowerSlash movs r0, 0x1 adds r1, r5, 0 @@ -22432,7 +22665,7 @@ sub_81D28FC: @ 81D28FC movs r0, 0 movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r5, =gText_AccuracySlash movs r0, 0x1 adds r1, r5, 0 @@ -22449,7 +22682,7 @@ sub_81D28FC: @ 81D28FC movs r0, 0 movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x2 negs r0, r0 cmp r9, r0 @@ -22480,7 +22713,7 @@ _081D29C4: movs r1, 0x1 adds r2, r5, 0 movs r3, 0x4 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r1, =gText_PPSlash movs r0, 0x1 movs r2, 0 @@ -22501,7 +22734,7 @@ _081D29C4: movs r0, 0 movs r1, 0x1 add r2, sp, 0xC - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r6, 0x1] cmp r0, 0x1 bhi _081D2A3C @@ -22525,7 +22758,7 @@ _081D2A4A: movs r1, 0x1 adds r2, r5, 0 movs r3, 0x6A - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r6, 0x3] cmp r0, 0 bne _081D2A70 @@ -22550,7 +22783,7 @@ _081D2A7E: movs r1, 0x1 adds r2, r5, 0 movs r3, 0x6A - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r1, =gMoveDescriptionPointers mov r0, r9 subs r0, 0x1 @@ -22565,7 +22798,7 @@ _081D2A7E: movs r1, 0x7 adds r2, r5, 0 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized _081D2AB6: add sp, 0x2C pop {r3-r5} @@ -22585,7 +22818,7 @@ sub_81D2ACC: @ 81D2ACC push {r7} sub sp, 0xC adds r4, r0, 0 - bl sub_816137C + bl ShowHideHearts movs r0, 0x1 movs r1, 0x11 bl FillWindowPixelBuffer @@ -22604,7 +22837,7 @@ sub_81D2ACC: @ 81D2ACC str r6, [sp, 0x8] movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r5, =gText_Appeal2 movs r0, 0x1 adds r1, r5, 0 @@ -22620,7 +22853,7 @@ sub_81D2ACC: @ 81D2ACC movs r0, 0x1 movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r5, =gText_Jam2 movs r0, 0x1 adds r1, r5, 0 @@ -22635,7 +22868,7 @@ sub_81D2ACC: @ 81D2ACC movs r0, 0x1 movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x2 negs r0, r0 cmp r4, r0 @@ -22663,7 +22896,7 @@ _081D2B6C: movs r1, 0x1 adds r2, r5, 0 movs r3, 0x4 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r1, =gContestEffectDescriptionPointers ldrb r0, [r4] lsls r0, 2 @@ -22677,7 +22910,7 @@ _081D2B6C: movs r1, 0x7 adds r2, r5, 0 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x1 movs r1, 0x2 bl CopyWindowToVram @@ -22738,7 +22971,7 @@ sub_81D2BF4: @ 81D2BF4 str r0, [sp, 0xC] movs r1, 0x1 adds r2, r4, 0 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 add sp, 0x10 pop {r4} pop {r0} @@ -24180,7 +24413,7 @@ _081D36CA: movs r1, 0x1 movs r2, 0 adds r3, r5, 0 - bl box_print + bl AddTextPrinterParameterized3 lsls r0, r7, 1 mov r4, sp adds r4, r0 @@ -24203,7 +24436,7 @@ _081D3704: movs r1, 0x1 movs r2, 0x38 adds r3, r5, 0 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0 ldrsh r1, [r4, r0] adds r0, r1, 0 @@ -24234,7 +24467,7 @@ _081D373A: mov r0, r8 movs r1, 0x1 adds r3, r5, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r0, r7, 0x1 lsls r0, 16 lsrs r7, r0, 16 @@ -24352,7 +24585,7 @@ _081D3808: movs r1, 0x1 movs r2, 0 adds r3, r5, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r4, 0x38 lsls r4, 24 lsrs r4, 24 @@ -24366,7 +24599,7 @@ _081D3808: movs r1, 0x1 adds r2, r4, 0 adds r3, r5, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 @@ -27036,7 +27269,7 @@ _081D4E1C: thumb_func_start sub_81D4E30 sub_81D4E30: @ 81D4E30 push {lr} - ldr r0, =0x0201c000 + ldr r0, =gDecompressionBuffer movs r2, 0x80 lsls r2, 6 movs r1, 0 @@ -27657,7 +27890,7 @@ _081D5386: strb r0, [r4, 0x8] b _081D548A _081D5390: - ldr r0, =0x0201c000 + ldr r0, =gDecompressionBuffer bl sub_81D3920 strb r0, [r4, 0xE] ldrb r0, [r4, 0xE] @@ -27683,7 +27916,7 @@ _081D53C0: strb r0, [r4, 0x8] b _081D548A _081D53C6: - ldr r0, =0x0201c000 + ldr r0, =gDecompressionBuffer bl sub_81D3AB0 cmp r0, 0 beq _081D53EC @@ -27846,8 +28079,8 @@ sub_81D5520: @ 81D5520 .pool thumb_func_end sub_81D5520 - thumb_func_start sub_81D5530 -sub_81D5530: @ 81D5530 + thumb_func_start GetTrainerHillOpponentClass +GetTrainerHillOpponentClass: @ 81D5530 lsls r0, 24 movs r1, 0xFF lsls r1, 24 @@ -27863,10 +28096,10 @@ sub_81D5530: @ 81D5530 ldrb r0, [r0] bx lr .pool - thumb_func_end sub_81D5530 + thumb_func_end GetTrainerHillOpponentClass - thumb_func_start sub_81D5554 -sub_81D5554: @ 81D5554 + thumb_func_start GetTrainerHillTrainerName +GetTrainerHillTrainerName: @ 81D5554 push {r4,lr} adds r4, r0, 0 lsls r1, 24 @@ -27892,10 +28125,10 @@ _081D556E: pop {r0} bx r0 .pool - thumb_func_end sub_81D5554 + thumb_func_end GetTrainerHillTrainerName - thumb_func_start sub_81D5588 -sub_81D5588: @ 81D5588 + thumb_func_start GetTrainerHillTrainerFrontSpriteId +GetTrainerHillTrainerFrontSpriteId: @ 81D5588 push {r4,lr} adds r4, r0, 0 lsls r4, 16 @@ -27927,7 +28160,7 @@ sub_81D5588: @ 81D5588 pop {r1} bx r1 .pool - thumb_func_end sub_81D5588 + thumb_func_end GetTrainerHillTrainerFrontSpriteId thumb_func_start sub_81D55D0 sub_81D55D0: @ 81D55D0 @@ -28091,8 +28324,8 @@ _081D5722: .pool thumb_func_end sub_81D5710 - thumb_func_start sub_81D572C -sub_81D572C: @ 81D572C + thumb_func_start CopyTrainerHillTrainerText +CopyTrainerHillTrainerText: @ 81D572C push {r4-r6,lr} adds r4, r1, 0 lsls r0, 24 @@ -28208,7 +28441,7 @@ _081D580E: pop {r0} bx r0 .pool - thumb_func_end sub_81D572C + thumb_func_end CopyTrainerHillTrainerText thumb_func_start sub_81D581C sub_81D581C: @ 81D581C @@ -28746,7 +28979,7 @@ PrintOnTrainerHillRecordsWindow: @ 81D5C8C movs r0, 0 movs r1, 0x1 movs r3, 0x2 - bl box_print + bl AddTextPrinterParameterized3 movs r7, 0x12 movs r0, 0 mov r8, r0 @@ -28769,7 +29002,7 @@ _081D5CD6: movs r0, 0 movs r1, 0x1 movs r2, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r7, 0xF ldr r0, =gSaveBlock1Ptr ldr r1, =0x00003718 @@ -28835,7 +29068,7 @@ _081D5CD6: str r0, [sp, 0x8] movs r0, 0 movs r1, 0x1 - bl box_print + bl AddTextPrinterParameterized3 adds r7, 0x11 movs r1, 0x1 add r8, r1 @@ -29471,7 +29704,7 @@ sub_81D62B4: @ 81D62B4 ldr r0, =gSpecialVar_LastTalked ldrh r1, [r0] movs r0, 0x5 - bl sub_81D572C + bl CopyTrainerHillTrainerText bl sub_80982B8 pop {r0} bx r0 diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s index fd2cccca3..33ace5757 100644 --- a/asm/rom_8011DC0.s +++ b/asm/rom_8011DC0.s @@ -2831,7 +2831,7 @@ sub_8017020: @ 8017020 thumb_func_start sub_801704C sub_801704C: @ 801704C push {lr} - bl sub_8197224 + bl RunTextPrintersAndIsPrinter0Active lsls r0, 16 cmp r0, 0 beq _0801705C @@ -2871,7 +2871,7 @@ _08017076: b _080170AE .pool _0801709C: - bl sub_8197224 + bl RunTextPrintersAndIsPrinter0Active lsls r0, 16 lsrs r0, 16 cmp r0, 0 @@ -2920,7 +2920,7 @@ _080170E0: negs r0, r0 b _08017110 _080170F2: - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 movs r2, 0x80 @@ -5689,7 +5689,7 @@ _08018720: movs r1, 0x1 movs r2, 0x4 movs r3, 0x1 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 movs r0, 0 adds r1, r7, 0 movs r2, 0xDE @@ -5705,7 +5705,7 @@ _08018720: movs r0, 0 movs r1, 0 movs r3, 0x1 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 movs r0, 0 movs r1, 0x2 bl CopyWindowToVram @@ -5877,7 +5877,7 @@ sub_8018884: @ 8018884 movs r1, 0x1 movs r2, 0 movs r3, 0x1 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 movs r0, 0x1 movs r1, 0x1 movs r2, 0xF @@ -6230,7 +6230,7 @@ _08018B4A: str r1, [sp, 0x10] movs r1, 0x1 movs r3, 0x1 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 ldrb r0, [r4] movs r1, 0x1 movs r2, 0xF @@ -6278,7 +6278,7 @@ _08018BD6: b _08018C3E .pool _08018BE4: - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r6, r0, 24 movs r1, 0x80 @@ -6376,7 +6376,7 @@ _08018C8C: str r1, [sp, 0x10] movs r1, 0x1 movs r3, 0x1 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 ldrb r0, [r5] movs r1, 0x1 movs r2, 0xF @@ -7909,7 +7909,7 @@ bgid_upload_textbox_1: @ 8019938 lsls r2, 1 movs r3, 0 str r3, [sp] - bl copy_decompressed_tile_data_to_vram_autofree + bl DecompressAndLoadBgGfxUsingHeap add sp, 0x4 pop {r0} bx r0 @@ -9386,7 +9386,7 @@ sub_801A43C: @ 801A43C movs r0, 0x1 movs r2, 0 movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree + bl DecompressAndLoadBgGfxUsingHeap ldr r1, =gWirelessInfoScreenTilemap movs r0, 0x1 movs r2, 0 @@ -9928,7 +9928,7 @@ _0801A93A: adds r0, r7, 0 adds r1, r6, 0 adds r2, r5, 0 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 add sp, 0x18 pop {r4-r7} pop {r0} @@ -10249,7 +10249,7 @@ sub_801AB68: @ 801AB68 movs r1, 0x1 adds r2, r6, 0 ldr r3, [sp, 0x14] - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 add sp, 0x18 pop {r3-r5} mov r8, r3 @@ -12955,7 +12955,7 @@ _0801C1D0: movs r1, 0x3 movs r2, 0 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 ldr r4, [r7] movs r1, 0xDA lsls r1, 1 @@ -12996,7 +12996,7 @@ _0801C22E: adds r0, r5, 0 movs r1, 0x3 movs r3, 0x11 - bl box_print + bl AddTextPrinterParameterized3 ldr r2, [r7] ldr r0, [r2, 0x4] mov r9, r6 @@ -13023,7 +13023,7 @@ _0801C266: movs r1, 0x1 movs r2, 0xA6 movs r3, 0x11 - bl box_print + bl AddTextPrinterParameterized3 b _0801C498 .pool _0801C2A0: @@ -13064,7 +13064,7 @@ _0801C2A2: lsrs r0, r2, 24 movs r1, 0x3 movs r2, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r4, 0x1 lsls r4, 24 lsrs r0, r4, 24 @@ -13104,7 +13104,7 @@ _0801C304: adds r0, r5, 0 movs r1, 0x3 movs r2, 0 - bl box_print + bl AddTextPrinterParameterized3 ldr r2, [r7] ldrb r1, [r2, 0x8] movs r0, 0x3 @@ -13137,7 +13137,7 @@ _0801C304: adds r0, r5, 0 movs r1, 0x3 movs r2, 0 - bl box_print + bl AddTextPrinterParameterized3 mov r9, r6 b _0801C498 .pool @@ -13202,7 +13202,7 @@ _0801C3CE: ldr r0, [sp, 0x10] movs r1, 0x3 ldr r3, [sp, 0x14] - bl box_print + bl AddTextPrinterParameterized3 ldr r1, [r7] adds r0, r1, r5 ldr r2, =0x00000306 @@ -13240,7 +13240,7 @@ _0801C3CE: ldr r0, [sp, 0x10] movs r1, 0x3 ldr r3, [sp, 0x14] - bl box_print + bl AddTextPrinterParameterized3 ldr r1, [r7] adds r1, r4 adds r1, 0x2A @@ -14515,7 +14515,7 @@ _0801CEEC: str r4, [sp, 0x8] movs r1, 0x3 movs r3, 0x6 - bl box_print + bl AddTextPrinterParameterized3 _0801CF1C: ldr r6, =gUnknown_02022C78 ldr r4, [r6] @@ -14550,7 +14550,7 @@ _0801CF1C: str r4, [sp, 0x8] movs r1, 0x3 movs r2, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -15650,7 +15650,7 @@ _0801D7D0: b _0801D804 .pool _0801D7F0: - ldr r0, =0x0201c000 + ldr r0, =gDecompressionBuffer ldr r1, [r4, 0x18] movs r2, 0x80 lsls r2, 3 @@ -15723,7 +15723,7 @@ _0801D858: sub_801D860: @ 801D860 push {r4,lr} adds r4, r0, 0 - ldr r3, =0x0201c000 + ldr r3, =gDecompressionBuffer adds r0, r4, 0x4 ldr r1, =gSaveBlock2Ptr ldr r1, [r1] @@ -20539,7 +20539,7 @@ sub_801FDDC: @ 801FDDC str r4, [sp, 0x4] str r6, [sp, 0x8] movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r5] ldrb r0, [r0, 0x18] ldr r2, =gText_No @@ -20549,7 +20549,7 @@ sub_801FDDC: @ 801FDDC str r6, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r5] ldrb r0, [r0, 0x18] movs r1, 0x1 @@ -20757,7 +20757,7 @@ _0801FFE2: adds r0, r5, 0 movs r1, 0x1 adds r2, r6, 0 - bl sub_8199F74 + bl AddTextPrinterParameterized5 b _0802007A .pool _08020050: @@ -20779,7 +20779,7 @@ _08020050: adds r0, r5, 0 movs r1, 0x1 adds r2, r6, 0 - bl sub_8199F74 + bl AddTextPrinterParameterized5 _0802007A: ldr r0, =gUnknown_02022C88 ldr r0, [r0] @@ -20926,7 +20926,7 @@ _08020154: movs r0, 0x1 movs r1, 0x2 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0x34 pop {r3-r5} mov r8, r3 @@ -21004,7 +21004,7 @@ _08020206: movs r0, 0x2 movs r1, 0 lsrs r2, r5, 24 - bl box_print + bl AddTextPrinterParameterized3 adds r4, 0x4 adds r7, 0x1 adds r0, r6, 0 @@ -21043,7 +21043,7 @@ _08020248: movs r4, 0x80 lsls r4, 19 lsrs r2, r4, 24 - bl box_print + bl AddTextPrinterParameterized3 adds r0, r7, 0x1 str r0, [sp, 0x48] adds r6, 0xC @@ -21094,7 +21094,7 @@ _080202AC: movs r0, 0x2 movs r1, 0 adds r3, r4, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r2, r7, 0 add r0, sp, 0xC str r0, [sp] @@ -21106,7 +21106,7 @@ _080202AC: movs r0, 0x2 movs r1, 0 adds r3, r4, 0 - bl box_print + bl AddTextPrinterParameterized3 _08020300: ldr r7, [sp, 0x48] mov r4, r10 @@ -21299,7 +21299,7 @@ sub_8020420: @ 8020420 movs r1, 0x2 movs r2, 0 adds r3, r4, 0 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0x10 pop {r4,r5} pop {r0} @@ -23909,7 +23909,7 @@ sub_80219C8: @ 80219C8 movs r1, 0x2 adds r2, r4, 0 movs r3, 0 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0xC pop {r3} mov r8, r3 @@ -24217,7 +24217,7 @@ _08021C5E: ldr r1, =gStringVar4 str r1, [sp, 0x8] movs r1, 0x2 - bl box_print + bl AddTextPrinterParameterized3 ldr r3, [sp, 0x18] ldr r2, [sp, 0xC] ldrb r2, [r2, 0x8] @@ -24260,7 +24260,7 @@ _08021CC8: str r2, [sp, 0x8] movs r1, 0x2 movs r2, 0x4 - bl box_print + bl AddTextPrinterParameterized3 lsls r0, r5, 24 lsrs r5, r0, 24 ldr r3, [sp, 0xC] @@ -24324,7 +24324,7 @@ sub_8021D34: @ 8021D34 movs r1, 0x2 movs r2, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 ldr r4, =gText_SpaceSec movs r0, 0x2 adds r1, r4, 0 @@ -24345,7 +24345,7 @@ sub_8021D34: @ 8021D34 movs r1, 0x2 adds r2, r6, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x9F lsls r0, 1 add r0, r8 @@ -24386,7 +24386,7 @@ sub_8021D34: @ 8021D34 movs r1, 0x2 adds r2, r6, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 ldr r4, =gText_SpaceMin movs r0, 0x2 adds r1, r4, 0 @@ -24406,7 +24406,7 @@ sub_8021D34: @ 8021D34 movs r1, 0x2 adds r2, r6, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x9E lsls r0, 1 add r0, r8 @@ -24437,7 +24437,7 @@ sub_8021D34: @ 8021D34 movs r1, 0x2 adds r2, r6, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r0, r7, 0 adds r0, 0xE lsls r0, 24 @@ -24452,7 +24452,7 @@ sub_8021D34: @ 8021D34 movs r1, 0x2 movs r2, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 ldr r4, =gText_TimesPerSec movs r0, 0x2 adds r1, r4, 0 @@ -24474,7 +24474,7 @@ sub_8021D34: @ 8021D34 movs r1, 0x2 adds r2, r6, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 mov r4, r8 ldrb r2, [r4, 0x16] ldrh r0, [r4, 0x16] @@ -24555,7 +24555,7 @@ _08021F0A: movs r1, 0x2 adds r2, r6, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 b _08021FDE .pool _08021FC4: @@ -24570,7 +24570,7 @@ _08021FC4: movs r1, 0x2 adds r2, r6, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 _08021FDE: adds r0, r7, 0 adds r0, 0xE @@ -24591,7 +24591,7 @@ _08021FDE: movs r1, 0x2 movs r2, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 ldr r0, =gStringVar1 ldr r4, [sp, 0x10] ldrh r1, [r4, 0x8] @@ -24620,7 +24620,7 @@ _08021FDE: movs r1, 0x2 adds r2, r6, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0x1C pop {r3-r5} mov r8, r3 @@ -24942,7 +24942,7 @@ _080222D0: movs r1, 0x1 adds r2, r7, 0 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 ldr r0, =gText_PressingSpeedRankings mov r10, r0 movs r0, 0x1 @@ -24962,7 +24962,7 @@ _080222D0: movs r1, 0x1 adds r2, r7, 0 movs r3, 0x11 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x29 mov r10, r0 _08022336: @@ -24985,7 +24985,7 @@ _08022336: movs r1, 0x1 movs r2, 0 mov r3, r10 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x1 ldr r1, =gText_TimesPerSec movs r2, 0x1 @@ -25005,7 +25005,7 @@ _08022336: movs r1, 0x1 adds r2, r7, 0 mov r3, r10 - bl box_print + bl AddTextPrinterParameterized3 movs r2, 0 mov r0, r9 lsls r4, r0, 1 @@ -25078,7 +25078,7 @@ _080223CA: movs r1, 0x1 adds r2, r7, 0 mov r3, r10 - bl box_print + bl AddTextPrinterParameterized3 ldr r1, [sp, 0x10] lsls r0, r1, 24 lsrs r0, 24 @@ -25326,7 +25326,7 @@ _08022616: str r4, [sp, 0x10] movs r1, 0x2 movs r3, 0x1 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 b _0802269C .pool _08022668: @@ -25353,7 +25353,7 @@ _08022668: str r4, [sp, 0x10] movs r1, 0x2 movs r3, 0x1 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 _0802269C: ldr r1, =0x000001bb adds r0, r6, r1 @@ -25386,7 +25386,7 @@ sub_80226D0: @ 80226D0 adds r6, r0, 0 movs r5, 0 ldr r0, =gUnknown_08DE3FD4 - ldr r4, =0x0201c000 + ldr r4, =gDecompressionBuffer adds r1, r4, 0 bl LZ77UnCompWram b _0802271A @@ -26229,7 +26229,7 @@ _08022D42: movs r0, 0 movs r1, 0x1 adds r2, r4, 0 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 b _08022DB2 .pool _08022D90: @@ -26248,7 +26248,7 @@ _08022D90: str r0, [sp, 0xC] movs r0, 0 movs r1, 0x1 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 _08022DB2: movs r0, 0 movs r1, 0x3 @@ -28812,7 +28812,7 @@ _080241A6: movs r0, 0 movs r1, 0x1 movs r3, 0 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -28890,7 +28890,7 @@ _0802426A: bl sub_8197930 b _080242D0 _08024270: - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r4, r0, 24 movs r0, 0x2 @@ -29171,7 +29171,7 @@ _08024460: str r1, [sp, 0xC] movs r0, 0 movs r1, 0x1 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 b _080244AC .pool _08024490: @@ -29187,7 +29187,7 @@ _08024490: str r0, [sp, 0xC] movs r0, 0 movs r1, 0x1 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 _080244AC: movs r0, 0 movs r1, 0x3 @@ -29653,7 +29653,7 @@ sub_80247D4: @ 80247D4 movs r1, 0x1 mov r2, r9 mov r3, r8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0xC pop {r3,r4} mov r8, r3 @@ -29695,7 +29695,7 @@ sub_802482C: @ 802482C adds r0, r6, 0 movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized str r4, [sp] adds r0, r6, 0 mov r1, r8 @@ -36210,7 +36210,7 @@ sub_8027BEC: @ 8027BEC adds r0, r7, 0 movs r1, 0x1 adds r2, r4, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r6, 0 ldr r2, =gStringVar1 mov r8, r2 @@ -36252,7 +36252,7 @@ _08027C76: adds r0, r7, 0 movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, [sp, 0x18] lsls r3, r2, 3 subs r3, r5 @@ -36269,7 +36269,7 @@ _08027C76: adds r0, r7, 0 movs r1, 0x1 mov r2, r8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized adds r6, 0x1 cmp r6, 0x2 ble _08027C76 @@ -39391,7 +39391,7 @@ _0802955A: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 mov r2, r10 ldr r0, [r2] add r0, r9 @@ -39648,7 +39648,7 @@ _08029774: str r3, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized bl GetMultiplayerId lsls r0, 24 lsrs r0, 24 @@ -39677,7 +39677,7 @@ _080297CC: movs r1, 0x1 movs r2, 0x1C adds r3, r6, 0 - bl box_print + bl AddTextPrinterParameterized3 add r0, sp, 0xC mov r1, r9 movs r2, 0 @@ -39704,7 +39704,7 @@ _080297CC: str r1, [sp, 0x8] movs r1, 0x1 add r2, sp, 0xC - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, =gUnknown_02022CF8 ldr r0, [r2] add r0, r10 @@ -39719,7 +39719,7 @@ _080297CC: movs r1, 0x1 ldr r2, =gText_SpacePoints lsrs r3, 24 - bl PrintTextOnWindow + bl AddTextPrinterParameterized adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -39858,7 +39858,7 @@ _0802996C: movs r5, 0 str r5, [sp, 0x8] mov r2, r8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r4] add r0, r9 ldrb r0, [r0] @@ -39869,7 +39869,7 @@ _0802996C: str r5, [sp, 0x8] movs r1, 0x1 movs r3, 0x44 - bl PrintTextOnWindow + bl AddTextPrinterParameterized mov r9, r5 ldr r0, [sp, 0xC] cmp r9, r0 @@ -39908,7 +39908,7 @@ _080299F2: str r6, [sp, 0x8] movs r1, 0x1 movs r2, 0 - bl box_print + bl AddTextPrinterParameterized3 movs r7, 0 mov r8, r5 mov r0, r9 @@ -39971,7 +39971,7 @@ _08029A36: mov r1, r10 str r1, [sp, 0x8] movs r1, 0x1 - bl box_print + bl AddTextPrinterParameterized3 b _08029B10 .pool _08029AE0: @@ -39997,7 +39997,7 @@ _08029AE0: str r1, [sp, 0x8] movs r1, 0x1 ldr r2, =gStringVar4 - bl PrintTextOnWindow + bl AddTextPrinterParameterized _08029B10: adds r0, r7, 0x1 lsls r0, 24 @@ -40125,7 +40125,7 @@ _08029BFC: str r1, [sp, 0x8] movs r1, 0x1 adds r2, r6, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized b _08029F88 .pool _08029C60: @@ -40291,7 +40291,7 @@ _08029DA0: str r6, [sp, 0x8] movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized bl DynamicPlaceholderTextUtil_Reset bl sub_802762C lsls r0, 16 @@ -40317,7 +40317,7 @@ _08029DA0: movs r1, 0x1 adds r2, r7, 0 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized bl sub_80279C8 lsls r0, 24 lsrs r4, r0, 24 @@ -40363,7 +40363,7 @@ _08029EA8: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized _08029EC8: ldr r4, =gUnknown_02022CF8 ldr r0, [r4] @@ -40597,7 +40597,7 @@ _0802A0CC: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r7] add r0, r10 ldrb r0, [r0] @@ -40609,7 +40609,7 @@ _0802A0CC: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r7] add r0, r10 ldrb r0, [r0] @@ -40622,7 +40622,7 @@ _0802A0CC: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r7] add r0, r10 ldrb r0, [r0] @@ -40634,7 +40634,7 @@ _0802A0CC: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r7] add r0, r8 ldrb r0, [r0] @@ -40701,7 +40701,7 @@ _0802A1DC: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r7] add r0, r8 ldrb r0, [r0] @@ -40714,7 +40714,7 @@ _0802A1DC: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r7] add r0, r8 ldrb r0, [r0] @@ -40731,7 +40731,7 @@ _0802A1DC: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r7] add r0, r8 ldrb r0, [r0] @@ -40901,7 +40901,7 @@ _0802A3AE: movs r0, 0 movs r1, 0x1 movs r3, 0 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 b _0802A410 .pool _0802A3D8: @@ -41021,7 +41021,7 @@ _0802A4AC: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r5] adds r0, r4 ldrb r0, [r0] @@ -41181,7 +41181,7 @@ _0802A610: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r6] adds r0, r4 ldrb r0, [r0] @@ -47057,7 +47057,7 @@ _0802D46A: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r5] ldrb r0, [r0, 0x12] movs r1, 0x2 @@ -47141,7 +47141,7 @@ _0802D516: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r5] ldrb r0, [r0, 0x12] movs r1, 0x2 @@ -47259,7 +47259,7 @@ _0802D606: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r5] ldrb r0, [r0, 0x12] movs r1, 0x2 @@ -47339,7 +47339,7 @@ _0802D6AA: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r5] ldrb r0, [r0, 0x12] movs r1, 0x2 @@ -47538,7 +47538,7 @@ sub_802D7E8: @ 802D7E8 str r1, [sp, 0x4] str r3, [sp, 0x8] movs r1, 0x1 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r5] ldrb r0, [r0, 0x12] movs r1, 0x2 @@ -47592,7 +47592,7 @@ sub_802D884: @ 802D884 str r5, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r4] ldrb r0, [r0, 0x12] movs r1, 0x2 @@ -47645,7 +47645,7 @@ sub_802D8FC: @ 802D8FC str r5, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r4] ldrb r0, [r0, 0x12] movs r1, 0x2 @@ -47811,7 +47811,7 @@ _0802DA84: thumb_func_start sub_802DA8C sub_802DA8C: @ 802DA8C push {lr} - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r0, 24 pop {r1} @@ -47951,7 +47951,7 @@ sub_802DB8C: @ 802DB8C movs r1, 0 movs r2, 0 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 add r0, sp, 0xC str r0, [sp] str r4, [sp, 0x4] @@ -47961,7 +47961,7 @@ sub_802DB8C: @ 802DB8C movs r1, 0 movs r2, 0 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0x10 pop {r4} pop {r0} @@ -48390,7 +48390,7 @@ sub_802DED8: @ 802DED8 movs r1, 0x1 adds r2, r4, 0 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 ldr r0, [r6] adds r0, 0x1C add r0, r8 @@ -49203,7 +49203,7 @@ sub_802E500: @ 802E500 adds r0, r4, 0 movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r6, 0 adds r7, r4, 0 movs r0, 0xFF @@ -49231,7 +49231,7 @@ _0802E58A: adds r0, r7, 0 movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [sp, 0x20] ldm r0!, {r1} str r0, [sp, 0x20] @@ -49258,7 +49258,7 @@ _0802E58A: adds r0, r7, 0 movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x80 lsls r0, 21 add r8, r0 diff --git a/asm/rom_header.inc b/asm/rom_header.inc index 1cef6393c..6730efae2 100644 --- a/asm/rom_header.inc +++ b/asm/rom_header.inc @@ -1,38 +1,19 @@ .global RomHeaderNintendoLogo RomHeaderNintendoLogo: - .byte 0x24,0xff,0xae,0x51,0x69,0x9a,0xa2,0x21 - .byte 0x3d,0x84,0x82,0x0a,0x84,0xe4,0x09,0xad - .byte 0x11,0x24,0x8b,0x98,0xc0,0x81,0x7f,0x21 - .byte 0xa3,0x52,0xbe,0x19,0x93,0x09,0xce,0x20 - .byte 0x10,0x46,0x4a,0x4a,0xf8,0x27,0x31,0xec - .byte 0x58,0xc7,0xe8,0x33,0x82,0xe3,0xce,0xbf - .byte 0x85,0xf4,0xdf,0x94,0xce,0x4b,0x09,0xc1 - .byte 0x94,0x56,0x8a,0xc0,0x13,0x72,0xa7,0xfc - .byte 0x9f,0x84,0x4d,0x73,0xa3,0xca,0x9a,0x61 - .byte 0x58,0x97,0xa3,0x27,0xfc,0x03,0x98,0x76 - .byte 0x23,0x1d,0xc7,0x61,0x03,0x04,0xae,0x56 - .byte 0xbf,0x38,0x84,0x00,0x40,0xa7,0x0e,0xfd - .byte 0xff,0x52,0xfe,0x03,0x6f,0x95,0x30,0xf1 - .byte 0x97,0xfb,0xc0,0x85,0x60,0xd6,0x80,0x25 - .byte 0xa9,0x63,0xbe,0x03,0x01,0x4e,0x38,0xe2 - .byte 0xf9,0xa2,0x34,0xff,0xbb,0x3e,0x03,0x44 - .byte 0x78,0x00,0x90,0xcb,0x88,0x11,0x3a,0x94 - .byte 0x65,0xc0,0x7c,0x63,0x87,0xf0,0x3c,0xaf - .byte 0xd6,0x25,0xe4,0x8b,0x38,0x0a,0xac,0x72 - .byte 0x21,0xd4,0xf8,0x07 + .space 156 RomHeaderGameTitle: - .ascii "POKEMON EMER" + .space 12 .global RomHeaderGameCode RomHeaderGameCode: - .ascii "BPEE" + .space 4 RomHeaderMakerCode: - .ascii "01" + .space 2 RomHeaderMagic: - .byte 0x96 + .byte 0 RomHeaderMainUnitCode: .byte 0 @@ -41,18 +22,14 @@ RomHeaderDeviceType: .byte 0 RomHeaderReserved1: - .rept 7 - .byte 0 - .endr + .space 7 .global RomHeaderSoftwareVersion RomHeaderSoftwareVersion: .byte 0 RomHeaderChecksum: - .byte 0x72 + .byte 0 RomHeaderReserved2: - .rept 2 - .byte 0 - .endr + .space 2 diff --git a/asm/roulette.s b/asm/roulette.s index d3dd5fd9e..f5d2dc372 100644 --- a/asm/roulette.s +++ b/asm/roulette.s @@ -519,7 +519,7 @@ _081406E0: str r5, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r4] movs r1, 0x3 bl CopyWindowToVram @@ -751,7 +751,7 @@ sub_8140914: @ 8140914 str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r5] movs r1, 0x3 bl CopyWindowToVram @@ -2655,7 +2655,7 @@ _08141902: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r4] movs r1, 0x3 bl CopyWindowToVram @@ -2678,7 +2678,7 @@ _08141928: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r4] movs r1, 0x3 bl CopyWindowToVram @@ -2816,7 +2816,7 @@ sub_8141A18: @ 8141A18 movs r1, 0x1 mov r2, r8 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r5] movs r1, 0x3 bl CopyWindowToVram @@ -3012,7 +3012,7 @@ _08141BB0: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r4] movs r1, 0x3 bl CopyWindowToVram @@ -3039,7 +3039,7 @@ _08141C58: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r4] movs r1, 0x3 bl CopyWindowToVram @@ -3071,7 +3071,7 @@ _08141CBC: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r4] movs r1, 0x3 bl CopyWindowToVram @@ -3158,7 +3158,7 @@ _08141D44: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r4] movs r1, 0x3 bl CopyWindowToVram @@ -4676,7 +4676,7 @@ sub_81429F0: @ 81429F0 movs r1, 0x1 adds r2, r4, 0 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -4753,7 +4753,7 @@ sub_8142A88: @ 8142A88 str r0, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -4778,7 +4778,7 @@ _08142B28: movs r1, 0x1 adds r2, r4, 0 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -4808,7 +4808,7 @@ _08142B78: movs r1, 0x1 adds r2, r5, 0 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -4948,7 +4948,7 @@ sub_8142CD0: @ 8142CD0 sub sp, 0x8 ldr r4, =gUnknown_085B7488 ldr r0, [r4] - ldr r5, =0x0201c000 + ldr r5, =gDecompressionBuffer adds r1, r5, 0 bl LZ77UnCompWram str r5, [sp] @@ -5575,7 +5575,7 @@ sub_81431E4: @ 81431E4 sub sp, 0xC ldr r4, =gUnknown_085B741C ldr r0, [r4] - ldr r5, =0x0201c000 + ldr r5, =gDecompressionBuffer adds r1, r5, 0 bl LZ77UnCompWram str r5, [sp, 0x4] @@ -5720,7 +5720,7 @@ sub_8143314: @ 8143314 push {r7} sub sp, 0x8 movs r5, 0 - ldr r7, =0x0201c000 + ldr r7, =gDecompressionBuffer mov r6, sp _08143322: ldr r0, =gUnknown_085B7750 @@ -6448,7 +6448,7 @@ sub_814391C: @ 814391C sub sp, 0x8 ldr r4, =gUnknown_085B7948 ldr r0, [r4] - ldr r5, =0x0201c000 + ldr r5, =gDecompressionBuffer adds r1, r5, 0 bl LZ77UnCompWram str r5, [sp] diff --git a/asm/script_menu.s b/asm/script_menu.s index a2e2ec59e..bb145e78d 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -327,7 +327,7 @@ _080E2090: ldrsh r0, [r5, r1] cmp r0, 0 bne _080E209E - bl ProcessMenuInputNoWrapAround + bl Menu_ProcessInputNoWrapAround b _080E20A2 _080E209E: bl ProcessMenuInput @@ -444,7 +444,7 @@ task_yes_no_maybe: @ 80E215C b _080E21C4 .pool _080E2180: - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 movs r0, 0x1 @@ -761,7 +761,7 @@ _080E23D4: adds r0, r6, 0 movs r1, 0x1 adds r3, r7, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, =gText_LogOff movs r0, 0x31 str r0, [sp] @@ -770,7 +770,7 @@ _080E23D4: adds r0, r6, 0 movs r1, 0x1 adds r3, r7, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized b _080E247A .pool _080E2448: @@ -795,7 +795,7 @@ _080E2448: adds r0, r6, 0 movs r1, 0x1 adds r3, r7, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized _080E247A: ldr r0, =0x000008ab bl FlagGet @@ -813,7 +813,7 @@ _080E247A: adds r0, r6, 0 movs r1, 0x1 adds r3, r7, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized b _080E24C6 .pool _080E24B0: @@ -826,7 +826,7 @@ _080E24B0: adds r0, r6, 0 movs r1, 0x1 adds r3, r7, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized _080E24C6: ldr r4, =gStringVar4 ldr r1, =gText_PlayersPC @@ -877,7 +877,7 @@ ScriptMenu_DisplayPCStartupPrompt: @ 80E2514 movs r0, 0 movs r1, 0x1 movs r3, 0 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 add sp, 0x10 pop {r0} bx r0 @@ -1228,7 +1228,7 @@ _080E2802: adds r0, r6, 0 movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -1498,7 +1498,7 @@ CreateWindowFromRect: @ 80E2A1C movs r1, 0 adds r2, r4, 0 adds r3, r5, 0 - bl sub_8198A50 + bl CreateWindowTemplate ldr r0, [sp, 0x10] ldr r1, [sp, 0x14] str r0, [sp, 0x18] @@ -1606,7 +1606,7 @@ _080E2B12: movs r0, 0 movs r1, 0x1 movs r3, 0 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 b _080E2B70 .pool _080E2B40: @@ -1630,7 +1630,7 @@ _080E2B40: movs r0, 0 movs r1, 0x1 movs r3, 0 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 _080E2B70: add sp, 0x10 pop {r4} @@ -1687,7 +1687,7 @@ CreateStartMenu: @ 80E2BAC adds r0, r4, 0 movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, =gText_MenuOptionPokemon movs r0, 0x19 str r0, [sp] @@ -1696,7 +1696,7 @@ CreateStartMenu: @ 80E2BAC adds r0, r4, 0 movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, =gText_MenuOptionBag movs r0, 0x29 str r0, [sp] @@ -1705,7 +1705,7 @@ CreateStartMenu: @ 80E2BAC adds r0, r4, 0 movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, =gText_MenuOptionPokenav movs r0, 0x39 str r0, [sp] @@ -1714,7 +1714,7 @@ CreateStartMenu: @ 80E2BAC adds r0, r4, 0 movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, =gSaveBlock2Ptr ldr r2, [r0] movs r0, 0x49 @@ -1724,7 +1724,7 @@ CreateStartMenu: @ 80E2BAC adds r0, r4, 0 movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, =gText_MenuOptionSave movs r0, 0x59 str r0, [sp] @@ -1733,7 +1733,7 @@ CreateStartMenu: @ 80E2BAC adds r0, r4, 0 movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, =gText_MenuOptionOption movs r0, 0x69 str r0, [sp] @@ -1742,7 +1742,7 @@ CreateStartMenu: @ 80E2BAC adds r0, r4, 0 movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, =gText_MenuOptionExit movs r0, 0x79 str r0, [sp] @@ -1751,7 +1751,7 @@ CreateStartMenu: @ 80E2BAC adds r0, r4, 0 movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x10 str r0, [sp] movs r0, 0x8 diff --git a/asm/script_pokemon_util_80F87D8.s b/asm/script_pokemon_util_80F87D8.s index bf1d0e156..b7388b41b 100644 --- a/asm/script_pokemon_util_80F87D8.s +++ b/asm/script_pokemon_util_80F87D8.s @@ -10,7 +10,7 @@ sub_80F87D8: @ 80F87D8 push {r4,lr} ldr r0, =gSaveBlock1Ptr ldr r2, [r0] - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons ldrb r3, [r1, 0x15] ldr r4, =0x000013bc adds r0, r2, r4 @@ -150,8 +150,8 @@ sub_80F88DC: @ 80F88DC thumb_func_start sub_80F88E8 sub_80F88E8: @ 80F88E8 push {lr} - ldr r0, =gUnknown_02039F20 - ldr r1, =gUnknown_02039F25 + ldr r0, =gContestFinalStandings + ldr r1, =gContestPlayerMonIndex ldrb r2, [r1] adds r0, r2, r0 ldrb r0, [r0] @@ -218,11 +218,11 @@ sub_80F8970: @ 80F8970 mov r5, r8 push {r5-r7} sub sp, 0x8 - ldr r0, =gUnknown_02039F00 + ldr r0, =gContestMonConditions mov r12, r0 ldr r1, =gSpecialVar_0x8006 mov r9, r1 - ldr r2, =gUnknown_02039E00 + 2 + ldr r2, =gContestMons + 2 mov r10, r2 mov r2, r12 mov r1, sp @@ -413,7 +413,7 @@ ShowContestWinner: @ 80F8ADC thumb_func_start sub_80F8AFC sub_80F8AFC: @ 80F8AFC push {r4,r5,lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -422,7 +422,7 @@ sub_80F8AFC: @ 80F8AFC movs r3, 0 ldr r0, =gUnknown_02039F30 adds r4, r0, 0 - ldr r5, =gUnknown_02039E00 + ldr r5, =gContestMons ldrb r0, [r4] cmp r3, r0 bge _080F8B50 @@ -482,7 +482,7 @@ sub_80F8B94: @ 80F8B94 ldr r1, =gReservedSpritePaletteCount movs r0, 0xC strb r0, [r1] - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -594,8 +594,8 @@ sub_80F8C7C: @ 80F8C7C strb r0, [r1] cmp r0, 0 bne _080F8D18 - ldr r0, =gUnknown_02039F20 - ldr r1, =gUnknown_02039F25 + ldr r0, =gContestFinalStandings + ldr r1, =gContestPlayerMonIndex ldrb r2, [r1] adds r0, r2, r0 ldrb r0, [r0] @@ -675,7 +675,7 @@ _080F8D44: mov r9, r0 movs r1, 0x3 mov r10, r1 - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r4, =gSpecialVar_0x8006 ldrh r1, [r4] lsls r1, 6 @@ -702,7 +702,7 @@ _080F8D44: movs r1, 0 strh r1, [r0, 0x8] strh r6, [r0, 0xA] - ldr r1, =gUnknown_02039F25 + ldr r1, =gContestPlayerMonIndex ldrh r0, [r4] ldrb r1, [r1] cmp r0, r1 @@ -758,7 +758,7 @@ _080F8DD8: bl CreateSprite lsls r0, 24 lsrs r5, r0, 24 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -938,7 +938,7 @@ _080F8F98: thumb_func_start sub_80F8FA0 sub_80F8FA0: @ 80F8FA0 push {r4,lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -973,13 +973,13 @@ _080F8FDE: thumb_func_start sub_80F8FE8 sub_80F8FE8: @ 80F8FE8 push {r4,lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 cmp r0, 0 beq _080F9020 - ldr r2, =gUnknown_030060B8 + ldr r2, =gContestRngValue ldr r1, [r2] ldr r0, =0x41c64e6d muls r0, r1 @@ -1007,7 +1007,7 @@ _080F902A: thumb_func_start sub_80F903C sub_80F903C: @ 80F903C - ldr r2, =gUnknown_030060B8 + ldr r2, =gContestRngValue ldr r1, [r2] ldr r0, =0x41c64e6d muls r0, r1 @@ -1022,7 +1022,7 @@ sub_80F903C: @ 80F903C thumb_func_start sub_80F905C sub_80F905C: @ 80F905C push {lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x2 ands r0, r1 @@ -1087,7 +1087,7 @@ _080F90D4: thumb_func_start sub_80F90DC sub_80F90DC: @ 80F90DC push {lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x2 ands r0, r1 @@ -1110,7 +1110,7 @@ _080F90FE: thumb_func_start sub_80F910C sub_80F910C: @ 80F910C push {lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x2 ands r0, r1 @@ -1130,7 +1130,7 @@ _080F9126: thumb_func_start sub_80F9134 sub_80F9134: @ 80F9134 push {lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x4 ands r0, r1 @@ -1148,7 +1148,7 @@ _080F914E: thumb_func_start sub_80F9154 sub_80F9154: @ 80F9154 - ldr r1, =gUnknown_02039F2A + ldr r1, =gIsLinkContest movs r0, 0 strb r0, [r1] bx lr @@ -1158,7 +1158,7 @@ sub_80F9154: @ 80F9154 thumb_func_start sub_80F9160 sub_80F9160: @ 80F9160 push {lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x2 ands r0, r1 diff --git a/asm/shop.s b/asm/shop.s index 1412fef22..807237389 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -137,7 +137,7 @@ Task_ShopMenu: @ 80DFB88 lsls r0, 24 lsrs r4, r0, 24 adds r5, r4, 0 - bl ProcessMenuInputNoWrapAround + bl Menu_ProcessInputNoWrapAround lsls r0, 24 asrs r2, r0, 24 movs r0, 0x2 @@ -839,7 +839,7 @@ _080E0176: adds r0, r6, 0 movs r1, 0x7 adds r3, r7, 0 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 _080E01AC: add sp, 0x14 pop {r4-r7} @@ -1201,7 +1201,7 @@ BuyMenuPrint: @ 80E04A4 str r6, [sp, 0xC] str r1, [sp, 0x10] movs r1, 0x1 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 add sp, 0x14 pop {r4-r6} pop {r0} diff --git a/asm/slot_machine.s b/asm/slot_machine.s deleted file mode 100644 index 4f76d1b69..000000000 --- a/asm/slot_machine.s +++ /dev/null @@ -1,11223 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_812A4DC -sub_812A4DC: @ 812A4DC - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0 - beq _0812A500 - cmp r1, 0x1 - beq _0812A518 - b _0812A530 - .pool -_0812A500: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0812A530 -_0812A518: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0812A530 - ldr r0, =sub_812A588 - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_0812A530: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812A4DC - - thumb_func_start PlaySlotMachine -PlaySlotMachine: @ 812A540 - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r1, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =gUnknown_0203AB34 - movs r0, 0x68 - bl AllocZeroed - str r0, [r5] - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_812A6D4 - ldr r0, =sub_812A4DC - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end PlaySlotMachine - - thumb_func_start sub_812A588 -sub_812A588: @ 812A588 - push {lr} - sub sp, 0x4 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xB - bhi _0812A666 - lsls r0, 2 - ldr r1, =_0812A5AC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0812A5AC: - .4byte _0812A5DC - .4byte _0812A5E6 - .4byte _0812A5EC - .4byte _0812A5F6 - .4byte _0812A5FC - .4byte _0812A602 - .4byte _0812A608 - .4byte _0812A60E - .4byte _0812A638 - .4byte _0812A63E - .4byte _0812A644 - .4byte _0812A660 -_0812A5DC: - bl sub_812A750 - bl sub_812A8C4 - b _0812A64C -_0812A5E6: - bl sub_812A7BC - b _0812A64C -_0812A5EC: - bl sub_812A810 - bl sub_812A834 - b _0812A64C -_0812A5F6: - bl sub_812A9AC - b _0812A64C -_0812A5FC: - bl sub_812A9CC - b _0812A64C -_0812A602: - bl sub_812AA48 - b _0812A64C -_0812A608: - bl sub_812A79C - b _0812A64C -_0812A60E: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - b _0812A64C -_0812A638: - bl sub_812FBC4 - b _0812A64C -_0812A63E: - bl sub_812FB14 - b _0812A64C -_0812A644: - bl sub_812AA78 - bl sub_812AA90 -_0812A64C: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0812A666 - .pool -_0812A660: - ldr r0, =sub_812A670 - bl SetMainCallback2 -_0812A666: - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_812A588 - - thumb_func_start sub_812A670 -sub_812A670: @ 812A670 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_812A670 - - thumb_func_start sub_812A688 -sub_812A688: @ 812A688 - push {r4,lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - ldr r4, =gUnknown_0203AB34 - ldr r0, [r4] - adds r0, 0x58 - ldrh r1, [r0] - movs r0, 0x40 - bl SetGpuReg - ldr r0, [r4] - adds r0, 0x5A - ldrh r1, [r0] - movs r0, 0x44 - bl SetGpuReg - ldr r0, [r4] - adds r0, 0x5C - ldrh r1, [r0] - movs r0, 0x48 - bl SetGpuReg - ldr r0, [r4] - adds r0, 0x5E - ldrh r1, [r0] - movs r0, 0x4A - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812A688 - - thumb_func_start sub_812A6D4 -sub_812A6D4: @ 812A6D4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =TaskDummy9 - movs r1, 0xFF - bl CreateTask - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks - adds r0, r1 - strh r4, [r0, 0x8] - adds r0, 0xA - adds r1, r5, 0 - bl StoreWordInTwoHalfwords - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812A6D4 - - thumb_func_start sub_812A710 -sub_812A710: @ 812A710 - push {lr} - ldr r0, =TaskDummy9 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - ldr r0, =gTasks - adds r2, r0 - ldr r3, =gUnknown_0203AB34 - ldr r1, [r3] - ldrh r0, [r2, 0x8] - strb r0, [r1, 0x1] - adds r2, 0xA - ldr r1, [r3] - adds r1, 0x64 - adds r0, r2, 0 - bl LoadWordFromTwoHalfwords - pop {r0} - bx r0 - .pool - thumb_func_end sub_812A710 - - thumb_func_start TaskDummy9 -TaskDummy9: @ 812A74C - bx lr - thumb_func_end TaskDummy9 - - thumb_func_start sub_812A750 -sub_812A750: @ 812A750 - push {lr} - sub sp, 0x4 - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - movs r0, 0 - str r0, [sp] - movs r1, 0xC0 - lsls r1, 19 - ldr r2, =0x05006000 - mov r0, sp - bl CpuSet - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085A7424 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r0, =gUnknown_085A7434 - bl InitWindows - bl DeactivateAllTextPrinters - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_812A750 - - thumb_func_start sub_812A79C -sub_812A79C: @ 812A79C - push {lr} - ldr r0, =sub_812A688 - bl SetVBlankCallback - movs r0, 0x1 - bl EnableInterrupts - movs r1, 0xC1 - lsls r1, 6 - movs r0, 0 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end sub_812A79C - - thumb_func_start sub_812A7BC -sub_812A7BC: @ 812A7BC - push {r4-r7,lr} - sub sp, 0x4 - movs r2, 0xC0 - lsls r2, 19 - movs r3, 0x80 - lsls r3, 9 - mov r4, sp - movs r6, 0 - ldr r1, =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_0812A7DA: - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r5 - subs r3, r5 - cmp r3, r5 - bhi _0812A7DA - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812A7BC - - thumb_func_start sub_812A810 -sub_812A810: @ 812A810 - sub sp, 0x4 - movs r2, 0xE0 - lsls r2, 19 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r0, =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, =0x81000200 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - add sp, 0x4 - bx lr - .pool - thumb_func_end sub_812A810 - - thumb_func_start sub_812A834 -sub_812A834: @ 812A834 - push {lr} - movs r0, 0x8 - movs r1, 0 - bl SetGpuReg - movs r0, 0xA - movs r1, 0 - bl SetGpuReg - movs r0, 0xC - movs r1, 0 - bl SetGpuReg - movs r0, 0xE - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x1C - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x3F - bl SetGpuReg - ldr r1, =0x00001048 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x00000809 - movs r0, 0x52 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end sub_812A834 - - thumb_func_start sub_812A8C4 -sub_812A8C4: @ 812A8C4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - bl sub_812A710 - ldr r5, =gUnknown_0203AB34 - ldr r0, [r5] - movs r4, 0 - strb r4, [r0] - ldr r0, [r5] - strb r4, [r0, 0x2] - bl Random - ldr r2, [r5] - movs r1, 0x1 - ands r1, r0 - strb r1, [r2, 0x3] - ldr r0, [r5] - strb r4, [r0, 0x4] - ldr r0, [r5] - movs r1, 0 - strh r4, [r0, 0x8] - strb r1, [r0, 0xA] - ldr r0, [r5] - strb r1, [r0, 0xB] - bl GetCoins - ldr r2, [r5] - strh r0, [r2, 0xC] - strh r4, [r2, 0xE] - strh r4, [r2, 0x10] - strh r4, [r2, 0x12] - strh r4, [r2, 0x18] - movs r0, 0x8 - strh r0, [r2, 0x1A] - adds r1, r2, 0 - adds r1, 0x58 - movs r0, 0xF0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0xA0 - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0x5C - movs r1, 0x3F - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - bl GetCurrentMapMusic - ldr r1, [r5] - adds r1, 0x60 - strh r0, [r1] - movs r7, 0 - ldr r0, =gUnknown_085A76B4 - mov r8, r0 -_0812A934: - ldr r0, =gUnknown_0203AB34 - ldr r4, [r0] - lsls r6, r7, 1 - adds r0, r4, 0 - adds r0, 0x22 - adds r0, r6 - movs r1, 0 - strh r1, [r0] - adds r5, r4, 0 - adds r5, 0x28 - adds r5, r6 - ldrb r0, [r4, 0x3] - lsls r0, 1 - lsls r1, r7, 2 - adds r0, r1 - add r0, r8 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x15 - bl __modsi3 - strh r0, [r5] - adds r4, 0x1C - adds r4, r6 - movs r2, 0 - ldrsh r0, [r5, r2] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - movs r2, 0xFC - lsls r2, 1 - adds r0, r2, 0 - subs r0, r1 - strh r0, [r4] - movs r1, 0 - ldrsh r0, [r4, r1] - adds r1, r2, 0 - bl __modsi3 - strh r0, [r4] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x2 - bls _0812A934 - bl GetCoins - lsls r0, 16 - lsrs r0, 16 - bl sub_80EDE70 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812A8C4 - - thumb_func_start sub_812A9AC -sub_812A9AC: @ 812A9AC - push {lr} - bl ResetPaletteFade - bl ResetSpriteData - ldr r1, =gOamLimit - movs r0, 0x80 - strb r0, [r1] - bl FreeAllSpritePalettes - bl ResetTasks - pop {r0} - bx r0 - .pool - thumb_func_end sub_812A9AC - - thumb_func_start sub_812A9CC -sub_812A9CC: @ 812A9CC - push {r4,r5,lr} - ldr r4, =gUnknown_0203AACC - movs r0, 0x8 - bl Alloc - str r0, [r4] - ldr r4, =gUnknown_0203AAD0 - movs r0, 0xE - bl AllocZeroed - str r0, [r4] - ldr r5, =gUnknown_0203AADC - movs r0, 0x8 - bl AllocZeroed - str r0, [r5] - ldr r1, [r4] - ldr r2, =0x00002051 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, [r4] - ldr r2, =0x00002851 - adds r0, r2, 0 - strh r0, [r1, 0x2] - ldr r2, =0x00002061 - adds r0, r2, 0 - strh r0, [r1, 0x4] - ldr r2, =0x00002861 - adds r0, r2, 0 - strh r0, [r1, 0x6] - ldr r2, =0x000020be - adds r0, r2, 0 - strh r0, [r1, 0x8] - ldr r2, =0x000028be - adds r0, r2, 0 - strh r0, [r1, 0xA] - ldr r2, =0x000020bf - adds r0, r2, 0 - strh r0, [r1, 0xC] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812A9CC - - thumb_func_start sub_812AA48 -sub_812AA48: @ 812AA48 - push {lr} - bl sub_812F908 - bl sub_812F958 - bl sub_812F7E4 - movs r1, 0x80 - lsls r1, 2 - movs r0, 0 - movs r2, 0xF0 - bl LoadMessageBoxGfx - movs r1, 0x85 - lsls r1, 2 - movs r0, 0 - movs r2, 0xE0 - bl LoadUserWindowBorderGfx - movs r0, 0 - bl PutWindowTilemap - pop {r0} - bx r0 - thumb_func_end sub_812AA48 - - thumb_func_start sub_812AA78 -sub_812AA78: @ 812AA78 - push {lr} - bl sub_812E0E4 - bl sub_812E1C8 - bl sub_812CEF4 - bl sub_812E300 - pop {r0} - bx r0 - thumb_func_end sub_812AA78 - - thumb_func_start sub_812AA90 -sub_812AA90: @ 812AA90 - push {lr} - bl sub_812D188 - bl sub_812BE5C - bl sub_812DE94 - bl sub_812AAA8 - pop {r0} - bx r0 - thumb_func_end sub_812AA90 - - thumb_func_start sub_812AAA8 -sub_812AAA8: @ 812AAA8 - push {r4,lr} - ldr r4, =sub_812AAC8 - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812AAA8 - - thumb_func_start sub_812AAC8 -sub_812AAC8: @ 812AAC8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r6, =gUnknown_085A7450 - lsls r1, r0, 2 - adds r1, r0 - lsls r4, r1, 3 - ldr r5, =gTasks -_0812AAD8: - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 2 - adds r0, r6 - ldr r1, [r0] - adds r0, r4, r5 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0812AAD8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812AAC8 - - thumb_func_start sub_812AB04 -sub_812AB04: @ 812AB04 - push {r4,lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r4, =gUnknown_0203AB34 - ldr r0, [r4] - ldrb r0, [r0, 0x2] - bl sub_812D3B4 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812AB04 - - thumb_func_start sub_812AB38 -sub_812AB38: @ 812AB38 - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0812AB50 - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0812AB50: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812AB38 - - thumb_func_start sub_812AB60 -sub_812AB60: @ 812AB60 - push {lr} - ldr r3, =gUnknown_0203AB34 - ldr r1, [r3] - movs r0, 0 - strh r0, [r1, 0xE] - strh r0, [r1, 0x12] - strh r0, [r1, 0x18] - ldrb r2, [r1, 0x4] - movs r0, 0xC0 - ands r0, r2 - strb r0, [r1, 0x4] - ldr r1, [r3] - movs r0, 0x4 - strb r0, [r1] - ldr r3, [r3] - movs r1, 0xC - ldrsh r0, [r3, r1] - cmp r0, 0 - bgt _0812AB90 - movs r0, 0x19 - strb r0, [r3] - b _0812ABA0 - .pool -_0812AB90: - ldrb r0, [r3, 0xA] - cmp r0, 0 - beq _0812ABA0 - movs r0, 0x3 - strb r0, [r3] - movs r0, 0x4 - bl sub_812DEE4 -_0812ABA0: - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_812AB60 - - thumb_func_start sub_812ABA8 -sub_812ABA8: @ 812ABA8 - push {lr} - bl sub_812E054 - lsls r0, 24 - cmp r0, 0 - beq _0812ABBC - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0x4 - strb r0, [r1] -_0812ABBC: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812ABA8 - - thumb_func_start sub_812ABC8 -sub_812ABC8: @ 812ABC8 - push {lr} - movs r0, 0 - bl sub_812DEE4 - ldr r2, =gUnknown_0203AB34 - ldr r1, [r2] - movs r0, 0x5 - strb r0, [r1] - ldr r2, [r2] - movs r0, 0xC - ldrsh r1, [r2, r0] - ldr r0, =0x0000270e - cmp r1, r0 - ble _0812ABE8 - movs r0, 0x17 - strb r0, [r2] -_0812ABE8: - movs r0, 0x1 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812ABC8 - - thumb_func_start sub_812ABF8 -sub_812ABF8: @ 812ABF8 - push {r4,r5,lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0812AC1C - movs r0, 0 - bl sub_812DC80 - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0x8 - b _0812ACE2 - .pool -_0812AC1C: - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _0812AC82 - ldr r0, =gUnknown_0203AB34 - ldr r2, [r0] - movs r1, 0xC - ldrsh r0, [r2, r1] - subs r0, 0x3 - movs r3, 0x12 - ldrsh r1, [r2, r3] - adds r0, r1 - cmp r0, 0 - blt _0812AC7C - ldrh r4, [r2, 0x12] - adds r0, r1, 0 - cmp r0, 0x2 - bgt _0812AC5A -_0812AC42: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_812CE7C - lsls r0, r4, 16 - movs r2, 0x80 - lsls r2, 9 - adds r0, r2 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _0812AC42 -_0812AC5A: - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - ldrh r0, [r1, 0xC] - subs r0, 0x3 - ldrh r3, [r1, 0x12] - adds r0, r3 - strh r0, [r1, 0xC] - movs r0, 0x3 - strh r0, [r1, 0x12] - movs r0, 0x9 - strb r0, [r1] - movs r0, 0x5F - bl PlaySE - b _0812ACE4 - .pool -_0812AC7C: - movs r0, 0x6 - strb r0, [r2] - b _0812ACE4 -_0812AC82: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0812ACB2 - ldr r4, =gUnknown_0203AB34 - ldr r0, [r4] - movs r1, 0xC - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _0812ACB2 - movs r0, 0x5F - bl PlaySE - ldr r0, [r4] - ldrb r0, [r0, 0x12] - bl sub_812CE7C - ldr r1, [r4] - ldrh r0, [r1, 0xC] - subs r0, 0x1 - strh r0, [r1, 0xC] - ldrh r0, [r1, 0x12] - adds r0, 0x1 - strh r0, [r1, 0x12] -_0812ACB2: - ldr r0, =gUnknown_0203AB34 - ldr r3, [r0] - movs r1, 0x12 - ldrsh r2, [r3, r1] - ldr r4, =gMain - adds r5, r0, 0 - cmp r2, 0x2 - bgt _0812ACD0 - cmp r2, 0 - beq _0812ACD4 - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0812ACD4 -_0812ACD0: - movs r0, 0x9 - strb r0, [r3] -_0812ACD4: - ldrh r1, [r4, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0812ACE4 - ldr r1, [r5] - movs r0, 0x15 -_0812ACE2: - strb r0, [r1] -_0812ACE4: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812ABF8 - - thumb_func_start sub_812ACF4 -sub_812ACF4: @ 812ACF4 - push {lr} - sub sp, 0xC - movs r0, 0 - movs r1, 0 - bl NewMenuHelpers_DrawDialogueFrame - ldr r2, =gText_YouDontHaveThreeCoins - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0x7 - strb r0, [r1] - movs r0, 0 - add sp, 0xC - pop {r1} - bx r1 - .pool - thumb_func_end sub_812ACF4 - - thumb_func_start sub_812AD34 -sub_812AD34: @ 812AD34 - push {lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _0812AD52 - movs r0, 0 - movs r1, 0x1 - bl sub_8197434 - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0x5 - strb r0, [r1] -_0812AD52: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812AD34 - - thumb_func_start sub_812AD60 -sub_812AD60: @ 812AD60 - push {lr} - bl sub_812DCB4 - lsls r0, 24 - cmp r0, 0 - beq _0812AD74 - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0x5 - strb r0, [r1] -_0812AD74: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812AD60 - - thumb_func_start sub_812AD80 -sub_812AD80: @ 812AD80 - push {r4,lr} - adds r4, r0, 0 - bl sub_812B4EC - bl sub_812DFDC - movs r0, 0 - bl sub_812BEA4 - movs r0, 0x1 - bl sub_812BEA4 - movs r0, 0x2 - bl sub_812BEA4 - bl sub_80EEC80 - movs r0, 0 - strh r0, [r4, 0x8] - ldr r4, =gUnknown_0203AB34 - ldr r0, [r4] - ldrb r1, [r0, 0x4] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0812ADC4 - bl sub_812D4AC - ldr r1, [r4] - movs r0, 0xA - b _0812ADCE - .pool -_0812ADC4: - movs r0, 0x1 - bl sub_812DEE4 - ldr r1, [r4] - movs r0, 0xB -_0812ADCE: - strb r0, [r1] - ldr r4, =gUnknown_0203AB34 - ldr r0, [r4] - movs r1, 0x8 - strh r1, [r0, 0x1A] - ldrb r0, [r0, 0xA] - cmp r0, 0 - beq _0812ADE6 - bl dp15_jump_random_unknown - ldr r1, [r4] - strh r0, [r1, 0x1A] -_0812ADE6: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812AD80 - - thumb_func_start sub_812ADF4 -sub_812ADF4: @ 812ADF4 - push {lr} - bl sub_812D4CC - lsls r0, 24 - cmp r0, 0 - beq _0812AE18 - movs r0, 0x1 - bl sub_812DEE4 - ldr r3, =gUnknown_0203AB34 - ldr r2, [r3] - ldrb r1, [r2, 0x4] - movs r0, 0xDF - ands r0, r1 - strb r0, [r2, 0x4] - ldr r1, [r3] - movs r0, 0xB - strb r0, [r1] -_0812AE18: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812ADF4 - - thumb_func_start sub_812AE24 -sub_812AE24: @ 812AE24 - push {lr} - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x1D - ble _0812AE40 - bl sub_812B55C - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0xC - strb r0, [r1] -_0812AE40: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812AE24 - - thumb_func_start sub_812AE4C -sub_812AE4C: @ 812AE4C - push {r4,lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0812AE78 - movs r0, 0x18 - bl PlaySE - ldr r4, =gUnknown_0203AB34 - ldr r0, [r4] - ldrb r0, [r0, 0x18] - bl sub_812BEDC - ldr r0, [r4] - ldrb r0, [r0, 0x18] - bl sub_812CD40 - ldr r1, [r4] - movs r0, 0xD - strb r0, [r1] -_0812AE78: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812AE4C - - thumb_func_start sub_812AE88 -sub_812AE88: @ 812AE88 - push {r4,lr} - ldr r4, =gUnknown_0203AB34 - ldr r0, [r4] - ldrb r0, [r0, 0x18] - bl sub_812BF04 - lsls r0, 24 - cmp r0, 0 - bne _0812AEBC - ldr r1, [r4] - ldrh r0, [r1, 0x18] - adds r0, 0x1 - strh r0, [r1, 0x18] - movs r0, 0xC - strb r0, [r1] - ldr r1, [r4] - movs r2, 0x18 - ldrsh r0, [r1, r2] - cmp r0, 0x2 - ble _0812AEB4 - movs r0, 0xE - strb r0, [r1] -_0812AEB4: - movs r0, 0x1 - b _0812AEBE - .pool -_0812AEBC: - movs r0, 0 -_0812AEBE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812AE88 - - thumb_func_start sub_812AEC4 -sub_812AEC4: @ 812AEC4 - push {r4,lr} - ldr r4, =gUnknown_0203AB34 - ldr r2, [r4] - ldrb r1, [r2, 0x4] - movs r0, 0xC0 - ands r0, r1 - strb r0, [r2, 0x4] - bl sub_812B828 - ldr r1, [r4] - ldrb r0, [r1, 0xA] - cmp r0, 0 - beq _0812AEEA - subs r0, 0x1 - strb r0, [r1, 0xA] - ldr r1, [r4] - ldrb r0, [r1, 0xB] - adds r0, 0x1 - strb r0, [r1, 0xB] -_0812AEEA: - ldr r1, [r4] - ldrh r0, [r1, 0x8] - cmp r0, 0 - beq _0812AFCC - movs r0, 0xF - strb r0, [r1] - bl sub_812BABC - bl sub_812D0B0 - ldr r2, [r4] - ldrh r0, [r2, 0x10] - ldrh r1, [r2, 0xE] - subs r0, r1 - strh r0, [r2, 0x10] - lsls r0, 16 - cmp r0, 0 - bge _0812AF12 - movs r0, 0 - strh r0, [r2, 0x10] -_0812AF12: - ldr r0, [r4] - ldrh r1, [r0, 0x8] - movs r0, 0xC0 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _0812AF38 - ldr r0, =0x00000185 - bl PlayFanfare - movs r0, 0x6 - bl sub_812DEE4 - b _0812AF62 - .pool -_0812AF38: - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0812AF54 - ldr r0, =0x00000185 - bl PlayFanfare - movs r0, 0x5 - bl sub_812DEE4 - b _0812AF62 - .pool -_0812AF54: - movs r0, 0xC3 - lsls r0, 1 - bl PlayFanfare - movs r0, 0x2 - bl sub_812DEE4 -_0812AF62: - ldr r2, =gUnknown_0203AB34 - ldr r3, [r2] - ldrh r1, [r3, 0x8] - movs r0, 0xE0 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _0812AFA6 - ldrb r1, [r3, 0x4] - movs r0, 0x3F - ands r0, r1 - movs r4, 0 - strb r0, [r3, 0x4] - ldr r3, [r2] - ldrh r1, [r3, 0x8] - movs r0, 0xC0 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _0812AFA6 - strb r4, [r3, 0xA] - ldr r0, [r2] - strb r4, [r0, 0xB] - ldr r0, [r2] - strb r4, [r0, 0x3] - ldr r3, [r2] - ldrh r1, [r3, 0x8] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _0812AFA6 - movs r0, 0x1 - strb r0, [r3, 0x3] -_0812AFA6: - ldr r3, [r2] - ldrh r1, [r3, 0x8] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0812AFEE - ldrb r0, [r3, 0x2] - cmp r0, 0xF - bhi _0812AFEE - adds r0, 0x1 - strb r0, [r3, 0x2] - ldr r0, [r2] - ldrb r0, [r0, 0x2] - bl sub_812D1A8 - b _0812AFEE - .pool -_0812AFCC: - movs r0, 0x3 - bl sub_812DEE4 - ldr r1, [r4] - movs r0, 0x14 - strb r0, [r1] - ldr r1, [r4] - ldrh r0, [r1, 0x12] - ldrh r2, [r1, 0x10] - adds r0, r2 - strh r0, [r1, 0x10] - lsls r0, 16 - asrs r0, 16 - ldr r2, =0x0000270f - cmp r0, r2 - ble _0812AFEE - strh r2, [r1, 0x10] -_0812AFEE: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812AEC4 - - thumb_func_start sub_812AFFC -sub_812AFFC: @ 812AFFC - push {lr} - bl sub_812BADC - lsls r0, 24 - cmp r0, 0 - beq _0812B010 - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0x10 - strb r0, [r1] -_0812B010: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812AFFC - - thumb_func_start sub_812B01C -sub_812B01C: @ 812B01C - push {r4,lr} - bl sub_812D0E0 - lsls r0, 24 - cmp r0, 0 - beq _0812B088 - ldr r4, =gUnknown_0203AB34 - ldr r1, [r4] - movs r0, 0x13 - strb r0, [r1] - ldr r0, [r4] - ldrh r1, [r0, 0x8] - movs r0, 0xC0 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _0812B044 - movs r0, 0x1C - bl IncrementGameStat -_0812B044: - ldr r2, [r4] - ldrh r1, [r2, 0x8] - movs r3, 0x4 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0812B05A - movs r0, 0 - strh r0, [r2, 0x18] - movs r0, 0x9 - strb r0, [r2] -_0812B05A: - ldr r2, [r4] - ldrh r1, [r2, 0x8] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0812B06A - movs r0, 0x11 - strb r0, [r2] -_0812B06A: - ldr r1, [r4] - ldrb r0, [r1, 0xA] - cmp r0, 0 - beq _0812B088 - ldrh r1, [r1, 0x8] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0812B088 - movs r0, 0x4 - bl sub_812DEE4 - ldr r1, [r4] - movs r0, 0x12 - strb r0, [r1] -_0812B088: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B01C - - thumb_func_start sub_812B094 -sub_812B094: @ 812B094 - push {r4,lr} - bl sub_812D20C - lsls r0, 24 - cmp r0, 0 - bne _0812B0CC - ldr r4, =gUnknown_0203AB34 - ldr r1, [r4] - movs r0, 0x13 - strb r0, [r1] - ldr r2, [r4] - ldrh r1, [r2, 0x8] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0812B0CC - movs r0, 0x9 - strb r0, [r2] - ldr r0, [r4] - ldrb r0, [r0, 0xA] - cmp r0, 0 - beq _0812B0CC - movs r0, 0x4 - bl sub_812DEE4 - ldr r1, [r4] - movs r0, 0x12 - strb r0, [r1] -_0812B0CC: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B094 - - thumb_func_start sub_812B0D8 -sub_812B0D8: @ 812B0D8 - push {lr} - bl sub_812E054 - lsls r0, 24 - cmp r0, 0 - beq _0812B0FC - ldr r2, =gUnknown_0203AB34 - ldr r1, [r2] - movs r0, 0x13 - strb r0, [r1] - ldr r2, [r2] - ldrh r1, [r2, 0x8] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0812B0FC - movs r0, 0x9 - strb r0, [r2] -_0812B0FC: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B0D8 - - thumb_func_start sub_812B108 -sub_812B108: @ 812B108 - push {lr} - movs r0, 0 - bl sub_812CEB8 - movs r0, 0x1 - bl sub_812CEB8 - movs r0, 0x2 - bl sub_812CEB8 - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0x2 - strb r0, [r1] - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B108 - - thumb_func_start sub_812B130 -sub_812B130: @ 812B130 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x40 - ble _0812B14E - movs r0, 0 - strh r0, [r1, 0xA] - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0x13 - strb r0, [r1] -_0812B14E: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B130 - - thumb_func_start sub_812B158 -sub_812B158: @ 812B158 - push {lr} - sub sp, 0xC - movs r0, 0 - movs r1, 0 - bl NewMenuHelpers_DrawDialogueFrame - ldr r2, =gText_QuitTheGame - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - movs r2, 0x85 - lsls r2, 2 - movs r3, 0xC0 - lsls r3, 1 - movs r0, 0xE - str r0, [sp] - movs r0, 0xF - str r0, [sp, 0x4] - movs r0, 0x15 - movs r1, 0x7 - bl sub_80323CC - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0x16 - strb r0, [r1] - movs r0, 0 - add sp, 0xC - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B158 - - thumb_func_start sub_812B1B0 -sub_812B1B0: @ 812B1B0 - push {lr} - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - bne _0812B1EC - movs r0, 0 - movs r1, 0x1 - bl sub_8197434 - movs r0, 0 - bl sub_812CEB8 - movs r0, 0x1 - bl sub_812CEB8 - movs r0, 0x2 - bl sub_812CEB8 - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - ldrh r0, [r1, 0x12] - ldrh r2, [r1, 0xC] - adds r0, r2 - strh r0, [r1, 0xC] - movs r0, 0x1B - b _0812B206 - .pool -_0812B1EC: - cmp r1, 0x1 - beq _0812B1F8 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0812B208 -_0812B1F8: - movs r0, 0 - movs r1, 0x1 - bl sub_8197434 - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0x5 -_0812B206: - strb r0, [r1] -_0812B208: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B1B0 - - thumb_func_start sub_812B214 -sub_812B214: @ 812B214 - push {lr} - sub sp, 0xC - movs r0, 0 - movs r1, 0 - bl NewMenuHelpers_DrawDialogueFrame - ldr r2, =gText_YouveGot9999Coins - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0x18 - strb r0, [r1] - movs r0, 0 - add sp, 0xC - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B214 - - thumb_func_start sub_812B254 -sub_812B254: @ 812B254 - push {lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _0812B272 - movs r0, 0 - movs r1, 0x1 - bl sub_8197434 - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0x5 - strb r0, [r1] -_0812B272: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B254 - - thumb_func_start sub_812B280 -sub_812B280: @ 812B280 - push {lr} - sub sp, 0xC - movs r0, 0 - movs r1, 0 - bl NewMenuHelpers_DrawDialogueFrame - ldr r2, =gText_YouveRunOutOfCoins - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0x1A - strb r0, [r1] - movs r0, 0 - add sp, 0xC - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B280 - - thumb_func_start sub_812B2C0 -sub_812B2C0: @ 812B2C0 - push {lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _0812B2DE - movs r0, 0 - movs r1, 0x1 - bl sub_8197434 - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0x1B - strb r0, [r1] -_0812B2DE: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B2C0 - - thumb_func_start sub_812B2EC -sub_812B2EC: @ 812B2EC - push {r4,lr} - sub sp, 0x4 - ldr r4, =gUnknown_0203AB34 - ldr r0, [r4] - ldrh r0, [r0, 0xC] - bl SetCoins - bl GetCoins - lsls r0, 16 - lsrs r0, 16 - bl sub_80EDD78 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B2EC - - thumb_func_start sub_812B32C -sub_812B32C: @ 812B32C - push {r4-r6,lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - beq _0812B340 - b _0812B470 -_0812B340: - ldr r6, =gUnknown_0203AB34 - ldr r0, [r6] - ldr r0, [r0, 0x64] - bl SetMainCallback2 - ldr r4, =gUnknown_0203AAF4 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AAF8 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AAFC - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB00 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB04 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB08 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB0C - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB10 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB14 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB18 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB1C - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB20 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB24 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB28 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AAE4 - ldr r0, [r4] - cmp r0, 0 - beq _0812B3E4 - bl Free - str r5, [r4] -_0812B3E4: - ldr r4, =gUnknown_0203AAE8 - ldr r0, [r4] - cmp r0, 0 - beq _0812B3F2 - bl Free - str r5, [r4] -_0812B3F2: - ldr r4, =gUnknown_0203AAEC - ldr r0, [r4] - cmp r0, 0 - beq _0812B400 - bl Free - str r5, [r4] -_0812B400: - ldr r4, =gUnknown_0203AAF0 - ldr r0, [r4] - cmp r0, 0 - beq _0812B40E - bl Free - str r5, [r4] -_0812B40E: - ldr r4, =gUnknown_0203AAC8 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AACC - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AAD0 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AAD4 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AAD8 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AADC - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AAE0 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB2C - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB30 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r0, [r6] - bl Free - str r5, [r6] -_0812B470: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B32C - - thumb_func_start sub_812B4EC -sub_812B4EC: @ 812B4EC - push {r4,lr} - ldr r4, =gUnknown_0203AB34 - ldr r1, [r4] - ldrb r0, [r1, 0xA] - cmp r0, 0 - bne _0812B54A - ldrb r1, [r1, 0x4] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0 - bne _0812B54A - bl sub_812B5B0 - lsls r0, 24 - cmp r0, 0 - beq _0812B52C - bl sub_812B5EC - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - beq _0812B52C - ldr r2, [r4] - ldr r1, =gUnknown_085A77FE - lsls r0, r3, 1 - adds r0, r1 - ldrb r1, [r0] - ldrb r0, [r2, 0x4] - orrs r0, r1 - strb r0, [r2, 0x4] - cmp r3, 0x1 - bne _0812B54A -_0812B52C: - bl sub_812B634 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x5 - beq _0812B54A - ldr r0, =gUnknown_0203AB34 - ldr r2, [r0] - ldr r1, =gUnknown_085A7804 - lsls r0, r3, 1 - adds r0, r1 - ldrb r1, [r0] - ldrb r0, [r2, 0x4] - orrs r0, r1 - strb r0, [r2, 0x4] -_0812B54A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812B4EC - - thumb_func_start sub_812B55C -sub_812B55C: @ 812B55C - push {lr} - ldr r2, =gUnknown_0203AB34 - ldr r1, [r2] - movs r0, 0 - strb r0, [r1, 0x6] - ldr r2, [r2] - ldrb r0, [r2, 0x4] - cmp r0, 0 - beq _0812B572 - movs r0, 0x1 - strb r0, [r2, 0x6] -_0812B572: - pop {r0} - bx r0 - .pool - thumb_func_end sub_812B55C - - thumb_func_start sub_812B57C -sub_812B57C: @ 812B57C - push {r4,lr} - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0 - movs r3, 0x1 - ldr r4, =gUnknown_085A77F6 -_0812B588: - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - beq _0812B59C - adds r0, r2, r4 - ldrb r0, [r0] - b _0812B5AA - .pool -_0812B59C: - lsrs r1, 1 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _0812B588 - movs r0, 0 -_0812B5AA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812B57C - - thumb_func_start sub_812B5B0 -sub_812B5B0: @ 812B5B0 - push {r4,lr} - bl Random - lsls r0, 24 - lsrs r0, 24 - ldr r4, =gUnknown_085A76C0 - ldr r1, =gUnknown_0203AB34 - ldr r1, [r1] - movs r3, 0x12 - ldrsh r2, [r1, r3] - ldrb r3, [r1, 0x1] - lsls r1, r3, 1 - adds r1, r3 - subs r1, 0x1 - adds r2, r1 - adds r2, r4 - ldrb r1, [r2] - cmp r1, r0 - bhi _0812B5E4 - movs r0, 0 - b _0812B5E6 - .pool -_0812B5E4: - movs r0, 0x1 -_0812B5E6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812B5B0 - - thumb_func_start sub_812B5EC -sub_812B5EC: @ 812B5EC - push {r4-r6,lr} - movs r5, 0 - ldr r6, =gUnknown_085A76D2 -_0812B5F2: - bl Random - movs r2, 0xFF - ldr r1, =gUnknown_0203AB34 - ldr r3, [r1] - lsls r1, r5, 16 - asrs r4, r1, 16 - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 1 - ldrb r3, [r3, 0x1] - adds r1, r3 - adds r1, r6 - ldrb r1, [r1] - ands r2, r0 - cmp r1, r2 - bgt _0812B620 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _0812B5F2 -_0812B620: - lsls r0, r5, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B5EC - - thumb_func_start sub_812B634 -sub_812B634: @ 812B634 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - ldr r0, =gUnknown_085A76E4 - mov r8, r0 - movs r7, 0x80 - lsls r7, 17 -_0812B644: - bl Random - movs r5, 0xFF - ands r5, r0 - ldr r0, =gUnknown_0203AB34 - ldr r4, [r0] - lsls r2, r6, 16 - asrs r1, r2, 16 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - ldrb r3, [r4, 0x1] - adds r0, r3 - add r0, r8 - ldrb r3, [r0] - cmp r1, 0 - bne _0812B680 - ldrb r0, [r4, 0x3] - cmp r0, 0x1 - bne _0812B680 - adds r3, 0xA - asrs r0, r7, 16 - cmp r3, r0 - ble _0812B69E - adds r3, r0, 0 - b _0812B69E - .pool -_0812B680: - asrs r0, r2, 16 - cmp r0, 0x4 - bne _0812B69E - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - ldrb r0, [r0, 0x3] - cmp r0, 0x1 - bne _0812B69E - lsls r0, r3, 16 - ldr r1, =0xfff60000 - adds r0, r1 - lsrs r3, r0, 16 - cmp r0, 0 - bge _0812B69E - movs r3, 0 -_0812B69E: - lsls r0, r3, 16 - asrs r0, 16 - cmp r0, r5 - bgt _0812B6B4 - movs r3, 0x80 - lsls r3, 9 - adds r0, r2, r3 - lsrs r6, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812B644 -_0812B6B4: - lsls r0, r6, 24 - lsrs r0, 24 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B634 - - thumb_func_start sub_812B6CC -sub_812B6CC: @ 812B6CC - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, =gUnknown_0203AB34 - ldr r2, [r0] - ldrb r0, [r2, 0x3] - cmp r0, 0 - beq _0812B6E8 - ldr r0, =gUnknown_085A7768 - b _0812B6EA - .pool -_0812B6E8: - ldr r0, =gUnknown_085A7702 -_0812B6EA: - lsls r1, r3, 4 - adds r1, r3 - ldrb r2, [r2, 0x2] - adds r1, r2 - adds r1, r0 - ldrb r0, [r1] - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B6CC - - thumb_func_start sub_812B700 -sub_812B700: @ 812B700 - push {r4-r6,lr} - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x5] - bl Random - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - bl sub_812B6CC - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bcc _0812B754 - movs r6, 0x5 - b _0812B72E - .pool -_0812B728: - subs r0, r5, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_0812B72E: - lsls r0, r6, 16 - asrs r5, r0, 16 - cmp r5, 0 - ble _0812B74E - bl Random - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r6, 24 - lsrs r0, 24 - bl sub_812B6CC - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bcs _0812B728 -_0812B74E: - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - strb r6, [r0, 0x5] -_0812B754: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812B700 - - thumb_func_start sub_812B760 -sub_812B760: @ 812B760 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl Random - movs r1, 0xFF - ands r1, r0 - ldr r0, =gUnknown_085A77CE - lsls r4, 1 - adds r4, r0 - ldrh r4, [r4] - cmp r1, r4 - bcc _0812B784 - movs r0, 0 - b _0812B786 - .pool -_0812B784: - movs r0, 0x1 -_0812B786: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812B760 - - thumb_func_start dp15_jump_random_unknown -dp15_jump_random_unknown: @ 812B78C - push {r4,r5,lr} - movs r4, 0 - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - movs r2, 0x10 - ldrsh r1, [r0, r2] - ldr r0, =0x0000012b - cmp r1, r0 - ble _0812B7AC - movs r4, 0x4 - b _0812B7C2 - .pool -_0812B7AC: - cmp r1, 0xF9 - ble _0812B7B4 - movs r4, 0x3 - b _0812B7C2 -_0812B7B4: - cmp r1, 0xC7 - ble _0812B7BC - movs r4, 0x2 - b _0812B7C2 -_0812B7BC: - cmp r1, 0x95 - ble _0812B7C2 - movs r4, 0x1 -_0812B7C2: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 24 - lsrs r1, r0, 24 - ldr r5, =gUnknown_085A77D8 - lsls r4, 2 - adds r0, r4, r5 - ldrb r0, [r0] - cmp r1, r0 - bcs _0812B7E8 - movs r0, 0x4 - b _0812B822 - .pool -_0812B7E8: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 24 - adds r2, r5, 0x2 - adds r2, r4, r2 - ldr r3, =gUnknown_085A77EC - ldr r1, =gUnknown_0203AB34 - ldr r1, [r1] - ldrb r1, [r1, 0xB] - lsls r1, 1 - adds r1, r3 - ldrb r1, [r1] - ldrb r2, [r2] - adds r1, r2 - lsls r1, 24 - cmp r0, r1 - bcc _0812B820 - movs r0, 0x8 - b _0812B822 - .pool -_0812B820: - movs r0, 0x2 -_0812B822: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end dp15_jump_random_unknown - - thumb_func_start sub_812B828 -sub_812B828: @ 812B828 - push {r4,lr} - ldr r4, =gUnknown_0203AB34 - ldr r1, [r4] - movs r0, 0 - strh r0, [r1, 0x8] - bl sub_812B85C - ldr r0, [r4] - movs r1, 0x12 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - ble _0812B844 - bl sub_812B8D0 -_0812B844: - ldr r0, [r4] - movs r1, 0x12 - ldrsh r0, [r0, r1] - cmp r0, 0x2 - ble _0812B852 - bl sub_812B9A0 -_0812B852: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812B828 - - thumb_func_start sub_812B85C -sub_812B85C: @ 812B85C - push {r4,r5,lr} - movs r0, 0 - movs r1, 0x2 - bl sub_812BC44 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x1 - movs r1, 0x2 - bl sub_812BC44 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0x2 - bl sub_812BC44 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_812BA6C - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x9 - beq _0812B8BC - ldr r0, =gUnknown_0203AB34 - ldr r2, [r0] - ldr r0, =gUnknown_085A7828 - lsls r1, 1 - adds r0, r1, r0 - ldrh r0, [r0] - ldrh r3, [r2, 0xE] - adds r0, r3 - strh r0, [r2, 0xE] - ldr r0, =gUnknown_085A7816 - adds r1, r0 - ldrh r0, [r2, 0x8] - ldrh r1, [r1] - orrs r0, r1 - strh r0, [r2, 0x8] - movs r0, 0 - bl sub_812CF34 -_0812B8BC: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812B85C - - thumb_func_start sub_812B8D0 -sub_812B8D0: @ 812B8D0 - push {r4,r5,lr} - movs r0, 0 - movs r1, 0x1 - bl sub_812BC44 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x1 - movs r1, 0x1 - bl sub_812BC44 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x2 - movs r1, 0x1 - bl sub_812BC44 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_812BA6C - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x9 - beq _0812B930 - cmp r1, 0 - bne _0812B90C - movs r1, 0x1 -_0812B90C: - ldr r0, =gUnknown_0203AB34 - ldr r2, [r0] - ldr r0, =gUnknown_085A7828 - lsls r1, 1 - adds r0, r1, r0 - ldrh r0, [r0] - ldrh r3, [r2, 0xE] - adds r0, r3 - strh r0, [r2, 0xE] - ldr r0, =gUnknown_085A7816 - adds r1, r0 - ldrh r0, [r2, 0x8] - ldrh r1, [r1] - orrs r0, r1 - strh r0, [r2, 0x8] - movs r0, 0x1 - bl sub_812CF34 -_0812B930: - movs r0, 0 - movs r1, 0x3 - bl sub_812BC44 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x1 - movs r1, 0x3 - bl sub_812BC44 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x2 - movs r1, 0x3 - bl sub_812BC44 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_812BA6C - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x9 - beq _0812B98E - cmp r1, 0 - bne _0812B96A - movs r1, 0x1 -_0812B96A: - ldr r0, =gUnknown_0203AB34 - ldr r2, [r0] - ldr r0, =gUnknown_085A7828 - lsls r1, 1 - adds r0, r1, r0 - ldrh r0, [r0] - ldrh r3, [r2, 0xE] - adds r0, r3 - strh r0, [r2, 0xE] - ldr r0, =gUnknown_085A7816 - adds r1, r0 - ldrh r0, [r2, 0x8] - ldrh r1, [r1] - orrs r0, r1 - strh r0, [r2, 0x8] - movs r0, 0x2 - bl sub_812CF34 -_0812B98E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812B8D0 - - thumb_func_start sub_812B9A0 -sub_812B9A0: @ 812B9A0 - push {r4,r5,lr} - movs r0, 0 - movs r1, 0x1 - bl sub_812BC44 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x1 - movs r1, 0x2 - bl sub_812BC44 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x2 - movs r1, 0x3 - bl sub_812BC44 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_812BA6C - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x9 - beq _0812B9FE - cmp r1, 0 - beq _0812B9F8 - ldr r0, =gUnknown_0203AB34 - ldr r2, [r0] - ldr r0, =gUnknown_085A7828 - lsls r1, 1 - adds r0, r1, r0 - ldrh r0, [r0] - ldrh r3, [r2, 0xE] - adds r0, r3 - strh r0, [r2, 0xE] - ldr r0, =gUnknown_085A7816 - adds r1, r0 - ldrh r0, [r2, 0x8] - ldrh r1, [r1] - orrs r0, r1 - strh r0, [r2, 0x8] -_0812B9F8: - movs r0, 0x3 - bl sub_812CF34 -_0812B9FE: - movs r0, 0 - movs r1, 0x3 - bl sub_812BC44 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x1 - movs r1, 0x2 - bl sub_812BC44 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x2 - movs r1, 0x1 - bl sub_812BC44 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_812BA6C - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x9 - beq _0812BA5A - cmp r1, 0 - beq _0812BA54 - ldr r0, =gUnknown_0203AB34 - ldr r2, [r0] - ldr r0, =gUnknown_085A7828 - lsls r1, 1 - adds r0, r1, r0 - ldrh r0, [r0] - ldrh r3, [r2, 0xE] - adds r0, r3 - strh r0, [r2, 0xE] - ldr r0, =gUnknown_085A7816 - adds r1, r0 - ldrh r0, [r2, 0x8] - ldrh r1, [r1] - orrs r0, r1 - strh r0, [r2, 0x8] -_0812BA54: - movs r0, 0x4 - bl sub_812CF34 -_0812BA5A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812B9A0 - - thumb_func_start sub_812BA6C -sub_812BA6C: @ 812BA6C - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - cmp r3, r1 - bne _0812BA90 - cmp r3, r2 - bne _0812BA90 - ldr r0, =gUnknown_085A780E - adds r0, r3, r0 - ldrb r0, [r0] - b _0812BAB6 - .pool -_0812BA90: - cmp r3, 0 - bne _0812BA9C - cmp r1, 0 - bne _0812BA9C - cmp r2, 0x1 - beq _0812BAA8 -_0812BA9C: - cmp r3, 0x1 - bne _0812BAAC - cmp r1, 0x1 - bne _0812BAAC - cmp r2, 0 - bne _0812BAAC -_0812BAA8: - movs r0, 0x6 - b _0812BAB6 -_0812BAAC: - cmp r3, 0x4 - beq _0812BAB4 - movs r0, 0x9 - b _0812BAB6 -_0812BAB4: - movs r0, 0 -_0812BAB6: - pop {r1} - bx r1 - thumb_func_end sub_812BA6C - - thumb_func_start sub_812BABC -sub_812BABC: @ 812BABC - push {r4,lr} - ldr r4, =sub_812BAFC - adds r0, r4, 0 - movs r1, 0x4 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812BABC - - thumb_func_start sub_812BADC -sub_812BADC: @ 812BADC - push {lr} - ldr r0, =sub_812BAFC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0812BAF4 - movs r0, 0 - b _0812BAF6 - .pool -_0812BAF4: - movs r0, 0x1 -_0812BAF6: - pop {r1} - bx r1 - thumb_func_end sub_812BADC - - thumb_func_start sub_812BAFC -sub_812BAFC: @ 812BAFC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085A74C4 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0812BB0E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0812BB0E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812BAFC - - thumb_func_start sub_812BB34 -sub_812BB34: @ 812BB34 - push {r4,lr} - adds r4, r0, 0 - bl sub_812CF6C - lsls r0, 24 - cmp r0, 0 - beq _0812BB60 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - movs r1, 0xE - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0812BB60 - movs r0, 0x2 - strh r0, [r4, 0x8] - movs r0, 0x1 - b _0812BB62 - .pool -_0812BB60: - movs r0, 0 -_0812BB62: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812BB34 - - thumb_func_start sub_812BB68 -sub_812BB68: @ 812BB68 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0812BBBC - bl IsFanfareTaskInactive - lsls r0, 24 - cmp r0, 0 - beq _0812BB8E - movs r0, 0x15 - bl PlaySE -_0812BB8E: - ldr r0, =gUnknown_0203AB34 - ldr r2, [r0] - ldrh r0, [r2, 0xE] - subs r0, 0x1 - strh r0, [r2, 0xE] - ldrh r3, [r2, 0xC] - movs r0, 0xC - ldrsh r1, [r2, r0] - ldr r0, =0x0000270e - cmp r1, r0 - bgt _0812BBA8 - adds r0, r3, 0x1 - strh r0, [r2, 0xC] -_0812BBA8: - movs r0, 0x8 - strh r0, [r4, 0xA] - ldr r0, =gMain - ldrh r1, [r0, 0x2C] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0812BBBC - movs r0, 0x4 - strh r0, [r4, 0xA] -_0812BBBC: - bl IsFanfareTaskInactive - lsls r0, 24 - cmp r0, 0 - beq _0812BBF6 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0812BBF6 - movs r0, 0x15 - bl PlaySE - ldr r1, =gUnknown_0203AB34 - ldr r2, [r1] - ldrh r0, [r2, 0xE] - ldrh r3, [r2, 0xC] - adds r0, r3 - strh r0, [r2, 0xC] - lsls r0, 16 - asrs r0, 16 - ldr r3, =0x0000270f - cmp r0, r3 - ble _0812BBF0 - strh r3, [r2, 0xC] -_0812BBF0: - ldr r1, [r1] - movs r0, 0 - strh r0, [r1, 0xE] -_0812BBF6: - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - movs r1, 0xE - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0812BC08 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0812BC08: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812BB68 - - thumb_func_start sub_812BC20 -sub_812BC20: @ 812BC20 - push {lr} - bl sub_812CFB8 - lsls r0, 24 - cmp r0, 0 - beq _0812BC3A - ldr r0, =sub_812BAFC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_0812BC3A: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812BC20 - - thumb_func_start sub_812BC44 -sub_812BC44: @ 812BC44 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - lsls r2, r4, 1 - adds r0, 0x28 - adds r0, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - lsls r1, 16 - asrs r1, 16 - adds r0, r1 - movs r1, 0x15 - bl __modsi3 - lsls r0, 16 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0812BC76 - adds r0, 0x15 - lsls r0, 16 - lsrs r1, r0, 16 -_0812BC76: - ldr r2, =gUnknown_085A766E - lsls r1, 16 - asrs r1, 16 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 2 - adds r0, r4 - adds r1, r0 - adds r1, r2 - ldrb r0, [r1] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812BC44 - - thumb_func_start sub_812BC98 -sub_812BC98: @ 812BC98 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - movs r6, 0 - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - lsls r1, r4, 1 - adds r0, 0x1C - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x18 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - beq _0812BCC2 - ldr r6, =0x0000ffff -_0812BCC2: - lsls r1, r5, 16 - asrs r1, 16 - lsls r0, r6, 16 - asrs r0, 16 - adds r1, r0 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl sub_812BC44 - lsls r0, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812BC98 - - thumb_func_start sub_812BCE8 -sub_812BCE8: @ 812BCE8 - push {lr} - ldr r1, =gUnknown_0203AB34 - ldr r1, [r1] - movs r2, 0x16 - ldrsh r1, [r1, r2] - lsls r0, 16 - asrs r0, 16 - adds r1, r0 - adds r0, r1, 0 - movs r1, 0x6 - bl __modsi3 - lsls r0, 16 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0812BD10 - adds r0, 0x6 - lsls r0, 16 - lsrs r1, r0, 16 -_0812BD10: - ldr r0, =gUnknown_085A76AD - lsls r1, 16 - asrs r1, 16 - adds r1, r0 - ldrb r0, [r1] - pop {r1} - bx r1 - .pool - thumb_func_end sub_812BCE8 - - thumb_func_start sub_812BD28 -sub_812BD28: @ 812BD28 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - ldr r0, =gUnknown_0203AB34 - ldr r6, [r0] - lsrs r5, 23 - adds r4, r6, 0 - adds r4, 0x1C - adds r4, r5 - lsls r1, 16 - asrs r1, 16 - ldrh r0, [r4] - adds r1, r0 - strh r1, [r4] - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0xFC - lsls r1, 1 - bl __modsi3 - strh r0, [r4] - adds r6, 0x28 - adds r6, r5 - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0x18 - bl __divsi3 - movs r1, 0x15 - subs r1, r0 - strh r1, [r6] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812BD28 - - thumb_func_start sub_812BD70 -sub_812BD70: @ 812BD70 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r1, 16 - lsrs r4, r1, 16 - ldr r7, =gUnknown_0203AB34 - ldr r0, [r7] - lsls r6, r5, 1 - adds r0, 0x1C - adds r0, r6 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x18 - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r2, r0, 16 - asrs r1, r2, 16 - cmp r1, 0 - beq _0812BDC4 - lsls r0, r4, 16 - asrs r0, 16 - cmp r1, r0 - bge _0812BDA6 - lsrs r4, r2, 16 -_0812BDA6: - lsls r1, r4, 16 - asrs r1, 16 - adds r0, r5, 0 - bl sub_812BD28 - ldr r0, [r7] - adds r0, 0x1C - adds r0, r6 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x18 - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 -_0812BDC4: - lsls r0, 16 - asrs r0, 16 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812BD70 - - thumb_func_start sub_812BDD4 -sub_812BDD4: @ 812BDD4 - push {r4,lr} - ldr r1, =gUnknown_0203AB34 - ldr r4, [r1] - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r4, 0x14] - adds r0, r1 - strh r0, [r4, 0x14] - movs r1, 0x14 - ldrsh r0, [r4, r1] - movs r1, 0x78 - bl __modsi3 - strh r0, [r4, 0x14] - movs r1, 0x14 - ldrsh r0, [r4, r1] - movs r1, 0x14 - bl __divsi3 - movs r1, 0x6 - subs r1, r0 - strh r1, [r4, 0x16] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812BDD4 - - thumb_func_start sub_812BE0C -sub_812BE0C: @ 812BE0C - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - ldr r5, =gUnknown_0203AB34 - ldr r0, [r5] - movs r1, 0x14 - ldrsh r0, [r0, r1] - movs r1, 0x14 - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r2, r0, 16 - asrs r1, r2, 16 - cmp r1, 0 - beq _0812BE4E - lsls r0, r4, 16 - asrs r0, 16 - cmp r1, r0 - bge _0812BE36 - lsrs r4, r2, 16 -_0812BE36: - lsls r0, r4, 16 - asrs r0, 16 - bl sub_812BDD4 - ldr r0, [r5] - movs r1, 0x14 - ldrsh r0, [r0, r1] - movs r1, 0x14 - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 -_0812BE4E: - lsls r0, 16 - asrs r0, 16 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812BE0C - - thumb_func_start sub_812BE5C -sub_812BE5C: @ 812BE5C - push {r4-r6,lr} - movs r4, 0 - ldr r5, =sub_812BF2C - ldr r6, =gTasks -_0812BE64: - adds r0, r5, 0 - movs r1, 0x2 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r6 - strh r4, [r1, 0x26] - ldr r1, =gUnknown_0203AB34 - ldr r1, [r1] - adds r1, 0x3A - adds r1, r4 - strb r0, [r1] - bl _call_via_r5 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0812BE64 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812BE5C - - thumb_func_start sub_812BEA4 -sub_812BEA4: @ 812BEA4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r4, =gTasks - ldr r1, =gUnknown_0203AB34 - ldr r2, [r1] - adds r2, 0x3A - adds r2, r0 - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r3, 0x1 - strh r3, [r0, 0x8] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - strh r3, [r0, 0x24] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812BEA4 - - thumb_func_start sub_812BEDC -sub_812BEDC: @ 812BEDC - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - ldr r1, =gUnknown_0203AB34 - ldr r1, [r1] - adds r1, 0x3A - adds r1, r0 - ldrb r1, [r1] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x2 - strh r1, [r0, 0x8] - bx lr - .pool - thumb_func_end sub_812BEDC - - thumb_func_start sub_812BF04 -sub_812BF04: @ 812BF04 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - ldr r1, =gUnknown_0203AB34 - ldr r1, [r1] - adds r1, 0x3A - adds r1, r0 - ldrb r1, [r1] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r0, [r0, 0x24] - lsls r0, 24 - lsrs r0, 24 - bx lr - .pool - thumb_func_end sub_812BF04 - - thumb_func_start sub_812BF2C -sub_812BF2C: @ 812BF2C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085A74D0 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0812BF3E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0812BF3E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812BF2C - - thumb_func_start sub_812BF64 -sub_812BF64: @ 812BF64 - movs r0, 0 - bx lr - thumb_func_end sub_812BF64 - - thumb_func_start sub_812BF68 -sub_812BF68: @ 812BF68 - push {lr} - ldrh r0, [r0, 0x26] - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203AB34 - ldr r1, [r1] - movs r2, 0x1A - ldrsh r1, [r1, r2] - bl sub_812BD28 - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812BF68 - - thumb_func_start sub_812BF88 -sub_812BF88: @ 812BF88 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - movs r2, 0 - strh r0, [r4, 0x8] - ldr r0, =gUnknown_0203AB34 - ldr r3, [r0] - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r1, 1 - adds r0, r3, 0 - adds r0, 0x34 - adds r0, r1 - strh r2, [r0] - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r1, 1 - adds r0, r3, 0 - adds r0, 0x2E - adds r0, r1 - strh r2, [r0] - ldrb r0, [r3, 0xA] - cmp r0, 0 - bne _0812BFF4 - ldrb r0, [r3, 0x4] - cmp r0, 0 - beq _0812BFDC - ldrb r0, [r3, 0x6] - cmp r0, 0 - beq _0812BFDC - ldr r1, =gUnknown_085A74E4 - movs r2, 0x26 - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - lsls r0, 24 - cmp r0, 0 - bne _0812BFF4 -_0812BFDC: - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x6] - ldr r1, =gUnknown_085A74F0 - movs r2, 0x26 - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 -_0812BFF4: - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r2, 0x26 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r1, 0x2E - adds r1, r0 - ldrh r0, [r1] - strh r0, [r4, 0xA] - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812BF88 - - thumb_func_start sub_812C01C -sub_812C01C: @ 812C01C - push {r4-r7,lr} - sub sp, 0xC - adds r4, r0, 0 - ldr r1, =gUnknown_085A74FC - mov r0, sp - movs r2, 0xA - bl memcpy - ldr r7, =gUnknown_0203AB34 - ldr r5, [r7] - movs r1, 0x26 - ldrsh r0, [r4, r1] - lsls r6, r0, 1 - adds r0, r5, 0 - adds r0, 0x1C - adds r0, r6 - movs r2, 0 - ldrsh r0, [r0, r2] - movs r1, 0x18 - bl __modsi3 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r0, 0 - beq _0812C068 - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r6, 0x1A - ldrsh r1, [r5, r6] - bl sub_812BD70 - b _0812C0A0 - .pool -_0812C068: - adds r0, r5, 0 - adds r0, 0x2E - adds r1, r0, r6 - ldrh r3, [r1] - movs r6, 0 - ldrsh r0, [r1, r6] - cmp r0, 0 - beq _0812C0A4 - subs r0, r3, 0x1 - strh r0, [r1] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x1A - ldrsh r1, [r5, r2] - bl sub_812BD28 - ldr r1, [r7] - movs r6, 0x26 - ldrsh r0, [r4, r6] - lsls r0, 1 - adds r1, 0x1C - adds r1, r0 - movs r2, 0 - ldrsh r0, [r1, r2] - movs r1, 0x18 - bl __modsi3 -_0812C0A0: - lsls r0, 16 - lsrs r2, r0, 16 -_0812C0A4: - cmp r2, 0 - bne _0812C0D2 - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r6, 0x26 - ldrsh r0, [r4, r6] - lsls r0, 1 - adds r1, 0x2E - adds r1, r0 - movs r0, 0 - ldrsh r1, [r1, r0] - cmp r1, 0 - bne _0812C0D2 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0xA] - strh r1, [r4, 0xC] -_0812C0D2: - movs r0, 0 - add sp, 0xC - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812C01C - - thumb_func_start sub_812C0E0 -sub_812C0E0: @ 812C0E0 - push {r4,lr} - adds r2, r0, 0 - ldr r4, =gUnknown_0203AB34 - ldr r1, [r4] - movs r3, 0x26 - ldrsh r0, [r2, r3] - lsls r0, 1 - adds r1, 0x22 - adds r1, r0 - ldrh r0, [r2, 0xA] - strh r0, [r1] - ldrh r0, [r2, 0xA] - negs r3, r0 - strh r3, [r2, 0xA] - ldrh r0, [r2, 0xC] - adds r0, 0x1 - strh r0, [r2, 0xC] - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _0812C110 - lsls r0, r3, 16 - asrs r0, 17 - strh r0, [r2, 0xA] -_0812C110: - movs r0, 0xA - ldrsh r3, [r2, r0] - cmp r3, 0 - bne _0812C12A - strh r3, [r2, 0x8] - strh r3, [r2, 0x24] - ldr r1, [r4] - movs r4, 0x26 - ldrsh r0, [r2, r4] - lsls r0, 1 - adds r1, 0x22 - adds r1, r0 - strh r3, [r1] -_0812C12A: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812C0E0 - - thumb_func_start sub_812C138 -sub_812C138: @ 812C138 - push {r4,r5,lr} - ldr r4, =gUnknown_0203AB34 - ldr r0, [r4] - ldrb r0, [r0, 0x4] - bl sub_812B57C - lsls r0, 24 - lsrs r3, r0, 24 - adds r5, r3, 0 - ldr r4, [r4] - ldrb r1, [r4, 0x4] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0 - beq _0812C15A - movs r5, 0 - movs r3, 0x1 -_0812C15A: - ldr r1, =gUnknown_085A7508 - movs r2, 0x12 - ldrsh r0, [r4, r2] - subs r0, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r2, [r0] - adds r0, r5, 0 - adds r1, r3, 0 - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812C138 - - thumb_func_start sub_812C184 -sub_812C184: @ 812C184 - push {r4,r5,lr} - adds r3, r0, 0 - adds r4, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r2, 24 - lsrs r5, r2, 24 - lsls r3, 16 - asrs r3, 16 - movs r0, 0 - adds r1, r3, 0 - bl sub_812BC98 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, r4 - beq _0812C1AC - cmp r0, r5 - bne _0812C1BC -_0812C1AC: - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - strb r1, [r0, 0x7] - movs r0, 0x1 - b _0812C1BE - .pool -_0812C1BC: - movs r0, 0 -_0812C1BE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_812C184 - - thumb_func_start sub_812C1C4 -sub_812C1C4: @ 812C1C4 - push {r4,lr} - movs r1, 0x1 - lsls r0, 16 - asrs r4, r0, 16 - subs r1, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_812BC98 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - beq _0812C20C - movs r1, 0x2 - subs r1, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_812BC98 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - beq _0812C20C - movs r1, 0x3 - subs r1, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_812BC98 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _0812C210 -_0812C20C: - movs r0, 0x1 - b _0812C212 -_0812C210: - movs r0, 0 -_0812C212: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812C1C4 - - thumb_func_start sub_812C218 -sub_812C218: @ 812C218 - push {lr} - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - ldrb r1, [r0, 0x4] - movs r0, 0xC2 - ands r0, r1 - cmp r0, 0 - bne _0812C230 - movs r0, 0 - b _0812C232 - .pool -_0812C230: - movs r0, 0x1 -_0812C232: - pop {r1} - bx r1 - thumb_func_end sub_812C218 - - thumb_func_start sub_812C238 -sub_812C238: @ 812C238 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - movs r5, 0 - movs r0, 0x2 - mov r8, r0 -_0812C24C: - lsls r0, r5, 16 - asrs r4, r0, 16 - mov r1, r8 - subs r0, r1, r4 - lsls r0, 16 - asrs r0, 16 - adds r1, r7, 0 - adds r2, r6, 0 - bl sub_812C184 - lsls r0, 24 - cmp r0, 0 - beq _0812C278 - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0x2 - strh r0, [r1, 0x34] - strh r5, [r1, 0x2E] - movs r0, 0x1 - b _0812C286 - .pool -_0812C278: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812C24C - movs r0, 0 -_0812C286: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_812C238 - - thumb_func_start sub_812C290 -sub_812C290: @ 812C290 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - bl sub_812C218 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0812C2BE - movs r0, 0 - bl sub_812C1C4 - lsls r0, 24 - cmp r0, 0 - bne _0812C2F4 -_0812C2BE: - movs r7, 0x1 - movs r6, 0 -_0812C2C2: - lsls r0, r7, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - mov r1, r9 - mov r2, r8 - bl sub_812C184 - lsls r0, 24 - cmp r0, 0 - beq _0812C2E8 - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - strh r7, [r0, 0x34] - strh r6, [r0, 0x2E] - movs r0, 0x1 - b _0812C390 - .pool -_0812C2E8: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _0812C2C2 -_0812C2F4: - movs r7, 0x1 - adds r6, r5, 0 - ldr r0, =gUnknown_0203AB34 - mov r10, r0 -_0812C2FC: - lsls r5, r7, 16 - cmp r6, 0 - bne _0812C30E - asrs r0, r5, 16 - bl sub_812C1C4 - lsls r0, 24 - cmp r0, 0 - bne _0812C380 -_0812C30E: - movs r0, 0x1 - asrs r4, r5, 16 - subs r0, r4 - lsls r0, 16 - asrs r0, 16 - mov r1, r9 - mov r2, r8 - bl sub_812C184 - lsls r0, 24 - cmp r0, 0 - beq _0812C380 - cmp r4, 0x1 - bne _0812C34C - cmp r6, 0 - bne _0812C33A - movs r0, 0x3 - bl sub_812C1C4 - lsls r0, 24 - cmp r0, 0 - bne _0812C34C -_0812C33A: - mov r0, r10 - ldr r1, [r0] - movs r0, 0x3 - strh r0, [r1, 0x34] - strh r0, [r1, 0x2E] - movs r0, 0x1 - b _0812C390 - .pool -_0812C34C: - asrs r0, r5, 16 - cmp r0, 0x3 - bgt _0812C374 - adds r4, r0, 0x1 - cmp r6, 0 - bne _0812C366 - lsls r0, r4, 16 - asrs r0, 16 - bl sub_812C1C4 - lsls r0, 24 - cmp r0, 0 - bne _0812C374 -_0812C366: - mov r0, r10 - ldr r1, [r0] - movs r0, 0x2 - strh r0, [r1, 0x34] - strh r4, [r1, 0x2E] - movs r0, 0x1 - b _0812C390 -_0812C374: - mov r0, r10 - ldr r1, [r0] - movs r0, 0x1 - strh r0, [r1, 0x34] - strh r7, [r1, 0x2E] - b _0812C390 -_0812C380: - movs r1, 0x80 - lsls r1, 9 - adds r0, r5, r1 - lsrs r7, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812C2FC - movs r0, 0 -_0812C390: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_812C290 - - thumb_func_start sub_812C3A0 -sub_812C3A0: @ 812C3A0 - push {lr} - ldr r1, =gUnknown_085A7514 - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - movs r2, 0x12 - ldrsh r0, [r0, r2] - subs r0, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812C3A0 - - thumb_func_start sub_812C3C8 -sub_812C3C8: @ 812C3C8 - push {r4-r7,lr} - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - movs r5, 0 - ldrh r7, [r0, 0x34] - movs r1, 0x34 - ldrsh r6, [r0, r1] -_0812C3D6: - lsls r0, r5, 16 - asrs r4, r0, 16 - subs r1, r6, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_812BC98 - ldr r1, =gUnknown_0203AB34 - ldr r1, [r1] - lsls r0, 24 - lsrs r0, 24 - ldrb r2, [r1, 0x7] - cmp r0, r2 - bne _0812C400 - strh r7, [r1, 0x36] - strh r5, [r1, 0x30] - movs r0, 0x1 - b _0812C40E - .pool -_0812C400: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812C3D6 - movs r0, 0 -_0812C40E: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_812C3C8 - - thumb_func_start sub_812C414 -sub_812C414: @ 812C414 - push {r4-r6,lr} - bl sub_812C3C8 - lsls r0, 24 - cmp r0, 0 - beq _0812C476 - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r2, 0x34 - ldrsh r0, [r1, r2] - cmp r0, 0x2 - beq _0812C472 - movs r2, 0x30 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - ble _0812C472 - cmp r0, 0x4 - beq _0812C472 - movs r5, 0 - movs r6, 0x2 -_0812C43C: - lsls r0, r5, 16 - asrs r4, r0, 16 - subs r1, r6, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_812BC98 - ldr r1, =gUnknown_0203AB34 - ldr r1, [r1] - lsls r0, 24 - lsrs r0, 24 - ldrb r2, [r1, 0x7] - cmp r0, r2 - beq _0812C46C - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812C43C - b _0812C472 - .pool -_0812C46C: - movs r0, 0x2 - strh r0, [r1, 0x36] - strh r5, [r1, 0x30] -_0812C472: - movs r0, 0x1 - b _0812C4B2 -_0812C476: - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - movs r1, 0x34 - ldrsh r0, [r0, r1] - cmp r0, 0x2 - beq _0812C4B0 - movs r5, 0 - movs r6, 0x2 -_0812C486: - lsls r0, r5, 16 - asrs r4, r0, 16 - subs r1, r6, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_812BC98 - ldr r1, =gUnknown_0203AB34 - ldr r1, [r1] - lsls r0, 24 - lsrs r0, 24 - ldrb r2, [r1, 0x7] - cmp r0, r2 - beq _0812C46C - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812C486 -_0812C4B0: - movs r0, 0 -_0812C4B2: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812C414 - - thumb_func_start sub_812C4BC -sub_812C4BC: @ 812C4BC - push {r4,lr} - ldr r2, =gUnknown_0203AB34 - ldr r0, [r2] - ldrb r3, [r0, 0x7] - adds r4, r3, 0 - ldrb r1, [r0, 0x4] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0812C4D8 - movs r3, 0 - cmp r4, 0 - bne _0812C4D8 - movs r3, 0x1 -_0812C4D8: - ldr r1, =gUnknown_085A7520 - ldr r0, [r2] - movs r2, 0x12 - ldrsh r0, [r0, r2] - subs r0, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r3, 0 - bl _call_via_r1 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812C4BC - - thumb_func_start sub_812C500 -sub_812C500: @ 812C500 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - movs r5, 0 - ldrh r1, [r0, 0x36] - mov r8, r1 - movs r1, 0x36 - ldrsh r6, [r0, r1] -_0812C518: - lsls r0, r5, 16 - asrs r4, r0, 16 - subs r1, r6, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_812BC98 - lsls r0, 24 - lsrs r0, 24 - cmp r0, r7 - bne _0812C544 - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - mov r1, r8 - strh r1, [r0, 0x38] - strh r5, [r0, 0x32] - movs r0, 0x1 - b _0812C552 - .pool -_0812C544: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812C518 - movs r0, 0 -_0812C552: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_812C500 - - thumb_func_start sub_812C55C -sub_812C55C: @ 812C55C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - movs r2, 0x34 - ldrsh r1, [r0, r2] - movs r2, 0x36 - ldrsh r0, [r0, r2] - cmp r1, r0 - bne _0812C59C - adds r0, r6, 0 - bl sub_812C500 - lsls r0, 24 - lsrs r0, 24 - b _0812C5D2 - .pool -_0812C588: - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - strh r5, [r0, 0x32] - mov r1, r8 - strh r1, [r0, 0x38] - movs r0, 0x1 - b _0812C5D2 - .pool -_0812C59C: - movs r2, 0x1 - mov r8, r2 - cmp r1, 0x1 - bne _0812C5A8 - movs r0, 0x3 - mov r8, r0 -_0812C5A8: - movs r5, 0 - mov r7, r8 -_0812C5AC: - lsls r0, r5, 16 - asrs r4, r0, 16 - subs r1, r7, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_812BC98 - lsls r0, 24 - lsrs r0, 24 - cmp r0, r6 - beq _0812C588 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812C5AC - movs r0, 0 -_0812C5D2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_812C55C - - thumb_func_start sub_812C5DC -sub_812C5DC: @ 812C5DC - push {r4,r5,lr} - movs r5, 0 - b _0812C5E8 -_0812C5E2: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_0812C5E8: - lsls r0, r5, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - bl sub_812C1C4 - lsls r0, 24 - cmp r0, 0 - bne _0812C5E2 - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - strh r5, [r0, 0x2E] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812C5DC - - thumb_func_start sub_812C608 -sub_812C608: @ 812C608 - push {lr} - adds r1, r0, 0 - ldrb r0, [r1] - cmp r0, 0 - bne _0812C616 - movs r0, 0x1 - b _0812C620 -_0812C616: - cmp r0, 0x1 - beq _0812C61E - movs r0, 0 - b _0812C624 -_0812C61E: - movs r0, 0 -_0812C620: - strb r0, [r1] - movs r0, 0x1 -_0812C624: - pop {r1} - bx r1 - thumb_func_end sub_812C608 - - thumb_func_start sub_812C628 -sub_812C628: @ 812C628 - push {lr} - ldr r1, =gUnknown_085A752C - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - movs r2, 0x12 - ldrsh r0, [r0, r2] - subs r0, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .pool - thumb_func_end sub_812C628 - - thumb_func_start sub_812C64C -sub_812C64C: @ 812C64C - push {r4-r7,lr} - sub sp, 0x4 - ldr r0, =gUnknown_0203AB34 - ldr r2, [r0] - movs r1, 0x34 - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _0812C6C4 - ldrb r1, [r2, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0812C6C4 - ldrh r0, [r2, 0x2E] - movs r1, 0x2 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_812BC98 - mov r1, sp - strb r0, [r1] - mov r0, sp - bl sub_812C608 - lsls r0, 24 - cmp r0, 0 - beq _0812C6C4 - movs r5, 0 - mov r6, sp - movs r7, 0x2 -_0812C68C: - lsls r0, r5, 16 - asrs r4, r0, 16 - subs r1, r7, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_812BC98 - ldrb r1, [r6] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - bne _0812C6B8 - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0x2 - strh r0, [r1, 0x36] - strh r5, [r1, 0x30] - b _0812C6C4 - .pool -_0812C6B8: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812C68C -_0812C6C4: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_812C64C - - thumb_func_start j5_08111E84 -j5_08111E84: @ 812C6CC - push {r4-r7,lr} - sub sp, 0x4 - ldr r4, =gUnknown_0203AB34 - ldr r2, [r4] - ldrh r3, [r2, 0x34] - movs r1, 0x34 - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _0812C744 - ldrb r1, [r2, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0812C744 - ldrh r1, [r2, 0x2E] - subs r1, r3, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_812BC98 - mov r1, sp - strb r0, [r1] - mov r0, sp - bl sub_812C608 - lsls r0, 24 - cmp r0, 0 - beq _0812C744 - movs r5, 0 - mov r7, sp - adds r6, r4, 0 -_0812C70C: - ldr r0, [r6] - ldrh r1, [r0, 0x34] - lsls r0, r5, 16 - asrs r4, r0, 16 - subs r1, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_812BC98 - ldrb r1, [r7] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - bne _0812C738 - ldr r0, [r6] - ldrh r1, [r0, 0x34] - strh r1, [r0, 0x36] - strh r5, [r0, 0x30] - b _0812C744 - .pool -_0812C738: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812C70C -_0812C744: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end j5_08111E84 - - thumb_func_start sub_812C74C -sub_812C74C: @ 812C74C - push {r4-r7,lr} - sub sp, 0x4 - ldr r6, =gUnknown_0203AB34 - ldr r2, [r6] - ldrh r4, [r2, 0x34] - movs r0, 0x34 - ldrsh r3, [r2, r0] - cmp r3, 0 - beq _0812C84A - ldrb r1, [r2, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0812C84A - cmp r3, 0x2 - bne _0812C796 - bl j5_08111E84 - b _0812C84A - .pool -_0812C778: - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - movs r1, 0 - strh r5, [r0, 0x36] - strh r1, [r0, 0x30] - b _0812C84A - .pool -_0812C788: - movs r0, 0x2 - strh r0, [r1, 0x36] - adds r0, r4, 0x1 - strh r0, [r1, 0x30] - b _0812C84A -_0812C792: - movs r0, 0x3 - b _0812C824 -_0812C796: - ldrh r1, [r2, 0x2E] - subs r1, r4, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_812BC98 - mov r1, sp - strb r0, [r1] - mov r0, sp - bl sub_812C608 - lsls r0, 24 - cmp r0, 0 - beq _0812C84A - movs r5, 0x2 - ldr r0, [r6] - movs r1, 0x34 - ldrsh r0, [r0, r1] - cmp r0, 0x3 - bne _0812C7C2 - movs r5, 0x3 -_0812C7C2: - movs r6, 0 - mov r7, sp -_0812C7C6: - lsls r0, r5, 16 - asrs r4, r0, 16 - movs r0, 0x1 - adds r1, r4, 0 - bl sub_812BC98 - ldrb r1, [r7] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - beq _0812C778 - lsls r1, r6, 16 - movs r2, 0x80 - lsls r2, 9 - adds r1, r2 - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - lsrs r6, r1, 16 - asrs r1, 16 - cmp r1, 0x1 - ble _0812C7C6 - movs r5, 0x1 - mov r7, sp - ldr r6, =gUnknown_0203AB34 -_0812C7F8: - ldr r0, [r6] - ldrh r1, [r0, 0x34] - lsls r0, r5, 16 - asrs r4, r0, 16 - subs r1, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_812BC98 - ldrb r1, [r7] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - bne _0812C83E - ldr r1, [r6] - movs r2, 0x34 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - bne _0812C830 - cmp r4, 0x2 - ble _0812C788 -_0812C824: - strh r0, [r1, 0x36] - strh r5, [r1, 0x30] - b _0812C84A - .pool -_0812C830: - cmp r4, 0x2 - ble _0812C792 - movs r0, 0x2 - strh r0, [r1, 0x36] - subs r0, r4, 0x1 - strh r0, [r1, 0x30] - b _0812C84A -_0812C83E: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812C7F8 -_0812C84A: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_812C74C - - thumb_func_start sub_812C854 -sub_812C854: @ 812C854 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - adds r2, r1, 0 - cmp r0, 0 - bne _0812C868 - cmp r1, 0x1 - beq _0812C870 -_0812C868: - cmp r0, 0x1 - bne _0812C874 - cmp r2, 0 - bne _0812C874 -_0812C870: - movs r0, 0x1 - b _0812C876 -_0812C874: - movs r0, 0 -_0812C876: - pop {r1} - bx r1 - thumb_func_end sub_812C854 - - thumb_func_start sub_812C87C -sub_812C87C: @ 812C87C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - cmp r0, 0 - bne _0812C896 - cmp r1, 0x1 - bne _0812C896 - cmp r2, 0 - beq _0812C8A2 -_0812C896: - cmp r0, 0x1 - bne _0812C8A6 - cmp r1, 0 - bne _0812C8A6 - cmp r2, 0x1 - bne _0812C8A6 -_0812C8A2: - movs r0, 0x1 - b _0812C8A8 -_0812C8A6: - movs r0, 0 -_0812C8A8: - pop {r1} - bx r1 - thumb_func_end sub_812C87C - - thumb_func_start sub_812C8AC -sub_812C8AC: @ 812C8AC - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - cmp r0, 0 - bne _0812C8C6 - cmp r1, 0x1 - bne _0812C8C6 - cmp r2, 0 - beq _0812C8F2 -_0812C8C6: - cmp r0, 0x1 - bne _0812C8D2 - cmp r1, 0 - bne _0812C8D2 - cmp r2, 0x1 - beq _0812C8F2 -_0812C8D2: - cmp r0, 0 - bne _0812C8DE - cmp r1, 0 - bne _0812C8DE - cmp r2, 0x1 - beq _0812C8F2 -_0812C8DE: - cmp r0, 0x1 - bne _0812C8EA - cmp r1, 0x1 - bne _0812C8EA - cmp r2, 0 - beq _0812C8F2 -_0812C8EA: - cmp r0, r1 - bne _0812C8F6 - cmp r0, r2 - bne _0812C8F6 -_0812C8F2: - movs r0, 0 - b _0812C8F8 -_0812C8F6: - movs r0, 0x1 -_0812C8F8: - pop {r1} - bx r1 - thumb_func_end sub_812C8AC - - thumb_func_start sub_812C8FC -sub_812C8FC: @ 812C8FC - push {lr} - ldr r1, =gUnknown_085A7538 - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - movs r2, 0x12 - ldrsh r0, [r0, r2] - subs r0, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .pool - thumb_func_end sub_812C8FC - - thumb_func_start sub_812C920 -sub_812C920: @ 812C920 - push {r4-r7,lr} - movs r6, 0 - ldr r7, =gUnknown_0203AB34 - ldr r0, [r7] - ldrh r1, [r0, 0x2E] - movs r4, 0x2 - subs r1, r4, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_812BC98 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, [r7] - ldrh r0, [r0, 0x30] - subs r4, r0 - lsls r4, 16 - asrs r4, 16 - movs r0, 0x1 - adds r1, r4, 0 - bl sub_812BC98 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r5, r1 - bne _0812C994 - movs r4, 0x2 - b _0812C96A - .pool -_0812C960: - lsls r0, r6, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - lsrs r6, r0, 16 -_0812C96A: - lsls r1, r6, 16 - asrs r1, 16 - subs r1, r4, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_812BC98 - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _0812C960 - cmp r5, 0 - bne _0812C98A - cmp r0, 0x1 - beq _0812C960 -_0812C98A: - cmp r5, 0x1 - bne _0812C9F6 - cmp r0, 0 - beq _0812C960 - b _0812C9F6 -_0812C994: - adds r0, r5, 0 - bl sub_812C854 - lsls r0, 24 - cmp r0, 0 - beq _0812C9F6 - ldr r0, [r7] - ldrb r1, [r0, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0812C9D2 - movs r7, 0x2 -_0812C9AE: - lsls r0, r6, 16 - asrs r4, r0, 16 - subs r1, r7, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_812BC98 - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _0812C9F6 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812C9AE -_0812C9D2: - movs r6, 0 - movs r7, 0x2 - b _0812C9DE -_0812C9D8: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_0812C9DE: - lsls r0, r6, 16 - asrs r4, r0, 16 - subs r1, r7, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_812BC98 - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _0812C9D8 -_0812C9F6: - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - strh r6, [r0, 0x32] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812C920 - - thumb_func_start sub_812CA08 -sub_812CA08: @ 812CA08 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r4, =gUnknown_0203AB34 - ldr r2, [r4] - movs r5, 0x36 - ldrsh r1, [r2, r5] - cmp r1, 0 - beq _0812CAA4 - ldrh r3, [r2, 0x34] - movs r5, 0x34 - ldrsh r0, [r2, r5] - cmp r0, r1 - bne _0812CAA4 - ldrb r1, [r2, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0812CAA4 - ldrh r1, [r2, 0x2E] - subs r1, r3, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_812BC98 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, [r4] - ldrh r1, [r0, 0x36] - ldrh r0, [r0, 0x30] - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_812BC98 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r7, 0 - adds r1, r6, 0 - bl sub_812C854 - lsls r0, 24 - cmp r0, 0 - beq _0812CAA4 - movs r5, 0 - b _0812CA7E - .pool -_0812CA78: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_0812CA7E: - lsls r6, r5, 16 - asrs r5, r6, 16 - cmp r5, 0x4 - bgt _0812CAA4 - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - ldrh r1, [r0, 0x36] - subs r1, r5 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_812BC98 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r7, r4 - bne _0812CA78 - lsrs r6, 16 - str r6, [sp] -_0812CAA4: - ldr r0, =gUnknown_0203AB34 - mov r9, r0 -_0812CAA8: - movs r5, 0x1 - movs r1, 0 - mov r8, r1 - ldr r2, [sp] - lsls r2, 16 - mov r10, r2 -_0812CAB4: - mov r1, r9 - ldr r0, [r1] - ldrh r1, [r0, 0x2E] - lsls r5, 16 - asrs r4, r5, 16 - subs r1, r4, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_812BC98 - lsls r0, 24 - lsrs r7, r0, 24 - mov r2, r9 - ldr r0, [r2] - ldrh r1, [r0, 0x30] - subs r1, r4, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_812BC98 - lsls r0, 24 - lsrs r6, r0, 24 - mov r1, r10 - asrs r0, r1, 16 - subs r4, r0 - lsls r4, 16 - asrs r4, 16 - movs r0, 0x2 - adds r1, r4, 0 - bl sub_812BC98 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_812C8AC - lsls r0, 24 - cmp r0, 0 - bne _0812CB3C - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_812C87C - lsls r0, 24 - cmp r0, 0 - beq _0812CB28 - mov r2, r9 - ldr r0, [r2] - ldrb r1, [r0, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0812CB3C -_0812CB28: - mov r5, r8 - lsls r0, r5, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - lsrs r0, 16 - mov r8, r0 - b _0812CB4A - .pool -_0812CB3C: - movs r2, 0x80 - lsls r2, 9 - adds r0, r5, r2 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _0812CAB4 -_0812CB4A: - mov r5, r8 - cmp r5, 0 - beq _0812CB60 - ldr r1, [sp] - lsls r0, r1, 16 - movs r2, 0x80 - lsls r2, 9 - adds r0, r2 - lsrs r0, 16 - str r0, [sp] - b _0812CAA8 -_0812CB60: - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - mov r5, sp - ldrh r5, [r5] - strh r5, [r0, 0x32] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812CA08 - - thumb_func_start sub_812CB80 -sub_812CB80: @ 812CB80 - push {r4-r7,lr} - mov r7, r8 - push {r7} - bl sub_812CA08 - ldr r4, =gUnknown_0203AB34 - ldr r2, [r4] - movs r0, 0x36 - ldrsh r1, [r2, r0] - cmp r1, 0 - beq _0812CC34 - ldrh r3, [r2, 0x34] - movs r5, 0x34 - ldrsh r0, [r2, r5] - cmp r0, r1 - beq _0812CC34 - ldrb r1, [r2, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0812CC34 - ldrh r1, [r2, 0x2E] - subs r1, r3, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_812BC98 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, [r4] - ldrh r1, [r0, 0x36] - ldrh r0, [r0, 0x30] - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_812BC98 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_812C854 - lsls r0, 24 - cmp r0, 0 - beq _0812CC34 - movs r1, 0x1 - ldr r0, [r4] - movs r2, 0x34 - ldrsh r0, [r0, r2] - cmp r0, 0x1 - bne _0812CBEE - movs r1, 0x3 -_0812CBEE: - movs r3, 0 - lsls r1, 16 - mov r8, r1 - adds r7, r4, 0 -_0812CBF6: - ldr r0, [r7] - ldrh r2, [r0, 0x32] - lsls r0, r3, 16 - asrs r5, r0, 16 - adds r2, r5, r2 - mov r0, r8 - asrs r1, r0, 16 - subs r1, r2 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_812BC98 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r6, r4 - bne _0812CC28 - ldr r1, [r7] - ldrh r0, [r1, 0x32] - adds r0, r5, r0 - strh r0, [r1, 0x32] - b _0812CC34 - .pool -_0812CC28: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812CBF6 -_0812CC34: - ldr r7, =gUnknown_0203AB34 -_0812CC36: - ldr r0, [r7] - ldrh r0, [r0, 0x2E] - movs r1, 0x1 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_812BC98 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, [r7] - ldrh r0, [r0, 0x30] - movs r1, 0x2 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_812BC98 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, [r7] - ldrh r0, [r0, 0x32] - movs r1, 0x3 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_812BC98 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_812C8AC - lsls r0, 24 - cmp r0, 0 - bne _0812CCB4 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_812C87C - lsls r0, 24 - cmp r0, 0 - beq _0812CCA4 - ldr r0, [r7] - ldrb r1, [r0, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0812CCB4 -_0812CCA4: - ldr r1, [r7] - ldrh r0, [r1, 0x32] - adds r0, 0x1 - strh r0, [r1, 0x32] - b _0812CC36 - .pool -_0812CCB4: - ldr r7, =gUnknown_0203AB34 -_0812CCB6: - ldr r0, [r7] - ldrh r0, [r0, 0x2E] - movs r1, 0x3 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_812BC98 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, [r7] - ldrh r0, [r0, 0x30] - movs r1, 0x2 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_812BC98 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, [r7] - ldrh r0, [r0, 0x32] - movs r1, 0x1 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_812BC98 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_812C8AC - lsls r0, 24 - cmp r0, 0 - bne _0812CD34 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_812C87C - lsls r0, 24 - cmp r0, 0 - beq _0812CD24 - ldr r0, [r7] - ldrb r1, [r0, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0812CD34 -_0812CD24: - ldr r1, [r7] - ldrh r0, [r1, 0x32] - adds r0, 0x1 - strh r0, [r1, 0x32] - b _0812CCB6 - .pool -_0812CD34: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_812CB80 - - thumb_func_start sub_812CD40 -sub_812CD40: @ 812CD40 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =sub_812CD74 - adds r0, r5, 0 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x26] - bl _call_via_r5 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812CD40 - - thumb_func_start sub_812CD74 -sub_812CD74: @ 812CD74 - push {r4,lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gUnknown_085A7544 - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r4, 0x8 - ldrsh r2, [r0, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812CD74 - - thumb_func_start sub_812CDA4 -sub_812CDA4: @ 812CDA4 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r1, =gUnknown_085A7550 - movs r2, 0x26 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x73 - str r1, [sp] - movs r1, 0x62 - movs r2, 0x63 - movs r3, 0x72 - bl sub_812FA78 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812CDA4 - - thumb_func_start sub_812CDD8 -sub_812CDD8: @ 812CDD8 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - ble _0812CDF0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0812CDF0: - pop {r0} - bx r0 - thumb_func_end sub_812CDD8 - - thumb_func_start sub_812CDF4 -sub_812CDF4: @ 812CDF4 - push {r4,lr} - sub sp, 0x4 - lsls r4, r1, 24 - lsrs r4, 24 - ldr r1, =gUnknown_085A7550 - movs r2, 0x26 - ldrsh r0, [r0, r2] - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x53 - str r1, [sp] - movs r1, 0x42 - movs r2, 0x43 - movs r3, 0x52 - bl sub_812FA78 - adds r0, r4, 0 - bl DestroyTask - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812CDF4 - - thumb_func_start sub_812CE2C -sub_812CE2C: @ 812CE2C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_085A8408 - lsls r1, r0, 2 - adds r1, r2 - ldr r2, [r1] - ldr r1, =gUnknown_085A8430 - adds r0, r1 - ldrb r1, [r0] - adds r0, r2, 0 - movs r2, 0x2 - bl LoadPalette - pop {r0} - bx r0 - .pool - thumb_func_end sub_812CE2C - - thumb_func_start sub_812CE54 -sub_812CE54: @ 812CE54 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_085A841C - lsls r1, r0, 2 - adds r1, r2 - ldr r2, [r1] - ldr r1, =gUnknown_085A8430 - adds r0, r1 - ldrb r1, [r0] - adds r0, r2, 0 - movs r2, 0x2 - bl LoadPalette - pop {r0} - bx r0 - .pool - thumb_func_end sub_812CE54 - - thumb_func_start sub_812CE7C -sub_812CE7C: @ 812CE7C - push {r4-r7,lr} - lsls r0, 24 - lsrs r1, r0, 24 - movs r4, 0 - ldr r0, =gUnknown_085A843B - adds r0, r1, r0 - ldrb r0, [r0] - cmp r4, r0 - bcs _0812CEA8 - ldr r7, =gUnknown_085A8435 - adds r6, r0, 0 - lsls r5, r1, 1 -_0812CE94: - adds r0, r4, r5 - adds r0, r7 - ldrb r0, [r0] - bl sub_812CE2C - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _0812CE94 -_0812CEA8: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812CE7C - - thumb_func_start sub_812CEB8 -sub_812CEB8: @ 812CEB8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r1, r0, 24 - movs r4, 0 - ldr r0, =gUnknown_085A843B - adds r0, r1, r0 - ldrb r0, [r0] - cmp r4, r0 - bcs _0812CEE4 - ldr r7, =gUnknown_085A8435 - adds r6, r0, 0 - lsls r5, r1, 1 -_0812CED0: - adds r0, r4, r5 - adds r0, r7 - ldrb r0, [r0] - bl sub_812CE54 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _0812CED0 -_0812CEE4: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812CEB8 - - thumb_func_start sub_812CEF4 -sub_812CEF4: @ 812CEF4 - push {r4,r5,lr} - movs r4, 0 - ldr r5, =gSprites -_0812CEFA: - ldr r0, =sub_812D024 - bl CreateInvisibleSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - strh r4, [r1, 0x2E] - ldr r1, =gUnknown_0203AB34 - ldr r1, [r1] - adds r1, 0x44 - adds r1, r4 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _0812CEFA - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812CEF4 - - thumb_func_start sub_812CF34 -sub_812CF34: @ 812CF34 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203AB34 - ldr r1, [r1] - adds r1, 0x44 - adds r1, r0 - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r2, 0 - movs r1, 0x1 - strh r1, [r0, 0x30] - movs r1, 0x4 - strh r1, [r0, 0x32] - strh r2, [r0, 0x34] - strh r2, [r0, 0x36] - movs r1, 0x2 - strh r1, [r0, 0x38] - strh r2, [r0, 0x3C] - bx lr - .pool - thumb_func_end sub_812CF34 - - thumb_func_start sub_812CF6C -sub_812CF6C: @ 812CF6C - push {r4,r5,lr} - movs r2, 0 - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r3, r0, 0 - adds r3, 0x44 - ldr r4, =gSprites -_0812CF7A: - adds r0, r3, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r4 - movs r5, 0x30 - ldrsh r0, [r1, r5] - cmp r0, 0 - beq _0812CFA4 - movs r5, 0x32 - ldrsh r0, [r1, r5] - cmp r0, 0 - beq _0812CFA4 - movs r0, 0 - b _0812CFB0 - .pool -_0812CFA4: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x4 - bls _0812CF7A - movs r0, 0x1 -_0812CFB0: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_812CF6C - - thumb_func_start sub_812CFB8 -sub_812CFB8: @ 812CFB8 - push {r4,lr} - movs r4, 0 -_0812CFBC: - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x44 - adds r0, r4 - ldrb r0, [r0] - bl sub_812CFEC - lsls r0, 24 - cmp r0, 0 - bne _0812CFD8 - movs r0, 0 - b _0812CFE4 - .pool -_0812CFD8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _0812CFBC - movs r0, 0x1 -_0812CFE4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812CFB8 - - thumb_func_start sub_812CFEC -sub_812CFEC: @ 812CFEC - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - movs r2, 0x30 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0812D00C - movs r0, 0x1 - b _0812D01E - .pool -_0812D00C: - ldrh r2, [r1, 0x3C] - movs r3, 0x3C - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _0812D01A - movs r0, 0 - strh r0, [r1, 0x30] -_0812D01A: - lsls r0, r2, 24 - lsrs r0, 24 -_0812D01E: - pop {r1} - bx r1 - thumb_func_end sub_812CFEC - - thumb_func_start sub_812D024 -sub_812D024: @ 812D024 - push {r4-r7,lr} - adds r2, r0, 0 - movs r1, 0x30 - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _0812D0A6 - ldrh r0, [r2, 0x34] - subs r0, 0x1 - strh r0, [r2, 0x34] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0812D08E - movs r0, 0 - strh r0, [r2, 0x3C] - movs r6, 0x1 - strh r6, [r2, 0x34] - ldrh r1, [r2, 0x38] - ldrh r3, [r2, 0x36] - adds r0, r1, r3 - strh r0, [r2, 0x36] - movs r4, 0x4 - ldrh r5, [r2, 0x32] - movs r7, 0x32 - ldrsh r3, [r2, r7] - cmp r3, 0 - beq _0812D060 - movs r4, 0x8 -_0812D060: - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bgt _0812D078 - strh r6, [r2, 0x3C] - negs r0, r1 - strh r0, [r2, 0x38] - cmp r3, 0 - beq _0812D08E - subs r0, r5, 0x1 - strh r0, [r2, 0x32] - b _0812D080 -_0812D078: - cmp r0, r4 - blt _0812D080 - negs r0, r1 - strh r0, [r2, 0x38] -_0812D080: - movs r1, 0x32 - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _0812D08E - ldrh r0, [r2, 0x34] - lsls r0, 1 - strh r0, [r2, 0x34] -_0812D08E: - ldr r1, =gUnknown_085A8430 - movs r3, 0x2E - ldrsh r0, [r2, r3] - adds r0, r1 - ldrb r0, [r0] - ldrh r3, [r2, 0x36] - lsls r3, 24 - lsrs r3, 24 - adds r1, r3, 0 - adds r2, r3, 0 - bl MultiplyPaletteRGBComponents -_0812D0A6: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D024 - - thumb_func_start sub_812D0B0 -sub_812D0B0: @ 812D0B0 - push {r4,lr} - ldr r4, =sub_812D128 - adds r0, r4, 0 - movs r1, 0x6 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x1 - strh r2, [r1, 0xE] - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D0B0 - - thumb_func_start sub_812D0E0 -sub_812D0E0: @ 812D0E0 - push {lr} - ldr r0, =sub_812D128 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - movs r1, 0xC - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _0812D10C - movs r0, 0 - b _0812D120 - .pool -_0812D10C: - adds r0, r2, 0 - bl DestroyTask - ldr r0, =gUnknown_085A84AC - ldr r0, [r0] - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - movs r0, 0x1 -_0812D120: - pop {r1} - bx r1 - .pool - thumb_func_end sub_812D0E0 - - thumb_func_start sub_812D128 -sub_812D128: @ 812D128 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r2, r1, r0 - ldrh r0, [r2, 0xA] - subs r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0812D166 - movs r0, 0x4 - strh r0, [r2, 0xA] - ldrh r1, [r2, 0xE] - ldrh r3, [r2, 0xC] - adds r0, r1, r3 - strh r0, [r2, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - beq _0812D162 - cmp r0, 0x2 - bne _0812D166 -_0812D162: - negs r0, r1 - strh r0, [r2, 0xE] -_0812D166: - ldr r0, =gUnknown_085A84A0 - movs r3, 0xC - ldrsh r1, [r2, r3] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D128 - - thumb_func_start sub_812D188 -sub_812D188: @ 812D188 - push {lr} - ldr r0, =sub_812D230 - movs r1, 0x8 - bl CreateTask - ldr r1, =gUnknown_0203AB34 - ldr r1, [r1] - adds r1, 0x3E - strb r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D188 - - thumb_func_start sub_812D1A8 -sub_812D1A8: @ 812D1A8 - push {r4,lr} - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x3E - ldrb r0, [r0] - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - adds r0, r4, 0 - bl sub_812D394 - movs r1, 0x1 - strh r1, [r4, 0x8] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - strh r1, [r4, 0x26] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D1A8 - - thumb_func_start sub_812D1DC -sub_812D1DC: @ 812D1DC - push {r4,lr} - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x3E - ldrb r0, [r0] - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - adds r0, r4, 0 - bl sub_812D394 - movs r0, 0x3 - strh r0, [r4, 0x8] - movs r0, 0x1 - strh r0, [r4, 0x26] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D1DC - - thumb_func_start sub_812D20C -sub_812D20C: @ 812D20C - ldr r2, =gTasks - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x3E - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r0, [r0, 0x26] - lsls r0, 24 - lsrs r0, 24 - bx lr - .pool - thumb_func_end sub_812D20C - - thumb_func_start sub_812D230 -sub_812D230: @ 812D230 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gUnknown_085A7558 - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D230 - - thumb_func_start nullsub_50 -nullsub_50: @ 812D260 - bx lr - thumb_func_end nullsub_50 - - thumb_func_start sub_812D264 -sub_812D264: @ 812D264 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0xA] - lsls r0, 19 - movs r1, 0xA0 - lsls r1, 13 - adds r0, r1 - asrs r0, 16 - movs r1, 0x14 - bl sub_812EF00 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812D264 - - thumb_func_start sub_812D28C -sub_812D28C: @ 812D28C - push {r4,r5,lr} - adds r4, r0, 0 - ldr r2, =gSprites - movs r0, 0xC - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x3C - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _0812D2FC - ldrh r1, [r4, 0xA] - adds r0, r1, 0x2 - lsls r0, 16 - lsrs r5, r0, 16 - movs r3, 0 - movs r2, 0 - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x1 - bne _0812D2C4 - movs r3, 0x1 - movs r2, 0x1 - b _0812D2CC - .pool -_0812D2C4: - cmp r1, 0x10 - bne _0812D2CC - movs r3, 0x2 - movs r2, 0x2 -_0812D2CC: - ldr r0, =gUnknown_0203AACC - ldr r0, [r0] - lsls r1, r2, 1 - adds r1, r0 - ldr r2, =gUnknown_085A7568 - lsls r0, r3, 2 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - lsls r3, r5, 16 - movs r0, 0x80 - lsls r0, 15 - adds r3, r0 - lsrs r3, 16 - movs r0, 0x2 - movs r2, 0x2 - bl LoadBgTilemap - ldrb r0, [r4, 0xC] - bl sub_812EF6C - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0x26] -_0812D2FC: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D28C - - thumb_func_start sub_812D30C -sub_812D30C: @ 812D30C - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0xA] - adds r0, r1, 0x2 - lsls r0, 16 - lsrs r5, r0, 16 - movs r3, 0 - movs r2, 0x3 - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x1 - bne _0812D32A - movs r3, 0x1 - movs r2, 0x1 - b _0812D332 -_0812D32A: - cmp r1, 0x10 - bne _0812D332 - movs r3, 0x2 - movs r2, 0x2 -_0812D332: - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0812D366 - ldr r0, =gUnknown_0203AACC - ldr r0, [r0] - lsls r1, r2, 1 - adds r1, r0 - ldr r0, =gUnknown_085A7568 - lsls r2, r3, 2 - adds r0, 0x2 - adds r2, r0 - ldrh r0, [r2] - strh r0, [r1] - lsls r3, r5, 16 - movs r0, 0x80 - lsls r0, 15 - adds r3, r0 - lsrs r3, 16 - movs r0, 0x2 - movs r2, 0x2 - bl LoadBgTilemap - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] -_0812D366: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _0812D378 - movs r0, 0 - strh r0, [r4, 0xC] -_0812D378: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0812D384 - strh r0, [r4, 0x8] - strh r0, [r4, 0x26] -_0812D384: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D30C - - thumb_func_start sub_812D394 -sub_812D394: @ 812D394 - push {lr} - movs r1, 0x2 - adds r2, r0, 0 - adds r2, 0x8 - movs r3, 0 -_0812D39E: - lsls r0, r1, 1 - adds r0, r2, r0 - strh r3, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xF - bls _0812D39E - pop {r0} - bx r0 - thumb_func_end sub_812D394 - - thumb_func_start sub_812D3B4 -sub_812D3B4: @ 812D3B4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0x3 - movs r5, 0 - cmp r5, r6 - bge _0812D41E - ldr r7, =gUnknown_085A7568 -_0812D3C4: - movs r3, 0 - movs r1, 0 - lsls r0, r5, 16 - asrs r0, 16 - cmp r0, 0 - bne _0812D3DC - movs r3, 0x1 - movs r1, 0x1 - b _0812D3E4 - .pool -_0812D3DC: - cmp r0, 0xF - bne _0812D3E4 - movs r3, 0x2 - movs r1, 0x2 -_0812D3E4: - ldr r0, =gUnknown_0203AACC - ldr r0, [r0] - lsls r1, 1 - adds r1, r0 - lsls r0, r3, 2 - adds r0, r7 - ldrh r0, [r0] - strh r0, [r1] - lsls r3, r4, 16 - asrs r4, r3, 16 - movs r0, 0x80 - lsls r0, 15 - adds r3, r0 - lsrs r3, 16 - movs r0, 0x2 - movs r2, 0x2 - bl LoadBgTilemap - lsls r0, r5, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - adds r4, 0x1 - lsls r4, 16 - lsrs r4, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, r6 - blt _0812D3C4 -_0812D41E: - lsls r2, r5, 16 - asrs r0, r2, 16 - cmp r0, 0xF - bgt _0812D484 - ldr r7, =gUnknown_085A756A -_0812D428: - movs r3, 0 - movs r1, 0x3 - asrs r0, r2, 16 - cmp r0, 0 - bne _0812D440 - movs r3, 0x1 - movs r1, 0x1 - b _0812D448 - .pool -_0812D440: - cmp r0, 0xF - bne _0812D448 - movs r3, 0x2 - movs r1, 0x2 -_0812D448: - ldr r0, =gUnknown_0203AACC - ldr r0, [r0] - lsls r1, 1 - adds r1, r0 - lsls r0, r3, 2 - adds r0, r7 - ldrh r0, [r0] - strh r0, [r1] - lsls r3, r4, 16 - asrs r4, r3, 16 - movs r0, 0x80 - lsls r0, 15 - adds r3, r0 - lsrs r3, 16 - movs r0, 0x2 - movs r2, 0x2 - bl LoadBgTilemap - lsls r0, r5, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - lsrs r5, r0, 16 - adds r4, 0x1 - lsls r4, 16 - lsrs r4, 16 - lsls r2, r5, 16 - asrs r0, r2, 16 - cmp r0, 0xF - ble _0812D428 -_0812D484: - ldr r2, =gTasks - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x3E - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - strh r6, [r0, 0xA] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D3B4 - - thumb_func_start sub_812D4AC -sub_812D4AC: @ 812D4AC - push {r4,lr} - ldr r4, =sub_812D4EC - adds r0, r4, 0 - movs r1, 0x7 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D4AC - - thumb_func_start sub_812D4CC -sub_812D4CC: @ 812D4CC - push {lr} - ldr r0, =sub_812D4EC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0812D4E4 - movs r0, 0 - b _0812D4E6 - .pool -_0812D4E4: - movs r0, 0x1 -_0812D4E6: - pop {r1} - bx r1 - thumb_func_end sub_812D4CC - - thumb_func_start sub_812D4EC -sub_812D4EC: @ 812D4EC - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gUnknown_085A7574 - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D4EC - - thumb_func_start sub_812D51C -sub_812D51C: @ 812D51C - push {lr} - ldr r3, =gUnknown_0203AB34 - ldr r1, [r3] - movs r2, 0 - strb r2, [r1, 0xA] - ldr r1, [r3] - strh r2, [r1, 0x14] - strh r2, [r1, 0x16] - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - movs r1, 0x1E - strh r1, [r0, 0xC] - movs r1, 0xA0 - lsls r1, 3 - strh r1, [r0, 0x10] - ldr r0, =gSpriteCoordOffsetX - strh r2, [r0] - ldr r0, =gSpriteCoordOffsetY - strh r2, [r0] - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl sub_812DC08 - bl sub_812E474 - bl sub_812E33C - bl sub_812E650 - bl sub_812E70C - bl sub_812E7CC - bl sub_812B700 - bl StopMapMusic - movs r0, 0xC4 - lsls r0, 1 - bl PlayNewMapMusic - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D51C - - thumb_func_start sub_812D594 -sub_812D594: @ 812D594 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r1, =gSpriteCoordOffsetX - ldrh r0, [r1] - subs r0, 0x8 - strh r0, [r1] - ldrh r1, [r4, 0xA] - adds r1, 0x8 - strh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - adds r0, 0xF0 - movs r2, 0xFF - ands r0, r2 - lsrs r5, r0, 3 - ldr r0, =0x000001ff - ands r1, r0 - movs r0, 0x14 - bl SetGpuReg - adds r2, r5, 0 - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r2, r0 - beq _0812D5E2 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x12 - bgt _0812D5E2 - strh r5, [r4, 0xC] - ldrh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 19 - strh r0, [r4, 0xE] - movs r0, 0xE - ldrsh r1, [r4, r0] - adds r0, r2, 0 - bl sub_812DC08 -_0812D5E2: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0xC7 - ble _0812D5F4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x8] - strh r1, [r4, 0xE] -_0812D5F4: - ldrh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 24 - bl sub_812BDD4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D594 - - thumb_func_start sub_812D60C -sub_812D60C: @ 812D60C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 24 - bl sub_812BDD4 - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3B - ble _0812D636 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - bl sub_812E934 - bl sub_812EAB0 -_0812D636: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812D60C - - thumb_func_start sub_812D63C -sub_812D63C: @ 812D63C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - adds r7, r0, 0 - ldr r1, =gUnknown_085A75C0 - mov r0, sp - movs r2, 0x4 - bl memcpy - add r0, sp, 0x4 - mov r8, r0 - ldr r1, =gUnknown_085A75C4 - movs r2, 0x8 - bl memcpy - add r6, sp, 0xC - ldr r1, =gUnknown_085A75CC - adds r0, r6, 0 - movs r2, 0x8 - bl memcpy - ldrh r0, [r7, 0x10] - lsls r0, 16 - asrs r0, 24 - bl sub_812BDD4 - ldrh r0, [r7, 0x10] - subs r0, 0x4 - strh r0, [r7, 0x10] - lsls r0, 16 - asrs r0, 24 - movs r5, 0x4 - subs r5, r0 - lsls r4, r5, 1 - add r8, r4 - mov r1, r8 - movs r2, 0 - ldrsh r0, [r1, r2] - bl sub_812EA44 - adds r6, r4 - movs r1, 0 - ldrsh r0, [r6, r1] - bl sub_812EBAC - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x3F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - mov r2, sp - adds r1, r2, r5 - ldrb r1, [r1] - bl StartSpriteAnimIfDifferent - movs r1, 0x10 - ldrsh r0, [r7, r1] - movs r1, 0x80 - lsls r1, 1 - cmp r0, r1 - bgt _0812D6CC - ldrh r0, [r7, 0x8] - adds r0, 0x1 - strh r0, [r7, 0x8] - strh r1, [r7, 0x10] - movs r0, 0 - strh r0, [r7, 0x12] -_0812D6CC: - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D63C - - thumb_func_start sub_812D6EC -sub_812D6EC: @ 812D6EC - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 24 - bl sub_812BDD4 - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4F - ble _0812D730 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - strh r0, [r4, 0x12] - movs r0, 0x2 - bl sub_812EBAC - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x3F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x3 - bl StartSpriteAnimIfDifferent -_0812D730: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D6EC - - thumb_func_start sub_812D740 -sub_812D740: @ 812D740 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 24 - bl sub_812BDD4 - ldrb r0, [r4, 0x10] - adds r0, 0x80 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4F - ble _0812D76C - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - strh r0, [r4, 0x12] -_0812D76C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812D740 - - thumb_func_start sub_812D774 -sub_812D774: @ 812D774 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 24 - bl sub_812BDD4 - ldrb r0, [r4, 0x10] - adds r0, 0x40 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x27 - ble _0812D7DC - movs r0, 0 - strh r0, [r4, 0x12] - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - ldrb r0, [r1, 0x5] - cmp r0, 0 - beq _0812D7B8 - ldrb r1, [r1, 0xA] - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r1, r0 - bgt _0812D7D6 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - b _0812D7D4 - .pool -_0812D7B8: - movs r1, 0x14 - ldrsh r0, [r4, r1] - cmp r0, 0x3 - ble _0812D7C6 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - b _0812D7D4 -_0812D7C6: - ldrh r0, [r4, 0x14] - bl sub_812B760 - lsls r0, 24 - cmp r0, 0 - beq _0812D7D6 - movs r0, 0xE -_0812D7D4: - strh r0, [r4, 0x8] -_0812D7D6: - ldrh r0, [r4, 0x14] - adds r0, 0x1 - strh r0, [r4, 0x14] -_0812D7DC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812D774 - - thumb_func_start sub_812D7E4 -sub_812D7E4: @ 812D7E4 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r6, =gUnknown_0203AB34 - ldr r0, [r6] - movs r1, 0x14 - ldrsh r0, [r0, r1] - movs r1, 0x14 - bl __modsi3 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r0, 0 - beq _0812D810 - ldrh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 24 - bl sub_812BE0C - b _0812D838 - .pool -_0812D810: - movs r0, 0x1 - bl sub_812BCE8 - ldr r1, [r6] - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1, 0x5] - cmp r0, r1 - beq _0812D842 - ldrh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 24 - bl sub_812BDD4 - ldr r0, [r6] - movs r1, 0x14 - ldrsh r0, [r0, r1] - movs r1, 0x14 - bl __modsi3 -_0812D838: - lsls r0, 16 - lsrs r5, r0, 16 - ldrb r0, [r4, 0x10] - adds r0, 0x40 - strh r0, [r4, 0x10] -_0812D842: - lsls r0, r5, 16 - asrs r5, r0, 16 - cmp r5, 0 - bne _0812D866 - movs r0, 0x1 - bl sub_812BCE8 - ldr r1, =gUnknown_0203AB34 - ldr r1, [r1] - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1, 0x5] - cmp r0, r1 - bne _0812D866 - strh r5, [r4, 0x10] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0812D866: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D7E4 - - thumb_func_start sub_812D870 -sub_812D870: @ 812D870 - push {r4-r6,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x10] - adds r0, 0x1 - movs r6, 0 - strh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3B - ble _0812D914 - bl StopMapMusic - bl sub_812EA7C - bl sub_812EBCC - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldr r5, =gUnknown_0203AB34 - ldr r1, [r5] - ldrb r0, [r1, 0x5] - cmp r0, 0 - bne _0812D8D0 - movs r0, 0xA0 - strh r0, [r4, 0x10] - adds r0, r1, 0 - adds r0, 0x3F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x5 - bl StartSpriteAnimIfDifferent - ldr r0, =0x00000187 - bl PlayFanfare - b _0812D914 - .pool -_0812D8D0: - movs r0, 0xC0 - strh r0, [r4, 0x10] - adds r0, r1, 0 - adds r0, 0x3F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - movs r1, 0x4 - bl StartSpriteAnimIfDifferent - ldr r0, [r5] - adds r0, 0x3F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x2B - strb r6, [r0] - ldr r0, [r5] - ldrb r0, [r0, 0x2] - cmp r0, 0 - beq _0812D90C - bl sub_812D1DC - ldr r0, [r5] - strb r6, [r0, 0x2] -_0812D90C: - movs r0, 0xC3 - lsls r0, 1 - bl PlayFanfare -_0812D914: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D870 - - thumb_func_start sub_812D920 -sub_812D920: @ 812D920 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x10] - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0812D938 - subs r0, r1, 0x1 - strh r0, [r4, 0x10] - lsls r0, 16 - cmp r0, 0 - bne _0812D948 -_0812D938: - bl sub_812D20C - lsls r0, 24 - cmp r0, 0 - bne _0812D948 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0812D948: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812D920 - - thumb_func_start sub_812D950 -sub_812D950: @ 812D950 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r1, =gSpriteCoordOffsetX - ldrh r0, [r1] - subs r0, 0x8 - strh r0, [r1] - ldrh r1, [r4, 0xA] - adds r1, 0x8 - strh r1, [r4, 0xA] - ldrh r0, [r4, 0xE] - adds r0, 0x8 - strh r0, [r4, 0xE] - movs r2, 0xA - ldrsh r0, [r4, r2] - subs r0, 0x8 - movs r2, 0xFF - ands r0, r2 - lsrs r5, r0, 3 - ldr r0, =0x000001ff - ands r1, r0 - movs r0, 0x14 - bl SetGpuReg - ldrh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 19 - cmp r0, 0x19 - bgt _0812D998 - adds r0, r5, 0 - bl sub_812DC50 - b _0812D99E - .pool -_0812D998: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0812D99E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_812D950 - - thumb_func_start sub_812D9A4 -sub_812D9A4: @ 812D9A4 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, =gUnknown_0203AB34 - ldr r0, [r4] - movs r6, 0 - strb r6, [r0, 0xB] - ldr r1, [r4] - ldrb r0, [r1, 0x5] - strb r0, [r1, 0xA] - ldr r0, =gSpriteCoordOffsetX - strh r6, [r0] - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - ldr r1, [r4] - movs r0, 0x8 - strh r0, [r1, 0x1A] - bl sub_812E3E8 - bl sub_812E82C - bl sub_812E8C4 - ldr r0, [r4] - adds r0, 0x60 - ldrh r0, [r0] - bl PlayNewMapMusic - ldr r0, [r4] - ldrb r0, [r0, 0xA] - cmp r0, 0 - bne _0812DA04 - ldr r0, =sub_812D4EC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - b _0812DA1A - .pool -_0812DA04: - movs r0, 0x4 - bl sub_812DEE4 - bl dp15_jump_random_unknown - strh r0, [r5, 0xA] - strh r6, [r5, 0xC] - strh r6, [r5, 0xE] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_0812DA1A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_812D9A4 - - thumb_func_start sub_812DA20 -sub_812DA20: @ 812DA20 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_0203AB34 - ldr r5, [r0] - movs r0, 0x1A - ldrsh r1, [r5, r0] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _0812DA40 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0812DA66 - .pool -_0812DA40: - movs r1, 0x1C - ldrsh r0, [r5, r1] - movs r1, 0x18 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _0812DA66 - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - bne _0812DA66 - ldrh r0, [r5, 0x1A] - lsls r0, 16 - asrs r0, 17 - strh r0, [r5, 0x1A] -_0812DA66: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_812DA20 - - thumb_func_start sub_812DA6C -sub_812DA6C: @ 812DA6C - push {lr} - bl sub_812E054 - lsls r0, 24 - cmp r0, 0 - beq _0812DA86 - ldr r0, =sub_812D4EC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_0812DA86: - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DA6C - - thumb_func_start sub_812DA90 -sub_812DA90: @ 812DA90 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_812E82C - bl sub_812EA7C - bl sub_812EBCC - bl sub_812EC20 - ldr r5, =gSprites - ldr r3, =gUnknown_0203AB34 - ldr r0, [r3] - adds r0, 0x4E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r3] - adds r0, 0x3F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x5 - bl StartSpriteAnimIfDifferent - ldrh r0, [r4, 0x8] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x8] - movs r0, 0x4 - strh r0, [r4, 0x10] - strh r1, [r4, 0x12] - bl StopMapMusic - ldr r0, =0x00000187 - bl PlayFanfare - movs r0, 0xB2 - bl PlaySE - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DA90 - - thumb_func_start sub_812DB04 -sub_812DB04: @ 812DB04 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r1, =gSpriteCoordOffsetY - ldrh r0, [r4, 0x10] - strh r0, [r1] - ldrh r1, [r4, 0x10] - movs r0, 0x16 - bl SetGpuReg - ldrh r1, [r4, 0x12] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0812DB26 - ldrh r0, [r4, 0x10] - negs r0, r0 - strh r0, [r4, 0x10] -_0812DB26: - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - movs r1, 0x1F - ands r0, r1 - cmp r0, 0 - bne _0812DB3C - ldrh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 17 - strh r0, [r4, 0x10] -_0812DB3C: - movs r0, 0x10 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _0812DB7A - bl sub_812EC70 - bl sub_812EC94 - bl sub_812E5A8 - bl sub_812EDC0 - ldr r2, =gSprites - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x4E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - strh r5, [r4, 0x12] -_0812DB7A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DB04 - - thumb_func_start sub_812DB8C -sub_812DB8C: @ 812DB8C - push {r4,lr} - adds r4, r0, 0 - ldr r1, =gSpriteCoordOffsetY - movs r0, 0 - strh r0, [r1] - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - bl sub_812EEA8 - lsls r0, 24 - cmp r0, 0 - beq _0812DBB2 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - bl sub_812EECC -_0812DBB2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DB8C - - thumb_func_start sub_812DBBC -sub_812DBBC: @ 812DBBC - push {lr} - ldr r1, =gSpriteCoordOffsetX - movs r0, 0 - strh r0, [r1] - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x60 - ldrh r0, [r0] - bl PlayNewMapMusic - bl sub_812E3E8 - bl sub_812E8F8 - bl sub_812E8C4 - bl sub_812ED8C - ldr r0, =sub_812D4EC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DBBC - - thumb_func_start sub_812DC08 -sub_812DC08: @ 812DC08 - push {r4-r6,lr} - movs r2, 0x4 - lsls r1, 16 - asrs r6, r1, 16 - lsls r0, 16 - asrs r5, r0, 16 -_0812DC14: - lsls r4, r2, 16 - asrs r4, 16 - subs r0, r4, 0x4 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r6, r1 - lsls r1, 1 - ldr r0, =gUnknown_085A96E0 - adds r1, r0 - lsls r3, r4, 5 - adds r3, r5, r3 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x1 - movs r2, 0x2 - bl LoadBgTilemap - adds r4, 0x1 - lsls r4, 16 - lsrs r2, r4, 16 - asrs r4, 16 - cmp r4, 0xE - ble _0812DC14 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DC08 - - thumb_func_start sub_812DC50 -sub_812DC50: @ 812DC50 - push {r4,r5,lr} - movs r4, 0x4 - lsls r0, 16 - asrs r5, r0, 16 -_0812DC58: - lsls r3, r4, 5 - adds r3, r5, r3 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x1 - ldr r1, =gUnknown_085A9898 - movs r2, 0x2 - bl LoadBgTilemap - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xE - bls _0812DC58 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DC50 - - thumb_func_start sub_812DC80 -sub_812DC80: @ 812DC80 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =sub_812DCD4 - adds r0, r5, 0 - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0xA] - bl _call_via_r5 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DC80 - - thumb_func_start sub_812DCB4 -sub_812DCB4: @ 812DCB4 - push {lr} - ldr r0, =sub_812DCD4 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0812DCCC - movs r0, 0 - b _0812DCCE - .pool -_0812DCCC: - movs r0, 0x1 -_0812DCCE: - pop {r1} - bx r1 - thumb_func_end sub_812DCB4 - - thumb_func_start sub_812DCD4 -sub_812DCD4: @ 812DCD4 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gUnknown_085A75D4 - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DCD4 - - thumb_func_start sub_812DD04 -sub_812DD04: @ 812DD04 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812DD04 - - thumb_func_start sub_812DD28 -sub_812DD28: @ 812DD28 - push {lr} - adds r2, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0812DD3E - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] -_0812DD3E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DD28 - - thumb_func_start sub_812DD48 -sub_812DD48: @ 812DD48 - push {r4,lr} - adds r4, r0, 0 - bl sub_812DFDC - bl sub_812FAF4 - ldr r0, =gUnknown_085A7444 - bl AddWindow - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DD48 - - thumb_func_start sub_812DD78 -sub_812DD78: @ 812DD78 - push {r4,r5,lr} - sub sp, 0xC - adds r5, r0, 0 - ldr r0, =gUnknown_085A744C - str r0, [sp] - movs r4, 0 - str r4, [sp, 0x4] - ldr r0, =gText_ReelTimeHelp - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x2 - movs r3, 0x5 - bl box_print - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DD78 - - thumb_func_start sub_812DDC4 -sub_812DDC4: @ 812DDC4 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - beq _0812DE08 - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x1 - bl ClearWindowTilemap - movs r0, 0x1 - movs r1, 0x1 - bl CopyWindowToVram - movs r0, 0x1 - bl RemoveWindow - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0812DE08: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DDC4 - - thumb_func_start sub_812DE14 -sub_812DE14: @ 812DE14 - push {r4,lr} - adds r4, r0, 0 - bl sub_812F968 - movs r0, 0x3 - bl ShowBg - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812DE14 - - thumb_func_start sub_812DE30 -sub_812DE30: @ 812DE30 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0xA] - bl sub_812DEE4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812DE30 - - thumb_func_start sub_812DE48 -sub_812DE48: @ 812DE48 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - ldrb r0, [r0, 0x2] - bl sub_812D3B4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DE48 - - thumb_func_start sub_812DE7C -sub_812DE7C: @ 812DE7C - push {lr} - ldr r0, =sub_812DCD4 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DE7C - - thumb_func_start sub_812DE94 -sub_812DE94: @ 812DE94 - push {lr} - ldr r0, =sub_812E0B0 - movs r1, 0x3 - bl CreateTask - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x3D - strb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks - adds r0, r1 - ldr r1, =0x0000ffff - strh r1, [r0, 0xA] - movs r1, 0x4 - adds r2, r0, 0 - adds r2, 0x8 - movs r3, 0x40 -_0812DEC0: - lsls r0, r1, 1 - adds r0, r2, r0 - strh r3, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xF - bls _0812DEC0 - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DE94 - - thumb_func_start sub_812DEE4 -sub_812DEE4: @ 812DEE4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_812DFDC - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x3D - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks - adds r7, r0, r1 - strh r4, [r7, 0xA] - movs r6, 0 - ldr r1, =gUnknown_085A7A04 - lsls r5, r4, 2 - adds r0, r5, r1 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0xFF - beq _0812DF52 - mov r8, r1 -_0812DF1A: - mov r0, r8 - adds r4, r5, r0 - ldr r0, [r4] - lsls r2, r6, 2 - adds r2, r0 - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - movs r3, 0x2 - ldrsh r2, [r2, r3] - bl sub_812EF98 - lsls r0, 24 - lsrs r0, 24 - adds r2, r6, 0x4 - lsls r2, 1 - adds r1, r7, 0 - adds r1, 0x8 - adds r1, r2 - strh r0, [r1] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, [r4] - lsls r0, r6, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0812DF1A -_0812DF52: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DEE4 - - thumb_func_start sub_812DF68 -sub_812DF68: @ 812DF68 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - mov r8, r1 - ldr r4, [sp, 0x1C] - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x3D - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks - adds r0, r1 - mov r12, r0 - movs r5, 0x4 - lsls r4, 16 - asrs r6, r4, 16 - lsls r2, 16 - lsls r3, 16 -_0812DF96: - lsls r0, r5, 1 - mov r1, r12 - adds r1, 0x8 - adds r4, r1, r0 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x40 - bne _0812DFC4 - str r6, [sp] - adds r0, r7, 0 - mov r1, r8 - asrs r2, 16 - asrs r3, 16 - bl sub_812EFDC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - b _0812DFCE - .pool -_0812DFC4: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _0812DF96 -_0812DFCE: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_812DF68 - - thumb_func_start sub_812DFDC -sub_812DFDC: @ 812DFDC - push {r4-r6,lr} - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x3D - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - ldrh r1, [r4, 0xA] - ldr r0, =0x0000ffff - cmp r1, r0 - beq _0812E008 - ldr r0, =gUnknown_085A7A20 - movs r2, 0xA - ldrsh r1, [r4, r2] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - bl _call_via_r0 -_0812E008: - movs r5, 0x4 - adds r6, r4, 0 - adds r6, 0x8 -_0812E00E: - lsls r0, r5, 1 - adds r4, r6, r0 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x40 - beq _0812E02E - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - movs r0, 0x40 - strh r0, [r4] -_0812E02E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _0812E00E - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DFDC - - thumb_func_start sub_812E054 -sub_812E054: @ 812E054 - push {r4,r5,lr} - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x3D - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks - adds r0, r1 - movs r2, 0x4 - adds r3, r0, 0 - adds r3, 0x8 - ldr r4, =gSprites -_0812E070: - lsls r0, r2, 1 - adds r1, r3, r0 - movs r5, 0 - ldrsh r0, [r1, r5] - cmp r0, 0x40 - beq _0812E09C - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r5, 0x3C - ldrsh r0, [r1, r5] - cmp r0, 0 - beq _0812E09C - movs r0, 0 - b _0812E0A8 - .pool -_0812E09C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bls _0812E070 - movs r0, 0x1 -_0812E0A8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_812E054 - - thumb_func_start sub_812E0B0 -sub_812E0B0: @ 812E0B0 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gUnknown_085A7610 - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E0B0 - - thumb_func_start nullsub_51 -nullsub_51: @ 812E0E0 - bx lr - thumb_func_end nullsub_51 - - thumb_func_start sub_812E0E4 -sub_812E0E4: @ 812E0E4 - push {r4-r7,lr} - movs r6, 0 - movs r0, 0x30 -_0812E0EA: - movs r4, 0 - lsls r5, r0, 16 - lsls r7, r6, 16 -_0812E0F0: - ldr r0, =gUnknown_085A7CE0 - asrs r1, r5, 16 - movs r2, 0 - movs r3, 0xE - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - ldrb r0, [r1, 0x5] - movs r2, 0xC - orrs r0, r2 - strb r0, [r1, 0x5] - strh r6, [r1, 0x2E] - strh r4, [r1, 0x30] - ldr r0, =0x0000ffff - strh r0, [r1, 0x34] - lsls r0, r4, 16 - movs r1, 0xC0 - lsls r1, 13 - adds r0, r1 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x77 - ble _0812E0F0 - movs r2, 0x80 - lsls r2, 9 - adds r1, r7, r2 - movs r2, 0xA0 - lsls r2, 14 - adds r0, r5, r2 - lsrs r0, 16 - lsrs r6, r1, 16 - asrs r1, 16 - cmp r1, 0x2 - ble _0812E0EA - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E0E4 - - thumb_func_start sub_812E154 -sub_812E154: @ 812E154 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, =gUnknown_0203AB34 - ldr r4, [r0] - movs r1, 0x2E - ldrsh r0, [r5, r1] - lsls r0, 1 - adds r1, r4, 0 - adds r1, 0x1C - adds r1, r0 - ldrh r0, [r5, 0x30] - ldrh r1, [r1] - adds r0, r1 - strh r0, [r5, 0x32] - movs r2, 0x32 - ldrsh r0, [r5, r2] - movs r1, 0x78 - bl __modsi3 - strh r0, [r5, 0x32] - movs r2, 0x2E - ldrsh r1, [r5, r2] - lsls r1, 1 - adds r4, 0x22 - adds r4, r1 - ldrh r1, [r4] - adds r1, 0x1C - adds r0, r1 - strh r0, [r5, 0x22] - ldrh r4, [r5, 0x2E] - lsls r4, 24 - lsrs r4, 24 - movs r1, 0x32 - ldrsh r0, [r5, r1] - movs r1, 0x18 - bl __divsi3 - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl sub_812BC44 - lsls r0, 24 - lsrs r0, 24 - bl GetSpriteTileStartByTag - adds r1, r5, 0 - adds r1, 0x40 - strh r0, [r1] - adds r0, r5, 0 - bl SetSpriteSheetFrameTileNum - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E154 - - thumb_func_start sub_812E1C8 -sub_812E1C8: @ 812E1C8 - push {r4-r6,lr} - movs r4, 0xCB - movs r5, 0x1 - ldr r6, =0x0000270f -_0812E1D0: - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r0, r4, 0 - movs r1, 0x17 - movs r2, 0 - adds r3, r5, 0 - bl sub_812E230 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 17 - subs r4, 0x7 - lsls r4, 16 - lsrs r4, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, r6 - ble _0812E1D0 - movs r4, 0xEB - movs r5, 0x1 - ldr r6, =0x0000270f -_0812E1FE: - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r0, r4, 0 - movs r1, 0x17 - movs r2, 0x1 - adds r3, r5, 0 - bl sub_812E230 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 17 - subs r4, 0x7 - lsls r4, 16 - lsrs r4, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, r6 - ble _0812E1FE - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E1C8 - - thumb_func_start sub_812E230 -sub_812E230: @ 812E230 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - adds r6, r1, 0 - mov r8, r2 - adds r4, r3, 0 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =gUnknown_085A7CF8 - lsls r5, 16 - asrs r5, 16 - lsls r6, 16 - asrs r6, 16 - adds r1, r5, 0 - adds r2, r6, 0 - movs r3, 0xD - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, =gSprites - adds r2, r0 - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r2, 0x5] - mov r0, r8 - strh r0, [r2, 0x2E] - strh r4, [r2, 0x30] - lsls r4, 16 - asrs r4, 16 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 1 - strh r0, [r2, 0x32] - ldr r0, =0x0000ffff - strh r0, [r2, 0x34] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E230 - - thumb_func_start sub_812E2A8 -sub_812E2A8: @ 812E2A8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - ldrh r2, [r1, 0xC] - movs r3, 0x2E - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _0812E2BC - ldrh r2, [r1, 0xE] -_0812E2BC: - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, r2 - beq _0812E2F6 - strh r2, [r4, 0x34] - ldrh r1, [r4, 0x32] - adds r0, r2, 0 - bl __umodsi3 - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r1, [r4, 0x30] - adds r0, r2, 0 - bl __udivsi3 - lsls r0, 16 - movs r3, 0xE0 - lsls r3, 11 - adds r0, r3 - lsrs r2, r0, 16 - adds r0, r2, 0 - bl GetSpriteTileStartByTag - adds r1, r4, 0 - adds r1, 0x40 - strh r0, [r1] - adds r0, r4, 0 - bl SetSpriteSheetFrameTileNum -_0812E2F6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E2A8 - - thumb_func_start sub_812E300 -sub_812E300: @ 812E300 - push {lr} - ldr r0, =gUnknown_085A7D10 - movs r1, 0x58 - movs r2, 0x48 - movs r3, 0xF - bl CreateSprite - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r1, =gUnknown_085A7FC0 - bl SetSubspriteTables - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E300 - - thumb_func_start sub_812E33C -sub_812E33C: @ 812E33C - push {r4,r5,lr} - sub sp, 0x18 - ldr r4, =gUnknown_0203AAE4 - ldr r0, [r4] - cmp r0, 0 - bne _0812E350 - movs r0, 0x28 - bl AllocZeroed - str r0, [r4] -_0812E350: - ldr r2, [r4] - ldr r0, =gUnknown_0203AAD8 - ldr r1, [r0] - str r1, [r2] - movs r3, 0x80 - lsls r3, 4 - strh r3, [r2, 0x4] - adds r0, r1, r3 - str r0, [r2, 0x8] - strh r3, [r2, 0xC] - movs r4, 0x80 - lsls r4, 5 - adds r0, r1, r4 - str r0, [r2, 0x10] - strh r3, [r2, 0x14] - movs r5, 0xC0 - lsls r5, 5 - adds r0, r1, r5 - str r0, [r2, 0x18] - strh r3, [r2, 0x1C] - movs r0, 0x80 - lsls r0, 6 - adds r1, r0 - str r1, [r2, 0x20] - strh r3, [r2, 0x24] - mov r1, sp - ldr r0, =gUnknown_085A7D28 - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - str r2, [sp, 0xC] - movs r1, 0x8C - lsls r1, 1 - mov r0, sp - movs r2, 0x50 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - ldrb r3, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - movs r3, 0x4 - orrs r1, r3 - strb r1, [r2, 0x5] - adds r2, 0x3E - ldrb r1, [r2] - movs r3, 0x2 - orrs r1, r3 - strb r1, [r2] - ldr r1, =gUnknown_0203AB34 - ldr r1, [r1] - adds r1, 0x3F - strb r0, [r1] - add sp, 0x18 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E33C - - thumb_func_start sub_812E3E8 -sub_812E3E8: @ 812E3E8 - push {r4,lr} - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x3F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - ldr r4, =gUnknown_0203AAE4 - ldr r0, [r4] - cmp r0, 0 - beq _0812E410 - bl Free - movs r0, 0 - str r0, [r4] -_0812E410: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E3E8 - - thumb_func_start sub_812E424 -sub_812E424: @ 812E424 - push {lr} - adds r2, r0, 0 - movs r0, 0 - strh r0, [r2, 0x24] - strh r0, [r2, 0x26] - adds r0, r2, 0 - adds r0, 0x2A - ldrb r0, [r0] - cmp r0, 0x4 - bne _0812E46A - movs r0, 0x8 - strh r0, [r2, 0x24] - strh r0, [r2, 0x26] - adds r0, r2, 0 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0 - beq _0812E458 - adds r0, r2, 0 - adds r0, 0x2C - ldrb r1, [r0] - movs r0, 0x3F - ands r0, r1 - cmp r0, 0 - bne _0812E466 - b _0812E46A -_0812E458: - adds r0, r2, 0 - adds r0, 0x2C - ldrb r1, [r0] - movs r0, 0x3F - ands r0, r1 - cmp r0, 0 - bne _0812E46A -_0812E466: - ldr r0, =0x0000fff8 - strh r0, [r2, 0x26] -_0812E46A: - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E424 - - thumb_func_start sub_812E474 -sub_812E474: @ 812E474 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - ldr r4, =gUnknown_0203AAE8 - ldr r0, [r4] - cmp r0, 0 - bne _0812E490 - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] -_0812E490: - ldr r2, [r4] - ldr r0, =gUnknown_0203AAD8 - mov r10, r0 - ldr r0, [r0] - movs r1, 0xA0 - lsls r1, 6 - adds r0, r1 - str r0, [r2] - movs r0, 0xC0 - lsls r0, 2 - strh r0, [r2, 0x4] - mov r1, sp - ldr r0, =gUnknown_085A7D40 - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldm r0!, {r3,r4,r7} - stm r1!, {r3,r4,r7} - str r2, [sp, 0xC] - mov r0, sp - movs r1, 0xB8 - lsls r1, 1 - movs r2, 0x34 - movs r3, 0x7 - bl CreateSprite - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r5, =gSprites - mov r9, r5 - adds r2, r0, r5 - ldrb r1, [r2, 0x5] - movs r7, 0xD - negs r7, r7 - mov r8, r7 - mov r0, r8 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x5] - adds r1, r2, 0 - adds r1, 0x3E - ldrb r0, [r1] - movs r6, 0x2 - orrs r0, r6 - strb r0, [r1] - ldr r1, =gUnknown_085A7FE0 - adds r0, r2, 0 - bl SetSubspriteTables - ldr r5, =gUnknown_0203AB34 - ldr r0, [r5] - adds r0, 0x49 - strb r4, [r0] - ldr r4, =gUnknown_0203AAEC - ldr r0, [r4] - cmp r0, 0 - bne _0812E510 - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] -_0812E510: - ldr r2, [r4] - mov r3, r10 - ldr r0, [r3] - movs r4, 0xAC - lsls r4, 6 - adds r0, r4 - str r0, [r2] - movs r0, 0xA0 - lsls r0, 3 - strh r0, [r2, 0x4] - mov r1, sp - ldr r0, =gUnknown_085A7D58 - ldm r0!, {r3,r4,r7} - stm r1!, {r3,r4,r7} - ldm r0!, {r3,r4,r7} - stm r1!, {r3,r4,r7} - str r2, [sp, 0xC] - mov r0, sp - movs r1, 0xB8 - lsls r1, 1 - movs r2, 0x54 - movs r3, 0x7 - bl CreateSprite - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - mov r7, r9 - adds r2, r0, r7 - ldrb r1, [r2, 0x5] - mov r0, r8 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x5] - adds r1, r2, 0 - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r6 - strb r0, [r1] - ldr r1, =gUnknown_085A7FF4 - adds r0, r2, 0 - bl SetSubspriteTables - ldr r0, [r5] - adds r0, 0x4A - strb r4, [r0] - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E474 - - thumb_func_start sub_812E5A8 -sub_812E5A8: @ 812E5A8 - push {r4,r5,lr} - sub sp, 0x18 - ldr r4, =gUnknown_0203AAF0 - ldr r0, [r4] - cmp r0, 0 - bne _0812E5BC - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] -_0812E5BC: - ldr r2, [r4] - ldr r0, =gUnknown_0203AAD8 - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 6 - adds r0, r1 - str r0, [r2] - movs r0, 0xC0 - lsls r0, 3 - strh r0, [r2, 0x4] - mov r1, sp - ldr r0, =gUnknown_085A7D70 - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - str r2, [sp, 0xC] - ldr r0, =gSpriteCoordOffsetX - ldrh r0, [r0] - movs r1, 0xA8 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - mov r0, sp - movs r2, 0x50 - movs r3, 0x7 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x5] - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - ldr r1, =gUnknown_085A8010 - bl SetSubspriteTables - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x42 - strb r4, [r0] - add sp, 0x18 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E5A8 - - thumb_func_start sub_812E650 -sub_812E650: @ 812E650 - push {r4-r6,lr} - movs r4, 0 - movs r5, 0 -_0812E656: - ldr r0, =gUnknown_085A7D88 - movs r1, 0xB8 - lsls r1, 1 - movs r2, 0 - movs r3, 0xA - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - ldr r1, =gSprites - adds r3, r1 - ldrb r2, [r3, 0x5] - movs r6, 0xD - negs r6, r6 - adds r1, r6, 0 - ands r2, r1 - movs r1, 0x4 - orrs r2, r1 - strb r2, [r3, 0x5] - movs r1, 0x3E - adds r1, r3 - mov r12, r1 - ldrb r1, [r1] - movs r2, 0x2 - orrs r1, r2 - mov r2, r12 - strb r1, [r2] - strh r5, [r3, 0x3C] - ldr r1, =gUnknown_0203AB34 - ldr r1, [r1] - adds r1, 0x4B - adds r1, r4 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r5, 16 - movs r6, 0xA0 - lsls r6, 13 - adds r0, r6 - lsrs r5, r0, 16 - cmp r4, 0x2 - bls _0812E656 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E650 - - thumb_func_start sub_812E6C4 -sub_812E6C4: @ 812E6C4 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - ldrh r0, [r4, 0x3C] - ldrh r1, [r1, 0x14] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x28 - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - adds r1, r0, 0 - adds r1, 0x3B - strh r1, [r4, 0x22] - movs r1, 0x14 - bl __divsi3 - lsls r0, 16 - asrs r0, 16 - bl sub_812BCE8 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnimIfDifferent - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E6C4 - - thumb_func_start sub_812E70C -sub_812E70C: @ 812E70C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r1, 0xB8 - lsls r1, 1 - ldr r0, =gUnknown_085A7DA0 - movs r2, 0x64 - movs r3, 0x9 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r7, =gSprites - adds r2, r0, r7 - adds r1, r2, 0 - adds r1, 0x3E - ldrb r0, [r1] - movs r3, 0x2 - mov r10, r3 - mov r3, r10 - orrs r0, r3 - strb r0, [r1] - ldrb r1, [r2, 0x5] - movs r5, 0xD - negs r5, r5 - adds r0, r5, 0 - ands r0, r1 - movs r1, 0x4 - mov r8, r1 - mov r3, r8 - orrs r0, r3 - strb r0, [r2, 0x5] - ldr r0, =gUnknown_085A8028 - mov r9, r0 - adds r0, r2, 0 - mov r1, r9 - bl SetSubspriteTables - ldr r6, =gUnknown_0203AB34 - ldr r0, [r6] - adds r0, 0x4E - strb r4, [r0] - movs r1, 0x90 - lsls r1, 1 - ldr r0, =gUnknown_085A7DA0 - movs r2, 0x68 - movs r3, 0x4 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r2, r0, r7 - adds r1, r2, 0 - adds r1, 0x3E - ldrb r0, [r1] - mov r3, r10 - orrs r0, r3 - strb r0, [r1] - ldrb r0, [r2, 0x5] - ands r5, r0 - mov r0, r8 - orrs r5, r0 - strb r5, [r2, 0x5] - adds r0, r2, 0 - mov r1, r9 - bl SetSubspriteTables - ldr r0, [r6] - adds r0, 0x4F - strb r4, [r0] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E70C - - thumb_func_start sub_812E7CC -sub_812E7CC: @ 812E7CC - push {r4,lr} - ldr r0, =gUnknown_085A7DB8 - movs r1, 0xB8 - lsls r1, 1 - movs r2, 0x4C - movs r3, 0xB - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r1, =gUnknown_085A803C - bl SetSubspriteTables - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x40 - strb r4, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E7CC - - thumb_func_start sub_812E82C -sub_812E82C: @ 812E82C - push {r4,lr} - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x40 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - movs r4, 0 -_0812E846: - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x49 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0812E846 - ldr r4, =gUnknown_0203AAE8 - ldr r0, [r4] - cmp r0, 0 - beq _0812E878 - bl Free - movs r0, 0 - str r0, [r4] -_0812E878: - ldr r4, =gUnknown_0203AAEC - ldr r0, [r4] - cmp r0, 0 - beq _0812E888 - bl Free - movs r0, 0 - str r0, [r4] -_0812E888: - movs r4, 0 -_0812E88A: - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x4B - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0812E88A - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E82C - - thumb_func_start sub_812E8C4 -sub_812E8C4: @ 812E8C4 - push {r4,lr} - movs r4, 0 -_0812E8C8: - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x4E - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0812E8C8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E8C4 - - thumb_func_start sub_812E8F8 -sub_812E8F8: @ 812E8F8 - push {r4,lr} - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x42 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - ldr r4, =gUnknown_0203AAF0 - ldr r0, [r4] - cmp r0, 0 - beq _0812E920 - bl Free - movs r0, 0 - str r0, [r4] -_0812E920: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E8F8 - - thumb_func_start sub_812E934 -sub_812E934: @ 812E934 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - ldr r0, =gUnknown_085A7DD0 - mov r10, r0 - movs r1, 0x98 - movs r2, 0x20 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r2, =gSprites - mov r9, r2 - adds r3, r1, r2 - ldrb r2, [r3, 0x5] - movs r4, 0xD - negs r4, r4 - adds r1, r4, 0 - ands r1, r2 - movs r2, 0x4 - mov r8, r2 - mov r2, r8 - orrs r1, r2 - strb r1, [r3, 0x5] - adds r5, r3, 0 - adds r5, 0x3F - ldrb r1, [r5] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r5] - ldr r6, =gUnknown_0203AB34 - ldr r1, [r6] - adds r1, 0x50 - strb r0, [r1] - movs r0, 0x8 - strh r0, [r3, 0x2E] - ldr r0, =0x0000ffff - strh r0, [r3, 0x30] - movs r0, 0x1 - negs r0, r0 - strh r0, [r3, 0x32] - movs r5, 0x20 - strh r5, [r3, 0x3C] - mov r0, r10 - movs r1, 0xB8 - movs r2, 0x20 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - mov r2, r9 - adds r3, r1, r2 - ldrb r1, [r3, 0x5] - ands r4, r1 - mov r1, r8 - orrs r4, r1 - strb r4, [r3, 0x5] - ldr r1, [r6] - adds r1, 0x51 - strb r0, [r1] - movs r0, 0x1 - strh r0, [r3, 0x30] - subs r0, 0x2 - strh r0, [r3, 0x32] - strh r5, [r3, 0x3C] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E934 - - thumb_func_start sub_812E9E8 -sub_812E9E8: @ 812E9E8 - push {r4,lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - movs r1, 0x2E - ldrsh r4, [r2, r1] - cmp r4, 0 - beq _0812EA0C - subs r0, 0x1 - movs r1, 0 - strh r0, [r2, 0x2E] - strh r1, [r2, 0x24] - strh r1, [r2, 0x26] - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - b _0812EA3E -_0812EA0C: - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x24] - adds r0, r1 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x32] - ldrh r1, [r2, 0x26] - adds r0, r1 - strh r0, [r2, 0x26] - ldrh r0, [r2, 0x34] - adds r0, 0x1 - strh r0, [r2, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _0812EA3E - ldrh r0, [r2, 0x3C] - strh r0, [r2, 0x2E] - strh r4, [r2, 0x34] -_0812EA3E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812E9E8 - - thumb_func_start sub_812EA44 -sub_812EA44: @ 812EA44 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, =gSprites - ldr r1, =gUnknown_0203AB34 - ldr r3, [r1] - adds r1, r3, 0 - adds r1, 0x50 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - strh r0, [r1, 0x3C] - adds r3, 0x51 - ldrb r2, [r3] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - strh r0, [r1, 0x3C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812EA44 - - thumb_func_start sub_812EA7C -sub_812EA7C: @ 812EA7C - push {r4,lr} - movs r4, 0 -_0812EA80: - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x50 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0812EA80 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812EA7C - - thumb_func_start sub_812EAB0 -sub_812EAB0: @ 812EAB0 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - ldr r0, =gUnknown_085A7DE8 - mov r8, r0 - movs r1, 0x48 - movs r2, 0x50 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSprites - mov r9, r1 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - add r2, r9 - ldrb r3, [r2, 0x5] - movs r4, 0xD - negs r4, r4 - adds r1, r4, 0 - ands r1, r3 - movs r6, 0x4 - orrs r1, r6 - strb r1, [r2, 0x5] - movs r3, 0 - movs r1, 0x1 - strh r1, [r2, 0x2E] - strh r3, [r2, 0x38] - movs r1, 0x10 - strh r1, [r2, 0x3A] - movs r1, 0x8 - strh r1, [r2, 0x3C] - ldr r5, =gUnknown_0203AB34 - ldr r1, [r5] - adds r1, 0x52 - strb r0, [r1] - mov r0, r8 - movs r1, 0x68 - movs r2, 0x50 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r9 - ldrb r2, [r1, 0x5] - ands r4, r2 - orrs r4, r6 - strb r4, [r1, 0x5] - adds r1, 0x3F - ldrb r2, [r1] - movs r3, 0x1 - orrs r2, r3 - strb r2, [r1] - ldr r1, [r5] - adds r1, 0x53 - strb r0, [r1] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812EAB0 - - thumb_func_start sub_812EB48 -sub_812EB48: @ 812EB48 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r1, =gUnknown_085A7614 - mov r0, sp - movs r2, 0x2 - bl memcpy - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0812EB9A - ldrh r0, [r4, 0x3A] - subs r0, 0x1 - strh r0, [r4, 0x3A] - lsls r0, 16 - cmp r0, 0 - bgt _0812EB9A - movs r0, 0x7 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - ldr r2, =0x01030000 - adds r0, r2 - lsrs r0, 16 - movs r2, 0x38 - ldrsh r1, [r4, r2] - add r1, sp - ldrb r3, [r1] - adds r1, r3, 0 - adds r2, r3, 0 - bl MultiplyInvertedPaletteRGBComponents - ldrh r0, [r4, 0x38] - adds r0, 0x1 - movs r1, 0x1 - ands r0, r1 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x3C] - strh r0, [r4, 0x3A] -_0812EB9A: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812EB48 - - thumb_func_start sub_812EBAC -sub_812EBAC: @ 812EBAC - ldr r3, =gSprites - ldr r1, =gUnknown_0203AB34 - ldr r1, [r1] - adds r1, 0x52 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - strh r0, [r1, 0x3C] - bx lr - .pool - thumb_func_end sub_812EBAC - - thumb_func_start sub_812EBCC -sub_812EBCC: @ 812EBCC - push {r4,lr} - movs r0, 0x7 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - ldr r1, =0x01030000 - adds r0, r1 - lsrs r0, 16 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl MultiplyInvertedPaletteRGBComponents - movs r4, 0 -_0812EBEA: - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x52 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0812EBEA - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812EBCC - - thumb_func_start sub_812EC20 -sub_812EC20: @ 812EC20 - push {lr} - ldr r0, =gUnknown_085A7E00 - movs r1, 0xA8 - movs r2, 0x50 - movs r3, 0x6 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r3, [r1, 0x5] - movs r2, 0xD - negs r2, r2 - ands r2, r3 - movs r3, 0x4 - orrs r2, r3 - strb r2, [r1, 0x5] - ldr r1, =gUnknown_0203AB34 - ldr r1, [r1] - adds r1, 0x41 - strb r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_812EC20 - - thumb_func_start sub_812EC64 -sub_812EC64: @ 812EC64 - ldr r1, =gSpriteCoordOffsetY - ldrh r1, [r1] - strh r1, [r0, 0x26] - bx lr - .pool - thumb_func_end sub_812EC64 - - thumb_func_start sub_812EC70 -sub_812EC70: @ 812EC70 - push {lr} - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x41 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - pop {r0} - bx r0 - .pool - thumb_func_end sub_812EC70 - - thumb_func_start sub_812EC94 -sub_812EC94: @ 812EC94 - push {r4,r5,lr} - sub sp, 0x8 - ldr r1, =gUnknown_085A7616 - mov r0, sp - movs r2, 0x8 - bl memcpy - movs r4, 0 -_0812ECA4: - ldr r0, =gSpriteCoordOffsetX - ldrh r0, [r0] - movs r1, 0x50 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - ldr r0, =gUnknown_085A7E18 - movs r2, 0x44 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - ldr r1, =gSprites - adds r3, r1 - ldrb r2, [r3, 0x5] - movs r5, 0xD - negs r5, r5 - adds r1, r5, 0 - ands r2, r1 - movs r1, 0x4 - orrs r2, r1 - strb r2, [r3, 0x5] - movs r1, 0x3E - adds r1, r3 - mov r12, r1 - ldrb r1, [r1] - movs r2, 0x2 - orrs r1, r2 - mov r2, r12 - strb r1, [r2] - lsls r1, r4, 1 - add r1, sp - ldrh r1, [r1] - strh r1, [r3, 0x2E] - ldr r1, =gUnknown_0203AB34 - ldr r1, [r1] - adds r1, 0x54 - adds r1, r4 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _0812ECA4 - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812EC94 - - thumb_func_start sub_812ED20 -sub_812ED20: @ 812ED20 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x2E] - subs r0, 0x2 - movs r4, 0 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x2E] - movs r1, 0x2E - ldrsh r0, [r5, r1] - movs r1, 0x14 - bl Cos - strh r0, [r5, 0x24] - movs r2, 0x2E - ldrsh r0, [r5, r2] - movs r1, 0x6 - bl Sin - strh r0, [r5, 0x26] - adds r1, r5, 0 - adds r1, 0x43 - strb r4, [r1] - movs r2, 0x2E - ldrsh r0, [r5, r2] - cmp r0, 0x7F - ble _0812ED5A - movs r0, 0x2 - strb r0, [r1] -_0812ED5A: - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - ble _0812ED84 - adds r3, r5, 0 - adds r3, 0x3F - ldrb r2, [r3] - lsls r0, r2, 31 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0 - strh r0, [r5, 0x30] -_0812ED84: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_812ED20 - - thumb_func_start sub_812ED8C -sub_812ED8C: @ 812ED8C - push {r4,lr} - movs r4, 0 -_0812ED90: - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x54 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _0812ED90 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812ED8C - - thumb_func_start sub_812EDC0 -sub_812EDC0: @ 812EDC0 - push {r4,lr} - ldr r0, =gUnknown_085A7E30 - movs r1, 0xA8 - movs r2, 0x3C - movs r3, 0x8 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x5] - ldrb r1, [r0, 0x1] - movs r2, 0x3 - orrs r1, r2 - strb r1, [r0, 0x1] - bl InitSpriteAffineAnim - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x43 - strb r4, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812EDC0 - - thumb_func_start sub_812EE14 -sub_812EE14: @ 812EE14 - push {lr} - adds r3, r0, 0 - ldrh r2, [r3, 0x2E] - movs r1, 0x2E - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _0812EE36 - adds r0, r3, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0812EE90 - adds r0, r2, 0x1 - strh r0, [r3, 0x2E] - b _0812EE90 -_0812EE36: - cmp r0, 0x1 - bne _0812EE72 - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r3, 0x32] - adds r0, 0x1 - strh r0, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x17 - ble _0812EE90 - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - movs r0, 0 - strh r0, [r3, 0x32] - b _0812EE90 -_0812EE72: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r3, 0x32] - adds r0, 0x1 - strh r0, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - ble _0812EE90 - movs r0, 0x1 - strh r0, [r3, 0x3C] -_0812EE90: - ldrh r0, [r3, 0x30] - movs r1, 0xFF - ands r1, r0 - adds r1, 0x10 - strh r1, [r3, 0x30] - lsrs r1, 8 - ldrh r0, [r3, 0x26] - subs r0, r1 - strh r0, [r3, 0x26] - pop {r0} - bx r0 - thumb_func_end sub_812EE14 - - thumb_func_start sub_812EEA8 -sub_812EEA8: @ 812EEA8 - ldr r2, =gSprites - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x43 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x3C] - lsls r0, 24 - lsrs r0, 24 - bx lr - .pool - thumb_func_end sub_812EEA8 - - thumb_func_start sub_812EECC -sub_812EECC: @ 812EECC - push {r4,lr} - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - adds r0, 0x43 - ldrb r0, [r0] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl DestroySprite - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812EECC - - thumb_func_start sub_812EF00 -sub_812EF00: @ 812EF00 - push {r4,lr} - adds r3, r0, 0 - adds r2, r1, 0 - ldr r0, =gUnknown_085A7F98 - lsls r3, 16 - asrs r3, 16 - lsls r2, 16 - asrs r2, 16 - adds r1, r3, 0 - movs r3, 0xC - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x5] - ldrb r1, [r0, 0x1] - movs r2, 0x3 - orrs r1, r2 - strb r1, [r0, 0x1] - bl InitSpriteAffineAnim - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812EF00 - - thumb_func_start sub_812EF54 -sub_812EF54: @ 812EF54 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0812EF68 - movs r0, 0x1 - strh r0, [r2, 0x3C] -_0812EF68: - pop {r0} - bx r0 - thumb_func_end sub_812EF54 - - thumb_func_start sub_812EF6C -sub_812EF6C: @ 812EF6C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl DestroySprite - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812EF6C - - thumb_func_start sub_812EF98 -sub_812EF98: @ 812EF98 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r3, =gUnknown_085A78C8 - lsrs r1, 22 - adds r3, r1, r3 - ldr r5, [r3] - ldr r3, =gUnknown_085A783A - adds r4, r1, r3 - movs r6, 0 - ldrsh r4, [r4, r6] - adds r3, 0x2 - adds r1, r3 - movs r6, 0 - ldrsh r3, [r1, r6] - lsls r2, 16 - asrs r2, 16 - str r2, [sp] - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_812EFDC - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812EF98 - - thumb_func_start sub_812EFDC -sub_812EFDC: @ 812EFDC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - adds r4, r0, 0 - mov r8, r1 - adds r1, r2, 0 - adds r2, r3, 0 - ldr r5, [sp, 0x34] - lsls r4, 24 - lsls r5, 16 - lsrs r5, 16 - mov r9, r5 - ldr r0, =gUnknown_085A8264 - lsrs r4, 22 - adds r0, r4, r0 - mov r3, sp - ldr r0, [r0] - ldm r0!, {r5-r7} - stm r3!, {r5-r7} - ldm r0!, {r5-r7} - stm r3!, {r5-r7} - ldr r0, =gUnknown_03001188 - adds r0, r4, r0 - ldr r0, [r0] - str r0, [sp, 0xC] - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - mov r0, sp - movs r3, 0x10 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - adds r7, r0, 0 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, =gSprites - adds r2, r0, r1 - ldrb r0, [r2, 0x5] - movs r1, 0xC - orrs r0, r1 - strb r0, [r2, 0x5] - mov r0, r8 - str r0, [r2, 0x1C] - mov r5, r9 - strh r5, [r2, 0x3A] - movs r0, 0x1 - strh r0, [r2, 0x3C] - ldr r0, =gUnknown_085A82CC - adds r4, r0 - ldr r1, [r4] - cmp r1, 0 - beq _0812F056 - adds r0, r2, 0 - bl SetSubspriteTables -_0812F056: - adds r0, r7, 0 - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812EFDC - - thumb_func_start sub_812F078 -sub_812F078: @ 812F078 - movs r1, 0 - strh r1, [r0, 0x3C] - bx lr - thumb_func_end sub_812F078 - - thumb_func_start sub_812F080 -sub_812F080: @ 812F080 - push {r4,r5,lr} - sub sp, 0x10 - adds r4, r0, 0 - ldr r1, =gUnknown_085A761E - mov r0, sp - movs r2, 0x8 - bl memcpy - add r5, sp, 0x8 - ldr r1, =gUnknown_085A7626 - adds r0, r5, 0 - movs r2, 0x8 - bl memcpy - ldrh r0, [r4, 0x30] - adds r1, r0, 0x1 - strh r1, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - ble _0812F0C6 - adds r3, r4, 0 - adds r3, 0x42 - ldrb r2, [r3] - lsls r0, r2, 26 - lsrs r0, 26 - movs r1, 0x1 - eors r1, r0 - movs r0, 0x40 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0 - strh r0, [r4, 0x30] -_0812F0C6: - movs r0, 0 - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - adds r0, r4, 0 - adds r0, 0x42 - ldrb r1, [r0] - movs r0, 0x3F - ands r0, r1 - cmp r0, 0 - beq _0812F0F2 - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x24] - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 1 - adds r0, r5, r0 - ldrh r0, [r0] - strh r0, [r4, 0x26] -_0812F0F2: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812F080 - - thumb_func_start sub_812F104 -sub_812F104: @ 812F104 - push {lr} - adds r3, r0, 0 - adds r3, 0x3F - ldrb r1, [r3] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r3] - bl sub_812F080 - pop {r0} - bx r0 - thumb_func_end sub_812F104 - - thumb_func_start sub_812F11C -sub_812F11C: @ 812F11C - push {lr} - adds r3, r0, 0 - adds r3, 0x3F - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - bl sub_812F080 - pop {r0} - bx r0 - thumb_func_end sub_812F11C - - thumb_func_start sub_812F134 -sub_812F134: @ 812F134 - push {lr} - adds r3, r0, 0 - adds r3, 0x3F - ldrb r1, [r3] - movs r2, 0x1 - orrs r1, r2 - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - bl sub_812F080 - pop {r0} - bx r0 - thumb_func_end sub_812F134 - - thumb_func_start sub_812F150 -sub_812F150: @ 812F150 - push {lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0x1 - beq _0812F184 - cmp r0, 0x1 - bgt _0812F166 - cmp r0, 0 - beq _0812F170 - b _0812F1B4 -_0812F166: - cmp r0, 0x2 - beq _0812F194 - cmp r0, 0x3 - beq _0812F1B0 - b _0812F1B4 -_0812F170: - ldrh r0, [r2, 0x20] - adds r0, 0x4 - strh r0, [r2, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xCF - ble _0812F1B4 - movs r0, 0xD0 - strh r0, [r2, 0x20] - b _0812F1A2 -_0812F184: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5A - ble _0812F1B4 - b _0812F1A2 -_0812F194: - ldrh r0, [r2, 0x20] - adds r0, 0x4 - strh r0, [r2, 0x20] - lsls r0, 16 - ldr r1, =0x010f0000 - cmp r0, r1 - ble _0812F1B4 -_0812F1A2: - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - b _0812F1B4 - .pool -_0812F1B0: - movs r0, 0 - strh r0, [r2, 0x3C] -_0812F1B4: - pop {r0} - bx r0 - thumb_func_end sub_812F150 - - thumb_func_start sub_812F1B8 -sub_812F1B8: @ 812F1B8 - push {lr} - adds r1, r0, 0 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0x1 - beq _0812F1EC - cmp r0, 0x1 - bgt _0812F1CE - cmp r0, 0 - beq _0812F1D8 - b _0812F216 -_0812F1CE: - cmp r0, 0x2 - beq _0812F1FC - cmp r0, 0x3 - beq _0812F212 - b _0812F216 -_0812F1D8: - ldrh r0, [r1, 0x20] - subs r0, 0x4 - strh r0, [r1, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD0 - bgt _0812F216 - movs r0, 0xD0 - strh r0, [r1, 0x20] - b _0812F20A -_0812F1EC: - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5A - ble _0812F216 - b _0812F20A -_0812F1FC: - ldrh r0, [r1, 0x20] - subs r0, 0x4 - strh r0, [r1, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x90 - bgt _0812F216 -_0812F20A: - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - b _0812F216 -_0812F212: - movs r0, 0 - strh r0, [r1, 0x3C] -_0812F216: - pop {r0} - bx r0 - thumb_func_end sub_812F1B8 - - thumb_func_start sub_812F21C -sub_812F21C: @ 812F21C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bhi _0812F2C6 - lsls r0, 2 - ldr r1, =_0812F238 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0812F238: - .4byte _0812F250 - .4byte _0812F268 - .4byte _0812F288 - .4byte _0812F29C - .4byte _0812F2AC - .4byte _0812F2C2 -_0812F250: - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - ldrb r1, [r0, 0xA] - subs r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_0812F268: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _0812F2C6 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0 - strh r0, [r4, 0x30] - b _0812F2C6 - .pool -_0812F288: - ldrh r0, [r4, 0x20] - adds r0, 0x4 - strh r0, [r4, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xCF - ble _0812F2C6 - movs r0, 0xD0 - strh r0, [r4, 0x20] - b _0812F2BA -_0812F29C: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5A - ble _0812F2C6 - b _0812F2BA -_0812F2AC: - ldrh r0, [r4, 0x20] - adds r0, 0x4 - strh r0, [r4, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF7 - ble _0812F2C6 -_0812F2BA: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _0812F2C6 -_0812F2C2: - movs r0, 0 - strh r0, [r4, 0x3C] -_0812F2C6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812F21C - - thumb_func_start sub_812F2CC -sub_812F2CC: @ 812F2CC - push {lr} - adds r3, r0, 0 - movs r1, 0x2E - ldrsh r0, [r3, r1] - cmp r0, 0x1 - beq _0812F2FA - cmp r0, 0x1 - bgt _0812F2E2 - cmp r0, 0 - beq _0812F2E8 - b _0812F368 -_0812F2E2: - cmp r0, 0x2 - beq _0812F318 - b _0812F368 -_0812F2E8: - adds r2, r3, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] -_0812F2FA: - ldrh r0, [r3, 0x22] - adds r0, 0x8 - strh r0, [r3, 0x22] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6F - ble _0812F368 - movs r0, 0x70 - strh r0, [r3, 0x22] - movs r0, 0x10 - strh r0, [r3, 0x30] - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - b _0812F368 -_0812F318: - movs r0, 0x32 - ldrsh r2, [r3, r0] - cmp r2, 0 - bne _0812F35E - ldrh r0, [r3, 0x22] - ldrh r1, [r3, 0x30] - subs r0, r1 - strh r0, [r3, 0x22] - negs r1, r1 - strh r1, [r3, 0x30] - ldrh r0, [r3, 0x34] - adds r0, 0x1 - strh r0, [r3, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0812F35E - lsls r0, r1, 16 - asrs r0, 18 - strh r0, [r3, 0x30] - strh r2, [r3, 0x34] - adds r1, r0, 0 - cmp r1, 0 - bne _0812F35E - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - strh r1, [r3, 0x3C] - adds r2, r3, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_0812F35E: - ldrh r0, [r3, 0x32] - adds r0, 0x1 - movs r1, 0x7 - ands r0, r1 - strh r0, [r3, 0x32] -_0812F368: - pop {r0} - bx r0 - thumb_func_end sub_812F2CC - - thumb_func_start sub_812F36C -sub_812F36C: @ 812F36C - push {lr} - adds r1, r0, 0 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _0812F37E - cmp r0, 0x1 - beq _0812F394 - b _0812F3B0 -_0812F37E: - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _0812F3B0 - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - b _0812F3B0 -_0812F394: - ldrh r0, [r1, 0x22] - adds r0, 0x2 - strh r0, [r1, 0x22] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2F - ble _0812F3B0 - movs r0, 0x30 - strh r0, [r1, 0x22] - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - movs r0, 0 - strh r0, [r1, 0x3C] -_0812F3B0: - pop {r0} - bx r0 - thumb_func_end sub_812F36C - - thumb_func_start sub_812F3B4 -sub_812F3B4: @ 812F3B4 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0812F3C6 - cmp r0, 0x1 - beq _0812F416 - b _0812F468 -_0812F3C6: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x20 - ble _0812F468 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0x5 - strh r0, [r4, 0x30] - ldrb r0, [r4, 0x1] - movs r1, 0x10 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldrh r0, [r4, 0x30] - lsls r1, r0, 4 - orrs r1, r0 - lsls r1, 24 - lsrs r1, 16 - movs r0, 0x4C - bl SetGpuReg - b _0812F468 -_0812F416: - ldrh r1, [r4, 0x32] - lsls r1, 16 - asrs r1, 24 - ldrh r0, [r4, 0x30] - subs r0, r1 - strh r0, [r4, 0x30] - lsls r0, 16 - cmp r0, 0 - bge _0812F42C - movs r0, 0 - strh r0, [r4, 0x30] -_0812F42C: - ldrh r0, [r4, 0x30] - lsls r1, r0, 4 - orrs r1, r0 - lsls r1, 24 - lsrs r1, 16 - movs r0, 0x4C - bl SetGpuReg - ldrh r1, [r4, 0x32] - movs r0, 0xFF - ands r0, r1 - adds r0, 0x80 - strh r0, [r4, 0x32] - movs r0, 0x30 - ldrsh r1, [r4, r0] - cmp r1, 0 - bne _0812F468 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - strh r1, [r4, 0x3C] - ldrb r1, [r4, 0x1] - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim -_0812F468: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812F3B4 - - thumb_func_start sub_812F470 -sub_812F470: @ 812F470 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x30 - ldrsh r0, [r5, r1] - cmp r0, 0x2 - bgt _0812F4C0 - ldr r1, =gUnknown_085A8510 - lsls r0, 2 - adds r0, r1 - ldr r4, [r0] - movs r0, 0x6 - bl IndexOfSpritePaletteTag - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 4 - movs r0, 0x80 - lsls r0, 17 - adds r1, r0 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _0812F4FC - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] - movs r0, 0 - strh r0, [r5, 0x32] - b _0812F4FC - .pool -_0812F4C0: - ldr r1, =gUnknown_085A8510 - movs r2, 0x30 - ldrsh r0, [r5, r2] - lsls r0, 2 - adds r0, r1 - ldr r4, [r0] - movs r0, 0x6 - bl IndexOfSpritePaletteTag - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 4 - movs r0, 0x80 - lsls r0, 17 - adds r1, r0 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - ldrh r0, [r5, 0x32] - adds r0, 0x1 - movs r1, 0 - strh r0, [r5, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x18 - ble _0812F4FC - strh r1, [r5, 0x30] - strh r1, [r5, 0x32] -_0812F4FC: - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnimIfDifferent - movs r0, 0 - strh r0, [r5, 0x3C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812F470 - - thumb_func_start sub_812F514 -sub_812F514: @ 812F514 - push {r4-r6,lr} - sub sp, 0x30 - adds r4, r0, 0 - ldr r1, =gUnknown_085A762E - mov r0, sp - movs r2, 0x10 - bl memcpy - add r6, sp, 0x10 - ldr r1, =gUnknown_085A763E - adds r0, r6, 0 - movs r2, 0x10 - bl memcpy - add r5, sp, 0x20 - ldr r1, =gUnknown_085A764E - adds r0, r5, 0 - movs r2, 0x10 - bl memcpy - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0812F58C - cmp r0, 0x1 - bgt _0812F55C - cmp r0, 0 - beq _0812F562 - b _0812F5D8 - .pool -_0812F55C: - cmp r0, 0x2 - beq _0812F5A0 - b _0812F5D8 -_0812F562: - movs r2, 0x3A - ldrsh r0, [r4, r2] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x24] - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 1 - adds r0, r6, r0 - ldrh r0, [r0] - strh r0, [r4, 0x26] - movs r2, 0x3A - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r5, r0 - ldrh r0, [r0] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_0812F58C: - ldrh r0, [r4, 0x30] - subs r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0812F5D8 - b _0812F5D2 -_0812F5A0: - ldrh r0, [r4, 0x24] - movs r2, 0x24 - ldrsh r1, [r4, r2] - cmp r1, 0 - ble _0812F5AE - subs r0, 0x4 - b _0812F5B4 -_0812F5AE: - cmp r1, 0 - bge _0812F5B6 - adds r0, 0x4 -_0812F5B4: - strh r0, [r4, 0x24] -_0812F5B6: - ldrh r0, [r4, 0x26] - movs r2, 0x26 - ldrsh r1, [r4, r2] - cmp r1, 0 - ble _0812F5C4 - subs r0, 0x4 - b _0812F5CA -_0812F5C4: - cmp r1, 0 - bge _0812F5CC - adds r0, 0x4 -_0812F5CA: - strh r0, [r4, 0x26] -_0812F5CC: - ldr r0, [r4, 0x24] - cmp r0, 0 - bne _0812F5D8 -_0812F5D2: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_0812F5D8: - add sp, 0x30 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_812F514 - - thumb_func_start sub_812F5E0 -sub_812F5E0: @ 812F5E0 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - ldr r1, =gUnknown_085A765E - mov r0, sp - movs r2, 0x10 - bl memcpy - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0812F602 - adds r0, r1, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0xC - strh r0, [r4, 0x30] -_0812F602: - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 1 - add r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 1 - add r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0812F63C - subs r0, r1, 0x1 - strh r0, [r4, 0x30] -_0812F63C: - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812F5E0 - - thumb_func_start sub_812F648 -sub_812F648: @ 812F648 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _0812F694 - cmp r0, 0x1 - bgt _0812F660 - cmp r0, 0 - beq _0812F66A - b _0812F76C -_0812F660: - cmp r0, 0x2 - beq _0812F6E0 - cmp r0, 0x3 - beq _0812F71C - b _0812F76C -_0812F66A: - ldr r0, =gUnknown_0203AB34 - ldr r2, [r0] - adds r1, r2, 0 - adds r1, 0x5C - movs r0, 0x2F - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x3F - strh r0, [r1] - subs r1, 0x4 - ldr r0, =0x00002088 - strh r0, [r1] - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] -_0812F694: - ldrh r0, [r5, 0x30] - adds r2, r0, 0x2 - strh r2, [r5, 0x30] - adds r0, 0xB2 - strh r0, [r5, 0x32] - movs r1, 0xF0 - subs r1, r2 - strh r1, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD0 - ble _0812F6B0 - movs r0, 0xD0 - strh r0, [r5, 0x32] -_0812F6B0: - movs r1, 0x34 - ldrsh r0, [r5, r1] - cmp r0, 0xCF - bgt _0812F6BC - movs r0, 0xD0 - strh r0, [r5, 0x34] -_0812F6BC: - ldr r0, =gUnknown_0203AB34 - ldr r2, [r0] - ldrh r0, [r5, 0x32] - lsls r0, 8 - ldrh r1, [r5, 0x34] - orrs r0, r1 - adds r1, r2, 0 - adds r1, 0x58 - strh r0, [r1] - movs r1, 0x30 - ldrsh r0, [r5, r1] - cmp r0, 0x33 - ble _0812F76C - b _0812F75E - .pool -_0812F6E0: - ldr r6, =gUnknown_0203AB34 - ldr r0, [r6] - movs r1, 0x12 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _0812F76C - ldr r1, =SpriteCallbackDummy - movs r4, 0 - str r4, [sp] - movs r0, 0x5 - movs r2, 0xD0 - movs r3, 0x74 - bl sub_812DF68 - ldr r2, [r6] - adds r1, r2, 0 - adds r1, 0x58 - ldr r0, =0x0000c0e0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0xD1 - lsls r0, 7 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x2F - strh r0, [r1] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - strh r4, [r5, 0x30] -_0812F71C: - ldrh r0, [r5, 0x30] - adds r2, r0, 0x2 - strh r2, [r5, 0x30] - adds r0, 0xC2 - strh r0, [r5, 0x32] - movs r1, 0xE0 - subs r1, r2 - strh r1, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD0 - ble _0812F738 - movs r0, 0xD0 - strh r0, [r5, 0x32] -_0812F738: - movs r1, 0x34 - ldrsh r0, [r5, r1] - cmp r0, 0xCF - bgt _0812F744 - movs r0, 0xD0 - strh r0, [r5, 0x34] -_0812F744: - ldr r0, =gUnknown_0203AB34 - ldr r2, [r0] - ldrh r0, [r5, 0x32] - lsls r0, 8 - ldrh r1, [r5, 0x34] - orrs r0, r1 - adds r1, r2, 0 - adds r1, 0x58 - strh r0, [r1] - movs r1, 0x30 - ldrsh r0, [r5, r1] - cmp r0, 0xF - ble _0812F76C -_0812F75E: - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - adds r1, r2, 0 - adds r1, 0x5C - movs r0, 0x3F - strh r0, [r1] -_0812F76C: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812F648 - - thumb_func_start nullsub_101 -nullsub_101: @ 812F780 - bx lr - thumb_func_end nullsub_101 - - thumb_func_start sub_812F784 -sub_812F784: @ 812F784 - push {lr} - movs r0, 0x4C - movs r1, 0 - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_812F784 - - thumb_func_start sub_812F794 -sub_812F794: @ 812F794 - push {r4,lr} - ldr r0, =gUnknown_085A8520 - ldr r4, [r0] - movs r0, 0x6 - bl IndexOfSpritePaletteTag - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 4 - movs r0, 0x80 - lsls r0, 17 - adds r1, r0 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812F794 - - thumb_func_start sub_812F7C0 -sub_812F7C0: @ 812F7C0 - ldr r0, =gUnknown_0203AB34 - ldr r2, [r0] - adds r1, r2, 0 - adds r1, 0x58 - movs r0, 0xF0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0xA0 - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0x5C - movs r1, 0x3F - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - bx lr - .pool - thumb_func_end sub_812F7C0 - - thumb_func_start sub_812F7E4 -sub_812F7E4: @ 812F7E4 - push {r4-r6,lr} - bl sub_812F8A0 - ldr r4, =gUnknown_0203AAD4 - movs r0, 0xC8 - lsls r0, 6 - bl Alloc - adds r1, r0, 0 - str r1, [r4] - ldr r0, =gSlotMachineReelTime_Gfx - bl LZDecompressWram - ldr r4, =gUnknown_0203AAD8 - movs r0, 0xD8 - lsls r0, 6 - bl Alloc - adds r1, r0, 0 - str r1, [r4] - ldr r0, =gUnknown_085A858C - bl LZDecompressWram - ldr r4, =gUnknown_0203AB30 - movs r0, 0xB0 - bl AllocZeroed - str r0, [r4] - movs r3, 0 - ldr r5, =gUnknown_085A8334 - adds r6, r4, 0 -_0812F822: - ldr r2, [r4] - lsls r1, r3, 3 - adds r2, r1, r2 - adds r1, r5 - ldr r0, [r1] - str r0, [r2] - ldrh r0, [r1, 0x4] - strh r0, [r2, 0x4] - ldrh r0, [r1, 0x6] - strh r0, [r2, 0x6] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x15 - bls _0812F822 - ldr r3, [r6] - adds r2, r3, 0 - adds r2, 0x88 - ldr r0, =gUnknown_0203AAD4 - ldr r1, [r0] - movs r4, 0xA0 - lsls r4, 4 - adds r0, r1, r4 - str r0, [r2] - adds r2, 0x8 - movs r4, 0xA0 - lsls r4, 5 - adds r0, r1, r4 - str r0, [r2] - adds r2, 0x8 - movs r4, 0xB0 - lsls r4, 5 - adds r0, r1, r4 - str r0, [r2] - adds r0, r3, 0 - adds r0, 0xA0 - movs r2, 0xC8 - lsls r2, 5 - adds r1, r2 - str r1, [r0] - adds r0, r3, 0 - bl LoadSpriteSheets - ldr r0, =gUnknown_085A8544 - bl LoadSpritePalettes - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812F7E4 - - thumb_func_start sub_812F8A0 -sub_812F8A0: @ 812F8A0 - push {r4-r6,lr} - ldr r5, =gUnknown_0203AB2C - movs r0, 0x8 - bl AllocZeroed - str r0, [r5] - ldr r4, =gUnknown_0203AAE0 - movs r0, 0x80 - lsls r0, 6 - bl AllocZeroed - str r0, [r4] - adds r3, r0, 0 - movs r1, 0 - adds r6, r4, 0 - ldr r0, =gUnknown_085A83E4 - ldr r4, [r0] -_0812F8C2: - movs r2, 0 - adds r1, 0x1 -_0812F8C6: - adds r0, r4, r2 - ldrb r0, [r0] - strb r0, [r3] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r3, 0x1 - cmp r2, 0x1F - bls _0812F8C6 - lsls r0, r1, 24 - lsrs r1, r0, 24 - cmp r1, 0x3F - bls _0812F8C2 - ldr r0, [r5] - ldr r1, [r6] - str r1, [r0] - movs r1, 0x80 - lsls r1, 4 - strh r1, [r0, 0x4] - movs r1, 0x11 - strh r1, [r0, 0x6] - bl LoadSpriteSheet - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812F8A0 - - thumb_func_start sub_812F908 -sub_812F908: @ 812F908 - push {r4,r5,lr} - ldr r4, =gUnknown_0203AAC8 - movs r5, 0x88 - lsls r5, 6 - adds r0, r5, 0 - bl Alloc - adds r1, r0, 0 - str r1, [r4] - ldr r0, =gSlotMachineMenu_Gfx - bl LZDecompressWram - ldr r1, [r4] - movs r0, 0x2 - adds r2, r5, 0 - movs r3, 0 - bl LoadBgTiles - ldr r0, =gSlotMachineMenu_Pal - movs r1, 0 - movs r2, 0xA0 - bl LoadPalette - ldr r0, =gUnknown_085A8524 - movs r1, 0xD0 - movs r2, 0x20 - bl LoadPalette - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812F908 - - thumb_func_start sub_812F958 -sub_812F958: @ 812F958 - push {lr} - bl sub_812F968 - bl sub_812F980 - pop {r0} - bx r0 - thumb_func_end sub_812F958 - - thumb_func_start sub_812F968 -sub_812F968: @ 812F968 - push {lr} - ldr r1, =gSlotMachineMenu_Tilemap - movs r2, 0xA0 - lsls r2, 3 - movs r0, 0x2 - movs r3, 0 - bl LoadBgTilemap - pop {r0} - bx r0 - .pool - thumb_func_end sub_812F968 - - thumb_func_start sub_812F980 -sub_812F980: @ 812F980 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r1, 0x4 - ldr r0, =gUnknown_0203AAD0 - mov r8, r0 -_0812F98E: - movs r0, 0 - lsls r1, 16 - mov r9, r1 -_0812F994: - mov r2, r8 - ldr r1, [r2] - mov r2, r9 - asrs r6, r2, 16 - lsls r4, r0, 16 - asrs r4, 16 - adds r5, r6, r4 - adds r3, r5, 0 - adds r3, 0xA0 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x3 - movs r2, 0x2 - bl LoadBgTilemap - mov r0, r8 - ldr r1, [r0] - adds r1, 0x2 - movs r2, 0xD0 - lsls r2, 1 - adds r3, r5, r2 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x3 - movs r2, 0x2 - bl LoadBgTilemap - mov r0, r8 - ldr r1, [r0] - adds r1, 0x4 - adds r3, r5, 0 - adds r3, 0xC0 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x3 - movs r2, 0x2 - bl LoadBgTilemap - mov r2, r8 - ldr r1, [r2] - adds r1, 0x6 - movs r0, 0xC0 - lsls r0, 1 - adds r7, r0, 0 - adds r3, r5, r7 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x3 - movs r2, 0x2 - bl LoadBgTilemap - adds r4, 0x1 - lsls r4, 16 - lsrs r0, r4, 16 - asrs r4, 16 - cmp r4, 0x3 - ble _0812F994 - mov r2, r8 - ldr r1, [r2] - adds r1, 0x8 - adds r3, r6, 0 - adds r3, 0xC0 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x3 - movs r2, 0x2 - bl LoadBgTilemap - mov r0, r8 - ldr r1, [r0] - adds r1, 0xA - adds r3, r6, r7 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x3 - movs r2, 0x2 - bl LoadBgTilemap - movs r0, 0x7 -_0812FA32: - mov r2, r8 - ldr r1, [r2] - adds r1, 0xC - lsls r4, r0, 16 - asrs r4, 16 - lsls r3, r4, 5 - mov r0, r9 - asrs r5, r0, 16 - adds r3, r5, r3 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x3 - movs r2, 0x2 - bl LoadBgTilemap - adds r4, 0x1 - lsls r4, 16 - lsrs r0, r4, 16 - asrs r4, 16 - cmp r4, 0xB - ble _0812FA32 - adds r0, r5, 0x5 - lsls r0, 16 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0x11 - ble _0812F98E - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812F980 - - thumb_func_start sub_812FA78 -sub_812FA78: @ 812FA78 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r5, [sp, 0x10] - ldr r6, =gUnknown_0203AADC - ldr r0, [r6] - strh r1, [r0] - ldr r1, [r6] - strh r2, [r1, 0x2] - strh r3, [r1, 0x4] - strh r5, [r1, 0x6] - lsls r4, 16 - asrs r5, r4, 16 - movs r0, 0xF0 - lsls r0, 17 - adds r4, r0 - lsrs r4, 16 - movs r0, 0x2 - movs r2, 0x2 - adds r3, r4, 0 - bl LoadBgTilemap - ldr r1, [r6] - adds r1, 0x2 - ldr r0, =0x000001e1 - adds r3, r5, r0 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x2 - movs r2, 0x2 - bl LoadBgTilemap - ldr r1, [r6] - adds r1, 0x4 - movs r0, 0x80 - lsls r0, 2 - adds r3, r5, r0 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x2 - movs r2, 0x2 - bl LoadBgTilemap - ldr r1, [r6] - adds r1, 0x6 - ldr r0, =0x00000201 - adds r5, r0 - lsls r5, 16 - lsrs r5, 16 - movs r0, 0x2 - movs r2, 0x2 - adds r3, r5, 0 - bl LoadBgTilemap - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812FA78 - - thumb_func_start sub_812FAF4 -sub_812FAF4: @ 812FAF4 - push {lr} - ldr r1, =gUnknown_08DCEC70 - movs r2, 0xA0 - lsls r2, 3 - movs r0, 0x2 - movs r3, 0 - bl LoadBgTilemap - movs r0, 0x3 - bl HideBg - pop {r0} - bx r0 - .pool - thumb_func_end sub_812FAF4 - - thumb_func_start sub_812FB14 -sub_812FB14: @ 812FB14 - ldr r1, =gUnknown_03001188 - ldr r0, =gUnknown_0203AAF4 - ldr r0, [r0] - str r0, [r1] - ldr r0, =gUnknown_0203AAF8 - ldr r0, [r0] - str r0, [r1, 0x4] - ldr r0, =gUnknown_0203AAFC - ldr r0, [r0] - str r0, [r1, 0x8] - ldr r0, =gUnknown_0203AB04 - ldr r0, [r0] - str r0, [r1, 0xC] - ldr r0, =gUnknown_0203AB08 - ldr r0, [r0] - str r0, [r1, 0x10] - ldr r0, =gUnknown_0203AB18 - ldr r0, [r0] - str r0, [r1, 0x14] - ldr r0, =gUnknown_0203AB1C - ldr r0, [r0] - str r0, [r1, 0x18] - ldr r0, =gUnknown_0203AB20 - ldr r0, [r0] - str r0, [r1, 0x1C] - ldr r0, =gUnknown_0203AB24 - ldr r0, [r0] - str r0, [r1, 0x20] - ldr r0, =gUnknown_0203AB28 - ldr r0, [r0] - str r0, [r1, 0x24] - ldr r0, =gUnknown_0203AB00 - ldr r0, [r0] - str r0, [r1, 0x28] - str r0, [r1, 0x2C] - str r0, [r1, 0x30] - str r0, [r1, 0x34] - ldr r0, =gUnknown_0203AB0C - ldr r0, [r0] - str r0, [r1, 0x38] - str r0, [r1, 0x3C] - str r0, [r1, 0x40] - str r0, [r1, 0x44] - str r0, [r1, 0x48] - ldr r0, =gUnknown_0203AB10 - ldr r0, [r0] - str r0, [r1, 0x4C] - str r0, [r1, 0x50] - str r0, [r1, 0x54] - ldr r0, =gUnknown_0203AB14 - ldr r0, [r0] - str r0, [r1, 0x58] - str r0, [r1, 0x5C] - str r0, [r1, 0x60] - movs r0, 0 - str r0, [r1, 0x64] - bx lr - .pool - thumb_func_end sub_812FB14 - - thumb_func_start sub_812FBC4 -sub_812FBC4: @ 812FBC4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r4, =gUnknown_0203AAF4 - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] - ldr r6, =gUnknown_0203AAD4 - ldr r1, [r6] - str r1, [r0] - movs r5, 0xC0 - lsls r5, 3 - strh r5, [r0, 0x4] - ldr r4, =gUnknown_0203AAF8 - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] - ldr r1, [r6] - adds r1, r5 - str r1, [r0] - movs r1, 0x80 - lsls r1, 2 - mov r8, r1 - mov r2, r8 - strh r2, [r0, 0x4] - ldr r4, =gUnknown_0203AAFC - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] - ldr r1, [r6] - movs r3, 0x80 - lsls r3, 4 - adds r1, r3 - str r1, [r0] - mov r4, r8 - strh r4, [r0, 0x4] - ldr r4, =gUnknown_0203AB00 - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] - ldr r1, [r6] - movs r2, 0xA0 - lsls r2, 4 - adds r1, r2 - str r1, [r0] - mov r3, r8 - strh r3, [r0, 0x4] - ldr r4, =gUnknown_0203AB04 - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] - ldr r1, [r6] - movs r4, 0xC0 - lsls r4, 4 - adds r1, r4 - str r1, [r0] - movs r5, 0xC0 - lsls r5, 2 - strh r5, [r0, 0x4] - ldr r4, =gUnknown_0203AB08 - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] - ldr r1, [r6] - movs r2, 0x80 - lsls r2, 5 - adds r1, r2 - str r1, [r0] - movs r1, 0x80 - lsls r1, 3 - strh r1, [r0, 0x4] - ldr r4, =gUnknown_0203AB0C - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] - ldr r1, [r6] - movs r3, 0xA0 - lsls r3, 5 - adds r1, r3 - str r1, [r0] - mov r4, r8 - strh r4, [r0, 0x4] - ldr r4, =gUnknown_0203AB10 - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] - ldr r1, [r6] - movs r2, 0xB0 - lsls r2, 5 - adds r1, r2 - str r1, [r0] - strh r5, [r0, 0x4] - ldr r4, =gUnknown_0203AB14 - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] - ldr r1, [r6] - movs r3, 0xC8 - lsls r3, 5 - adds r1, r3 - str r1, [r0] - strh r5, [r0, 0x4] - ldr r4, =gUnknown_0203AB18 - movs r0, 0x10 - bl AllocZeroed - str r0, [r4] - ldr r1, [r6] - movs r4, 0xE0 - lsls r4, 5 - adds r2, r1, r4 - str r2, [r0] - mov r2, r8 - strh r2, [r0, 0x4] - movs r3, 0xF0 - lsls r3, 5 - adds r1, r3 - str r1, [r0, 0x8] - strh r2, [r0, 0xC] - ldr r4, =gUnknown_0203AB1C - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] - ldr r1, [r6] - movs r4, 0x80 - lsls r4, 6 - adds r1, r4 - str r1, [r0] - movs r1, 0xA0 - lsls r1, 2 - strh r1, [r0, 0x4] - ldr r4, =gUnknown_0203AB20 - movs r0, 0x28 - bl AllocZeroed - str r0, [r4] - ldr r2, [r6] - movs r3, 0x8A - lsls r3, 6 - adds r1, r2, r3 - str r1, [r0] - movs r3, 0x80 - strh r3, [r0, 0x4] - movs r4, 0x8C - lsls r4, 6 - adds r1, r2, r4 - str r1, [r0, 0x8] - strh r3, [r0, 0xC] - adds r4, 0x80 - adds r1, r2, r4 - str r1, [r0, 0x10] - strh r3, [r0, 0x14] - adds r4, 0x80 - adds r1, r2, r4 - str r1, [r0, 0x18] - strh r3, [r0, 0x1C] - movs r1, 0x92 - lsls r1, 6 - adds r2, r1 - str r2, [r0, 0x20] - strh r3, [r0, 0x24] - ldr r4, =gUnknown_0203AB24 - movs r0, 0x10 - bl AllocZeroed - str r0, [r4] - ldr r2, [r6] - movs r3, 0x98 - lsls r3, 6 - adds r1, r2, r3 - str r1, [r0] - movs r1, 0x90 - lsls r1, 3 - strh r1, [r0, 0x4] - movs r4, 0xAA - lsls r4, 6 - adds r2, r4 - str r2, [r0, 0x8] - strh r1, [r0, 0xC] - ldr r4, =gUnknown_0203AB28 - movs r0, 0x10 - bl AllocZeroed - str r0, [r4] - ldr r2, [r6] - movs r3, 0xBC - lsls r3, 6 - adds r1, r2, r3 - str r1, [r0] - movs r1, 0xC0 - lsls r1, 1 - strh r1, [r0, 0x4] - movs r4, 0xC2 - lsls r4, 6 - adds r2, r4 - str r2, [r0, 0x8] - strh r1, [r0, 0xC] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812FBC4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/trade.s b/asm/trade.s index 911b56aec..f81d8c6b2 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -1881,7 +1881,7 @@ sub_807825C: @ 807825C lsrs r1, 24 movs r0, 0x1C bl SetGpuReg - bl sub_8197224 + bl RunTextPrintersAndIsPrinter0Active bl RunTasks bl AnimateSprites bl BuildOamBuffer @@ -3349,7 +3349,7 @@ sub_8078EF8: @ 8078EF8 sub_8078F50: @ 8078F50 push {lr} sub sp, 0x4 - bl ProcessMenuInputNoWrapAround + bl Menu_ProcessInputNoWrapAround lsls r0, 24 asrs r0, 24 movs r1, 0x1 @@ -3499,7 +3499,7 @@ sub_807905C: @ 807905C ldr r0, =sub_8077B74 str r0, [sp] movs r0, 0x1 - bl sub_81BF8EC + bl ShowPokemonSummaryScreen b _080790C0 .pool _080790A4: @@ -3515,7 +3515,7 @@ _080790A4: ldr r0, =sub_8077B74 str r0, [sp] movs r0, 0x1 - bl sub_81BF8EC + bl ShowPokemonSummaryScreen _080790C0: bl FreeAllWindowBuffers _080790C4: @@ -3695,7 +3695,7 @@ _0807920E: thumb_func_start sub_8079218 sub_8079218: @ 8079218 push {lr} - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -3797,7 +3797,7 @@ _080792D8: thumb_func_start sub_80792E4 sub_80792E4: @ 80792E4 push {lr} - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -4588,7 +4588,7 @@ _080798BC: str r0, [sp, 0x8] adds r0, r5, 0 movs r3, 0x4 - bl box_print + bl AddTextPrinterParameterized3 add r6, sp, 0x28 adds r0, r6, 0 ldr r1, [sp, 0x60] @@ -4608,7 +4608,7 @@ _080798BC: movs r1, 0x1 movs r2, 0 movs r3, 0 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 adds r0, r5, 0 bl PutWindowTilemap adds r0, r5, 0 @@ -4847,7 +4847,7 @@ sub_8079B84: @ 8079B84 adds r0, r4, 0 movs r1, 0 movs r3, 0x4 - bl box_print + bl AddTextPrinterParameterized3 adds r0, r4, 0 bl PutWindowTilemap adds r0, r4, 0 @@ -5599,7 +5599,7 @@ sub_807A19C: @ 807A19C str r0, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0 movs r1, 0x14 movs r2, 0xC @@ -7609,10 +7609,10 @@ sub_807B170: @ 807B170 mov r1, r10 movs r2, 0 movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree + bl DecompressAndLoadBgGfxUsingHeap ldr r0, =gBattleTextboxTilemap mov r8, r0 - ldr r4, =0x0201c000 + ldr r4, =gDecompressionBuffer adds r1, r4, 0 bl LZDecompressWram movs r0, 0 @@ -7633,7 +7633,7 @@ sub_807B170: @ 807B170 mov r1, r10 movs r2, 0 movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree + bl DecompressAndLoadBgGfxUsingHeap mov r0, r8 adds r1, r4, 0 bl LZDecompressWram @@ -14295,7 +14295,7 @@ sub_807F1A8: @ 807F1A8 movs r1, 0x1 movs r2, 0 movs r3, 0x2 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 adds r0, r5, 0 movs r1, 0x3 bl CopyWindowToVram diff --git a/asm/trainer_card.s b/asm/trainer_card.s index 6d1be17cb..2c38140c6 100644 --- a/asm/trainer_card.s +++ b/asm/trainer_card.s @@ -419,7 +419,7 @@ _080C2A2C: str r0, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -1747,7 +1747,7 @@ sub_80C3574: @ 80C3574 movs r1, 0x1 movs r2, 0x14 movs r3, 0x1C - bl box_print + bl AddTextPrinterParameterized3 b _080C35FA .pool _080C35E0: @@ -1762,7 +1762,7 @@ _080C35E0: movs r1, 0x1 movs r2, 0x10 movs r3, 0x21 - bl box_print + bl AddTextPrinterParameterized3 _080C35FA: add sp, 0x2C pop {r4,r5} @@ -1818,7 +1818,7 @@ _080C365C: str r0, [sp, 0x8] movs r0, 0x1 movs r1, 0x1 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0x2C pop {r4} pop {r0} @@ -1848,7 +1848,7 @@ sub_80C3684: @ 80C3684 movs r1, 0x1 movs r2, 0x14 movs r3, 0x38 - bl box_print + bl AddTextPrinterParameterized3 b _080C36DE .pool _080C36C4: @@ -1863,7 +1863,7 @@ _080C36C4: movs r1, 0x1 movs r2, 0x10 movs r3, 0x39 - bl box_print + bl AddTextPrinterParameterized3 _080C36DE: ldr r0, =gStringVar1 ldr r4, =gUnknown_02039CE8 @@ -1910,7 +1910,7 @@ _080C3740: str r0, [sp, 0x8] movs r0, 0x1 movs r1, 0x1 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0xC pop {r4,r5} pop {r0} @@ -1964,7 +1964,7 @@ sub_80C378C: @ 80C378C movs r1, 0x1 movs r2, 0x14 movs r3, 0x48 - bl box_print + bl AddTextPrinterParameterized3 b _080C37F6 .pool _080C37DC: @@ -1979,7 +1979,7 @@ _080C37DC: movs r1, 0x1 movs r2, 0x10 movs r3, 0x49 - bl box_print + bl AddTextPrinterParameterized3 _080C37F6: ldr r5, =gStringVar4 ldr r4, =gUnknown_02039CE8 @@ -2025,7 +2025,7 @@ _080C3854: str r0, [sp, 0x8] movs r0, 0x1 movs r1, 0x1 - bl box_print + bl AddTextPrinterParameterized3 _080C386E: add sp, 0xC pop {r4,r5} @@ -2060,7 +2060,7 @@ sub_80C3880: @ 80C3880 movs r1, 0x1 movs r2, 0x14 movs r3, 0x58 - bl box_print + bl AddTextPrinterParameterized3 b _080C38E2 .pool _080C38C8: @@ -2075,7 +2075,7 @@ _080C38C8: movs r1, 0x1 movs r2, 0x10 movs r3, 0x59 - bl box_print + bl AddTextPrinterParameterized3 _080C38E2: ldr r0, =gUnknown_02039CE8 ldr r1, [r0] @@ -2159,7 +2159,7 @@ _080C395C: movs r0, 0x1 movs r1, 0x1 adds r3, r4, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r7, 0x12 lsls r2, r7, 24 lsrs r2, 24 @@ -2177,7 +2177,7 @@ _080C395C: movs r0, 0x1 movs r1, 0x1 adds r3, r4, 0 - bl box_print + bl AddTextPrinterParameterized3 add r7, r10 mov r0, r9 adds r1, r6, 0 @@ -2194,7 +2194,7 @@ _080C395C: movs r0, 0x1 movs r1, 0x1 adds r3, r4, 0 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0xC pop {r3-r5} mov r8, r3 @@ -2235,7 +2235,7 @@ sub_80C3A18: @ 80C3A18 movs r0, 0x1 movs r1, 0x1 movs r2, 0x8 - bl box_print + bl AddTextPrinterParameterized3 ldr r1, [r7] adds r1, 0x19 movs r0, 0x1 @@ -2256,7 +2256,7 @@ sub_80C3A18: @ 80C3A18 str r1, [sp, 0x8] movs r0, 0x1 movs r1, 0x1 - bl box_print + bl AddTextPrinterParameterized3 ldr r0, =gUnknown_0856FB4A mov r8, r0 ldr r1, [r7] @@ -2271,7 +2271,7 @@ sub_80C3A18: @ 80C3A18 movs r0, 0x1 movs r1, 0x1 movs r2, 0x8 - bl box_print + bl AddTextPrinterParameterized3 ldr r1, [r7] adds r1, 0x33 movs r0, 0x1 @@ -2292,7 +2292,7 @@ sub_80C3A18: @ 80C3A18 str r1, [sp, 0x8] movs r0, 0x1 movs r1, 0x1 - bl box_print + bl AddTextPrinterParameterized3 _080C3ACE: add sp, 0xC pop {r3} @@ -2363,7 +2363,7 @@ sub_80C3B50: @ 80C3B50 movs r1, 0x1 movs r2, 0x88 movs r3, 0x9 - bl box_print + bl AddTextPrinterParameterized3 b _080C3BB6 .pool _080C3B8C: @@ -2385,7 +2385,7 @@ _080C3B8C: movs r0, 0x1 movs r1, 0x1 movs r3, 0x9 - bl box_print + bl AddTextPrinterParameterized3 _080C3BB6: add sp, 0xC pop {r4} @@ -2470,7 +2470,7 @@ sub_80C3C34: @ 80C3C34 movs r0, 0x1 movs r1, 0x1 adds r3, r4, 0 - bl box_print + bl AddTextPrinterParameterized3 ldr r1, =gUnknown_0856FB57 ldr r0, [r6] adds r0, r5 @@ -2492,7 +2492,7 @@ sub_80C3C34: @ 80C3C34 movs r0, 0x1 movs r1, 0x1 adds r3, r4, 0 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0xC pop {r3-r5} mov r8, r3 @@ -6361,7 +6361,7 @@ _080C5DC2: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x5 - bl box_print + bl AddTextPrinterParameterized3 ldr r4, =gText_BattleRecord movs r0, 0x1 adds r1, r4, 0 @@ -6376,7 +6376,7 @@ _080C5DC2: movs r0, 0x1 movs r1, 0x1 movs r3, 0x5 - bl box_print + bl AddTextPrinterParameterized3 str r6, [sp] mov r0, r8 str r0, [sp, 0x4] @@ -6386,7 +6386,7 @@ _080C5DC2: movs r1, 0x8 movs r2, 0x5 movs r3, 0x4 - bl box_print + bl AddTextPrinterParameterized3 ldr r4, =gStringVar4 ldr r5, =gUnknown_02039CEC ldr r0, [r5] @@ -6408,7 +6408,7 @@ _080C5DC2: movs r0, 0x2 movs r1, 0x8 movs r3, 0x10 - bl box_print + bl AddTextPrinterParameterized3 ldr r1, [r5] ldrh r0, [r1, 0x8] subs r0, 0x5 @@ -6476,7 +6476,7 @@ sub_80C5ED0: @ 80C5ED0 movs r1, 0x1 movs r2, 0x2 movs r3, 0 - bl box_print + bl AddTextPrinterParameterized3 b _080C5F3A .pool _080C5F18: @@ -6495,7 +6495,7 @@ _080C5F18: movs r1, 0x1 movs r2, 0x2 movs r3, 0 - bl box_print + bl AddTextPrinterParameterized3 _080C5F3A: movs r0, 0x3 movs r1, 0x3 @@ -7983,7 +7983,7 @@ _080C6BB8: movs r0, 0x1 movs r1, 0x7 movs r2, 0x4 - bl box_print + bl AddTextPrinterParameterized3 b _080C6C0E .pool _080C6BF0: @@ -8000,7 +8000,7 @@ _080C6BF0: movs r0, 0x1 movs r1, 0x7 movs r2, 0x4 - bl box_print + bl AddTextPrinterParameterized3 _080C6C0E: adds r0, r4, 0x1 lsls r0, 24 @@ -8024,7 +8024,7 @@ _080C6C0E: movs r1, 0x1 movs r2, 0x4 movs r3, 0 - bl box_print + bl AddTextPrinterParameterized3 movs r4, 0 _080C6C40: adds r0, r4, 0 @@ -8084,7 +8084,7 @@ _080C6C94: movs r0, 0x1 movs r1, 0x7 movs r2, 0x4 - bl box_print + bl AddTextPrinterParameterized3 ldr r5, =gUnknown_02039CF4 ldr r1, [r5] ldrb r3, [r1, 0x10] @@ -8104,7 +8104,7 @@ _080C6C94: movs r0, 0x1 movs r1, 0x7 movs r2, 0x4 - bl box_print + bl AddTextPrinterParameterized3 ldr r1, [r5] ldr r2, [r1, 0x4] ldrb r0, [r1, 0x10] @@ -8148,7 +8148,7 @@ _080C6C94: movs r1, 0x1 movs r2, 0x4 movs r3, 0 - bl box_print + bl AddTextPrinterParameterized3 movs r4, 0 _080C6D4A: adds r0, r4, 0 @@ -8258,7 +8258,7 @@ _080C6E08: str r1, [sp, 0x10] movs r1, 0x1 movs r3, 0x1 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 ldr r0, [sp, 0x4C] mov r10, r4 cmp r0, 0x6 @@ -8410,7 +8410,7 @@ sub_80C6EAC: @ 80C6EAC movs r1, 0x1 movs r2, 0 movs r3, 0x2 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 lsrs r5, 1 adds r0, r7, 0 ldr r1, [sp, 0x24] diff --git a/asm/use_pokeblock.s b/asm/use_pokeblock.s index 5047ec65e..e04dedd9e 100644 --- a/asm/use_pokeblock.s +++ b/asm/use_pokeblock.s @@ -879,7 +879,7 @@ sub_8166D44: @ 8166D44 movs r1, 0x1 adds r2, r4, 0 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x2 bl PutWindowTilemap movs r0, 0x2 @@ -900,7 +900,7 @@ sub_8166D44: @ 8166D44 thumb_func_start sub_8166DE4 sub_8166DE4: @ 8166DE4 push {r4,lr} - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 lsrs r4, r0, 24 asrs r1, r0, 24 @@ -1095,7 +1095,7 @@ sub_8166F50: @ 8166F50 movs r0, 0x2 movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x2 bl PutWindowTilemap movs r0, 0x2 @@ -1134,7 +1134,7 @@ sub_8166FB0: @ 8166FB0 movs r0, 0x2 movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0xC pop {r0} bx r0 @@ -2536,7 +2536,7 @@ sub_8167BA0: @ 8167BA0 movs r0, 0 movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r7] ldr r1, =0x00008041 adds r0, r1 @@ -2572,7 +2572,7 @@ sub_8167BA0: @ 8167BA0 movs r1, 0x1 movs r2, 0x2 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 _08167C46: mov r2, r8 cmp r2, 0 |