diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_link_817C95C.s | 4891 | ||||
-rw-r--r-- | asm/battle_tower.s | 2 | ||||
-rw-r--r-- | asm/blit.s | 823 | ||||
-rw-r--r-- | asm/cable_club.s | 2 | ||||
-rw-r--r-- | asm/credits.s | 3903 | ||||
-rw-r--r-- | asm/field_control_avatar.s | 2 | ||||
-rw-r--r-- | asm/field_specials.s | 18 | ||||
-rw-r--r-- | asm/fldeff_flash.s | 709 | ||||
-rw-r--r-- | asm/fldeff_groundshake.s | 596 | ||||
-rw-r--r-- | asm/fldeff_softboiled.s | 339 | ||||
-rw-r--r-- | asm/fossil_specials.s | 887 | ||||
-rw-r--r-- | asm/intro.s | 6270 | ||||
-rw-r--r-- | asm/intro_credits_graphics.s | 1077 | ||||
-rw-r--r-- | asm/item_menu_icons.s | 637 | ||||
-rw-r--r-- | asm/learn_move.s | 4 | ||||
-rw-r--r-- | asm/list_menu.s | 1643 | ||||
-rw-r--r-- | asm/map_name_popup.s | 2 | ||||
-rw-r--r-- | asm/party_menu.s | 4 | ||||
-rw-r--r-- | asm/player_pc.s | 3436 | ||||
-rw-r--r-- | asm/pokemon_summary_screen.s | 16 | ||||
-rw-r--r-- | asm/pokenav.s | 1053 | ||||
-rw-r--r-- | asm/rom_8011DC0.s | 20 | ||||
-rw-r--r-- | asm/script_menu.s | 2 | ||||
-rw-r--r-- | asm/shop.s | 2 | ||||
-rw-r--r-- | asm/start_menu.s | 2101 | ||||
-rw-r--r-- | asm/trainer_rematch.s | 206 |
26 files changed, 50 insertions, 28595 deletions
diff --git a/asm/battle_link_817C95C.s b/asm/battle_link_817C95C.s deleted file mode 100644 index 55d0bae39..000000000 --- a/asm/battle_link_817C95C.s +++ /dev/null @@ -1,4891 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_817C95C -sub_817C95C: @ 817C95C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp] - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0817C988 - ldr r0, [sp] - cmp r0, 0x1B - beq _0817C988 - cmp r0, 0xDD - beq _0817C988 - bl _0817E0A6 -_0817C988: - ldr r0, =gBattleStruct - ldr r0, [r0] - movs r1, 0x81 - lsls r1, 2 - adds r7, r0, r1 - ldr r5, =gBattlerAttacker - ldrb r0, [r5] - bl GetBattlerSide - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gBattlerTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gEffectBattler - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, =gStringInfo - ldr r0, [r0] - ldrb r0, [r0, 0x7] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - cmp r4, 0 - bne _0817CA00 - ldr r2, =gBattlerPartyIndexes - ldrb r0, [r5] - lsls r0, 1 - adds r0, r2 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - b _0817CA10 - .pool -_0817CA00: - ldr r2, =gBattlerPartyIndexes - ldrb r0, [r5] - lsls r0, 1 - adds r0, r2 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gEnemyParty -_0817CA10: - adds r1, r0 - str r1, [sp, 0x8] - cmp r6, 0 - bne _0817CA3C - ldr r0, =gBattlerTarget - ldrb r0, [r0] - lsls r0, 1 - adds r0, r2 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - b _0817CA4C - .pool -_0817CA3C: - ldr r0, =gBattlerTarget - ldrb r0, [r0] - lsls r0, 1 - adds r0, r2 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gEnemyParty -_0817CA4C: - adds r1, r0 - str r1, [sp, 0xC] - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - ldr r1, =gStringInfo - ldr r1, [r1] - ldrh r1, [r1] - bl GetBattlerMoveSlotId - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - cmp r0, 0x3 - bls _0817CA9C - ldr r0, [sp] - bl sub_817E0B8 - lsls r0, 24 - cmp r0, 0 - beq _0817CA9C - ldr r2, [sp] - cmp r2, 0xC - bls _0817CA9C - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r7, r0 - adds r0, 0x57 - ldrb r1, [r0] - movs r2, 0x1E - bl _0817E0A2 - .pool -_0817CA9C: - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 25 - mov r8, r0 - ldr r0, =gBattlerTarget - ldrb r0, [r0] - bl GetBattlerPosition - lsls r0, 24 - lsrs r5, r0, 25 - ldr r0, =gEffectBattler - ldrb r0, [r0] - bl GetBattlerPosition - lsls r0, 24 - lsrs r3, r0, 25 - ldr r1, [sp] - subs r1, 0x2 - movs r0, 0xB0 - lsls r0, 1 - cmp r1, r0 - bls _0817CAD2 - bl _0817E0A6 -_0817CAD2: - lsls r0, r1, 2 - ldr r1, =_0817CAEC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0817CAEC: - .4byte _0817DD7A - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817D070 - .4byte _0817DD74 - .4byte _0817DD80 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817DA68 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817D7D8 - .4byte _0817E0A6 - .4byte _0817D8A4 - .4byte _0817E0A6 - .4byte _0817D838 - .4byte _0817E0A6 - .4byte _0817D704 - .4byte _0817E0A6 - .4byte _0817D76C - .4byte _0817DB24 - .4byte _0817E0A6 - .4byte _0817DB90 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817D9C2 - .4byte _0817E0A6 - .4byte _0817DA24 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817DBD4 - .4byte _0817E0A6 - .4byte _0817D94C - .4byte _0817E0A6 - .4byte _0817D994 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E040 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817DE10 - .4byte _0817DDC8 - .4byte _0817DEDC - .4byte _0817DF24 - .4byte _0817DF4E - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817D65E - .4byte _0817D65E - .4byte _0817D65E - .4byte _0817D65E - .4byte _0817D698 - .4byte _0817E0A6 - .4byte _0817E08E - .4byte _0817DF70 - .4byte _0817DFBC - .4byte _0817E0A6 - .4byte _0817E08E - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817D53C - .4byte _0817E0A6 - .4byte _0817D584 - .4byte _0817DACC - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817D3A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817D296 - .4byte _0817D2E4 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817D5CE - .4byte _0817D608 - .4byte _0817D498 - .4byte _0817D4E0 - .4byte _0817DC62 - .4byte _0817DC98 - .4byte _0817E0A6 - .4byte _0817D1B8 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817DCDC - .4byte _0817E0A6 - .4byte _0817D0DC - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817D1E0 - .4byte _0817D314 - .4byte _0817D354 - .4byte _0817D372 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817D216 - .4byte _0817D260 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817D3C0 - .4byte _0817D3F2 - .4byte _0817D440 - .4byte _0817D45C - .4byte _0817D3B8 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817D098 - .4byte _0817D0D4 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817DC20 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817D16C - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817DD38 - .4byte _0817DCFC - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817D65E - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817D124 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817E0A6 - .4byte _0817DE58 - .4byte _0817DDC8 - .4byte _0817DE10 - .4byte _0817DFE6 -_0817D070: - movs r0, 0x1 - mov r1, r10 - movs r2, 0x2 - movs r3, 0 - bl sub_817E684 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0817D08C - bl _0817E0A6 -_0817D08C: - bl sub_817EECC - bl _0817E0A6 - .pool -_0817D098: - movs r0, 0x1 - mov r1, r10 - movs r2, 0x1 - movs r3, 0 - bl sub_817E684 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0817D0B4 - bl _0817E0A6 -_0817D0B4: - ldr r0, [sp, 0xC] - movs r1, 0x39 - movs r2, 0 - bl GetMonData - cmp r0, 0 - bne _0817D0C6 - bl _0817E0A6 -_0817D0C6: - bl sub_817EECC - bl _0817E0A6 - .pool -_0817D0D4: - movs r0, 0x1 - mov r1, r10 - movs r2, 0 - b _0817D48E -_0817D0DC: - lsls r3, r4, 1 - adds r3, r4 - lsls r3, 2 - adds r3, r7, r3 - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - adds r0, 0x1 - movs r1, 0x7 - ands r0, r1 - lsls r0, 15 - ldr r1, [r3, 0x50] - ldr r2, =0xfffc7fff - ands r1, r2 - orrs r1, r0 - str r1, [r3, 0x50] - adds r3, 0x55 - movs r0, 0x3 - mov r1, r10 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0xD - negs r0, r0 - bl _0817DC0C - .pool -_0817D124: - lsls r2, r4, 1 - adds r2, r4 - lsls r2, 2 - adds r2, r7, r2 - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x1 - adds r4, r2, 0 - adds r4, 0x52 - movs r0, 0x7 - ands r1, r0 - lsls r1, 2 - ldrb r3, [r4] - movs r0, 0x1D - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r4] - adds r2, 0x55 - movs r0, 0x3 - mov r1, r10 - ands r1, r0 - lsls r1, 4 - ldrb r3, [r2] - movs r0, 0x31 - negs r0, r0 - bl _0817DFAA - .pool -_0817D16C: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r5, r7, r0 - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x1 - adds r3, r5, 0 - adds r3, 0x52 - lsls r1, 5 - ldrb r2, [r3] - movs r0, 0x1F - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - adds r4, r5, 0 - adds r4, 0x55 - mov r0, r10 - lsls r2, r0, 6 - ldrb r1, [r4] - movs r0, 0x3F - ands r0, r1 - orrs r0, r2 - strb r0, [r4] - adds r2, r5, 0 - adds r2, 0x58 - ldrb r0, [r2] - movs r1, 0x40 - bl _0817DFAC - .pool -_0817D1B8: - ldr r1, =gBattleTextBuff1 + 4 - ldrb r0, [r1] - cmp r0, 0 - beq _0817D1C4 - bl _0817E0A6 -_0817D1C4: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r7, r0 - adds r0, 0x57 - ldrb r2, [r0] - movs r1, 0x1F - negs r1, r1 - ands r1, r2 - movs r2, 0x14 - bl _0817E0A2 - .pool -_0817D1E0: - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - adds r3, r7, r0 - adds r0, r3, 0 - adds r0, 0x53 - ldrb r0, [r0] - lsls r0, 29 - lsrs r0, 29 - cmp r0, 0 - bne _0817D1FA - bl _0817E0A6 -_0817D1FA: - adds r2, r6, 0 - subs r1, r0, 0x1 - lsls r1, 2 - adds r0, r3, 0 - adds r0, 0x56 - ldrb r3, [r0] - lsls r3, 30 - lsrs r3, 30 - adds r3, r1 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x2 - bl _0817DB10 -_0817D216: - lsls r2, r4, 1 - adds r2, r4 - lsls r2, 2 - adds r2, r7, r2 - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x1 - adds r4, r2, 0 - adds r4, 0x53 - movs r0, 0x7 - ands r1, r0 - lsls r1, 3 - ldrb r3, [r4] - movs r0, 0x39 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r4] - adds r2, 0x56 - movs r0, 0x3 - mov r1, r10 - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0xD - negs r0, r0 - bl _0817DFAA - .pool -_0817D260: - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - adds r3, r7, r0 - adds r0, r3, 0 - adds r0, 0x53 - ldrb r0, [r0] - lsls r0, 26 - lsrs r0, 29 - cmp r0, 0 - bne _0817D27A - bl _0817E0A6 -_0817D27A: - adds r2, r6, 0 - subs r1, r0, 0x1 - lsls r1, 2 - adds r0, r3, 0 - adds r0, 0x56 - ldrb r3, [r0] - lsls r3, 28 - lsrs r3, 30 - adds r3, r1 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x2 - bl _0817DBC2 -_0817D296: - lsls r2, r4, 1 - adds r2, r4 - lsls r2, 2 - adds r2, r7, r2 - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x1 - adds r2, 0x56 - movs r0, 0x7 - ands r1, r0 - lsls r1, 4 - ldrb r3, [r2] - movs r0, 0x71 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x3 - mov r1, r10 - ands r1, r0 - lsls r1, 7 - ldrh r3, [r2] - ldr r0, =0xfffffe7f - ands r0, r3 - orrs r0, r1 - strh r0, [r2] - bl _0817E0A6 - .pool -_0817D2E4: - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - adds r0, r7, r0 - adds r0, 0x56 - ldrb r0, [r0] - lsls r0, 25 - lsrs r0, 29 - cmp r0, 0 - bne _0817D2FC - bl _0817E0A6 -_0817D2FC: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r7, r0 - adds r0, 0x57 - ldrb r2, [r0] - movs r1, 0x1F - negs r1, r1 - ands r1, r2 - movs r2, 0x16 - bl _0817E0A2 -_0817D314: - mov r2, r8 - lsls r3, r2, 3 - lsls r0, r4, 4 - adds r3, r0 - adds r3, r7, r3 - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x1 - adds r3, 0x35 - movs r0, 0x7 - ands r1, r0 - ldrb r2, [r3] - movs r0, 0x8 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - movs r2, 0x3 - mov r1, r10 - ands r1, r2 - lsls r1, 3 - movs r2, 0x19 - negs r2, r2 - bl _0817DC0C - .pool -_0817D354: - mov r1, r8 - lsls r0, r1, 3 - lsls r1, r4, 4 - adds r0, r1 - adds r0, r7, r0 - adds r0, 0x35 - ldrb r1, [r0] - lsls r0, r1, 29 - lsrs r0, 29 - cmp r0, 0 - bne _0817D36E - bl _0817E0A6 -_0817D36E: - adds r2, r4, 0 - b _0817D38C -_0817D372: - lsls r0, r5, 3 - lsls r1, r6, 4 - adds r0, r1 - adds r0, r7, r0 - adds r0, 0x35 - ldrb r1, [r0] - lsls r0, r1, 29 - lsrs r0, 29 - cmp r0, 0 - bne _0817D38A - bl _0817E0A6 -_0817D38A: - adds r2, r6, 0 -_0817D38C: - subs r0, 0x1 - lsls r0, 2 - lsls r3, r1, 27 - lsrs r3, 30 - adds r3, r0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x2 - movs r1, 0x6 - bl sub_817E684 - bl _0817E0A6 -_0817D3A6: - ldr r0, =gBattleStruct - ldr r0, [r0] - adds r0, 0xB3 - movs r1, 0x1 - bl _0817E0A4 - .pool -_0817D3B8: - movs r0, 0x12 - mov r1, r10 - movs r2, 0 - b _0817D48E -_0817D3C0: - ldr r0, =gBattleTextBuff1 - ldrb r2, [r0, 0x2] - cmp r2, 0 - bne _0817D3CC - bl _0817E0A6 -_0817D3CC: - ldr r1, =gBattleTextBuff2 + 2 - ldrh r0, [r1] - cmp r0, 0xD1 - bne _0817D3E8 - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0x17 - b _0817D48C - .pool -_0817D3E8: - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0x16 - b _0817D48C -_0817D3F2: - ldr r0, =gBattleTextBuff1 - ldrb r2, [r0, 0x2] - cmp r2, 0 - bne _0817D3FE - bl _0817E0A6 -_0817D3FE: - ldr r0, =gBattlerAttacker - ldr r1, =gBattlerTarget - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bne _0817D436 - ldr r1, =gBattleTextBuff2 + 2 - ldrh r0, [r1] - cmp r0, 0xD1 - bne _0817D42C - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0x17 - b _0817D48C - .pool -_0817D42C: - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0x16 - b _0817D48C -_0817D436: - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0x1B - b _0817D48C -_0817D440: - ldr r0, =gBattleTextBuff1 - ldrb r2, [r0, 0x2] - cmp r2, 0 - bne _0817D44C - bl _0817E0A6 -_0817D44C: - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0x18 - b _0817D48C - .pool -_0817D45C: - ldr r0, =gBattleTextBuff1 - ldrb r2, [r0, 0x2] - cmp r2, 0 - bne _0817D468 - bl _0817E0A6 -_0817D468: - ldr r1, =gBattleTextBuff2 + 2 - ldrh r0, [r1] - cmp r0, 0xD3 - bne _0817D484 - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0x1A - b _0817D48C - .pool -_0817D484: - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0x19 -_0817D48C: - mov r1, r10 -_0817D48E: - movs r3, 0 - bl sub_817E684 - bl _0817E0A6 -_0817D498: - lsls r2, r5, 3 - lsls r0, r6, 4 - adds r2, r0 - adds r2, r7, r2 - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x1 - adds r4, r2, 0 - adds r4, 0x30 - movs r0, 0x7 - ands r1, r0 - ldrb r3, [r4] - movs r0, 0x8 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r4] - adds r2, 0x32 - movs r0, 0x3 - mov r1, r10 - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0xD - negs r0, r0 - bl _0817DFAA - .pool -_0817D4E0: - ldr r0, [sp, 0x8] - movs r1, 0x39 - movs r2, 0 - bl GetMonData - cmp r0, 0 - bne _0817D4F2 - bl _0817E0A6 -_0817D4F2: - mov r2, r8 - lsls r0, r2, 3 - lsls r1, r4, 4 - adds r0, r1 - adds r1, r7, r0 - adds r0, r1, 0 - adds r0, 0x30 - ldrb r0, [r0] - lsls r0, 29 - lsrs r0, 29 - cmp r0, 0 - bne _0817D50E - bl _0817E0A6 -_0817D50E: - subs r2, r0, 0x1 - lsls r2, 24 - lsrs r2, 24 - adds r0, r1, 0 - adds r0, 0x32 - ldrb r3, [r0] - lsls r3, 28 - lsrs r3, 30 - movs r0, 0x8 - movs r1, 0 - bl sub_817E684 - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 2 - adds r1, r7, r1 - adds r1, 0x57 - ldrb r2, [r1] - movs r0, 0x1F - negs r0, r0 - ands r0, r2 - movs r2, 0x2 - b _0817D6F2 -_0817D53C: - lsls r2, r5, 3 - lsls r0, r6, 4 - adds r2, r0 - adds r2, r7, r2 - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x1 - adds r4, r2, 0 - adds r4, 0x30 - movs r0, 0x7 - ands r1, r0 - lsls r1, 3 - ldrb r3, [r4] - movs r0, 0x39 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r4] - adds r2, 0x32 - movs r0, 0x3 - mov r1, r10 - ands r1, r0 - lsls r1, 4 - ldrb r3, [r2] - movs r0, 0x31 - negs r0, r0 - bl _0817DFAA - .pool -_0817D584: - mov r1, r8 - lsls r0, r1, 3 - lsls r1, r4, 4 - adds r0, r1 - adds r1, r7, r0 - adds r0, r1, 0 - adds r0, 0x30 - ldrb r0, [r0] - lsls r0, 26 - lsrs r0, 29 - cmp r0, 0 - bne _0817D5A0 - bl _0817E0A6 -_0817D5A0: - subs r2, r0, 0x1 - lsls r2, 24 - lsrs r2, 24 - adds r0, r1, 0 - adds r0, 0x32 - ldrb r3, [r0] - lsls r3, 26 - lsrs r3, 30 - movs r0, 0x8 - movs r1, 0x1 - bl sub_817E684 - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 2 - adds r1, r7, r1 - adds r1, 0x57 - ldrb r2, [r1] - movs r0, 0x1F - negs r0, r0 - ands r0, r2 - movs r2, 0x4 - b _0817D6F2 -_0817D5CE: - lsls r2, r5, 3 - lsls r0, r6, 4 - adds r2, r0 - adds r2, r7, r2 - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x1 - movs r0, 0x7 - ands r1, r0 - lsls r1, 6 - ldrh r3, [r2, 0x30] - ldr r0, =0xfffffe3f - ands r0, r3 - orrs r0, r1 - strh r0, [r2, 0x30] - adds r2, 0x32 - bl _0817DF0A - .pool -_0817D608: - ldr r0, [sp, 0x8] - movs r1, 0x39 - movs r2, 0 - bl GetMonData - cmp r0, 0 - bne _0817D61A - bl _0817E0A6 -_0817D61A: - mov r1, r8 - lsls r0, r1, 3 - lsls r1, r4, 4 - adds r0, r1 - adds r1, r7, r0 - ldrh r0, [r1, 0x30] - lsls r0, 23 - lsrs r0, 29 - cmp r0, 0 - bne _0817D632 - bl _0817E0A6 -_0817D632: - subs r2, r0, 0x1 - lsls r2, 24 - lsrs r2, 24 - adds r0, r1, 0 - adds r0, 0x32 - ldrb r3, [r0] - lsrs r3, 6 - movs r0, 0x8 - movs r1, 0x5 - bl sub_817E684 - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 2 - adds r1, r7, r1 - adds r1, 0x57 - ldrb r2, [r1] - movs r0, 0x1F - negs r0, r0 - ands r0, r2 - movs r2, 0xA - b _0817D6F2 -_0817D65E: - lsls r2, r5, 3 - lsls r0, r6, 4 - adds r2, r0 - adds r2, r7, r2 - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x1 - adds r4, r2, 0 - adds r4, 0x31 - movs r0, 0x7 - ands r1, r0 - lsls r1, 1 - ldrb r3, [r4] - movs r0, 0xF - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r4] - adds r2, 0x33 - bl _0817DF9E - .pool -_0817D698: - ldr r0, [sp, 0x8] - movs r1, 0x39 - movs r2, 0 - bl GetMonData - cmp r0, 0 - bne _0817D6AA - bl _0817E0A6 -_0817D6AA: - mov r1, r8 - lsls r0, r1, 3 - lsls r1, r4, 4 - adds r0, r1 - adds r1, r7, r0 - adds r0, r1, 0 - adds r0, 0x31 - ldrb r0, [r0] - lsls r0, 28 - lsrs r0, 29 - cmp r0, 0 - bne _0817D6C6 - bl _0817E0A6 -_0817D6C6: - subs r2, r0, 0x1 - lsls r2, 24 - lsrs r2, 24 - adds r0, r1, 0 - adds r0, 0x33 - ldrb r3, [r0] - lsls r3, 30 - lsrs r3, 30 - movs r0, 0x8 - movs r1, 0x6 - bl sub_817E684 - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 2 - adds r1, r7, r1 - adds r1, 0x57 - ldrb r2, [r1] - movs r0, 0x1F - negs r0, r0 - ands r0, r2 - movs r2, 0xC -_0817D6F2: - orrs r0, r2 - mov r2, r8 - lsls r3, r2, 5 - movs r2, 0x1F - ands r0, r2 - orrs r0, r3 - strb r0, [r1] - bl _0817E0A6 -_0817D704: - ldr r5, =gBattlerPartyIndexes - ldr r6, =gEffectBattler - ldrb r0, [r6] - lsls r0, 1 - adds r0, r5 - ldrh r2, [r0] - lsls r2, 2 - mov r0, r9 - lsls r4, r0, 1 - add r4, r9 - lsls r4, 3 - adds r2, r4 - adds r2, r7, r2 - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r5 - ldrh r1, [r0] - adds r1, 0x1 - movs r0, 0x7 - ands r1, r0 - lsls r1, 6 - ldrh r3, [r2] - ldr r0, =0xfffffe3f - ands r0, r3 - orrs r0, r1 - strh r0, [r2] - ldrb r0, [r6] - lsls r0, 1 - adds r0, r5 - ldrh r1, [r0] - lsls r1, 2 - adds r1, r4 - adds r1, r7, r1 - mov r2, r10 - lsls r3, r2, 6 - ldrb r2, [r1, 0x2] - movs r0, 0x3F - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x2] - bl _0817E0A6 - .pool -_0817D76C: - ldr r0, [sp, 0x8] - movs r1, 0x39 - movs r2, 0 - bl GetMonData - cmp r0, 0 - bne _0817D77E - bl _0817E0A6 -_0817D77E: - ldr r6, =gBattlerPartyIndexes - ldr r5, =gBattlerAttacker - ldrb r0, [r5] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - lsls r0, 2 - lsls r1, r4, 1 - adds r4, r1, r4 - lsls r1, r4, 3 - adds r0, r1 - adds r1, r7, r0 - ldrh r0, [r1] - lsls r0, 23 - lsrs r0, 29 - cmp r0, 0 - beq _0817D7B2 - subs r2, r0, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r1, 0x2] - lsrs r3, 6 - movs r0, 0x8 - movs r1, 0x4 - bl sub_817E684 -_0817D7B2: - lsls r3, r4, 2 - adds r3, r7, r3 - adds r3, 0x57 - ldrb r0, [r3] - movs r1, 0x1F - negs r1, r1 - ands r1, r0 - movs r0, 0x8 - orrs r1, r0 - strb r1, [r3] - ldrb r0, [r5] - lsls r0, 1 - adds r0, r6 - b _0817D934 - .pool -_0817D7D8: - ldr r5, =gBattlerPartyIndexes - ldr r6, =gEffectBattler - ldrb r0, [r6] - lsls r0, 1 - adds r0, r5 - ldrh r2, [r0] - lsls r2, 2 - mov r0, r9 - lsls r4, r0, 1 - add r4, r9 - lsls r4, 3 - adds r2, r4 - adds r2, r7, r2 - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r5 - ldrh r1, [r0] - adds r1, 0x1 - movs r0, 0x7 - ands r1, r0 - ldrb r3, [r2] - movs r0, 0x8 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r6] - lsls r0, 1 - adds r0, r5 - ldrh r1, [r0] - lsls r1, 2 - adds r1, r4 - adds r1, r7, r1 - movs r0, 0x3 - mov r2, r10 - ands r2, r0 - lsls r2, 2 - ldrb r3, [r1, 0x2] - movs r0, 0xD - negs r0, r0 - b _0817D88C - .pool -_0817D838: - ldr r5, =gBattlerPartyIndexes - ldr r6, =gEffectBattler - ldrb r0, [r6] - lsls r0, 1 - adds r0, r5 - ldrh r2, [r0] - lsls r2, 2 - mov r1, r9 - lsls r4, r1, 1 - add r4, r9 - lsls r4, 3 - adds r2, r4 - adds r2, r7, r2 - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r5 - ldrh r1, [r0] - adds r1, 0x1 - movs r0, 0x7 - ands r1, r0 - lsls r1, 3 - ldrb r3, [r2] - movs r0, 0x39 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r6] - lsls r0, 1 - adds r0, r5 - ldrh r1, [r0] - lsls r1, 2 - adds r1, r4 - adds r1, r7, r1 - movs r0, 0x3 - mov r2, r10 - ands r2, r0 - lsls r2, 4 - ldrb r3, [r1, 0x2] - movs r0, 0x31 - negs r0, r0 -_0817D88C: - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x2] - bl _0817E0A6 - .pool -_0817D8A4: - ldr r0, [sp, 0x8] - movs r1, 0x39 - movs r2, 0 - bl GetMonData - cmp r0, 0 - bne _0817D8B6 - bl _0817E0A6 -_0817D8B6: - ldr r2, =gBattlerPartyIndexes - mov r8, r2 - ldr r6, =gBattlerAttacker - ldrb r0, [r6] - lsls r0, 1 - add r0, r8 - ldrh r0, [r0] - lsls r0, 2 - lsls r1, r4, 1 - adds r5, r1, r4 - lsls r4, r5, 3 - adds r0, r4 - adds r1, r7, r0 - ldrb r0, [r1] - lsls r0, 29 - lsrs r0, 29 - cmp r0, 0 - beq _0817D8EE - subs r2, r0, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r1, 0x2] - lsls r3, 28 - lsrs r3, 30 - movs r0, 0x8 - movs r1, 0x2 - bl sub_817E684 -_0817D8EE: - ldrb r0, [r6] - lsls r0, 1 - add r0, r8 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r4 - adds r1, r7, r0 - ldrb r0, [r1] - lsls r0, 26 - lsrs r0, 29 - cmp r0, 0 - beq _0817D91A - subs r2, r0, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r1, 0x2] - lsls r3, 26 - lsrs r3, 30 - movs r0, 0x8 - movs r1, 0x3 - bl sub_817E684 -_0817D91A: - lsls r3, r5, 2 - adds r3, r7, r3 - adds r3, 0x57 - ldrb r0, [r3] - movs r1, 0x1F - negs r1, r1 - ands r1, r0 - movs r0, 0x6 - orrs r1, r0 - strb r1, [r3] - ldrb r0, [r6] - lsls r0, 1 - add r0, r8 -_0817D934: - ldrh r0, [r0] - lsls r0, 5 - movs r2, 0x1F - ands r1, r2 - orrs r1, r0 - strb r1, [r3] - b _0817E0A6 - .pool -_0817D94C: - lsls r2, r5, 3 - lsls r0, r6, 4 - adds r2, r0 - adds r2, r7, r2 - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x1 - adds r4, r2, 0 - adds r4, 0x31 - movs r0, 0x7 - ands r1, r0 - lsls r1, 4 - ldrb r3, [r4] - movs r0, 0x71 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r4] - adds r2, 0x33 - movs r0, 0x3 - mov r1, r10 - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0xD - negs r0, r0 - b _0817DFAA - .pool -_0817D994: - mov r1, r8 - lsls r0, r1, 3 - lsls r1, r4, 4 - adds r0, r1 - adds r1, r7, r0 - adds r0, r1, 0 - adds r0, 0x31 - ldrb r0, [r0] - lsls r0, 25 - lsrs r0, 29 - cmp r0, 0 - bne _0817D9AE - b _0817E0A6 -_0817D9AE: - subs r2, r0, 0x1 - lsls r2, 24 - lsrs r2, 24 - adds r0, r1, 0 - adds r0, 0x33 - ldrb r3, [r0] - lsls r3, 28 - lsrs r3, 30 - movs r0, 0x9 - b _0817E086 -_0817D9C2: - ldr r5, =gBattlerPartyIndexes - ldr r6, =gEffectBattler - ldrb r0, [r6] - lsls r0, 1 - adds r0, r5 - ldrh r2, [r0] - lsls r2, 2 - mov r0, r9 - lsls r4, r0, 1 - add r4, r9 - lsls r4, 3 - adds r2, r4 - adds r2, r7, r2 - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r5 - ldrh r1, [r0] - adds r1, 0x1 - movs r0, 0x7 - ands r1, r0 - lsls r1, 1 - ldrb r3, [r2, 0x1] - movs r0, 0xF - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x1] - ldrb r0, [r6] - lsls r0, 1 - adds r0, r5 - ldrh r1, [r0] - lsls r1, 2 - adds r1, r4 - adds r1, r7, r1 - movs r0, 0x3 - mov r2, r10 - ands r2, r0 - ldrb r3, [r1, 0x3] - movs r0, 0x4 - negs r0, r0 - b _0817DB76 - .pool -_0817DA24: - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r1, 2 - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - adds r1, r0 - adds r1, r7, r1 - ldrb r0, [r1, 0x1] - lsls r0, 28 - lsrs r0, 29 - cmp r0, 0 - bne _0817DA48 - b _0817E0A6 -_0817DA48: - subs r2, r0, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r1, 0x3] - lsls r3, 30 - lsrs r3, 30 - movs r0, 0x9 - movs r1, 0x2 - bl sub_817E684 - b _0817E0A6 - .pool -_0817DA68: - ldr r5, =gBattlerPartyIndexes - ldr r6, =gEffectBattler - ldrb r0, [r6] - lsls r0, 1 - adds r0, r5 - ldrh r2, [r0] - lsls r2, 2 - mov r1, r9 - lsls r4, r1, 1 - add r4, r9 - lsls r4, 3 - adds r2, r4 - adds r2, r7, r2 - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r5 - ldrh r1, [r0] - adds r1, 0x1 - movs r0, 0x7 - ands r1, r0 - lsls r1, 4 - ldrb r3, [r2, 0x1] - movs r0, 0x71 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x1] - ldrb r0, [r6] - lsls r0, 1 - adds r0, r5 - ldrh r1, [r0] - lsls r1, 2 - adds r1, r4 - adds r1, r7, r1 - movs r0, 0x3 - mov r2, r10 - ands r2, r0 - lsls r2, 2 - ldrb r3, [r1, 0x3] - movs r0, 0xD - negs r0, r0 - b _0817DB76 - .pool -_0817DACC: - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r1, 2 - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - adds r1, r0 - adds r1, r7, r1 - ldrb r0, [r1, 0x1] - lsls r0, 25 - lsrs r2, r0, 29 - cmp r2, 0 - bne _0817DAF0 - b _0817E0A6 -_0817DAF0: - ldr r0, =gStringInfo - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0xAD - bne _0817DAFC - b _0817E0A6 -_0817DAFC: - cmp r0, 0xD6 - bne _0817DB02 - b _0817E0A6 -_0817DB02: - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r1, 0x3] - lsls r3, 28 - lsrs r3, 30 - movs r0, 0x9 -_0817DB10: - movs r1, 0x3 - bl sub_817E684 - b _0817E0A6 - .pool -_0817DB24: - ldr r5, =gBattlerPartyIndexes - ldr r6, =gEffectBattler - ldrb r0, [r6] - lsls r0, 1 - adds r0, r5 - ldrh r3, [r0] - lsls r3, 2 - mov r2, r9 - lsls r4, r2, 1 - add r4, r9 - lsls r4, 3 - adds r3, r4 - adds r3, r7, r3 - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r5 - ldrh r0, [r0] - adds r0, 0x1 - movs r1, 0x7 - ands r0, r1 - lsls r0, 15 - ldr r1, [r3] - ldr r2, =0xfffc7fff - ands r1, r2 - orrs r1, r0 - str r1, [r3] - ldrb r0, [r6] - lsls r0, 1 - adds r0, r5 - ldrh r1, [r0] - lsls r1, 2 - adds r1, r4 - adds r1, r7, r1 - movs r0, 0x3 - mov r2, r10 - ands r2, r0 - lsls r2, 4 - ldrb r3, [r1, 0x3] - movs r0, 0x31 - negs r0, r0 -_0817DB76: - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x3] - b _0817E0A6 - .pool -_0817DB90: - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r1, 2 - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - adds r1, r0 - adds r1, r7, r1 - ldr r0, [r1] - lsls r0, 14 - lsrs r0, 29 - cmp r0, 0 - bne _0817DBB4 - b _0817E0A6 -_0817DBB4: - subs r2, r0, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r1, 0x3] - lsls r3, 26 - lsrs r3, 30 - movs r0, 0x9 -_0817DBC2: - movs r1, 0x4 - bl sub_817E684 - b _0817E0A6 - .pool -_0817DBD4: - lsls r3, 3 - mov r1, r9 - lsls r0, r1, 4 - adds r3, r0 - adds r3, r7, r3 - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - adds r0, 0x1 - movs r1, 0x7 - ands r0, r1 - lsls r0, 15 - ldr r1, [r3, 0x30] - ldr r2, =0xfffc7fff - ands r1, r2 - orrs r1, r0 - str r1, [r3, 0x30] - adds r3, 0x33 - movs r0, 0x3 - mov r1, r10 - ands r1, r0 - lsls r1, 4 - ldrb r2, [r3] - movs r0, 0x31 - negs r0, r0 -_0817DC0C: - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _0817E0A6 - .pool -_0817DC20: - mov r2, r8 - lsls r0, r2, 3 - lsls r1, r4, 4 - adds r0, r1 - adds r3, r7, r0 - ldr r0, [r3, 0x30] - lsls r0, 14 - lsrs r0, 29 - cmp r0, 0 - beq _0817DC4C - subs r2, r0, 0x1 - lsls r2, 24 - lsrs r2, 24 - adds r0, r3, 0 - adds r0, 0x33 - ldrb r3, [r0] - lsls r3, 26 - lsrs r3, 30 - movs r0, 0x9 - movs r1, 0x1 - bl sub_817E684 -_0817DC4C: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r7, r0 - adds r0, 0x57 - ldrb r2, [r0] - movs r1, 0x1F - negs r1, r1 - ands r1, r2 - movs r2, 0x18 - b _0817E0A2 -_0817DC62: - lsls r2, r6, 1 - adds r2, r6 - lsls r2, 2 - adds r2, r7, r2 - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x1 - adds r4, r2, 0 - adds r4, 0x50 - movs r0, 0x7 - ands r1, r0 - ldrb r3, [r4] - movs r0, 0x8 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r4] - adds r2, 0x54 - b _0817DF9E - .pool -_0817DC98: - ldr r1, [sp, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r4, r7, r0 - adds r0, r4, 0 - adds r0, 0x50 - ldrb r0, [r0] - lsls r0, 29 - lsrs r2, r0, 29 - cmp r2, 0 - bne _0817DCB2 - b _0817E0A6 -_0817DCB2: - movs r0, 0x1 - eors r1, r0 - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r0, 0x54 - ldrb r3, [r0] - lsls r3, 30 - lsrs r3, 30 - movs r0, 0xA - bl sub_817E684 - adds r2, r4, 0 - adds r2, 0x57 - ldrb r1, [r2] - movs r0, 0x1F - negs r0, r0 - ands r0, r1 - movs r1, 0xE - b _0817DFAC -_0817DCDC: - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 2 - adds r1, r7, r1 - adds r3, r1, 0 - adds r3, 0x50 - ldrb r2, [r3] - movs r0, 0x8 - negs r0, r0 - ands r0, r2 - strb r0, [r3] - adds r1, 0x54 - ldrb r2, [r1] - movs r0, 0x4 - negs r0, r0 - b _0817DF6A -_0817DCFC: - mov r0, r8 - lsls r2, r0, 3 - lsls r0, r4, 4 - adds r2, r0 - adds r2, r7, r2 - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x1 - adds r4, r2, 0 - adds r4, 0x34 - movs r0, 0x7 - ands r1, r0 - ldrb r3, [r4] - movs r0, 0x8 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r4] - adds r2, 0x33 - mov r1, r10 - lsls r3, r1, 6 - b _0817DF0E - .pool -_0817DD38: - mov r0, r8 - lsls r2, r0, 3 - lsls r0, r4, 4 - adds r2, r0 - adds r2, r7, r2 - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x1 - adds r2, 0x34 - movs r0, 0x7 - ands r1, r0 - lsls r1, 3 - ldrb r3, [r2] - movs r0, 0x39 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - mov r1, r10 - lsls r3, r1, 6 - movs r1, 0x3F - b _0817DF12 - .pool -_0817DD74: - movs r0, 0 - bl sub_817EA80 -_0817DD7A: - mov r2, r8 - lsls r0, r2, 3 - b _0817DD88 -_0817DD80: - movs r0, 0x1 - bl sub_817EA80 - lsls r0, r5, 3 -_0817DD88: - lsls r1, r4, 4 - adds r0, r1 - adds r1, r7, r0 - adds r4, r1, 0 - adds r4, 0x34 - ldrb r5, [r4] - lsls r0, r5, 29 - cmp r0, 0 - beq _0817DDAE - movs r0, 0x8 - negs r0, r0 - ands r0, r5 - strb r0, [r4] - adds r2, r1, 0 - adds r2, 0x33 - ldrb r1, [r2] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2] -_0817DDAE: - ldrb r1, [r4] - lsls r0, r1, 26 - lsrs r0, 29 - cmp r0, 0 - bne _0817DDBA - b _0817E0A6 -_0817DDBA: - movs r0, 0x39 - negs r0, r0 - ands r0, r1 - movs r1, 0x3F - ands r0, r1 - strb r0, [r4] - b _0817E0A6 -_0817DDC8: - lsls r2, r4, 1 - adds r2, r4 - lsls r2, 2 - adds r2, r7, r2 - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x1 - adds r4, r2, 0 - adds r4, 0x50 - movs r0, 0x7 - ands r1, r0 - lsls r1, 3 - ldrb r3, [r4] - movs r0, 0x39 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r4] - adds r2, 0x54 - movs r0, 0x3 - mov r1, r10 - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0xD - negs r0, r0 - b _0817DFAA - .pool -_0817DE10: - lsls r2, r4, 1 - adds r2, r4 - lsls r2, 2 - adds r2, r7, r2 - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x1 - adds r4, r2, 0 - adds r4, 0x50 - movs r0, 0x7 - ands r1, r0 - lsls r1, 6 - ldrh r3, [r4] - ldr r0, =0xfffffe3f - ands r0, r3 - orrs r0, r1 - strh r0, [r4] - adds r2, 0x54 - movs r0, 0x3 - mov r1, r10 - ands r1, r0 - lsls r1, 4 - ldrb r3, [r2] - movs r0, 0x31 - negs r0, r0 - b _0817DFAA - .pool -_0817DE58: - ldr r1, =gBattleTextBuff1 + 2 - ldrh r0, [r1] - cmp r0, 0x73 - bne _0817DE82 - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 2 - adds r1, r7, r1 - adds r3, r1, 0 - adds r3, 0x50 - ldrb r2, [r3] - movs r0, 0x39 - negs r0, r0 - ands r0, r2 - strb r0, [r3] - adds r1, 0x54 - ldrb r2, [r1] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1] -_0817DE82: - ldr r2, =gBattleTextBuff1 + 2 - ldrh r0, [r2] - cmp r0, 0x71 - bne _0817DEAA - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 2 - adds r1, r7, r1 - adds r3, r1, 0 - adds r3, 0x50 - ldrh r2, [r3] - ldr r0, =0xfffffe3f - ands r0, r2 - strh r0, [r3] - adds r1, 0x54 - ldrb r2, [r1] - movs r0, 0x31 - negs r0, r0 - ands r0, r2 - strb r0, [r1] -_0817DEAA: - ldr r1, =gBattleTextBuff1 + 2 - ldrh r0, [r1] - cmp r0, 0x36 - beq _0817DEB4 - b _0817E0A6 -_0817DEB4: - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 2 - adds r1, r7, r1 - adds r4, r1, 0 - adds r4, 0x51 - ldrb r2, [r4] - movs r0, 0x71 - negs r0, r0 - ands r0, r2 - strb r0, [r4] - adds r1, 0x55 - ldrb r2, [r1] - movs r0, 0x4 - negs r0, r0 - b _0817DF6A - .pool -_0817DEDC: - lsls r2, r4, 1 - adds r2, r4 - lsls r2, 2 - adds r2, r7, r2 - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x1 - adds r4, r2, 0 - adds r4, 0x51 - movs r0, 0x7 - ands r1, r0 - lsls r1, 1 - ldrb r3, [r4] - movs r0, 0xF - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r4] - adds r2, 0x54 -_0817DF0A: - mov r0, r10 - lsls r3, r0, 6 -_0817DF0E: - ldrb r1, [r2] - movs r0, 0x3F -_0817DF12: - ands r0, r1 - orrs r0, r3 - strb r0, [r2] - b _0817E0A6 - .pool -_0817DF24: - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - adds r1, r7, r0 - adds r0, r1, 0 - adds r0, 0x51 - ldrb r0, [r0] - lsls r0, 28 - lsrs r0, 29 - cmp r0, 0 - bne _0817DF3C - b _0817E0A6 -_0817DF3C: - subs r2, r0, 0x1 - lsls r2, 24 - lsrs r2, 24 - adds r0, r1, 0 - adds r0, 0x54 - ldrb r3, [r0] - lsrs r3, 6 - movs r0, 0xF - b _0817E086 -_0817DF4E: - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 2 - adds r1, r7, r1 - adds r4, r1, 0 - adds r4, 0x51 - ldrb r2, [r4] - movs r0, 0xF - negs r0, r0 - ands r0, r2 - strb r0, [r4] - adds r1, 0x54 - ldrb r2, [r1] - movs r0, 0x3F -_0817DF6A: - ands r0, r2 - strb r0, [r1] - b _0817E0A6 -_0817DF70: - lsls r2, r4, 1 - adds r2, r4 - lsls r2, 2 - adds r2, r7, r2 - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x1 - adds r4, r2, 0 - adds r4, 0x51 - movs r0, 0x7 - ands r1, r0 - lsls r1, 4 - ldrb r3, [r4] - movs r0, 0x71 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r4] - adds r2, 0x55 -_0817DF9E: - movs r0, 0x3 - mov r1, r10 - ands r1, r0 - ldrb r3, [r2] - movs r0, 0x4 - negs r0, r0 -_0817DFAA: - ands r0, r3 -_0817DFAC: - orrs r0, r1 - strb r0, [r2] - b _0817E0A6 - .pool -_0817DFBC: - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - adds r1, r7, r0 - adds r0, r1, 0 - adds r0, 0x51 - ldrb r0, [r0] - lsls r0, 25 - lsrs r0, 29 - cmp r0, 0 - beq _0817E0A6 - subs r2, r0, 0x1 - lsls r2, 24 - lsrs r2, 24 - adds r0, r1, 0 - adds r0, 0x55 - ldrb r3, [r0] - lsls r3, 30 - lsrs r3, 30 - movs r0, 0x10 - b _0817E086 -_0817DFE6: - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 2 - adds r1, r7, r1 - adds r3, r1, 0 - adds r3, 0x50 - ldrb r2, [r3] - movs r0, 0x39 - negs r0, r0 - ands r0, r2 - strb r0, [r3] - adds r1, 0x54 - ldrb r2, [r1] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldrh r2, [r3] - ldr r0, =0xfffffe3f - ands r0, r2 - strh r0, [r3] - ldrb r2, [r1] - movs r0, 0x31 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrb r2, [r0] - movs r0, 0x11 - movs r1, 0 - mov r3, r10 - bl sub_817E684 - b _0817E0A6 - .pool -_0817E040: - lsls r0, r4, 4 - adds r4, r7, r0 - adds r0, r4, 0 - adds r0, 0x35 - ldrb r0, [r0] - lsrs r0, 5 - cmp r0, 0 - beq _0817E068 - subs r2, r0, 0x1 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r0, 0x36 - ldrb r3, [r0] - lsls r3, 30 - lsrs r3, 30 - movs r0, 0x15 - movs r1, 0 - bl sub_817E684 -_0817E068: - adds r0, r4, 0 - adds r0, 0x3D - ldrb r0, [r0] - lsrs r0, 5 - cmp r0, 0 - beq _0817E0A6 - subs r2, r0, 0x1 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r0, 0x3E - ldrb r3, [r0] - lsls r3, 30 - lsrs r3, 30 - movs r0, 0x15 -_0817E086: - movs r1, 0 - bl sub_817E684 - b _0817E0A6 -_0817E08E: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r7, r0 - adds r0, 0x57 - ldrb r2, [r0] - movs r1, 0x1F - negs r1, r1 - ands r1, r2 - movs r2, 0x1C -_0817E0A2: - orrs r1, r2 -_0817E0A4: - strb r1, [r0] -_0817E0A6: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_817C95C - - thumb_func_start sub_817E0B8 -sub_817E0B8: @ 817E0B8 - push {r4-r6,lr} - lsls r0, 16 - lsrs r5, r0, 16 - movs r3, 0 - ldr r4, =gUnknown_0860A8A4 - ldr r6, =0x0000ffff - adds r2, r4, 0 - adds r1, r4, 0 -_0817E0C8: - ldrh r0, [r1] - cmp r0, r5 - beq _0817E0DA - adds r2, 0x2 - adds r1, 0x2 - adds r3, 0x1 - ldrh r0, [r2] - cmp r0, r6 - bne _0817E0C8 -_0817E0DA: - lsls r0, r3, 1 - adds r0, r4 - ldrh r1, [r0] - ldr r0, =0x0000ffff - cmp r1, r0 - beq _0817E0F4 - movs r0, 0 - b _0817E0F6 - .pool -_0817E0F4: - movs r0, 0x1 -_0817E0F6: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_817E0B8 - - thumb_func_start sub_817E0FC -sub_817E0FC: @ 817E0FC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - str r2, [sp, 0x4] - lsls r0, 16 - lsrs r7, r0, 16 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0817E122 - b _0817E310 -_0817E122: - ldr r0, =gBattleStruct - ldr r0, [r0] - movs r1, 0x81 - lsls r1, 2 - adds r1, r0, r1 - str r1, [sp, 0x8] - ldr r2, =gBattlerAttacker - mov r10, r2 - ldrb r0, [r2] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, =gBattlerTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r4, r0, 24 - mov r1, r10 - ldrb r0, [r1] - adds r1, r7, 0 - bl GetBattlerMoveSlotId - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _0817E184 - mov r2, r9 - lsls r0, r2, 1 - add r0, r9 - lsls r0, 2 - ldr r1, [sp, 0x8] - adds r0, r1, r0 - adds r0, 0x57 - ldrb r1, [r0] - movs r2, 0x1E - orrs r1, r2 - strb r1, [r0] - b _0817E310 - .pool -_0817E184: - mov r2, r10 - ldrb r0, [r2] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 25 - lsls r0, 3 - lsls r4, 4 - adds r0, r4 - ldr r1, [sp, 0x8] - adds r0, r1, r0 - mov r2, r10 - ldrb r1, [r2] - lsls r1, 1 - ldr r2, =gBattlerPartyIndexes - adds r1, r2 - ldrh r2, [r1] - adds r2, 0x1 - adds r0, 0x35 - lsls r2, 5 - ldrb r3, [r0] - movs r1, 0x1F - ands r1, r3 - orrs r1, r2 - strb r1, [r0] - mov r1, r10 - ldrb r0, [r1] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 25 - lsls r0, 3 - adds r0, r4 - ldr r2, [sp, 0x8] - adds r0, r2, r0 - adds r0, 0x36 - movs r1, 0x3 - mov r8, r6 - mov r2, r8 - ands r2, r1 - mov r8, r2 - ldrb r2, [r0] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - mov r2, r8 - orrs r1, r2 - strb r1, [r0] - mov r1, r9 - lsls r0, r1, 1 - add r0, r9 - lsls r0, 2 - ldr r2, [sp, 0x8] - adds r0, r2, r0 - str r0, [sp, 0xC] - adds r5, r0, 0 - adds r5, 0x53 - lsls r2, r6, 6 - ldrb r1, [r5] - movs r0, 0x3F - ands r0, r1 - orrs r0, r2 - strb r0, [r5] - ldr r1, =gBattleMoves - lsls r4, r7, 1 - adds r0, r4, r7 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0] - movs r0, 0 - adds r1, r6, 0 - movs r3, 0 - bl sub_817E684 - ldr r0, [sp] - adds r1, r7, 0 - adds r2, r6, 0 - bl sub_817F394 - ldr r0, [sp, 0x4] - ldrb r1, [r0, 0x12] - movs r0, 0xF - ands r0, r1 - str r4, [sp, 0x10] - cmp r0, 0 - beq _0817E23C - movs r0, 0x7 - adds r1, r7, 0 - adds r2, r6, 0 - movs r3, 0 - bl sub_817E684 -_0817E23C: - ldr r0, =0x00000111 - cmp r7, r0 - bne _0817E272 - mov r1, r10 - ldrb r0, [r1] - lsls r0, 1 - ldr r2, =gBattlerPartyIndexes - adds r0, r2 - ldrh r1, [r0] - adds r1, 0x1 - movs r0, 0x7 - ands r1, r0 - ldrb r2, [r5] - movs r0, 0x8 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5] - ldr r2, [sp, 0xC] - adds r2, 0x56 - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - mov r1, r8 - orrs r0, r1 - strb r0, [r2] -_0817E272: - cmp r7, 0x78 - beq _0817E27A - cmp r7, 0x99 - bne _0817E2D2 -_0817E27A: - movs r0, 0x1 - mov r2, r9 - eors r0, r2 - lsls r2, r0, 1 - adds r2, r0 - lsls r2, 2 - ldr r0, [sp, 0x8] - adds r2, r0, r2 - mov r1, r10 - ldrb r0, [r1] - lsls r0, 1 - ldr r1, =gBattlerPartyIndexes - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x1 - adds r4, r2, 0 - adds r4, 0x58 - movs r0, 0x7 - ands r1, r0 - lsls r1, 3 - ldrb r3, [r4] - movs r0, 0x39 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - mov r1, r8 - lsls r3, r1, 1 - movs r1, 0x7 - negs r1, r1 - ands r0, r1 - orrs r0, r3 - strb r0, [r4] - adds r2, 0x57 - ldrb r1, [r2] - movs r0, 0x1F - negs r0, r0 - ands r0, r1 - movs r1, 0x1A - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4] -_0817E2D2: - ldr r1, =gBattleMoves - ldr r2, [sp, 0x10] - adds r0, r2, r7 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x2] - ldrb r5, [r0, 0x1] - movs r0, 0xD - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0 - bl sub_817E684 - movs r0, 0xE - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0 - bl sub_817E684 - movs r0, 0xB - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl sub_817E684 - movs r0, 0xC - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl sub_817E684 -_0817E310: - 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_817E0FC - - thumb_func_start sub_817E32C -sub_817E32C: @ 817E32C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0817E3EE - ldr r0, =gBattleStruct - ldr r0, [r0] - movs r1, 0x81 - lsls r1, 2 - adds r4, r0, r1 - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r2, r0, 24 - cmp r5, 0x12 - beq _0817E36C - cmp r5, 0x13 - beq _0817E3AA - b _0817E3EE - .pool -_0817E36C: - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r4, r0 - ldr r0, [r4, 0x50] - lsls r0, 14 - lsrs r0, 29 - cmp r0, 0 - beq _0817E3EE - subs r0, 0x1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x55 - ldrb r3, [r1] - lsls r3, 28 - lsrs r3, 30 - adds r3, r0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x2 - movs r1, 0 - bl sub_817E684 - adds r2, r4, 0 - adds r2, 0x57 - ldrb r1, [r2] - movs r0, 0x1F - negs r0, r0 - ands r0, r1 - movs r1, 0x10 - b _0817E3EA -_0817E3AA: - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r4, r0 - adds r0, r4, 0 - adds r0, 0x52 - ldrb r0, [r0] - lsls r0, 27 - lsrs r0, 29 - cmp r0, 0 - beq _0817E3EE - subs r0, 0x1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x55 - ldrb r3, [r1] - lsls r3, 26 - lsrs r3, 30 - adds r3, r0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x2 - movs r1, 0x1 - bl sub_817E684 - adds r2, r4, 0 - adds r2, 0x57 - ldrb r1, [r2] - movs r0, 0x1F - negs r0, r0 - ands r0, r1 - movs r1, 0x12 -_0817E3EA: - orrs r0, r1 - strb r0, [r2] -_0817E3EE: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_817E32C - - thumb_func_start sub_817E3F4 -sub_817E3F4: @ 817E3F4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - movs r0, 0 - str r0, [sp] - movs r1, 0 - str r1, [sp, 0x4] - movs r2, 0 - str r2, [sp, 0x8] - ldr r3, =0x00007fff - str r3, [sp, 0xC] - movs r4, 0 - str r4, [sp, 0x10] - movs r7, 0 - str r7, [sp, 0x14] - mov r8, r0 - ldr r0, =gBattleStruct - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0xB3 - ldrb r0, [r0] - cmp r0, 0 - beq _0817E42A - b _0817E670 -_0817E42A: - movs r2, 0xD2 - lsls r2, 1 - adds r2, r1 - mov r10, r2 - movs r6, 0 -_0817E434: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r0, r4, r0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _0817E454 - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 -_0817E454: - ldr r5, =gEnemyParty - adds r0, r4, r5 - movs r1, 0xB - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _0817E46A - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_0817E46A: - adds r6, 0x1 - cmp r6, 0x5 - ble _0817E434 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0817E47E - b _0817E670 -_0817E47E: - cmp r8, r7 - beq _0817E484 - b _0817E670 -_0817E484: - movs r6, 0 - lsls r3, r6, 1 - str r3, [sp, 0x18] - movs r4, 0x64 - mov r8, r4 -_0817E48E: - mov r1, r8 - muls r1, r6 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r7, r0, 16 - adds r0, r6, 0x1 - mov r9, r0 - cmp r7, 0 - beq _0817E4EE - adds r0, r4, 0 - movs r1, 0x2D - movs r2, 0 - bl GetMonData - cmp r0, 0 - bne _0817E4EE - movs r4, 0 - lsls r0, r6, 3 - mov r2, r10 - adds r1, r0, r2 - movs r3, 0x3 -_0817E4C4: - lsls r0, r4, 16 - asrs r0, 16 - ldrh r4, [r1] - adds r0, r4 - lsls r0, 16 - lsrs r4, r0, 16 - adds r1, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _0817E4C4 - ldr r1, [sp, 0x8] - lsls r0, r1, 16 - lsls r1, r4, 16 - cmp r0, r1 - bge _0817E4EE - lsls r0, r6, 24 - lsrs r0, 24 - str r0, [sp, 0x10] - lsrs r1, 16 - str r1, [sp, 0x8] - str r7, [sp] -_0817E4EE: - mov r0, r8 - muls r0, r6 - ldr r2, =gEnemyParty - adds r4, r0, r2 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r7, r0, 16 - ldr r3, [sp, 0x8] - lsls r3, 16 - str r3, [sp, 0x1C] - cmp r7, 0 - beq _0817E5A0 - adds r0, r4, 0 - movs r1, 0x2D - movs r2, 0 - bl GetMonData - cmp r0, 0 - bne _0817E5A0 - movs r4, 0 - ldr r0, [sp, 0xC] - lsls r2, r0, 16 - movs r3, 0x1 - lsls r1, r3, 1 - adds r1, 0x1 - lsls r1, 4 - lsls r0, r6, 3 - adds r0, r1 - mov r3, r10 - adds r1, r0, r3 - movs r3, 0x3 -_0817E534: - lsls r0, r4, 16 - asrs r0, 16 - ldrh r4, [r1] - adds r0, r4 - lsls r0, 16 - lsrs r4, r0, 16 - adds r1, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _0817E534 - asrs r1, r2, 16 - lsls r5, r4, 16 - asrs r0, r5, 16 - cmp r1, r0 - bne _0817E590 - mov r0, r8 - muls r0, r6 - ldr r1, =gEnemyParty - adds r0, r1 - movs r1, 0x19 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - ldr r2, [sp, 0x14] - mov r0, r8 - muls r0, r2 - ldr r3, =gEnemyParty - adds r0, r3 - movs r1, 0x19 - movs r2, 0 - bl GetMonData - cmp r4, r0 - bls _0817E5A0 - b _0817E594 - .pool -_0817E590: - cmp r1, r0 - ble _0817E5A0 -_0817E594: - lsls r0, r6, 24 - lsrs r0, 24 - str r0, [sp, 0x14] - lsrs r5, 16 - str r5, [sp, 0xC] - str r7, [sp, 0x4] -_0817E5A0: - mov r6, r9 - cmp r6, 0x5 - bgt _0817E5A8 - b _0817E48E -_0817E5A8: - movs r4, 0 - movs r6, 0 - movs r3, 0 - ldr r5, =gPlayerParty - ldr r7, [sp, 0x10] - lsls r0, r7, 3 - mov r1, r10 - adds r2, r0, r1 -_0817E5B8: - lsls r0, r4, 16 - asrs r0, 16 - movs r7, 0 - ldrsh r1, [r2, r7] - cmp r0, r1 - bge _0817E5C8 - ldrh r4, [r2] - adds r6, r3, 0 -_0817E5C8: - adds r2, 0x2 - adds r3, 0x1 - cmp r3, 0x3 - ble _0817E5B8 - movs r0, 0x64 - ldr r1, [sp, 0x10] - muls r0, r1 - adds r0, r5 - adds r1, r6, 0 - adds r1, 0xD - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - ldr r2, [sp, 0x1C] - cmp r2, 0 - beq _0817E670 - cmp r4, 0 - beq _0817E670 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0817E65C - ldr r3, [sp, 0x10] - cmp r3, 0x2 - bhi _0817E620 - ldr r0, =gBattleScripting - adds r0, 0x25 - ldrb r0, [r0] - bl sub_806D82C - lsls r0, 16 - cmp r0, 0 - beq _0817E630 - b _0817E670 - .pool -_0817E620: - ldr r0, =gBattleScripting - adds r0, 0x25 - ldrb r0, [r0] - bl sub_806D82C - lsls r0, 16 - cmp r0, 0 - beq _0817E670 -_0817E630: - movs r3, 0 - ldr r7, [sp, 0x14] - cmp r7, 0x2 - bls _0817E63A - movs r3, 0x1 -_0817E63A: - lsls r0, r3, 24 - lsrs r0, 24 - ldr r1, =gBattleScripting - adds r1, 0x25 - ldrb r1, [r1] - bl sub_806EF84 - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - ldr r2, [sp] - ldr r3, [sp, 0x4] - bl PutBattleUpdateOnTheAir - b _0817E670 - .pool -_0817E65C: - ldr r0, =gBattleScripting - adds r0, 0x25 - ldrb r1, [r0] - movs r0, 0x1 - eors r0, r1 - adds r1, r4, 0 - ldr r2, [sp] - ldr r3, [sp, 0x4] - bl PutBattleUpdateOnTheAir -_0817E670: - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817E3F4 - - thumb_func_start sub_817E684 -sub_817E684: @ 817E684 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 24 - lsrs r5, r2, 24 - lsls r3, 24 - lsrs r3, 24 - mov r9, r3 - ldr r0, =gBattleStruct - ldr r0, [r0] - movs r1, 0xD2 - lsls r1, 1 - adds r1, r0 - mov r8, r1 - movs r2, 0x81 - lsls r2, 2 - adds r7, r0, r2 - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gBattlerTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r3, r0, 24 - mov r0, r10 - cmp r0, 0x1B - bls _0817E6D4 - b _0817EA6C -_0817E6D4: - lsls r0, 2 - ldr r1, =_0817E6F0 - adds r1, r0, r1 - ldr r1, [r1] - mov r12, r0 - mov pc, r1 - .pool - .align 2, 0 -_0817E6F0: - .4byte _0817E760 - .4byte _0817E760 - .4byte _0817E85C - .4byte _0817E79C - .4byte _0817E79C - .4byte _0817E79C - .4byte _0817E79C - .4byte _0817E79C - .4byte _0817E8A0 - .4byte _0817E8A0 - .4byte _0817E8CC - .4byte _0817E8F0 - .4byte _0817E978 - .4byte _0817E9E0 - .4byte _0817EA28 - .4byte _0817E8A0 - .4byte _0817E8A0 - .4byte _0817E880 - .4byte _0817E760 - .4byte _0817E80A - .4byte _0817E848 - .4byte _0817E8A0 - .4byte _0817E760 - .4byte _0817E760 - .4byte _0817E760 - .4byte _0817E760 - .4byte _0817E760 - .4byte _0817E760 -_0817E760: - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r1, 2 - adds r1, r6 - lsls r1, 1 - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 4 - adds r1, r0 - add r1, r8 - ldr r0, =gUnknown_0860A834 - add r0, r12 - ldr r2, [r0] - lsls r0, r5, 1 - adds r0, r2 - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r2 - b _0817EA6A - .pool -_0817E79C: - ldr r1, =gUnknown_0860A834 - add r1, r12 - ldr r7, =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r4 - lsls r2, r0, 4 - ldr r4, =0x0000ffff - ldr r1, [r1] - ldr r3, =gBattlerAttacker - ldrh r0, [r1] - cmp r6, r0 - bne _0817E7E0 - ldrb r0, [r3] - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r5 - lsls r0, 1 - adds r0, r2 - add r0, r8 - ldrh r1, [r1, 0x2] - ldrh r2, [r0] - adds r1, r2 - strh r1, [r0] - b _0817EA6C - .pool -_0817E7E0: - adds r1, 0x4 - ldrh r0, [r1] - cmp r0, r4 - bne _0817E7EA - b _0817EA6C -_0817E7EA: - cmp r6, r0 - bne _0817E7E0 - ldrb r0, [r3] - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r5 - lsls r0, 1 - adds r0, r2 - add r0, r8 - ldrh r1, [r1, 0x2] - ldrh r5, [r0] - adds r1, r5 - strh r1, [r0] - b _0817EA6C -_0817E80A: - movs r0, 0x1 - adds r1, r5, 0 - eors r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r7, r0 - adds r0, 0x57 - ldrb r2, [r0] - movs r1, 0x1F - negs r1, r1 - ands r1, r2 - strb r1, [r0] - mov r0, r9 - lsls r1, r0, 1 - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 4 - adds r1, r0 - add r1, r8 - ldr r0, =gUnknown_0860A834 - add r0, r12 - ldr r2, [r0] - lsls r0, r6, 1 - adds r0, r2 - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r2 - b _0817EA6A - .pool -_0817E848: - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 2 - adds r0, r7, r0 - adds r0, 0x57 - ldrb r2, [r0] - movs r1, 0x1F - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_0817E85C: - mov r0, r9 - lsls r1, r0, 1 - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 4 - adds r1, r0 - add r1, r8 - ldr r0, =gUnknown_0860A834 - add r0, r12 - ldr r2, [r0] - lsls r0, r6, 1 - adds r0, r2 - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r2 - b _0817EA6A - .pool -_0817E880: - lsls r1, r5, 2 - add r1, r9 - lsls r1, 1 - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 4 - adds r1, r0 - add r1, r8 - ldr r0, =gUnknown_0860A834 - add r0, r12 - ldr r2, [r0] - lsls r0, r6, 1 - adds r0, r2 - b _0817EA64 - .pool -_0817E8A0: - lsls r2, r5, 2 - add r2, r9 - lsls r2, 1 - movs r1, 0x1 - eors r1, r4 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 4 - adds r2, r0 - add r2, r8 - ldr r0, =gUnknown_0860A834 - add r0, r12 - ldr r1, [r0] - lsls r0, r6, 1 - adds r0, r1 - ldrh r0, [r0] - ldrh r1, [r2] - adds r0, r1 - strh r0, [r2] - b _0817EA6C - .pool -_0817E8CC: - lsls r1, r5, 2 - add r1, r9 - lsls r1, 1 - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 4 - adds r1, r0 - add r1, r8 - ldr r0, =gUnknown_0860A834 - add r0, r12 - ldr r0, [r0] - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r2 - b _0817EA6A - .pool -_0817E8F0: - lsls r0, r3, 4 - adds r2, r7, r0 - adds r0, r2, 0 - adds r0, 0x34 - ldrb r0, [r0] - lsls r0, 29 - lsrs r1, r0, 29 - adds r4, r2, 0 - adds r4, 0x3C - ldrb r0, [r4] - lsls r0, 29 - lsrs r0, 29 - cmn r1, r0 - bne _0817E90E - b _0817EA6C -_0817E90E: - cmp r6, 0xA - beq _0817E914 - b _0817EA6C -_0817E914: - cmp r1, 0 - beq _0817E940 - subs r1, 0x1 - lsls r1, 2 - adds r0, r2, 0 - adds r0, 0x33 - ldrb r0, [r0] - lsrs r0, 6 - adds r1, r0 - lsls r1, 1 - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 4 - adds r1, r0 - add r1, r8 - ldr r0, =gUnknown_0860A834 - add r0, r12 - ldr r0, [r0] - ldrh r0, [r0] - ldrh r5, [r1] - adds r0, r5 - strh r0, [r1] -_0817E940: - ldrb r0, [r4] - lsls r0, 29 - lsrs r0, 29 - cmp r0, 0 - bne _0817E94C - b _0817EA6C -_0817E94C: - subs r1, r0, 0x1 - lsls r1, 2 - adds r0, r2, 0 - adds r0, 0x3B - ldrb r0, [r0] - lsrs r0, 6 - adds r1, r0 - lsls r1, 1 - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 4 - adds r1, r0 - add r1, r8 - ldr r0, =gUnknown_0860A834 - add r0, r12 - ldr r0, [r0] - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r2 - b _0817EA6A - .pool -_0817E978: - lsls r1, r3, 4 - adds r1, r7, r1 - adds r0, r1, 0 - adds r0, 0x34 - ldrb r4, [r0] - lsls r0, r4, 26 - lsrs r2, r0, 29 - adds r5, r1, 0 - adds r5, 0x3C - ldrb r0, [r5] - lsls r0, 26 - lsrs r0, 29 - cmn r2, r0 - beq _0817EA6C - cmp r6, 0xD - bne _0817EA6C - cmp r2, 0 - beq _0817E9BE - subs r1, r2, 0x1 - lsls r1, 2 - lsrs r0, r4, 6 - adds r1, r0 - lsls r1, 1 - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 4 - adds r1, r0 - add r1, r8 - ldr r0, =gUnknown_0860A834 - add r0, r12 - ldr r0, [r0] - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] -_0817E9BE: - ldrb r2, [r5] - lsls r0, r2, 26 - lsrs r0, 29 - cmp r0, 0 - beq _0817EA6C - subs r1, r0, 0x1 - lsls r1, 2 - lsrs r0, r2, 6 - adds r1, r0 - lsls r1, 1 - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 4 - b _0817EA5A - .pool -_0817E9E0: - cmp r6, 0x8 - bhi _0817EA6C - cmp r5, 0 - beq _0817EA6C - lsls r0, r3, 1 - adds r3, r0, r3 - lsls r0, r3, 2 - adds r2, r7, r0 - adds r0, r2, 0 - adds r0, 0x50 - ldrb r0, [r0] - lsls r0, 26 - lsrs r0, 29 - cmp r0, 0 - beq _0817EA6C - subs r1, r0, 0x1 - lsls r1, 2 - adds r0, r2, 0 - adds r0, 0x54 - ldrb r0, [r0] - lsls r0, 28 - lsrs r0, 30 - adds r1, r0 - lsls r1, 1 - lsls r0, r3, 4 - adds r1, r0 - add r1, r8 - ldr r0, =gUnknown_0860A834 - add r0, r12 - ldr r0, [r0] - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r2 - b _0817EA6A - .pool -_0817EA28: - cmp r6, 0x8 - bls _0817EA6C - cmp r5, 0 - beq _0817EA6C - lsls r0, r3, 1 - adds r3, r0, r3 - lsls r0, r3, 2 - adds r2, r7, r0 - adds r0, r2, 0 - adds r0, 0x50 - ldrh r0, [r0] - lsls r0, 23 - lsrs r0, 29 - cmp r0, 0 - beq _0817EA6C - subs r1, r0, 0x1 - lsls r1, 2 - adds r0, r2, 0 - adds r0, 0x54 - ldrb r0, [r0] - lsls r0, 26 - lsrs r0, 30 - adds r1, r0 - lsls r1, 1 - lsls r0, r3, 4 -_0817EA5A: - adds r1, r0 - add r1, r8 - ldr r0, =gUnknown_0860A834 - add r0, r12 - ldr r0, [r0] -_0817EA64: - ldrh r0, [r0] - ldrh r5, [r1] - adds r0, r5 -_0817EA6A: - strh r0, [r1] -_0817EA6C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817E684 - - thumb_func_start sub_817EA80 -sub_817EA80: @ 817EA80 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gBattleStruct - ldr r0, [r0] - movs r1, 0x81 - lsls r1, 2 - adds r5, r0, r1 - ldr r3, =gBattlerAttacker - mov r8, r3 - ldrb r0, [r3] - bl GetBattlerSide - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gBattlerTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r6, r5, r0 - adds r0, r6, 0 - adds r0, 0x57 - ldrb r0, [r0] - lsrs r3, r0, 5 - lsls r0, 27 - lsrs r0, 28 - cmp r0, 0 - bne _0817EAC8 - b _0817EE50 -_0817EAC8: - subs r0, 0x1 - cmp r0, 0xE - bls _0817EAD0 - b _0817EEBC -_0817EAD0: - lsls r0, 2 - ldr r1, =_0817EAEC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0817EAEC: - .4byte _0817EB28 - .4byte _0817EB54 - .4byte _0817EB80 - .4byte _0817EBD4 - .4byte _0817EBFE - .4byte _0817EC26 - .4byte _0817EC4E - .4byte _0817EC6C - .4byte _0817EC9A - .4byte _0817ECCC - .4byte _0817ED54 - .4byte _0817ED82 - .4byte _0817EDC2 - .4byte _0817EE1C - .4byte _0817EEBC -_0817EB28: - lsls r0, r3, 3 - lsls r1, r4, 4 - adds r0, r1 - adds r3, r5, r0 - adds r0, r3, 0 - adds r0, 0x30 - ldrb r0, [r0] - lsls r0, 29 - lsrs r1, r0, 29 - cmp r1, 0 - bne _0817EB40 - b _0817EEBC -_0817EB40: - movs r0, 0x1 - adds r2, r4, 0 - eors r2, r0 - subs r1, 0x1 - lsls r1, 2 - adds r0, r3, 0 - adds r0, 0x32 - ldrb r3, [r0] - lsls r3, 28 - b _0817EE84 -_0817EB54: - lsls r0, r3, 3 - lsls r1, r4, 4 - adds r0, r1 - adds r3, r5, r0 - adds r0, r3, 0 - adds r0, 0x30 - ldrb r0, [r0] - lsls r0, 26 - lsrs r1, r0, 29 - cmp r1, 0 - bne _0817EB6C - b _0817EEBC -_0817EB6C: - movs r0, 0x1 - adds r2, r4, 0 - eors r2, r0 - subs r1, 0x1 - lsls r1, 2 - adds r0, r3, 0 - adds r0, 0x32 - ldrb r3, [r0] - lsls r3, 26 - b _0817EE84 -_0817EB80: - lsls r0, r3, 2 - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 3 - adds r0, r1 - adds r5, r0 - ldrb r0, [r5] - lsls r0, 29 - lsrs r1, r0, 29 - cmp r1, 0 - beq _0817EBB4 - movs r0, 0x1 - adds r2, r4, 0 - eors r2, r0 - subs r0, r1, 0x1 - lsls r0, 2 - ldrb r3, [r5, 0x2] - lsls r3, 28 - lsrs r3, 30 - adds r3, r0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x13 - movs r1, 0 - bl sub_817E684 -_0817EBB4: - ldrb r0, [r5] - lsls r0, 26 - lsrs r1, r0, 29 - cmp r1, 0 - bne _0817EBC0 - b _0817EEBC -_0817EBC0: - movs r0, 0x1 - adds r2, r4, 0 - eors r2, r0 - subs r0, r1, 0x1 - lsls r0, 2 - ldrb r3, [r5, 0x2] - lsls r3, 26 - lsrs r3, 30 - adds r3, r0 - b _0817EE88 -_0817EBD4: - lsls r0, r3, 2 - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 3 - adds r0, r1 - adds r1, r5, r0 - ldrh r0, [r1] - lsls r0, 23 - lsrs r3, r0, 29 - cmp r3, 0 - bne _0817EBEC - b _0817EEBC -_0817EBEC: - movs r0, 0x1 - adds r2, r4, 0 - eors r2, r0 - subs r0, r3, 0x1 - lsls r0, 2 - ldrb r3, [r1, 0x2] - lsrs r3, 6 - adds r3, r0 - b _0817EE88 -_0817EBFE: - lsls r0, r3, 3 - lsls r1, r4, 4 - adds r0, r1 - adds r3, r5, r0 - ldrh r0, [r3, 0x30] - lsls r0, 23 - lsrs r1, r0, 29 - cmp r1, 0 - bne _0817EC12 - b _0817EEBC -_0817EC12: - movs r0, 0x1 - adds r2, r4, 0 - eors r2, r0 - subs r1, 0x1 - lsls r1, 2 - adds r0, r3, 0 - adds r0, 0x32 - ldrb r3, [r0] - lsrs r3, 6 - b _0817EE86 -_0817EC26: - lsls r0, r3, 3 - lsls r1, r4, 4 - adds r0, r1 - adds r3, r5, r0 - adds r0, r3, 0 - adds r0, 0x31 - ldrb r0, [r0] - lsls r0, 28 - lsrs r1, r0, 29 - cmp r1, 0 - bne _0817EC3E - b _0817EEBC -_0817EC3E: - movs r0, 0x1 - adds r2, r4, 0 - eors r2, r0 - subs r1, 0x1 - lsls r1, 2 - adds r0, r3, 0 - adds r0, 0x33 - b _0817EE80 -_0817EC4E: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r3, r5, r0 - adds r0, r3, 0 - adds r0, 0x50 - ldrb r0, [r0] - lsls r0, 29 - lsrs r1, r0, 29 - cmp r1, 0 - bne _0817EC66 - b _0817EEBC -_0817EC66: - movs r0, 0x1 - adds r2, r4, 0 - b _0817EE76 -_0817EC6C: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r3, r5, r0 - ldr r0, [r3, 0x50] - lsls r0, 14 - lsrs r0, 29 - cmp r0, 0 - bne _0817EC80 - b _0817EEBC -_0817EC80: - adds r2, r4, 0 - subs r1, r0, 0x1 - lsls r1, 2 - adds r0, r3, 0 - adds r0, 0x55 - ldrb r3, [r0] - lsls r3, 28 - lsrs r3, 30 - adds r3, r1 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x14 - b _0817EE8E -_0817EC9A: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r3, r5, r0 - adds r0, r3, 0 - adds r0, 0x52 - ldrb r0, [r0] - lsls r0, 27 - lsrs r0, 29 - cmp r0, 0 - bne _0817ECB2 - b _0817EEBC -_0817ECB2: - adds r2, r4, 0 - subs r1, r0, 0x1 - lsls r1, 2 - adds r0, r3, 0 - adds r0, 0x55 - ldrb r3, [r0] - lsls r3, 26 - lsrs r3, 30 - adds r3, r1 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x14 - b _0817EE8E -_0817ECCC: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r3, r5, r0 - adds r0, r3, 0 - adds r0, 0x58 - ldrb r0, [r0] - lsls r0, 25 - cmp r0, 0 - bge _0817ED14 - adds r0, r3, 0 - adds r0, 0x52 - ldrb r0, [r0] - lsrs r0, 5 - subs r6, r0, 0x1 - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r6, r0 - beq _0817ED14 - adds r2, r4, 0 - lsls r1, r6, 2 - adds r0, r3, 0 - adds r0, 0x55 - ldrb r3, [r0] - lsrs r3, 6 - adds r3, r1 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x13 - movs r1, 0 - bl sub_817E684 -_0817ED14: - movs r1, 0x1 - eors r1, r4 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r1, r5, r0 - adds r0, r1, 0 - adds r0, 0x58 - ldrb r0, [r0] - lsls r0, 25 - cmp r0, 0 - blt _0817ED2E - b _0817EEBC -_0817ED2E: - movs r0, 0x1 - adds r2, r4, 0 - eors r2, r0 - adds r0, r1, 0 - adds r0, 0x52 - ldrb r0, [r0] - lsrs r0, 5 - subs r0, 0x1 - lsls r0, 2 - adds r1, 0x55 - ldrb r3, [r1] - lsrs r3, 6 - adds r3, r0 - b _0817EE88 - .pool -_0817ED54: - movs r0, 0x1 - eors r0, r4 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r5, r1 - adds r1, 0x56 - ldrb r0, [r1] - lsls r0, 25 - lsrs r5, r0, 29 - cmp r5, 0 - bne _0817ED6E - b _0817EEBC -_0817ED6E: - movs r0, 0x1 - adds r2, r4, 0 - eors r2, r0 - subs r0, r5, 0x1 - lsls r0, 2 - ldrh r3, [r1] - lsls r3, 23 - lsrs r3, 30 - adds r3, r0 - b _0817EE88 -_0817ED82: - lsls r2, r4, 4 - movs r1, 0x1 - adds r0, r4, 0 - eors r0, r1 - lsls r6, r0, 24 - adds r0, r5, 0 - adds r0, 0x30 - adds r4, r2, r0 - movs r5, 0x1 -_0817ED94: - ldr r0, [r4] - lsls r0, 14 - lsrs r0, 29 - cmp r0, 0 - beq _0817EDB8 - subs r0, 0x1 - lsls r0, 2 - ldrb r3, [r4, 0x3] - lsls r3, 26 - lsrs r3, 30 - adds r3, r0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x13 - movs r1, 0 - lsrs r2, r6, 24 - bl sub_817E684 -_0817EDB8: - adds r4, 0x8 - subs r5, 0x1 - cmp r5, 0 - bge _0817ED94 - b _0817EEBC -_0817EDC2: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r5, r0 - adds r0, 0x58 - ldrb r3, [r0] - lsls r0, r3, 31 - cmp r0, 0 - beq _0817EDF0 - adds r2, r4, 0 - lsls r0, r3, 26 - lsrs r0, 29 - subs r0, 0x1 - lsls r0, 2 - lsls r3, 29 - lsrs r3, 30 - adds r3, r0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x13 - movs r1, 0 - bl sub_817E684 -_0817EDF0: - movs r0, 0x1 - eors r0, r4 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r5, r1 - adds r1, 0x58 - ldrb r1, [r1] - lsls r0, r1, 31 - cmp r0, 0 - beq _0817EEBC - movs r0, 0x1 - adds r2, r4, 0 - eors r2, r0 - lsls r0, r1, 26 - lsrs r0, 29 - subs r0, 0x1 - lsls r0, 2 - lsls r3, r1, 29 - lsrs r3, 30 - adds r3, r0 - b _0817EE88 -_0817EE1C: - cmp r7, 0x1 - bne _0817EEBC - adds r2, r4, 0 - ldr r1, =gBattlerPartyIndexes - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r1, 2 - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r5, r0 - adds r0, 0x53 - ldrb r3, [r0] - lsrs r3, 6 - adds r3, r1 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x14 - b _0817EE8E - .pool -_0817EE50: - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r3, r5, r0 - adds r0, r3, 0 - adds r0, 0x57 - ldrb r0, [r0] - lsls r0, 27 - lsrs r0, 28 - cmp r0, 0x7 - bne _0817EE96 - adds r0, r3, 0 - adds r0, 0x50 - ldrb r0, [r0] - lsls r0, 29 - lsrs r1, r0, 29 - cmp r1, 0 - beq _0817EEBC - movs r0, 0x1 -_0817EE76: - eors r2, r0 - subs r1, 0x1 - lsls r1, 2 - adds r0, r3, 0 - adds r0, 0x54 -_0817EE80: - ldrb r3, [r0] - lsls r3, 30 -_0817EE84: - lsrs r3, 30 -_0817EE86: - adds r3, r1 -_0817EE88: - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x13 -_0817EE8E: - movs r1, 0 - bl sub_817E684 - b _0817EEBC -_0817EE96: - adds r2, r4, 0 - ldr r1, =gBattlerPartyIndexes - mov r3, r8 - ldrb r0, [r3] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r1, 2 - adds r0, r6, 0 - adds r0, 0x53 - ldrb r3, [r0] - lsrs r3, 6 - adds r3, r1 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x14 - movs r1, 0 - bl sub_817E684 -_0817EEBC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817EA80 - - thumb_func_start sub_817EECC -sub_817EECC: @ 817EECC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x28 - ldr r7, =gBattleTypeFlags - ldr r0, [r7] - ldr r1, =0x02000003 - ands r0, r1 - cmp r0, 0 - beq _0817EEE6 - b _0817F1FA -_0817EEE6: - ldr r4, =gBattlerAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0817EEF8 - b _0817F1FA -_0817EEF8: - ldr r5, =gBattleMons - ldrb r4, [r4] - movs r1, 0x58 - adds r6, r4, 0 - muls r6, r1 - adds r0, r6, r5 - ldrb r0, [r0, 0x1E] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x5 - bgt _0817EF10 - b _0817F1FA -_0817EF10: - ldr r0, =gBattlerTarget - ldrb r0, [r0] - muls r0, r1 - adds r0, r5 - ldrb r0, [r0, 0x1F] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x6 - ble _0817EF24 - b _0817F1FA -_0817EF24: - ldr r0, =gCurrentMove - ldrh r1, [r0] - cmp r1, 0xED - bne _0817EF2E - b _0817F1FA -_0817EF2E: - ldr r0, =0x00000137 - cmp r1, r0 - bne _0817EF36 - b _0817F1FA -_0817EF36: - ldr r0, [r7] - movs r1, 0xC8 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - beq _0817EF44 - b _0817F1FA -_0817EF44: - ldr r3, =gBattleMoves - ldr r2, =gMoveSelectionCursor - adds r0, r4, r2 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r6 - adds r1, r5, 0 - adds r1, 0xC - adds r0, r1 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x1] - adds r6, r2, 0 - cmp r0, 0 - bne _0817EF6A - b _0817F1FA -_0817EF6A: - movs r5, 0 - str r1, [sp, 0x24] - ldr r1, =gUnknown_0860A4AC - ldr r4, =0x0000ffff - adds r3, r1, 0 - adds r2, r1, 0 -_0817EF76: - ldr r0, [sp, 0x24] - ldrh r7, [r2] - cmp r0, r7 - beq _0817EF8A - adds r3, 0x2 - adds r2, 0x2 - adds r5, 0x1 - ldrh r0, [r3] - cmp r0, r4 - bne _0817EF76 -_0817EF8A: - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - ldr r0, =0x0000ffff - cmp r1, r0 - beq _0817EF98 - b _0817F1FA -_0817EF98: - ldr r2, =gBattlerAttacker - ldrb r0, [r2] - adds r0, r6 - ldrb r0, [r0] - lsls r0, 2 - mov r1, sp - adds r1, r0 - adds r1, 0x10 - ldr r0, =gBattleMoveDamage - ldr r0, [r0] - str r0, [r1] - ldr r0, =gCurrentMove - ldrh r1, [r0] - str r1, [sp, 0x24] - movs r5, 0 - add r3, sp, 0x20 - mov r10, r3 - mov r8, r0 - add r7, sp, 0x10 - ldr r4, =gBattlerTarget - mov r9, r4 -_0817EFC2: - lsls r1, r5, 1 - ldr r6, =gBattlerAttacker - ldrb r0, [r6] - movs r2, 0x58 - muls r0, r2 - adds r1, r0 - ldr r0, =gBattleMons - adds r0, 0xC - adds r1, r0 - ldrh r0, [r1] - mov r3, r8 - strh r0, [r3] - movs r6, 0 - mov r4, r10 - strh r6, [r4] - ldrh r0, [r3] - adds r1, r7, 0 - mov r2, r10 - bl sub_817F21C - lsls r0, 24 - cmp r0, 0 - beq _0817F0B4 - ldr r4, =gSideStatuses - mov r1, r9 - ldrb r0, [r1] - bl GetBattlerPosition - movs r1, 0x1 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r3, [r1] - ldr r2, =gBattlerAttacker - ldrb r0, [r2] - movs r4, 0x58 - muls r0, r4 - ldr r6, =gBattleMons - adds r0, r6 - mov r2, r9 - ldrb r1, [r2] - muls r1, r4 - adds r1, r6 - mov r4, r8 - ldrh r2, [r4] - mov r6, r10 - ldrh r4, [r6] - str r4, [sp] - movs r4, 0 - str r4, [sp, 0x4] - ldr r6, =gBattlerAttacker - ldrb r4, [r6] - str r4, [sp, 0x8] - mov r6, r9 - ldrb r4, [r6] - str r4, [sp, 0xC] - bl CalculateBaseDamage - adds r3, r0, 0 - ldr r4, =gBattleMoveDamage - str r3, [r4] - ldr r1, =gStatuses3 - ldr r2, =gBattlerAttacker - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 2 - ands r0, r1 - cmp r0, 0 - beq _0817F06A - ldr r2, =gBattleMoves - mov r6, r8 - ldrh r1, [r6] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - cmp r0, 0xD - bne _0817F06A - lsls r0, r3, 1 - str r0, [r4] -_0817F06A: - ldr r0, =gProtectStructs - ldr r6, =gBattlerAttacker - ldrb r1, [r6] - lsls r1, 4 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 28 - cmp r0, 0 - bge _0817F08C - ldr r4, =gBattleMoveDamage - ldr r1, [r4] - lsls r0, r1, 4 - subs r0, r1 - movs r1, 0xA - bl __divsi3 - str r0, [r4] -_0817F08C: - mov r1, r8 - ldrh r0, [r1] - ldrb r1, [r6] - mov r3, r9 - ldrb r2, [r3] - bl TypeCalc - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, =gBattleMoveDamage - ldr r0, [r0] - str r0, [r7] - cmp r0, 0 - bne _0817F0B4 - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0817F0B4 - movs r0, 0x1 - str r0, [r7] -_0817F0B4: - adds r7, 0x4 - adds r5, 0x1 - cmp r5, 0x3 - ble _0817EFC2 - movs r5, 0 - ldr r3, =gBattlerAttacker - ldr r6, =gMoveSelectionCursor - ldr r4, =gBattlerPartyIndexes - mov r8, r4 - movs r7, 0x64 - mov r9, r7 - mov r10, r6 -_0817F0CC: - ldrb r0, [r3] - adds r0, r6 - ldrb r2, [r0] - cmp r5, r2 - bne _0817F0D8 - b _0817F1D4 -_0817F0D8: - lsls r0, r5, 2 - mov r1, sp - adds r1, r0 - adds r1, 0x10 - lsls r0, r2, 2 - add r0, sp - adds r0, 0x10 - ldr r1, [r1] - ldr r0, [r0] - cmp r1, r0 - ble _0817F1D4 - movs r7, 0x1 - cmp r2, 0 - beq _0817F0F6 - movs r7, 0 -_0817F0F6: - movs r5, 0 - ldr r4, =gBattlerTarget - ldr r6, =gEnemyParty - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - add r0, r10 - ldrb r3, [r0] - add r2, sp, 0x10 -_0817F106: - cmp r5, r3 - beq _0817F11A - lsls r0, r7, 2 - add r0, sp - adds r0, 0x10 - ldr r1, [r2] - ldr r0, [r0] - cmp r1, r0 - ble _0817F11A - adds r7, r5, 0 -_0817F11A: - adds r2, 0x4 - adds r5, 0x1 - cmp r5, 0x3 - ble _0817F106 - ldrb r0, [r4] - lsls r0, 1 - add r0, r8 - ldrh r0, [r0] - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - adds r0, r6 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r6, r0, 0 - lsls r6, 16 - lsrs r6, 16 - ldr r2, =gBattlerAttacker - ldrb r0, [r2] - lsls r0, 1 - add r0, r8 - ldrh r0, [r0] - mov r3, r9 - muls r3, r0 - adds r0, r3, 0 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r4, =gBattlerAttacker - ldrb r3, [r4] - mov r2, r10 - adds r0, r3, r2 - ldrb r2, [r0] - movs r0, 0x58 - adds r4, r3, 0 - muls r4, r0 - ldr r5, =gBattleMons + 0xC - adds r3, r4, r5 - lsls r0, r7, 1 - adds r0, r4 - adds r0, r5 - ldrh r0, [r0] - str r0, [sp] - adds r0, r6, 0 - bl sub_80EE35C - b _0817F1DC - .pool -_0817F1D4: - adds r5, 0x1 - cmp r5, 0x3 - bgt _0817F1DC - b _0817F0CC -_0817F1DC: - ldr r2, =gBattleMoveDamage - ldr r1, =gMoveSelectionCursor - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - add r0, sp - adds r0, 0x10 - ldr r0, [r0] - str r0, [r2] - ldr r0, =gCurrentMove - mov r3, sp - ldrh r3, [r3, 0x24] - strh r3, [r0] -_0817F1FA: - 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_817EECC - - thumb_func_start sub_817F21C -sub_817F21C: @ 817F21C - push {r4-r7,lr} - adds r6, r1, 0 - mov r12, r2 - lsls r0, 16 - lsrs r2, r0, 16 - ldr r1, =gBattleMoves - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _0817F286 - movs r4, 0 - ldr r5, =gUnknown_0860A4AC - ldr r7, =0x0000ffff - adds r3, r5, 0 - adds r1, r5, 0 -_0817F240: - ldrh r0, [r1] - cmp r2, r0 - beq _0817F252 - adds r3, 0x2 - adds r1, 0x2 - adds r4, 0x1 - ldrh r0, [r3] - cmp r0, r7 - bne _0817F240 -_0817F252: - lsls r0, r4, 1 - adds r0, r5 - ldrh r1, [r0] - ldr r0, =0x0000ffff - cmp r1, r0 - beq _0817F270 - movs r0, 0 - str r0, [r6] - b _0817F2A0 - .pool -_0817F270: - cmp r2, 0x95 - bne _0817F294 - ldr r2, =gBattleMons - ldr r0, =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x2A - ldrb r0, [r0] - asrs r0, 1 -_0817F286: - str r0, [r6] - movs r0, 0 - b _0817F2A0 - .pool -_0817F294: - cmp r2, 0xDE - bne _0817F29E - movs r0, 0xA - mov r1, r12 - strh r0, [r1] -_0817F29E: - movs r0, 0x1 -_0817F2A0: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_817F21C - - thumb_func_start sub_817F2A8 -sub_817F2A8: @ 817F2A8 - push {r4,r5,lr} - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0817F324 - ldr r0, =gBattleStruct - ldr r3, [r0] - ldr r0, =0x0000025b - adds r4, r3, r0 - ldrb r2, [r4] - subs r1, 0x21 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r4] - ldr r0, =0x00000267 - adds r2, r3, r0 - ldrb r0, [r2] - ands r1, r0 - strb r1, [r2] - ldrb r5, [r4] - movs r1, 0x1F - adds r0, r1, 0 - ands r0, r5 - strb r0, [r4] - ldrb r0, [r2] - ands r1, r0 - strb r1, [r2] - movs r0, 0x97 - lsls r0, 2 - adds r4, r3, r0 - ldrb r2, [r4] - movs r1, 0x39 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r4] - movs r0, 0x9A - lsls r0, 2 - adds r3, r0 - ldrb r0, [r3] - ands r1, r0 - strb r1, [r3] - ldrb r2, [r4] - movs r1, 0x7 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r4] - ldrb r0, [r3] - ands r1, r0 - strb r1, [r3] - ldrb r2, [r4] - movs r1, 0x2 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r4] - ldrb r0, [r3] - ands r1, r0 - strb r1, [r3] -_0817F324: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817F2A8 - - thumb_func_start GetBattlerMoveSlotId -GetBattlerMoveSlotId: @ 817F33C - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 16 - lsrs r7, r1, 16 - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - ldr r6, =gEnemyParty - cmp r0, 0 - bne _0817F356 - ldr r6, =gPlayerParty -_0817F356: - movs r4, 0 - ldr r1, =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r5, r0, r1 - b _0817F36E - .pool -_0817F36C: - adds r4, 0x1 -_0817F36E: - cmp r4, 0x3 - bgt _0817F388 - ldrh r1, [r5] - movs r0, 0x64 - muls r0, r1 - adds r0, r6, r0 - adds r1, r4, 0 - adds r1, 0xD - movs r2, 0 - bl GetMonData - cmp r0, r7 - bne _0817F36C -_0817F388: - lsls r0, r4, 24 - lsrs r0, 24 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetBattlerMoveSlotId - - thumb_func_start sub_817F394 -sub_817F394: @ 817F394 - push {r4-r6,lr} - lsls r0, 16 - lsrs r3, r0, 16 - adds r4, r3, 0 - lsls r1, 16 - lsrs r1, 16 - adds r6, r1, 0 - lsls r2, 24 - lsrs r2, 24 - adds r5, r2, 0 - movs r0, 0x7 - ands r0, r3 - cmp r0, 0 - beq _0817F3B4 - movs r0, 0x3 - b _0817F3CA -_0817F3B4: - movs r0, 0x60 - ands r0, r3 - cmp r0, 0 - beq _0817F3C0 - movs r0, 0x4 - b _0817F3CA -_0817F3C0: - movs r0, 0x18 - ands r0, r3 - cmp r0, 0 - beq _0817F3D2 - movs r0, 0x5 -_0817F3CA: - movs r3, 0 - bl sub_817E684 - b _0817F3E6 -_0817F3D2: - movs r0, 0x80 - ands r4, r0 - cmp r4, 0 - beq _0817F3E6 - movs r0, 0x6 - adds r1, r6, 0 - adds r2, r5, 0 - movs r3, 0 - bl sub_817E684 -_0817F3E6: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_817F394 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_tower.s b/asm/battle_tower.s index eb89d4d79..6cee2dc0a 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -3134,7 +3134,7 @@ _081639FC: bl __umodsi3 cmp r0, 0 bne _08163A78 - bl sub_81DA57C + bl UpdateGymLeaderRematch b _08163A78 .pool _08163A2C: diff --git a/asm/blit.s b/asm/blit.s deleted file mode 100644 index 5df45e77e..000000000 --- a/asm/blit.s +++ /dev/null @@ -1,823 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start BlitBitmapRect4BitWithoutColorKey -@ void BlitBitmapRect4BitWithoutColorKey(struct Bitmap *src, struct Bitmap *dest, u16 srcX, u16 srcY, u16 destX, u16 destY, u16 width, u16 height) -BlitBitmapRect4BitWithoutColorKey: @ 8002BDC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - ldr r4, [sp, 0x2C] - ldr r5, [sp, 0x30] - ldr r6, [sp, 0x34] - ldr r7, [sp, 0x38] - lsls r2, 16 - lsrs r2, 16 - lsls r3, 16 - lsrs r3, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 16 - lsrs r6, 16 - lsls r7, 16 - lsrs r7, 16 - str r4, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - str r7, [sp, 0xC] - movs r4, 0xFF - str r4, [sp, 0x10] - bl BlitBitmapRect4Bit - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end BlitBitmapRect4BitWithoutColorKey - - thumb_func_start BlitBitmapRect4Bit -@ void BlitBitmapRect4Bit(struct Bitmap *src, struct Bitmap *dest, u16 srcX, u16 srcY, u16 destX, u16 destY, u16 width, u16 height, u8 colorKey) -BlitBitmapRect4Bit: @ 8002C20 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - str r0, [sp] - str r1, [sp, 0x4] - ldr r0, [sp, 0x4C] - ldr r1, [sp, 0x50] - ldr r4, [sp, 0x54] - ldr r5, [sp, 0x58] - ldr r6, [sp, 0x5C] - lsls r2, 16 - lsrs r2, 16 - str r2, [sp, 0x8] - lsls r3, 16 - lsrs r7, r3, 16 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0xC] - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 24 - lsrs r6, 24 - str r6, [sp, 0x10] - ldr r0, [sp, 0x4] - ldrh r3, [r0, 0x4] - ldr r1, [sp, 0xC] - subs r0, r3, r1 - adds r2, r4 - mov r8, r2 - cmp r0, r4 - bge _08002C74 - ldr r2, [sp, 0x8] - adds r0, r2 - mov r8, r0 -_08002C74: - ldr r4, [sp, 0x4] - ldrh r0, [r4, 0x6] - mov r1, r9 - subs r0, r1 - adds r2, r5, r7 - str r2, [sp, 0x14] - cmp r0, r5 - bge _08002C88 - adds r0, r7 - str r0, [sp, 0x14] -_08002C88: - ldr r4, [sp] - ldrh r1, [r4, 0x4] - movs r2, 0x7 - adds r0, r1, 0 - ands r0, r2 - adds r1, r0 - asrs r1, 3 - str r1, [sp, 0x18] - adds r0, r3, 0 - ands r0, r2 - adds r0, r3, r0 - asrs r0, 3 - str r0, [sp, 0x1C] - ldr r0, [sp, 0x10] - cmp r0, 0xFF - bne _08002D46 - adds r3, r7, 0 - mov r1, r9 - ldr r2, [sp, 0x14] - cmp r3, r2 - blt _08002CB4 - b _08002DEE -_08002CB4: - ldr r5, [sp, 0x8] - ldr r6, [sp, 0xC] - adds r4, r3, 0x1 - str r4, [sp, 0x24] - adds r0, r1, 0x1 - str r0, [sp, 0x28] - cmp r5, r8 - bge _08002D3A - movs r7, 0x3 - asrs r0, r3, 3 - ldr r2, [sp, 0x18] - muls r0, r2 - lsls r0, 5 - mov r10, r0 - lsls r0, r3, 29 - lsrs r0, 27 - mov r9, r0 - asrs r0, r1, 3 - ldr r4, [sp, 0x1C] - muls r0, r4 - lsls r0, 5 - mov r12, r0 - lsls r0, r1, 29 - lsrs r3, r0, 27 -_08002CE4: - asrs r0, r5, 1 - ands r0, r7 - ldr r2, [sp] - ldr r1, [r2] - adds r1, r0 - asrs r0, r5, 3 - lsls r0, 5 - adds r1, r0 - add r1, r10 - mov r4, r9 - adds r2, r1, r4 - asrs r0, r6, 1 - ands r0, r7 - ldr r4, [sp, 0x4] - ldr r1, [r4] - adds r1, r0 - asrs r0, r6, 3 - lsls r0, 5 - adds r1, r0 - add r1, r12 - adds r4, r1, r3 - ldrb r2, [r2] - adds r0, r5, 0 - movs r1, 0x1 - ands r0, r1 - lsls r0, 2 - asrs r2, r0 - movs r0, 0xF - ands r2, r0 - adds r0, r6, 0 - ands r0, r1 - lsls r1, r0, 2 - lsls r2, r1 - movs r0, 0xF0 - asrs r0, r1 - ldrb r1, [r4] - ands r0, r1 - orrs r2, r0 - strb r2, [r4] - adds r5, 0x1 - adds r6, 0x1 - cmp r5, r8 - blt _08002CE4 -_08002D3A: - ldr r3, [sp, 0x24] - ldr r1, [sp, 0x28] - ldr r2, [sp, 0x14] - cmp r3, r2 - blt _08002CB4 - b _08002DEE -_08002D46: - adds r3, r7, 0 - mov r1, r9 - ldr r4, [sp, 0x14] - cmp r3, r4 - bge _08002DEE -_08002D50: - ldr r5, [sp, 0x8] - ldr r6, [sp, 0xC] - adds r0, r3, 0x1 - str r0, [sp, 0x24] - adds r2, r1, 0x1 - str r2, [sp, 0x28] - cmp r5, r8 - bge _08002DE4 - movs r4, 0x3 - mov r9, r4 - asrs r0, r3, 3 - ldr r2, [sp, 0x18] - muls r0, r2 - lsls r0, 5 - str r0, [sp, 0x20] - lsls r0, r3, 29 - lsrs r0, 27 - mov r10, r0 - movs r3, 0x1 - asrs r0, r1, 3 - ldr r4, [sp, 0x1C] - muls r0, r4 - lsls r0, 5 - mov r12, r0 - lsls r0, r1, 29 - lsrs r7, r0, 27 -_08002D84: - asrs r0, r5, 1 - mov r1, r9 - ands r0, r1 - ldr r2, [sp] - ldr r1, [r2] - adds r1, r0 - asrs r0, r5, 3 - lsls r0, 5 - adds r1, r0 - ldr r4, [sp, 0x20] - adds r1, r4 - mov r0, r10 - adds r2, r1, r0 - asrs r0, r6, 1 - mov r1, r9 - ands r0, r1 - ldr r4, [sp, 0x4] - ldr r1, [r4] - adds r1, r0 - asrs r0, r6, 3 - lsls r0, 5 - adds r1, r0 - add r1, r12 - adds r4, r1, r7 - ldrb r2, [r2] - adds r0, r5, 0 - ands r0, r3 - lsls r0, 2 - asrs r2, r0 - movs r0, 0xF - ands r2, r0 - ldr r0, [sp, 0x10] - cmp r2, r0 - beq _08002DDC - adds r0, r6, 0 - ands r0, r3 - lsls r1, r0, 2 - lsls r2, r1 - movs r0, 0xF0 - asrs r0, r1 - ldrb r1, [r4] - ands r0, r1 - orrs r2, r0 - strb r2, [r4] -_08002DDC: - adds r5, 0x1 - adds r6, 0x1 - cmp r5, r8 - blt _08002D84 -_08002DE4: - ldr r3, [sp, 0x24] - ldr r1, [sp, 0x28] - ldr r2, [sp, 0x14] - cmp r3, r2 - blt _08002D50 -_08002DEE: - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end BlitBitmapRect4Bit - - thumb_func_start FillBitmapRect4Bit -@ void FillBitmapRect4Bit(struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue) -FillBitmapRect4Bit: @ 8002E00 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - mov r9, r0 - ldr r0, [sp, 0x28] - ldr r4, [sp, 0x2C] - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - lsls r2, 16 - lsrs r2, 16 - adds r6, r2, 0 - lsls r3, 16 - lsrs r3, 16 - lsls r0, 16 - lsrs r0, 16 - lsls r4, 24 - lsrs r5, r4, 24 - adds r4, r1, r3 - mov r3, r9 - ldrh r1, [r3, 0x4] - cmp r4, r1 - ble _08002E36 - adds r4, r1, 0 -_08002E36: - adds r2, r0 - mov r12, r2 - mov r2, r9 - ldrh r0, [r2, 0x6] - cmp r12, r0 - ble _08002E44 - mov r12, r0 -_08002E44: - movs r0, 0x7 - ands r0, r1 - adds r0, r1, r0 - asrs r0, 3 - str r0, [sp, 0x4] - lsls r0, r5, 28 - lsrs r0, 24 - mov r8, r0 - movs r3, 0xF - mov r10, r3 - mov r0, r10 - ands r0, r5 - mov r10, r0 - adds r1, r6, 0 - cmp r1, r12 - bge _08002EB6 -_08002E64: - ldr r3, [sp] - adds r7, r1, 0x1 - cmp r3, r4 - bge _08002EB0 - asrs r0, r1, 3 - ldr r2, [sp, 0x4] - muls r0, r2 - lsls r6, r0, 5 - lsls r0, r1, 29 - lsrs r5, r0, 27 -_08002E78: - asrs r2, r3, 1 - movs r0, 0x3 - ands r2, r0 - mov r0, r9 - ldr r1, [r0] - adds r1, r2 - asrs r0, r3, 3 - lsls r0, 5 - adds r1, r0 - adds r1, r6 - adds r2, r1, r5 - lsls r0, r3, 31 - cmp r0, 0 - beq _08002E9E - ldrb r1, [r2] - movs r0, 0xF - ands r0, r1 - mov r1, r8 - b _08002EA6 -_08002E9E: - ldrb r1, [r2] - movs r0, 0xF0 - ands r0, r1 - mov r1, r10 -_08002EA6: - orrs r0, r1 - strb r0, [r2] - adds r3, 0x1 - cmp r3, r4 - blt _08002E78 -_08002EB0: - adds r1, r7, 0 - cmp r1, r12 - blt _08002E64 -_08002EB6: - 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 FillBitmapRect4Bit - - thumb_func_start BlitBitmapRect4BitTo8Bit -@ void BlitBitmapRect4BitTo8Bit(struct Bitmap *src, struct Bitmap *dest, u16 srcX, u16 srcY, u16 destX, u16 destY, u16 width, u16 height, u8 colorKey, u8 paletteOffset) -BlitBitmapRect4BitTo8Bit: @ 8002EC8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x3C - str r0, [sp] - str r1, [sp, 0x4] - ldr r0, [sp, 0x5C] - ldr r1, [sp, 0x60] - ldr r5, [sp, 0x64] - ldr r4, [sp, 0x68] - ldr r6, [sp, 0x6C] - ldr r7, [sp, 0x70] - mov r8, r7 - lsls r2, 16 - lsrs r2, 16 - str r2, [sp, 0x8] - lsls r3, 16 - lsrs r3, 16 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0xC] - lsls r1, 16 - lsrs r7, r1, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r6, 24 - lsrs r6, 24 - str r6, [sp, 0x10] - mov r0, r8 - lsls r0, 28 - lsrs r0, 24 - str r0, [sp, 0x14] - lsls r0, r6, 28 - lsrs r0, 24 - str r0, [sp, 0x28] - ldr r1, [sp, 0x4] - ldrh r0, [r1, 0x4] - ldr r2, [sp, 0xC] - subs r0, r2 - ldr r1, [sp, 0x8] - adds r1, r5, r1 - str r1, [sp, 0x18] - cmp r0, r5 - bge _08002F2E - ldr r2, [sp, 0x8] - adds r0, r2 - str r0, [sp, 0x18] -_08002F2E: - ldr r5, [sp, 0x4] - ldrh r1, [r5, 0x6] - subs r0, r1, r7 - cmp r0, r4 - bge _08002F40 - adds r0, r3, r1 - subs r0, r7 - str r0, [sp, 0x1C] - b _08002F44 -_08002F40: - adds r4, r3, r4 - str r4, [sp, 0x1C] -_08002F44: - ldr r0, [sp] - ldrh r1, [r0, 0x4] - movs r2, 0x7 - adds r0, r1, 0 - ands r0, r2 - adds r1, r0 - asrs r1, 3 - str r1, [sp, 0x20] - ldr r5, [sp, 0x4] - ldrh r1, [r5, 0x4] - adds r0, r1, 0 - ands r0, r2 - adds r1, r0 - asrs r1, 3 - str r1, [sp, 0x24] - ldr r0, [sp, 0x10] - cmp r0, 0xFF - bne _08003024 - adds r2, r3, 0 - adds r5, r7, 0 - ldr r1, [sp, 0x1C] - cmp r2, r1 - blt _08002F74 - b _08003106 -_08002F74: - ldr r3, [sp, 0x8] - lsrs r3, 1 - str r3, [sp, 0x2C] - movs r0, 0x3 - ands r3, r0 - str r3, [sp, 0x2C] - ldr r7, [sp, 0x8] - lsrs r0, r7, 3 - lsls r0, 5 - str r0, [sp, 0x30] -_08002F88: - ldr r0, [sp] - ldr r1, [r0] - ldr r3, [sp, 0x2C] - adds r1, r3 - ldr r7, [sp, 0x30] - adds r1, r7 - asrs r0, r2, 3 - ldr r3, [sp, 0x20] - muls r0, r3 - lsls r0, 5 - mov r8, r0 - add r1, r8 - lsls r0, r2, 29 - lsrs r7, r0, 27 - adds r6, r1, r7 - ldr r3, [sp, 0x8] - ldr r4, [sp, 0xC] - adds r2, 0x1 - mov r10, r2 - adds r0, r5, 0x1 - str r0, [sp, 0x38] - ldr r1, [sp, 0x18] - cmp r3, r1 - bge _08003018 - asrs r0, r5, 3 - ldr r2, [sp, 0x24] - muls r0, r2 - lsls r0, 6 - mov r12, r0 - lsls r0, r5, 29 - lsrs r0, 26 - mov r9, r0 -_08002FC8: - movs r0, 0x7 - ands r0, r4 - ldr r5, [sp, 0x4] - ldr r1, [r5] - adds r1, r0 - asrs r0, r4, 3 - lsls r0, 6 - adds r1, r0 - add r1, r12 - mov r0, r9 - adds r5, r1, r0 - movs r0, 0x1 - ands r0, r3 - cmp r0, 0 - beq _08002FEC - ldrb r0, [r6] - lsrs r0, 4 - b _08003008 -_08002FEC: - asrs r2, r3, 1 - movs r0, 0x3 - ands r2, r0 - ldr r0, [sp] - ldr r1, [r0] - adds r1, r2 - asrs r0, r3, 3 - lsls r0, 5 - adds r1, r0 - add r1, r8 - adds r6, r1, r7 - ldrb r1, [r6] - movs r0, 0xF - ands r0, r1 -_08003008: - ldr r1, [sp, 0x14] - adds r0, r1, r0 - strb r0, [r5] - adds r3, 0x1 - adds r4, 0x1 - ldr r2, [sp, 0x18] - cmp r3, r2 - blt _08002FC8 -_08003018: - mov r2, r10 - ldr r5, [sp, 0x38] - ldr r3, [sp, 0x1C] - cmp r2, r3 - blt _08002F88 - b _08003106 -_08003024: - adds r2, r3, 0 - adds r5, r7, 0 - ldr r7, [sp, 0x1C] - cmp r2, r7 - bge _08003106 - ldr r0, [sp, 0x8] - lsrs r0, 1 - str r0, [sp, 0x34] - movs r0, 0x3 - ldr r1, [sp, 0x34] - ands r1, r0 - str r1, [sp, 0x34] -_0800303C: - ldr r3, [sp] - ldr r1, [r3] - ldr r7, [sp, 0x34] - adds r1, r7 - ldr r3, [sp, 0x8] - lsrs r0, r3, 3 - lsls r0, 5 - adds r1, r0 - asrs r0, r2, 3 - ldr r7, [sp, 0x20] - muls r0, r7 - lsls r0, 5 - mov r8, r0 - add r1, r8 - lsls r0, r2, 29 - lsrs r7, r0, 27 - adds r6, r1, r7 - ldr r4, [sp, 0xC] - adds r2, 0x1 - mov r10, r2 - adds r0, r5, 0x1 - str r0, [sp, 0x38] - ldr r1, [sp, 0x18] - cmp r3, r1 - bge _080030FC - asrs r0, r5, 3 - ldr r2, [sp, 0x24] - muls r0, r2 - lsls r0, 6 - mov r9, r0 - lsls r0, r5, 29 - lsrs r0, 26 - mov r12, r0 -_0800307E: - movs r0, 0x1 - ands r0, r3 - cmp r0, 0 - beq _080030B2 - ldrb r2, [r6] - movs r0, 0xF0 - ands r0, r2 - ldr r5, [sp, 0x28] - cmp r0, r5 - beq _080030F2 - adds r0, r4, 0 - movs r1, 0x7 - ands r0, r1 - ldr r5, [sp, 0x4] - ldr r1, [r5] - adds r1, r0 - asrs r0, r4, 3 - lsls r0, 6 - adds r1, r0 - add r1, r9 - mov r0, r12 - adds r5, r1, r0 - lsrs r0, r2, 4 - ldr r1, [sp, 0x14] - adds r0, r1, r0 - b _080030F0 -_080030B2: - asrs r2, r3, 1 - movs r0, 0x3 - ands r2, r0 - ldr r5, [sp] - ldr r1, [r5] - adds r1, r2 - asrs r0, r3, 3 - lsls r0, 5 - adds r1, r0 - add r1, r8 - adds r6, r1, r7 - ldrb r0, [r6] - movs r2, 0xF - ands r2, r0 - ldr r0, [sp, 0x10] - cmp r2, r0 - beq _080030F2 - adds r0, r4, 0 - movs r1, 0x7 - ands r0, r1 - ldr r5, [sp, 0x4] - ldr r1, [r5] - adds r1, r0 - asrs r0, r4, 3 - lsls r0, 6 - adds r1, r0 - add r1, r9 - mov r0, r12 - adds r5, r1, r0 - ldr r1, [sp, 0x14] - adds r0, r1, r2 -_080030F0: - strb r0, [r5] -_080030F2: - adds r3, 0x1 - adds r4, 0x1 - ldr r2, [sp, 0x18] - cmp r3, r2 - blt _0800307E -_080030FC: - mov r2, r10 - ldr r5, [sp, 0x38] - ldr r3, [sp, 0x1C] - cmp r2, r3 - blt _0800303C -_08003106: - add sp, 0x3C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end BlitBitmapRect4BitTo8Bit - - thumb_func_start FillBitmapRect8Bit -@ void FillBitmapRect8Bit(struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue) -FillBitmapRect8Bit: @ 8003118 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - mov r8, r0 - ldr r0, [sp, 0x28] - ldr r4, [sp, 0x2C] - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - lsls r2, 16 - lsrs r2, 16 - adds r6, r2, 0 - lsls r3, 16 - lsrs r3, 16 - lsls r0, 16 - lsrs r0, 16 - lsls r4, 24 - lsrs r4, 24 - mov r9, r4 - adds r5, r1, r3 - mov r3, r8 - ldrh r1, [r3, 0x4] - cmp r5, r1 - ble _08003150 - adds r5, r1, 0 -_08003150: - adds r7, r2, r0 - mov r2, r8 - ldrh r0, [r2, 0x6] - cmp r7, r0 - ble _0800315C - adds r7, r0, 0 -_0800315C: - movs r0, 0x7 - ands r0, r1 - adds r0, r1, r0 - asrs r0, 3 - str r0, [sp] - adds r1, r6, 0 - cmp r1, r7 - bge _080031AC -_0800316C: - mov r3, r10 - adds r6, r1, 0x1 - str r6, [sp, 0x4] - cmp r3, r5 - bge _080031A6 - movs r0, 0x7 - mov r12, r0 - asrs r0, r1, 3 - ldr r2, [sp] - muls r0, r2 - lsls r4, r0, 6 - lsls r0, r1, 29 - lsrs r2, r0, 26 -_08003186: - adds r0, r3, 0 - mov r6, r12 - ands r0, r6 - mov r6, r8 - ldr r1, [r6] - adds r1, r0 - asrs r0, r3, 3 - lsls r0, 6 - adds r1, r0 - adds r1, r4 - adds r1, r2 - mov r0, r9 - strb r0, [r1] - adds r3, 0x1 - cmp r3, r5 - blt _08003186 -_080031A6: - ldr r1, [sp, 0x4] - cmp r1, r7 - blt _0800316C -_080031AC: - 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 FillBitmapRect8Bit - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/cable_club.s b/asm/cable_club.s index 0bdda588e..e6fbd1886 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -1729,7 +1729,7 @@ _080B3248: thumb_func_start sub_80B3254 sub_80B3254: @ 80B3254 push {lr} - bl sub_809FF80 + bl SaveGame pop {r0} bx r0 thumb_func_end sub_80B3254 diff --git a/asm/credits.s b/asm/credits.s deleted file mode 100644 index a8a665b06..000000000 --- a/asm/credits.s +++ /dev/null @@ -1,3903 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81754C8 -sub_81754C8: @ 81754C8 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_81754C8 - - thumb_func_start sub_81754DC -sub_81754DC: @ 81754DC - push {lr} - bl RunTasks - bl AnimateSprites - ldr r0, =gMain - ldrh r1, [r0, 0x2C] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08175522 - ldr r0, =gHasHallOfFameRecords - ldrb r0, [r0] - cmp r0, 0 - beq _08175522 - ldr r2, =gTasks - ldr r0, =gUnknown_0203BCE2 - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, [r0] - ldr r0, =sub_8175774 - cmp r1, r0 - bne _08175522 - bl sub_81754C8 - bl RunTasks - bl AnimateSprites - ldr r1, =gUnknown_0203BCE5 - movs r0, 0x1 - strb r0, [r1] -_08175522: - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - .pool - thumb_func_end sub_81754DC - - thumb_func_start sub_8175548 -sub_8175548: @ 8175548 - push {lr} - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085E6F68 - movs r0, 0 - movs r2, 0x1 - bl InitBgsFromTemplates - movs r0, 0x80 - lsls r0, 4 - bl AllocZeroed - adds r1, r0, 0 - movs r0, 0 - bl SetBgTilemapBuffer - ldr r0, =gUnknown_085E56F0 - movs r1, 0x80 - movs r2, 0x40 - bl LoadPalette - ldr r0, =gUnknown_085E6F6C - bl InitWindows - bl DeactivateAllTextPrinters - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0 - bl ShowBg - pop {r0} - bx r0 - .pool - thumb_func_end sub_8175548 - - thumb_func_start sub_81755A4 -sub_81755A4: @ 81755A4 - push {lr} - bl FreeAllWindowBuffers - movs r0, 0 - bl GetBgTilemapBuffer - cmp r0, 0 - beq _081755B8 - bl Free -_081755B8: - pop {r0} - bx r0 - thumb_func_end sub_81755A4 - - thumb_func_start sub_81755BC -sub_81755BC: @ 81755BC - push {r4,r5,lr} - sub sp, 0x18 - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r2, 24 - add r1, sp, 0x14 - movs r0, 0 - strb r0, [r1] - cmp r2, 0x1 - bne _081755DC - movs r0, 0x3 - strb r0, [r1, 0x1] - movs r0, 0x4 - b _081755E4 -_081755DC: - add r1, sp, 0x14 - movs r0, 0x1 - strb r0, [r1, 0x1] - movs r0, 0x2 -_081755E4: - strb r0, [r1, 0x2] - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0xF0 - movs r3, 0x1 - bl GetStringCenterAlignXOffsetWithLetterSpacing - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - add r0, sp, 0x14 - str r0, [sp, 0x8] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0xC] - str r4, [sp, 0x10] - movs r0, 0 - movs r1, 0x1 - adds r3, r5, 0 - bl AddTextPrinterParameterized2 - add sp, 0x18 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81755BC - - thumb_func_start sub_8175620 -sub_8175620: @ 8175620 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - bl sub_8175CE4 - movs r0, 0 - bl SetVBlankCallback - ldr r0, =0x02000000 - movs r1, 0xE0 - lsls r1, 9 - bl InitHeap - bl ResetPaletteFade - bl ResetTasks - bl sub_8175548 - ldr r0, =sub_8175744 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x10] - strh r1, [r0, 0x16] - strh r1, [r0, 0x1E] - movs r1, 0x1 - strh r1, [r0, 0x22] -_0817566A: - movs r0, 0 - adds r1, r7, 0 - bl sub_8176AB0 - lsls r0, 24 - cmp r0, 0 - beq _0817566A - ldr r5, =gTasks - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - adds r4, r5 - movs r0, 0xA - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r1, 0 - mov r8, r1 - movs r6, 0 - movs r1, 0x28 - strh r1, [r0, 0x8] - ldr r1, =0x0000fffc - movs r0, 0x12 - bl SetGpuReg - ldr r0, =sub_8175DA0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r5 - strh r7, [r1, 0xA] - strh r0, [r4, 0x26] - movs r0, 0x1 - negs r0, r0 - str r6, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0x1 - bl EnableInterrupts - ldr r0, =sub_81754C8 - bl SetVBlankCallback - ldr r0, =0x000001c7 - bl m4aSongNumStart - ldr r0, =sub_81754DC - bl SetMainCallback2 - ldr r0, =gUnknown_0203BCE5 - mov r1, r8 - strb r1, [r0] - ldr r4, =gUnknown_0203BCE8 - movs r0, 0xEB - lsls r0, 2 - bl AllocZeroed - str r0, [r4] - bl sub_8177388 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x8E - strh r6, [r0] - adds r0, 0x2 - strh r6, [r0] - adds r0, 0x2 - strh r6, [r0] - ldr r0, =gUnknown_0203BCE2 - strh r7, [r0] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8175620 - - thumb_func_start sub_8175744 -sub_8175744: @ 8175744 - 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 _08175764 - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_8175774 - str r0, [r1] -_08175764: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8175744 - - thumb_func_start sub_8175774 -sub_8175774: @ 8175774 - 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 - movs r0, 0x10 - ldrsh r1, [r4, r0] - cmp r1, 0 - beq _081757B0 - movs r3, 0xA - ldrsh r1, [r4, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x1E - strh r1, [r0, 0x8] - movs r0, 0x80 - lsls r0, 1 - strh r0, [r4, 0x20] - ldr r0, =sub_8175A9C - b _081757FA - .pool -_081757B0: - ldr r0, =gUnknown_0203BCE0 - strh r1, [r0] - ldrh r2, [r4, 0x1E] - movs r3, 0x1E - ldrsh r0, [r4, r3] - cmp r0, 0x1 - bne _081757E0 - strh r2, [r4, 0x22] - strh r1, [r4, 0x1E] - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =sub_8175808 - b _081757FA - .pool -_081757E0: - cmp r0, 0x2 - bne _081757FC - strh r2, [r4, 0x22] - strh r1, [r4, 0x1E] - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =sub_81758A4 -_081757FA: - str r0, [r4] -_081757FC: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8175774 - - thumb_func_start sub_8175808 -sub_8175808: @ 8175808 - 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 _08175836 - movs r0, 0 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - bl sub_8176CA0 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =c2_080C9BFC - str r0, [r1] -_08175836: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8175808 - - thumb_func_start c2_080C9BFC -c2_080C9BFC: @ 8175848 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl SetVBlankCallback - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r5, r0, r1 - ldrb r0, [r5, 0x16] - adds r1, r4, 0 - bl sub_8176AB0 - lsls r0, 24 - cmp r0, 0 - beq _08175890 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0x1 - bl EnableInterrupts - ldr r0, =sub_81754C8 - bl SetVBlankCallback - ldr r0, =sub_8175744 - str r0, [r5] -_08175890: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end c2_080C9BFC - - thumb_func_start sub_81758A4 -sub_81758A4: @ 81758A4 - 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 _081758D2 - movs r0, 0 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - bl sub_8176CA0 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81758E4 - str r0, [r1] -_081758D2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81758A4 - - thumb_func_start sub_81758E4 -sub_81758E4: @ 81758E4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r1, r0 - mov r8, r1 - ldrb r7, [r1] - cmp r7, 0 - beq _08175906 - cmp r7, 0x1 - beq _081759F0 -_08175906: - bl ResetSpriteData - bl dp13_810BB8C - bl FreeAllSpritePalettes - ldr r1, =gReservedSpritePaletteCount - movs r0, 0x8 - strb r0, [r1] - ldr r0, =gBirchHelpGfx - movs r1, 0xC0 - lsls r1, 19 - bl LZ77UnCompVram - ldr r0, =gBirchGrassTilemap - ldr r1, =0x06003800 - bl LZ77UnCompVram - ldr r0, =gBirchBagGrassPal + 0x2 - movs r1, 0x1 - movs r2, 0x3E - bl LoadPalette - movs r1, 0 - ldr r4, =0x0201c000 - movs r3, 0x11 - ldr r2, =0x000007ff -_0817593C: - adds r0, r1, r4 - strb r3, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r2 - bls _0817593C - movs r1, 0 - ldr r2, =0x0201d800 - ldr r6, =gUnknown_085E701C - ldr r0, =0xfffff000 - adds r5, r2, r0 - movs r4, 0x22 - ldr r3, =0x000007ff -_08175958: - adds r0, r1, r5 - strb r4, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r3 - bls _08175958 - movs r1, 0 - ldr r5, =0x0201d000 - movs r4, 0x33 - ldr r3, =0x000007ff -_0817596E: - adds r0, r1, r5 - strb r4, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r3 - bls _0817596E - movs r0, 0 - strh r0, [r2] - ldr r1, =0x000053ff - adds r0, r1, 0 - strh r0, [r2, 0x2] - ldr r1, =0x0000529f - adds r0, r1, 0 - strh r0, [r2, 0x4] - ldr r1, =0x00007e94 - adds r0, r1, 0 - strh r0, [r2, 0x6] - adds r0, r6, 0 - bl LoadSpriteSheet - ldr r0, =gUnknown_085E702C - bl LoadSpritePalette - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08175A7A - .pool -_081759F0: - ldr r0, =sub_81760FC - movs r1, 0 - bl CreateTask - ldr r2, =gTasks - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 3 - adds r4, r2 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - mov r9, r1 - movs r5, 0 - strh r0, [r4, 0xE] - movs r0, 0xE - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - strh r7, [r0, 0x8] - movs r0, 0xE - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - strh r6, [r0, 0xA] - movs r0, 0xE - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r4, 0x16] - strh r1, [r0, 0xC] - movs r0, 0x1 - negs r0, r0 - str r5, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0x1C - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0x20 - bl SetGpuReg - ldr r1, =0x00000703 - movs r0, 0xE - bl SetGpuReg - movs r1, 0xCA - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - mov r0, r9 - mov r1, r8 - strb r0, [r1] - ldr r0, =gUnknown_0203BD28 - strh r5, [r0] - ldr r0, =sub_8175744 - str r0, [r4] -_08175A7A: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81758E4 - - thumb_func_start sub_8175A9C -sub_8175A9C: @ 8175A9C - 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, 0x20] - movs r2, 0x20 - ldrsh r1, [r4, r2] - cmp r1, 0 - beq _08175AC4 - subs r0, 0x1 - strh r0, [r4, 0x20] - b _08175AD8 - .pool -_08175AC4: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0xC - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =sub_8175AE4 - str r0, [r4] -_08175AD8: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8175A9C - - thumb_func_start sub_8175AE4 -sub_8175AE4: @ 8175AE4 - 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 _08175B0A - adds r0, r4, 0 - bl sub_8176CA0 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_8175B1C - str r0, [r1] -_08175B0A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8175AE4 - - thumb_func_start sub_8175B1C -sub_8175B1C: @ 8175B1C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8175CE4 - bl ResetPaletteFade - movs r1, 0xE0 - lsls r1, 6 - movs r0, 0 - movs r2, 0 - bl sub_8176D1C - bl ResetSpriteData - bl FreeAllSpritePalettes - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r1, 0x8 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r1, 0xE0 - lsls r1, 3 - movs r0, 0x8 - bl SetGpuReg - movs r0, 0x1 - bl EnableInterrupts - movs r1, 0xA0 - lsls r1, 1 - movs r0, 0 - bl SetGpuReg - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0xEB - strh r1, [r0, 0x8] - ldr r1, =sub_8175B90 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8175B1C - - thumb_func_start sub_8175B90 -sub_8175B90: @ 8175B90 - 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] - movs r2, 0x8 - ldrsh r1, [r4, r2] - cmp r1, 0 - beq _08175BB8 - subs r0, 0x1 - strh r0, [r4, 0x8] - b _08175BCC - .pool -_08175BB8: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0x6 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =sub_8175BD8 - str r0, [r4] -_08175BCC: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8175B90 - - thumb_func_start sub_8175BD8 -sub_8175BD8: @ 8175BD8 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08175C1E - movs r0, 0xE0 - lsls r0, 6 - movs r1, 0 - bl sub_8176E40 - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0xE1 - lsls r1, 5 - strh r1, [r0, 0x8] - ldr r1, =sub_8175C34 - str r1, [r0] -_08175C1E: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8175BD8 - - thumb_func_start sub_8175C34 -sub_8175C34: @ 8175C34 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08175CB8 - 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, 0 - beq _08175C62 - ldr r0, =gMain - ldrh r0, [r0, 0x2E] - cmp r0, 0 - beq _08175C94 -_08175C62: - movs r0, 0x4 - bl FadeOutBGM - movs r0, 0x1 - negs r0, r0 - ldr r1, =0x0000ffff - str r1, [sp] - movs r1, 0x8 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =sub_8175CC8 - str r0, [r4] - b _08175CB8 - .pool -_08175C94: - ldr r0, =0x00001be8 - cmp r1, r0 - bne _08175CA0 - movs r0, 0x8 - bl FadeOutBGM -_08175CA0: - movs r0, 0x8 - ldrsh r1, [r4, r0] - ldr r0, =0x00001ab8 - cmp r1, r0 - bne _08175CB2 - movs r0, 0xE4 - lsls r0, 1 - bl m4aSongNumStart -_08175CB2: - ldrh r0, [r4, 0x8] - subs r0, 0x1 - strh r0, [r4, 0x8] -_08175CB8: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8175C34 - - thumb_func_start sub_8175CC8 -sub_8175CC8: @ 8175CC8 - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08175CDC - movs r0, 0xFF - bl SoftReset -_08175CDC: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8175CC8 - - thumb_func_start sub_8175CE4 -sub_8175CE4: @ 8175CE4 - push {lr} - sub sp, 0x8 - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1C - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - 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 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, =0x040000d4 - mov r0, sp - str r0, [r1] - movs r0, 0xC0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, =0x8100c000 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r2, 0 - str r2, [sp, 0x4] - add r0, sp, 0x4 - str r0, [r1] - movs r0, 0xE0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, =0x85000100 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r0, sp - strh r2, [r0] - str r0, [r1] - ldr r0, =0x05000002 - str r0, [r1, 0x4] - ldr r0, =0x810001ff - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add sp, 0x8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8175CE4 - - thumb_func_start sub_8175DA0 -sub_8175DA0: @ 8175DA0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - 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 r5, r1, 0 - cmp r0, 0xA - bhi _08175E00 - lsls r0, 2 - ldr r1, =_08175DD4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08175DD4: - .4byte _08175E00 - .4byte _08175E40 - .4byte _08175E60 - .4byte _08175F38 - .4byte _08175F5C - .4byte _08175FC8 - .4byte _08175E00 - .4byte _08175E00 - .4byte _08175E00 - .4byte _08175E00 - .4byte _08175FFC -_08175E00: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _08175E12 - b _0817602A -_08175E12: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r5 - movs r1, 0x1 - strh r1, [r0, 0x8] - movs r1, 0x48 - strh r1, [r0, 0xE] - movs r3, 0xA - ldrsh r1, [r0, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r2, [r0, 0x24] - ldr r0, =gUnknown_0203BCE0 - strh r2, [r0] - b _0817602A - .pool -_08175E40: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r5 - ldrh r2, [r1, 0xE] - movs r3, 0xE - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _08175E58 - subs r0, r2, 0x1 - strh r0, [r1, 0xE] - b _0817602A -_08175E58: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0817602A -_08175E60: - lsls r2, r4, 2 - adds r0, r2, r4 - lsls r0, 3 - adds r3, r0, r5 - movs r0, 0xA - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r5, r0, r5 - ldr r1, [r5] - ldr r0, =sub_8175774 - mov r9, r2 - cmp r1, r0 - bne _08175F32 - movs r1, 0xC - ldrsh r0, [r3, r1] - cmp r0, 0x38 - bgt _08175F2C - movs r5, 0 - ldr r2, =gUnknown_085E6AF4 - mov r8, r2 - adds r7, r3, 0 - movs r6, 0xA0 - lsls r6, 19 -_08175E92: - movs r3, 0xC - ldrsh r1, [r7, r3] - lsls r0, r1, 2 - adds r0, r1 - adds r0, r5 - lsls r0, 2 - add r0, r8 - ldr r2, [r0] - ldr r0, [r2, 0x4] - lsrs r1, r6, 24 - ldrb r2, [r2, 0x1] - bl sub_81755BC - movs r0, 0x80 - lsls r0, 21 - adds r6, r0 - adds r5, 0x1 - cmp r5, 0x4 - ble _08175E92 - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - ldr r3, =gTasks - mov r2, r9 - adds r1, r2, r4 - lsls r1, 3 - adds r1, r3 - ldrh r0, [r1, 0xC] - adds r0, 0x1 - strh r0, [r1, 0xC] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0xA - ldrsh r2, [r1, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r3 - movs r2, 0x1 - strh r2, [r0, 0x24] - movs r2, 0xA - ldrsh r1, [r1, r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - movs r3, 0x22 - ldrsh r0, [r0, r3] - cmp r0, 0x1 - bne _08175F14 - movs r0, 0xC0 - lsls r0, 2 - ldr r1, =0x0000328d - b _08175F1A - .pool -_08175F14: - movs r0, 0xC0 - lsls r0, 2 - ldr r1, =0x00001967 -_08175F1A: - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _0817602A - .pool -_08175F2C: - movs r0, 0xA - strh r0, [r3, 0x8] - b _0817602A -_08175F32: - movs r0, 0 - strh r0, [r5, 0x24] - b _0817602A -_08175F38: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0817602A - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r5 - movs r1, 0x73 - strh r1, [r0, 0xE] - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _0817602A - .pool -_08175F5C: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r5 - ldrh r1, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08175F74 - subs r0, r1, 0x1 - strh r0, [r4, 0xE] - b _0817602A -_08175F74: - ldrb r0, [r4, 0xC] - ldrb r1, [r4, 0xA] - bl sub_817603C - lsls r0, 24 - cmp r0, 0 - beq _08175F8A - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0817602A -_08175F8A: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r3, 0xA - ldrsh r1, [r4, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r1, 0x22 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - bne _08175FB0 - movs r0, 0xC0 - lsls r0, 2 - ldr r1, =0x0000328d - b _08175FB6 - .pool -_08175FB0: - movs r0, 0xC0 - lsls r0, 2 - ldr r1, =0x00001967 -_08175FB6: - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _0817602A - .pool -_08175FC8: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0817602A - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x2 - strh r0, [r1, 0x8] - b _0817602A - .pool -_08175FFC: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r5 - movs r2, 0xA - ldrsh r1, [r0, r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r5, 0 - movs r1, 0x1 - strh r1, [r0, 0x10] - adds r0, r4, 0 - bl DestroyTask - bl sub_81755A4 - ldr r4, =gUnknown_0203BCE8 - ldr r0, [r4] - bl Free - str r5, [r4] -_0817602A: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8175DA0 - - thumb_func_start sub_817603C -sub_817603C: @ 817603C - push {r4-r6,lr} - lsls r0, 24 - lsrs r3, r0, 24 - adds r6, r3, 0 - lsls r1, 24 - lsrs r2, r1, 24 - adds r5, r2, 0 - ldr r4, =gTasks - cmp r3, 0x6 - bne _0817605C - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x1E] -_0817605C: - cmp r3, 0xC - bne _0817606E - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r4 - movs r1, 0x1 - strh r1, [r0, 0x16] - strh r1, [r0, 0x1E] -_0817606E: - cmp r3, 0x12 - bne _0817607E - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x1E] -_0817607E: - cmp r3, 0x18 - bne _08176092 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x16] - movs r1, 0x1 - strh r1, [r0, 0x1E] -_08176092: - cmp r3, 0x1E - bne _081760A2 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x1E] -_081760A2: - cmp r3, 0x24 - bne _081760B6 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r4 - movs r1, 0x3 - strh r1, [r0, 0x16] - movs r1, 0x1 - strh r1, [r0, 0x1E] -_081760B6: - cmp r3, 0x2A - bne _081760C6 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x1E] -_081760C6: - cmp r6, 0x30 - bne _081760DA - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r4 - movs r1, 0x4 - strh r1, [r0, 0x16] - movs r1, 0x1 - strh r1, [r0, 0x1E] -_081760DA: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r4 - movs r1, 0x1E - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _081760F4 - movs r0, 0 - b _081760F6 - .pool -_081760F4: - movs r0, 0x1 -_081760F6: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_817603C - - thumb_func_start sub_81760FC -sub_81760FC: @ 81760FC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r2, r0, r4 - movs r1, 0x8 - ldrsh r0, [r2, r1] - cmp r0, 0x1 - beq _0817612C - cmp r0, 0x1 - bgt _0817611A - b _08176244 -_0817611A: - cmp r0, 0x2 - beq _08176158 - cmp r0, 0x3 - bne _08176124 - b _08176230 -_08176124: - b _08176244 - .pool -_0817612C: - ldr r0, =gUnknown_0203BCE8 - ldr r0, [r0] - adds r0, 0x90 - ldrh r0, [r0] - cmp r0, 0 - bne _0817614E - movs r3, 0xA - ldrsh r0, [r2, r3] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r4 - movs r3, 0x24 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _0817614E - b _08176244 -_0817614E: - ldrh r0, [r2, 0x8] - adds r0, 0x1 - b _08176242 - .pool -_08176158: - ldr r6, =gUnknown_0203BCE8 - ldr r3, [r6] - adds r0, r3, 0 - adds r0, 0x8E - ldrh r0, [r0] - cmp r0, 0x47 - beq _08176244 - movs r0, 0xA - ldrsh r1, [r2, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - ldr r1, [r0] - ldr r0, =sub_8175774 - cmp r1, r0 - bne _08176244 - adds r0, r3, 0 - adds r0, 0x92 - ldrh r0, [r0] - lsls r0, 1 - adds r0, r3, r0 - ldrh r0, [r0] - ldr r4, =gUnknown_085E6F7C - adds r1, r3, 0 - adds r1, 0x90 - ldrh r3, [r1] - lsls r2, r3, 1 - adds r1, r2, r4 - ldrb r1, [r1] - adds r4, 0x1 - adds r2, r4 - ldrb r2, [r2] - bl sub_8177224 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x92 - ldrh r3, [r1] - adds r0, 0x94 - ldrh r0, [r0] - subs r0, 0x1 - cmp r3, r0 - bge _081761D8 - adds r0, r3, 0x1 - strh r0, [r1] - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - movs r1, 0x32 - b _081761EA - .pool -_081761D8: - movs r0, 0 - strh r0, [r1] - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - movs r1, 0x80 - lsls r1, 2 -_081761EA: - strh r1, [r0, 0x34] - ldr r0, =gUnknown_0203BCE8 - ldr r1, [r0] - adds r2, r1, 0 - adds r2, 0x8E - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x90 - ldrh r0, [r1] - cmp r0, 0x2 - bne _08176210 - movs r0, 0 - b _08176212 - .pool -_08176210: - adds r0, 0x1 -_08176212: - strh r0, [r1] - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r0, 0x32 - strh r0, [r1, 0xE] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _08176244 - .pool -_08176230: - ldrh r1, [r2, 0xE] - movs r3, 0xE - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _08176240 - subs r0, r1, 0x1 - strh r0, [r2, 0xE] - b _08176244 -_08176240: - movs r0, 0x1 -_08176242: - strh r0, [r2, 0x8] -_08176244: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81760FC - - thumb_func_start sub_817624C -sub_817624C: @ 817624C - 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 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r6, r1, 0 - cmp r0, 0x32 - bls _08176268 - b _08176514 -_08176268: - lsls r0, 2 - ldr r1, =_0817627C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0817627C: - .4byte _08176348 - .4byte _0817636C - .4byte _081763C0 - .4byte _081763D8 - .4byte _08176414 - .4byte _08176438 - .4byte _08176484 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176490 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _081764B0 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _081764D4 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176514 - .4byte _08176508 -_08176348: - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r6 - ldrh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 17 - movs r1, 0x7F - ands r0, r1 - movs r1, 0xC - bl Sin - ldr r1, =gUnknown_0203BD26 - strh r0, [r1] - b _08176390 - .pool -_0817636C: - ldr r7, =gUnknown_0203BD26 - movs r3, 0 - ldrsh r4, [r7, r3] - cmp r4, 0 - beq _0817639C - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r6 - ldrh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 17 - movs r1, 0x7F - ands r0, r1 - movs r1, 0xC - bl Sin - strh r0, [r7] -_08176390: - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - b _08176514 - .pool -_0817639C: - ldr r3, =gSprites - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r6 - movs r0, 0xC - ldrsh r2, [r1, r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - movs r2, 0x2 - strh r2, [r0, 0x2E] - strh r4, [r1, 0x12] - b _08176430 - .pool -_081763C0: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r1, r0, r6 - ldrh r2, [r1, 0x12] - movs r3, 0x12 - ldrsh r0, [r1, r3] - cmp r0, 0x3F - bgt _08176430 - adds r0, r2, 0x1 - strh r0, [r1, 0x12] - b _0817644E -_081763D8: - ldr r3, =gSprites - lsls r2, r5, 2 - adds r2, r5 - lsls r2, 3 - adds r2, r6 - movs r0, 0xC - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x3 - strh r1, [r0, 0x2E] - movs r0, 0xE - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x1 - strh r1, [r0, 0x2E] - movs r0, 0x78 - strh r0, [r2, 0x10] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - b _08176514 - .pool -_08176414: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r1, r0, r6 - ldrh r2, [r1, 0x10] - movs r3, 0x10 - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _0817642C - subs r0, r2, 0x1 - strh r0, [r1, 0x10] - b _08176514 -_0817642C: - movs r0, 0x40 - strh r0, [r1, 0x12] -_08176430: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _08176514 -_08176438: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r6 - ldrh r1, [r4, 0x12] - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _08176464 - subs r0, r1, 0x1 - strh r0, [r4, 0x12] -_0817644E: - movs r1, 0x7F - ands r0, r1 - movs r1, 0x14 - bl Sin - ldr r1, =gUnknown_0203BD26 - strh r0, [r1] - b _08176514 - .pool -_08176464: - ldr r2, =gSprites - movs r3, 0xC - ldrsh r1, [r4, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x1 - strh r1, [r0, 0x2E] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _08176514 - .pool -_08176484: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r6 - movs r1, 0x32 - b _08176512 -_08176490: - ldr r3, =gSprites - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r6 - movs r0, 0xE - ldrsh r2, [r1, r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - movs r2, 0x2 - b _081764C8 - .pool -_081764B0: - ldr r3, =gSprites - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r6 - movs r0, 0xC - ldrsh r2, [r1, r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - movs r2, 0x4 -_081764C8: - strh r2, [r0, 0x2E] - movs r0, 0x32 - strh r0, [r1, 0x8] - b _08176514 - .pool -_081764D4: - ldr r3, =gSprites - lsls r2, r5, 2 - adds r2, r5 - lsls r2, 3 - adds r2, r6 - movs r0, 0xC - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x5 - strh r1, [r0, 0x2E] - movs r0, 0xE - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x3 - strh r1, [r0, 0x2E] - movs r0, 0x32 - strh r0, [r2, 0x8] - b _08176514 - .pool -_08176508: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r6 - movs r1, 0 -_08176512: - strh r1, [r0, 0x8] -_08176514: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_817624C - - thumb_func_start sub_817651C -sub_817651C: @ 817651C - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - movs r3, 0x8 - ldrsh r0, [r0, r3] - adds r4, r1, 0 - cmp r0, 0x4 - bhi _0817655C - lsls r0, 2 - ldr r1, =_08176548 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08176548: - .4byte _0817655C - .4byte _081765A0 - .4byte _081765AC - .4byte _081765F4 - .4byte _08176640 -_0817655C: - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r2, r0, r4 - movs r1, 0xA - ldrsh r0, [r2, r1] - ldr r5, =0x00007fff - cmp r0, r5 - beq _081765A0 - movs r3, 0xC - ldrsh r1, [r2, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r3, r0, r4 - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r1, 0xC - ldrsh r0, [r0, r1] - cmp r0, 0x2 - bne _081765A0 - movs r1, 0xA - ldrsh r0, [r3, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r4 - movs r0, 0x14 - strh r0, [r1, 0x8] - strh r5, [r2, 0xA] -_081765A0: - movs r0, 0 - bl sub_817B540 - b _08176646 - .pool -_081765AC: - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r2, r0, r4 - movs r3, 0xA - ldrsh r0, [r2, r3] - ldr r5, =0x00007fff - cmp r0, r5 - beq _08176638 - movs r0, 0xC - ldrsh r1, [r2, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r3, 0xA - ldrsh r1, [r0, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r3, r0, r4 - ldrh r1, [r3, 0x12] - movs r0, 0x80 - negs r0, r0 - ands r0, r1 - movs r1, 0xA0 - lsls r1, 2 - cmp r0, r1 - bne _08176638 - movs r0, 0x1 - strh r0, [r3, 0x8] - strh r5, [r2, 0xA] - b _08176638 - .pool -_081765F4: - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r2, r0, r4 - ldrh r3, [r2, 0xA] - movs r0, 0xA - ldrsh r1, [r2, r0] - ldr r5, =0x00007fff - cmp r1, r5 - beq _08176638 - movs r0, 0x92 - lsls r0, 2 - cmp r1, r0 - bne _08176634 - movs r3, 0xC - ldrsh r1, [r2, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r3, 0xA - ldrsh r1, [r0, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r1, 0xA - strh r1, [r0, 0x8] - strh r5, [r2, 0xA] - b _08176638 - .pool -_08176634: - adds r0, r3, 0x1 - strh r0, [r2, 0xA] -_08176638: - movs r0, 0x1 - bl sub_817B540 - b _08176646 -_08176640: - movs r0, 0x2 - bl sub_817B540 -_08176646: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_817651C - - thumb_func_start sub_817664C -sub_817664C: @ 817664C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r7, r1, 24 - cmp r0, 0x4 - bls _08176662 - b _081769E0 -_08176662: - lsls r0, 2 - ldr r1, =_08176670 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08176670: - .4byte _08176684 - .4byte _0817672C - .4byte _081767D8 - .4byte _08176884 - .4byte _08176934 -_08176684: - ldr r5, =gSprites - ldr r0, =gTasks - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - adds r4, r0 - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r3, 0 - movs r2, 0x88 - lsls r2, 1 - strh r2, [r0, 0x20] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x20] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r2, 0x2E - strh r2, [r0, 0x22] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x22] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - movs r2, 0x20 - b _081769D4 - .pool -_0817672C: - ldr r5, =gSprites - ldr r0, =gTasks - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - adds r4, r0 - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r3, 0 - movs r1, 0x78 - strh r1, [r0, 0x20] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x88 - lsls r1, 1 - strh r1, [r0, 0x20] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r2, 0x2E - strh r2, [r0, 0x22] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x22] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - movs r2, 0x20 - b _081769D4 - .pool -_081767D8: - ldr r5, =gSprites - ldr r0, =gTasks - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - adds r4, r0 - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r3, 0 - movs r1, 0x78 - strh r1, [r0, 0x20] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x88 - lsls r1, 1 - strh r1, [r0, 0x20] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r2, 0x2E - strh r2, [r0, 0x22] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x22] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r1, 0x80 - lsls r1, 6 - movs r2, 0x80 - lsls r2, 2 - movs r0, 0x1 - b _081769D4 - .pool -_08176884: - ldr r5, =gSprites - ldr r0, =gTasks - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - adds r4, r0 - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r3, 0 - movs r1, 0x78 - strh r1, [r0, 0x20] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, =0x0000ffe0 - strh r1, [r0, 0x20] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r2, 0x2E - strh r2, [r0, 0x22] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x22] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r1, 0x80 - lsls r1, 6 - movs r2, 0x80 - lsls r2, 2 - movs r0, 0x1 - b _081769D4 - .pool -_08176934: - ldr r5, =gSprites - ldr r0, =gTasks - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - adds r4, r0 - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r3, 0 - movs r1, 0x58 - strh r1, [r0, 0x20] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x98 - strh r1, [r0, 0x20] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r2, 0x2E - strh r2, [r0, 0x22] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x22] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r1, 0x80 - lsls r1, 6 - movs r2, 0x80 - lsls r2, 2 - movs r0, 0x2 -_081769D4: - movs r3, 0x8 - bl sub_817B3DC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x8] -_081769E0: - ldr r0, =sub_817651C - movs r1, 0 - bl CreateTask - ldr r6, =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r5, r1, r6 - lsls r0, 24 - lsrs r0, 24 - movs r4, 0 - strh r0, [r5, 0xC] - movs r0, 0xC - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - mov r1, r8 - strh r1, [r0, 0x8] - movs r0, 0xC - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - strh r4, [r0, 0xA] - movs r0, 0xC - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - strh r7, [r0, 0xC] - ldr r0, =sub_817624C - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xA] - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - strh r4, [r0, 0x8] - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - strh r7, [r0, 0xA] - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - ldrh r1, [r5, 0x12] - strh r1, [r0, 0xC] - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - ldrh r1, [r5, 0x14] - strh r1, [r0, 0xE] - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - strh r4, [r0, 0x10] - mov r1, r8 - cmp r1, 0x2 - bne _08176A94 - movs r1, 0xA - ldrsh r0, [r5, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r6 - movs r0, 0x45 - strh r0, [r1, 0x12] -_08176A94: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817664C - - thumb_func_start sub_8176AB0 -sub_8176AB0: @ 8176AB0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r6, r0, r1 - ldrb r0, [r6] - cmp r0, 0x1 - beq _08176B30 - cmp r0, 0x1 - ble _08176AD6 - cmp r0, 0x2 - beq _08176B54 - cmp r0, 0x3 - bne _08176AD6 - b _08176C80 -_08176AD6: - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1C - movs r1, 0x8 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - bl ResetSpriteData - bl FreeAllSpritePalettes - movs r0, 0x1 - strb r0, [r6] - b _08176C96 - .pool -_08176B30: - ldr r1, =gUnknown_0203BD24 - movs r0, 0x22 - strh r0, [r1] - ldr r1, =gUnknown_0203BD26 - movs r0, 0 - strh r0, [r1] - adds r0, r4, 0 - bl sub_817B1C8 - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] - b _08176C96 - .pool -_08176B54: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08176BD8 - ldr r0, =gUnknown_085F5334 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085F53BC - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085F5354 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085F5384 - bl LoadSpritePalettes - movs r0, 0x78 - movs r1, 0x2E - bl sub_817B834 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - strh r2, [r4, 0x12] - ldr r6, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r5, r6, 0 - adds r5, 0x1C - adds r2, r0, r5 - ldr r1, =sub_8176EE8 - str r1, [r2] - adds r6, 0x8 - adds r0, r6 - ldr r1, =gUnknown_085E6FD0 - str r1, [r0] - movs r0, 0x88 - lsls r0, 1 - movs r1, 0x2E - bl sub_817B88C - b _08176C2C - .pool -_08176BD8: - ldr r0, =gUnknown_085F5344 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085F53AC - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085F5354 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085F5384 - bl LoadSpritePalettes - movs r0, 0x78 - movs r1, 0x2E - bl sub_817B88C - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - strh r2, [r4, 0x12] - ldr r6, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r5, r6, 0 - adds r5, 0x1C - adds r2, r0, r5 - ldr r1, =sub_8176EE8 - str r1, [r2] - adds r6, 0x8 - adds r0, r6 - ldr r1, =gUnknown_085E6FD0 - str r1, [r0] - movs r0, 0x88 - lsls r0, 1 - movs r1, 0x2E - bl sub_817B834 -_08176C2C: - lsls r0, 24 - lsrs r2, r0, 24 - strh r2, [r4, 0x14] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r5, r0, r5 - ldr r1, =sub_8176F90 - str r1, [r5] - adds r0, r6 - ldr r1, =gUnknown_085E7010 - str r1, [r0] - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08176C96 - .pool -_08176C80: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_817664C - adds r0, r4, 0 - bl sub_817B3A8 - movs r0, 0 - strb r0, [r6] - movs r0, 0x1 - b _08176C98 -_08176C96: - movs r0, 0 -_08176C98: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8176AB0 - - thumb_func_start sub_8176CA0 -sub_8176CA0: @ 8176CA0 - 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 r1, [r4, 0x8] - movs r2, 0x8 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08176CC6 - lsls r0, r1, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - strh r0, [r4, 0x8] -_08176CC6: - ldrh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08176CDC - lsls r0, r1, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - strh r0, [r4, 0xA] -_08176CDC: - ldrh r1, [r4, 0xC] - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08176CF2 - lsls r0, r1, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - strh r0, [r4, 0xC] -_08176CF2: - ldrh r1, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08176D08 - lsls r0, r1, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - strh r0, [r4, 0xE] -_08176D08: - ldr r1, =gUnknown_0203BD28 - movs r0, 0x1 - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8176CA0 - - thumb_func_start sub_8176D1C -sub_8176D1C: @ 8176D1C - push {r4-r7,lr} - adds r3, r0, 0 - adds r4, r2, 0 - lsls r3, 16 - lsrs r3, 16 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r4, 16 - lsrs r5, r4, 16 - ldr r0, =gUnknown_085E5770 - movs r6, 0xC0 - lsls r6, 19 - adds r3, r6 - adds r1, r3, 0 - bl LZ77UnCompVram - ldr r0, =gIntroCopyright_Pal - adds r1, r5, 0 - movs r2, 0x20 - bl LoadPalette - lsrs r4, 20 - lsls r4, 28 - lsrs r4, 16 - movs r1, 0 - adds r4, 0x1 - ldr r2, =0x000003ff -_08176D52: - lsls r0, r1, 1 - adds r0, r7 - adds r0, r6 - strh r4, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r2 - bls _08176D52 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8176D1C - - thumb_func_start sub_8176D78 -sub_8176D78: @ 8176D78 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - adds r3, r2, 0 - movs r0, 0x3F - ands r0, r2 - adds r1, r0, 0 - adds r1, 0x50 - cmp r2, 0xFF - bne _08176D90 - movs r0, 0x1 - b _08176DB6 -_08176D90: - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _08176DA0 - movs r2, 0x80 - lsls r2, 4 - adds r0, r2, 0 - orrs r1, r0 -_08176DA0: - movs r0, 0x40 - ands r3, r0 - cmp r3, 0 - beq _08176DB4 - movs r2, 0x80 - lsls r2, 3 - adds r0, r2, 0 - orrs r1, r0 - lsls r0, r1, 16 - lsrs r1, r0, 16 -_08176DB4: - adds r0, r1, 0 -_08176DB6: - pop {r1} - bx r1 - thumb_func_end sub_8176D78 - - thumb_func_start sub_8176DBC -sub_8176DBC: @ 8176DBC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - str r0, [sp] - ldr r0, [sp, 0x2C] - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x4] - lsls r3, 16 - lsrs r3, 16 - str r3, [sp, 0x8] - lsls r0, 16 - lsrs r0, 20 - lsls r0, 28 - lsrs r0, 16 - mov r9, r0 - movs r5, 0 -_08176DEA: - movs r4, 0 - lsls r7, r5, 1 - ldr r1, [sp, 0x4] - adds r0, r1, r5 - adds r2, r5, 0x1 - mov r8, r2 - lsls r0, 6 - ldr r1, [sp, 0x8] - adds r6, r0, r1 -_08176DFC: - adds r0, r7, r5 - adds r0, r4 - ldr r2, [sp] - adds r0, r2, r0 - ldrb r0, [r0] - bl sub_8176D78 - mov r2, r10 - adds r1, r2, r4 - lsls r1, 1 - adds r1, r6 - movs r2, 0xC0 - lsls r2, 19 - adds r1, r2 - add r0, r9 - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _08176DFC - mov r1, r8 - lsls r0, r1, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _08176DEA - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8176DBC - - thumb_func_start sub_8176E40 -sub_8176E40: @ 8176E40 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 16 - lsrs r6, r1, 16 - lsrs r1, 20 - lsls r1, 28 - lsrs r1, 16 - movs r2, 0 - ldr r7, =gUnknown_085E5BAC - movs r4, 0xC0 - lsls r4, 19 - adds r1, 0x1 - ldr r3, =0x000003ff -_08176E5E: - lsls r0, r2, 1 - adds r0, r5 - adds r0, r4 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, r3 - bls _08176E5E - str r6, [sp] - adds r0, r7, 0 - movs r1, 0x3 - movs r2, 0x7 - adds r3, r5, 0 - bl sub_8176DBC - ldr r0, =gUnknown_085E5BBB - str r6, [sp] - movs r1, 0x7 - movs r2, 0x7 - adds r3, r5, 0 - bl sub_8176DBC - ldr r4, =gUnknown_085E5BCA - str r6, [sp] - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0x7 - adds r3, r5, 0 - bl sub_8176DBC - str r6, [sp] - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0x7 - adds r3, r5, 0 - bl sub_8176DBC - ldr r0, =gUnknown_085E5BD9 - str r6, [sp] - movs r1, 0x14 - movs r2, 0x7 - adds r3, r5, 0 - bl sub_8176DBC - ldr r0, =gUnknown_085E5BE8 - str r6, [sp] - movs r1, 0x18 - movs r2, 0x7 - adds r3, r5, 0 - bl sub_8176DBC - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8176E40 - - thumb_func_start sub_8176EE8 -sub_8176EE8: @ 8176EE8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_0203BD28 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08176F04 - adds r0, r4, 0 - bl DestroySprite - b _08176F88 - .pool -_08176F04: - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0x5 - bhi _08176F88 - lsls r0, 2 - ldr r1, =_08176F1C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08176F1C: - .4byte _08176F34 - .4byte _08176F3E - .4byte _08176F44 - .4byte _08176F4E - .4byte _08176F58 - .4byte _08176F6E -_08176F34: - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent - b _08176F88 -_08176F3E: - adds r0, r4, 0 - movs r1, 0x1 - b _08176F72 -_08176F44: - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAnimIfDifferent - b _08176F88 -_08176F4E: - adds r0, r4, 0 - movs r1, 0x3 - bl StartSpriteAnimIfDifferent - b _08176F88 -_08176F58: - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent - ldrh r1, [r4, 0x20] - movs r2, 0x20 - ldrsh r0, [r4, r2] - cmp r0, 0x78 - ble _08176F88 - subs r0, r1, 0x1 - b _08176F86 -_08176F6E: - adds r0, r4, 0 - movs r1, 0 -_08176F72: - bl StartSpriteAnimIfDifferent - ldrh r2, [r4, 0x20] - movs r0, 0x20 - ldrsh r1, [r4, r0] - movs r0, 0x20 - negs r0, r0 - cmp r1, r0 - ble _08176F88 - subs r0, r2, 0x1 -_08176F86: - strh r0, [r4, 0x20] -_08176F88: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8176EE8 - - thumb_func_start sub_8176F90 -sub_8176F90: @ 8176F90 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_0203BD28 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08176FAC - adds r0, r4, 0 - bl DestroySprite - b _08177048 - .pool -_08176FAC: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08176FD4 - cmp r0, 0x1 - bgt _08176FBE - cmp r0, 0 - beq _08176FC8 - b _08177048 -_08176FBE: - cmp r0, 0x2 - beq _08177010 - cmp r0, 0x3 - beq _0817702E - b _08177048 -_08176FC8: - strh r0, [r4, 0x26] - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent - b _08177048 -_08176FD4: - movs r1, 0x20 - ldrsh r0, [r4, r1] - cmp r0, 0xC8 - ble _08176FE6 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnimIfDifferent - b _08176FEE -_08176FE6: - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAnimIfDifferent -_08176FEE: - ldrh r2, [r4, 0x20] - movs r0, 0x20 - ldrsh r1, [r4, r0] - movs r0, 0x20 - negs r0, r0 - cmp r1, r0 - ble _08177000 - subs r0, r2, 0x2 - strh r0, [r4, 0x20] -_08177000: - ldr r0, =gUnknown_0203BD26 - ldrh r0, [r0] - negs r0, r0 - strh r0, [r4, 0x26] - b _08177048 - .pool -_08177010: - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent - ldrh r1, [r4, 0x3C] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08177048 - ldrh r0, [r4, 0x20] - adds r0, 0x1 - b _08177046 -_0817702E: - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent - ldrh r2, [r4, 0x20] - movs r0, 0x20 - ldrsh r1, [r4, r0] - movs r0, 0x20 - negs r0, r0 - cmp r1, r0 - ble _08177048 - subs r0, r2, 0x1 -_08177046: - strh r0, [r4, 0x20] -_08177048: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8176F90 - - thumb_func_start sub_8177050 -sub_8177050: @ 8177050 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - ldr r0, =gUnknown_0203BD28 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _0817706C - ldrh r0, [r5, 0x3A] - bl sub_818D820 - b _0817721C - .pool -_0817706C: - ldrh r0, [r5, 0x3C] - adds r0, 0x1 - strh r0, [r5, 0x3C] - movs r2, 0x2E - ldrsh r0, [r5, r2] - cmp r0, 0xA - bhi _081770B4 - lsls r0, 2 - ldr r1, =_08177088 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08177088: - .4byte _081770B4 - .4byte _0817710E - .4byte _08177190 - .4byte _081771C6 - .4byte _081770B4 - .4byte _081770B4 - .4byte _081770B4 - .4byte _081770B4 - .4byte _081770B4 - .4byte _081771FE - .4byte _08177206 -_081770B4: - ldrb r1, [r5, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r5, 0x1] - movs r0, 0x30 - ldrsh r1, [r5, r0] - movs r0, 0x1F - ands r1, r0 - lsls r1, 1 - ldrb r2, [r5, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x3] - movs r0, 0x10 - strh r0, [r5, 0x32] - ldrh r4, [r5, 0x30] - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x80 - lsls r0, 9 - movs r1, 0x10 - bl __divsi3 - adds r1, r0, 0 - str r1, [sp] - adds r0, r4, 0 - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - adds r2, r5, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - movs r0, 0x1 - strh r0, [r5, 0x2E] - b _0817721C -_0817710E: - ldrh r1, [r5, 0x32] - movs r2, 0x32 - ldrsh r0, [r5, r2] - cmp r0, 0xFF - bgt _08177144 - adds r0, r1, 0 - adds r0, 0x8 - strh r0, [r5, 0x32] - ldrh r4, [r5, 0x30] - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x32 - ldrsh r1, [r5, r0] - movs r0, 0x80 - lsls r0, 9 - bl __divsi3 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - adds r0, r4, 0 - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - b _0817714A -_08177144: - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] -_0817714A: - movs r2, 0x30 - ldrsh r1, [r5, r2] - cmp r1, 0x2 - beq _0817721C - cmp r1, 0x2 - bgt _0817715C - cmp r1, 0x1 - beq _08177162 - b _0817721C -_0817715C: - cmp r1, 0x3 - beq _0817717A - b _0817721C -_08177162: - ldrh r1, [r5, 0x3C] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08177172 - ldrh r0, [r5, 0x22] - adds r0, 0x1 - strh r0, [r5, 0x22] -_08177172: - ldrh r0, [r5, 0x20] - subs r0, 0x2 - strh r0, [r5, 0x20] - b _0817721C -_0817717A: - ldrh r0, [r5, 0x3C] - ands r1, r0 - cmp r1, 0 - bne _08177188 - ldrh r0, [r5, 0x22] - adds r0, 0x1 - strh r0, [r5, 0x22] -_08177188: - ldrh r0, [r5, 0x20] - adds r0, 0x2 - strh r0, [r5, 0x20] - b _0817721C -_08177190: - ldrh r1, [r5, 0x34] - movs r2, 0x34 - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _081771A0 - subs r0, r1, 0x1 - strh r0, [r5, 0x34] - b _0817721C -_081771A0: - movs r1, 0xF4 - lsls r1, 4 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0x10 - bl SetGpuReg - ldrb r1, [r5, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r5, 0x1] - movs r0, 0x10 - strh r0, [r5, 0x34] - b _081771FE -_081771C6: - ldrh r1, [r5, 0x34] - movs r2, 0x34 - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _081771EC - subs r1, 0x1 - strh r1, [r5, 0x34] - movs r0, 0x34 - ldrsh r2, [r5, r0] - movs r0, 0x10 - subs r0, r2 - lsls r0, 8 - adds r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - b _0817721C -_081771EC: - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x9 - strh r0, [r5, 0x2E] - b _0817721C -_081771FE: - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - b _0817721C -_08177206: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - ldrh r0, [r5, 0x3A] - bl sub_818D820 -_0817721C: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8177050 - - thumb_func_start sub_8177224 -sub_8177224: @ 8177224 - push {r4-r7,lr} - adds r5, r3, 0 - lsls r0, 16 - lsrs r0, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - adds r3, r5, 0 - bl sub_80C0E9C - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r6, =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r2, r1, r6 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - movs r3, 0x4 - orrs r0, r3 - strb r0, [r2, 0x5] - adds r0, r5, 0x1 - strh r0, [r2, 0x30] - movs r0, 0x3E - adds r0, r2 - mov r12, r0 - ldrb r0, [r0] - orrs r0, r3 - mov r3, r12 - strb r0, [r3] - adds r0, r6, 0 - adds r0, 0x1C - adds r1, r0 - ldr r0, =sub_8177050 - str r0, [r1] - strh r4, [r2, 0x3A] - ldr r0, =gUnknown_085E7068 - movs r7, 0x20 - ldrsh r1, [r2, r7] - movs r3, 0x22 - ldrsh r2, [r2, r3] - movs r3, 0x1 - bl CreateSprite - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r4, [r0, 0x2E] - lsls r5, 24 - lsrs r5, 24 - adds r1, r5, 0 - bl StartSpriteAnimIfDifferent - adds r0, r4, 0 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8177224 - - thumb_func_start sub_81772B8 -sub_81772B8: @ 81772B8 - push {r4,lr} - adds r3, r0, 0 - ldr r4, =gSprites - movs r1, 0x2E - ldrsh r0, [r3, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0xA - beq _081772DC - ldr r0, =gUnknown_0203BD28 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - beq _081772EC -_081772DC: - adds r0, r3, 0 - bl DestroySprite - b _08177380 - .pool -_081772EC: - adds r0, r1, 0 - adds r0, 0x3E - ldrb r0, [r0] - movs r1, 0x3E - adds r1, r3 - mov r12, r1 - movs r1, 0x4 - ands r1, r0 - mov r0, r12 - ldrb r2, [r0] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - movs r2, 0x2E - ldrsh r1, [r3, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x1] - movs r0, 0xC - ands r0, r1 - ldrb r2, [r3, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x1] - movs r0, 0x2E - ldrsh r2, [r3, r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x1] - lsls r0, 30 - lsrs r0, 30 - movs r2, 0x4 - negs r2, r2 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x1] - movs r2, 0x2E - ldrsh r1, [r3, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x3] - movs r1, 0x3E - ands r1, r0 - ldrb r2, [r3, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x3] - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x20] - strh r0, [r3, 0x20] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x22] - strh r0, [r3, 0x22] -_08177380: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81772B8 - - thumb_func_start sub_8177388 -sub_8177388: @ 8177388 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, =0x00004023 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - bl GetStarterPokemon - lsls r0, 16 - lsrs r0, 16 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - movs r4, 0x1 - movs r6, 0 - ldr r5, =0x00000181 -_081773B4: - adds r0, r4, 0 - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _081773D4 - ldr r0, =gUnknown_0203BCE8 - ldr r0, [r0] - lsls r1, r6, 1 - adds r0, 0x96 - adds r0, r1 - strh r4, [r0] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_081773D4: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r5 - bls _081773B4 - adds r4, r6, 0 - ldr r0, =0x00000181 - ldr r1, =gUnknown_0203BCE8 - mov r8, r1 - lsls r7, r4, 16 - cmp r4, r0 - bhi _08177406 - mov r5, r8 - movs r3, 0 - adds r2, r0, 0 -_081773F2: - ldr r0, [r5] - lsls r1, r4, 1 - adds r0, 0x96 - adds r0, r1 - strh r3, [r0] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r2 - bls _081773F2 -_08177406: - mov r2, r8 - ldr r1, [r2] - ldr r2, =0x0000039a - adds r0, r1, r2 - strh r6, [r0] - lsrs r0, r7, 16 - cmp r0, 0x46 - bhi _08177430 - adds r0, r1, 0 - adds r0, 0x94 - strh r6, [r0] - b _08177436 - .pool -_08177430: - adds r1, 0x94 - movs r0, 0x47 - strh r0, [r1] -_08177436: - movs r6, 0 - ldr r0, =gUnknown_0203BCE8 - mov r9, r0 - ldr r1, =0x0000039a - mov r8, r1 - movs r7, 0 - b _08177450 - .pool -_0817744C: - cmp r6, 0x46 - bhi _081774AC -_08177450: - bl Random - mov r2, r9 - ldr r4, [r2] - mov r1, r8 - adds r5, r4, r1 - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r5] - bl __umodsi3 - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, r6, 1 - adds r1, r4, r1 - lsls r0, r3, 1 - adds r4, 0x96 - adds r2, r4, r0 - ldrh r0, [r2] - strh r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - strh r7, [r2] - ldrh r0, [r5] - subs r0, 0x1 - strh r0, [r5] - lsls r0, 16 - lsrs r0, 16 - cmp r3, r0 - beq _081774A0 - ldrh r0, [r5] - lsls r0, 1 - adds r0, r4, r0 - ldrh r0, [r0] - strh r0, [r2] - ldrh r0, [r5] - lsls r0, 1 - adds r0, r4, r0 - strh r7, [r0] -_081774A0: - mov r2, r9 - ldr r0, [r2] - add r0, r8 - ldrh r0, [r0] - cmp r0, 0 - bne _0817744C -_081774AC: - ldr r1, =gUnknown_0203BCE8 - ldr r2, [r1] - adds r3, r2, 0 - adds r3, 0x94 - ldrh r0, [r3] - mov r8, r1 - cmp r0, 0x46 - bhi _081774F8 - adds r6, r0, 0 - movs r3, 0 - cmp r6, 0x46 - bhi _081774EE - mov r4, r8 -_081774C6: - ldr r2, [r4] - lsls r1, r6, 1 - adds r1, r2, r1 - lsls r0, r3, 1 - adds r0, r2, r0 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - adds r2, 0x94 - ldrh r2, [r2] - cmp r3, r2 - bne _081774E4 - movs r3, 0 -_081774E4: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x46 - bls _081774C6 -_081774EE: - mov r1, r8 - ldr r0, [r1] - b _08177538 - .pool -_081774F8: - movs r4, 0 - ldrh r0, [r2] - cmp r0, r10 - beq _08177516 - adds r1, r2, 0 -_08177502: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - lsls r0, r4, 1 - adds r0, r1, r0 - ldrh r0, [r0] - cmp r0, r10 - beq _08177516 - cmp r4, 0x46 - bls _08177502 -_08177516: - mov r0, r8 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x94 - ldrh r0, [r0] - subs r0, 0x1 - cmp r4, r0 - bge _08177536 - lsls r0, r4, 1 - adds r0, r2, r0 - adds r2, 0x8C - ldrh r1, [r2] - strh r1, [r0] - mov r1, r10 - strh r1, [r2] - b _0817753E -_08177536: - adds r0, r2, 0 -_08177538: - adds r0, 0x8C - mov r2, r10 - strh r2, [r0] -_0817753E: - mov r1, r8 - ldr r0, [r1] - adds r0, 0x94 - movs r1, 0x47 - strh r1, [r0] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8177388 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index c1c96272f..7e25c45da 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -326,7 +326,7 @@ _0809C13A: beq _0809C15C movs r0, 0x6 bl PlaySE - bl sub_809FA9C + bl ShowStartMenu _0809C14E: movs r0, 0x1 b _0809C172 diff --git a/asm/field_specials.s b/asm/field_specials.s index 29c6dc800..ca22af002 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -3388,7 +3388,7 @@ _0813980C: _0813981C: ldrh r5, [r2] adds r0, r5, 0 - bl sub_80EF370 + bl CountDigits adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -3408,7 +3408,7 @@ _0813983C: adds r4, 0x4 ldrh r5, [r2] adds r0, r5, 0 - bl sub_80EF370 + bl CountDigits adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -4894,7 +4894,7 @@ sub_813A46C: @ 813A46C lsrs r0, 24 mov r1, sp movs r2, 0 - bl sub_81AE860 + bl ListMenuGetScrollAndRow ldr r1, =gUnknown_0203AB68 mov r0, sp ldrh r0, [r0] @@ -4903,7 +4903,7 @@ sub_813A46C: @ 813A46C lsls r0, 24 lsrs r0, 24 mov r1, sp - bl sub_81AE838 + bl ListMenuGetCurrentItemArrayId ldrh r0, [r4, 0x1E] ldr r5, =gUnknown_0203AB6A ldrh r1, [r5] @@ -5007,7 +5007,7 @@ sub_813A570: @ 813A570 lsls r0, 24 lsrs r0, 24 mov r1, sp - bl sub_81AE838 + bl ListMenuGetCurrentItemArrayId ldrh r0, [r4, 0x1E] mov r1, sp ldrh r1, [r1] @@ -5019,7 +5019,7 @@ sub_813A570: @ 813A570 lsrs r0, 24 movs r1, 0 movs r2, 0 - bl sub_81AE6C8 + bl DestroyListMenuTask ldr r0, =gUnknown_0203AB64 ldr r0, [r0] bl Free @@ -6012,7 +6012,7 @@ sub_813ADD4: @ 813ADD4 adds r4, 0x16 add r1, sp, 0x14 adds r2, r4, 0 - bl sub_81AE860 + bl ListMenuGetScrollAndRow ldrh r0, [r6, 0x22] lsls r0, 24 lsrs r0, 24 @@ -6173,7 +6173,7 @@ sub_813AF48: @ 813AF48 lsrs r0, 24 movs r1, 0 movs r2, 0 - bl sub_81AE6C8 + bl DestroyListMenuTask ldr r0, =gUnknown_0203AB64 ldr r0, [r0] bl Free @@ -6817,7 +6817,7 @@ sub_813B4E0: @ 813B4E0 push {lr} ldr r0, =gSpecialVar_0x8004 ldrh r0, [r0] - bl sub_81D15CC + bl GetRematchIdxByTrainerIdx cmp r0, 0 blt _0813B50C movs r1, 0xAE diff --git a/asm/fldeff_flash.s b/asm/fldeff_flash.s deleted file mode 100644 index e7e605abe..000000000 --- a/asm/fldeff_flash.s +++ /dev/null @@ -1,709 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start SetUpFieldMove_Flash -SetUpFieldMove_Flash: @ 81370FC - push {r4,lr} - bl ShouldDoBrailleFlyEffect - lsls r0, 24 - cmp r0, 0 - beq _08137134 - ldr r4, =gSpecialVar_Result - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - ldr r1, =gUnknown_03005DB0 - ldr r0, =FieldCallback_Teleport - str r0, [r1] - ldr r1, =gUnknown_0203CEEC - ldr r0, =sub_8179918 - b _08137152 - .pool -_08137134: - ldr r0, =gMapHeader - ldrb r0, [r0, 0x15] - cmp r0, 0x1 - bne _08137170 - ldr r0, =0x00000888 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _08137170 - ldr r1, =gUnknown_03005DB0 - ldr r0, =FieldCallback_Teleport - str r0, [r1] - ldr r1, =gUnknown_0203CEEC - ldr r0, =hm2_flash -_08137152: - str r0, [r1] - movs r0, 0x1 - b _08137172 - .pool -_08137170: - movs r0, 0 -_08137172: - pop {r4} - pop {r1} - bx r1 - thumb_func_end SetUpFieldMove_Flash - - thumb_func_start hm2_flash -hm2_flash: @ 8137178 - push {r4,lr} - bl oei_task_add - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl GetCursorSelectionMonId - ldr r1, =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r2, =sub_81371B4 - lsrs r1, r2, 16 - strh r1, [r0, 0x18] - strh r2, [r0, 0x1A] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end hm2_flash - - thumb_func_start sub_81371B4 -sub_81371B4: @ 81371B4 - push {lr} - movs r0, 0xCF - bl PlaySE - ldr r0, =0x00000888 - bl FlagSet - ldr r0, =EventScript_2926F8 - bl ScriptContext1_SetupScript - pop {r0} - bx r0 - .pool - thumb_func_end sub_81371B4 - - thumb_func_start sub_81371D4 -sub_81371D4: @ 81371D4 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_81371D4 - - thumb_func_start sub_81371EC -sub_81371EC: @ 81371EC - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_81371EC - - thumb_func_start c2_change_map -c2_change_map: @ 8137200 - push {r4,lr} - sub sp, 0x8 - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0xC - movs r1, 0 - bl SetGpuReg - movs r0, 0xA - movs r1, 0 - bl SetGpuReg - movs r0, 0x8 - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, =0x040000d4 - mov r0, sp - str r0, [r1] - movs r0, 0xC0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, =0x8100c000 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r4, 0 - str r4, [sp, 0x4] - add r0, sp, 0x4 - str r0, [r1] - movs r0, 0xE0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, =0x85000100 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r0, sp - strh r4, [r0] - str r0, [r1] - ldr r0, =0x05000002 - str r0, [r1, 0x4] - ldr r0, =0x810001ff - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl ResetPaletteFade - bl ResetTasks - bl ResetSpriteData - ldr r3, =0x04000208 - ldrh r2, [r3] - strh r4, [r3] - ldr r4, =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r0, =sub_81371EC - bl SetVBlankCallback - ldr r0, =sub_81371D4 - bl SetMainCallback2 - bl sub_8137304 - lsls r0, 24 - cmp r0, 0 - bne _081372D2 - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_081372D2: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end c2_change_map - - thumb_func_start sub_8137304 -sub_8137304: @ 8137304 - push {r4-r7,lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r6, r0, 24 - bl Overworld_GetMapTypeOfSaveblockLocation - lsls r0, 24 - lsrs r5, r0, 24 - movs r3, 0 - ldr r4, =gUnknown_085B27C8 - ldrb r0, [r4] - cmp r0, 0 - beq _08137358 - adds r7, r4, 0 - adds r0, r4, 0x4 - mov r12, r0 -_08137326: - lsls r2, r3, 3 - adds r1, r2, r7 - ldrb r0, [r1] - cmp r0, r6 - bne _08137348 - ldrb r0, [r1, 0x1] - cmp r0, r5 - bne _08137348 - mov r1, r12 - adds r0, r2, r1 - ldr r0, [r0] - bl _call_via_r0 - movs r0, 0x1 - b _0813735A - .pool -_08137348: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 3 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _08137326 -_08137358: - movs r0, 0 -_0813735A: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8137304 - - thumb_func_start sub_8137360 -sub_8137360: @ 8137360 - push {r4-r6,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r0, 24 - lsrs r4, r1, 24 - movs r3, 0 - ldr r1, =gUnknown_085B27C8 - ldrb r0, [r1] - cmp r0, 0 - beq _081373A0 - adds r6, r1, 0 -_08137376: - lsls r0, r3, 3 - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, r5 - bne _08137390 - ldrb r0, [r2, 0x1] - cmp r0, r4 - bne _08137390 - ldrb r0, [r2, 0x2] - b _081373A2 - .pool -_08137390: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08137376 -_081373A0: - movs r0, 0 -_081373A2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8137360 - - thumb_func_start fade_type_for_given_maplight_pair -fade_type_for_given_maplight_pair: @ 81373A8 - push {r4-r6,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r0, 24 - lsrs r4, r1, 24 - movs r3, 0 - ldr r1, =gUnknown_085B27C8 - ldrb r0, [r1] - cmp r0, 0 - beq _081373E8 - adds r6, r1, 0 -_081373BE: - lsls r0, r3, 3 - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, r5 - bne _081373D8 - ldrb r0, [r2, 0x1] - cmp r0, r4 - bne _081373D8 - ldrb r0, [r2, 0x3] - b _081373EA - .pool -_081373D8: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _081373BE -_081373E8: - movs r0, 0 -_081373EA: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end fade_type_for_given_maplight_pair - - thumb_func_start sub_81373F0 -sub_81373F0: @ 81373F0 - push {lr} - ldr r0, =sub_8137404 - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_81373F0 - - thumb_func_start sub_8137404 -sub_8137404: @ 8137404 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =sub_8137420 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8137404 - - thumb_func_start sub_8137420 -sub_8137420: @ 8137420 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0 - bl SetGpuReg - ldr r0, =gCaveTransitionTiles - ldr r1, =0x0600c000 - bl LZ77UnCompVram - ldr r0, =gCaveTransitionTilemap - ldr r1, =0x0600f800 - bl LZ77UnCompVram - ldr r0, =gCaveTransitionPalette_White - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_085B28A0 - movs r1, 0xE0 - movs r2, 0x10 - bl LoadPalette - ldr r1, =0x00003e41 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r1, =0x00001f0c - movs r0, 0x8 - bl SetGpuReg - movs r1, 0x8A - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81374C4 - str r1, [r0] - movs r2, 0 - movs r1, 0x10 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137420 - - thumb_func_start sub_81374C4 -sub_81374C4: @ 81374C4 - 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 - ldrh r4, [r5, 0xA] - movs r0, 0x80 - lsls r0, 5 - adds r1, r4, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - cmp r4, 0x10 - bhi _081374F8 - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - b _08137500 - .pool -_081374F8: - movs r0, 0 - strh r0, [r5, 0xC] - ldr r0, =sub_813750C - str r0, [r5] -_08137500: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81374C4 - - thumb_func_start sub_813750C -sub_813750C: @ 813750C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =0x00001010 - movs r0, 0x52 - bl SetGpuReg - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r1 - ldrh r1, [r4, 0xC] - cmp r1, 0x7 - bhi _08137554 - adds r0, r1, 0x1 - strh r0, [r4, 0xC] - lsls r1, 1 - ldr r0, =gUnknown_085B28A0 - adds r0, r1, r0 - movs r2, 0x10 - subs r2, r1 - lsls r2, 16 - lsrs r2, 16 - movs r1, 0xE0 - bl LoadPalette - b _08137566 - .pool -_08137554: - ldr r0, =gCaveTransitionPalette_White - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =sub_8137574 - str r0, [r4] - movs r0, 0x8 - strh r0, [r4, 0xC] -_08137566: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813750C - - thumb_func_start sub_8137574 -sub_8137574: @ 8137574 - 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 r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _08137598 - subs r0, r2, 0x1 - strh r0, [r1, 0xC] - b _081375A0 - .pool -_08137598: - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_081375A0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137574 - - thumb_func_start sub_81375A8 -sub_81375A8: @ 81375A8 - push {lr} - ldr r0, =sub_81375BC - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_81375A8 - - thumb_func_start sub_81375BC -sub_81375BC: @ 81375BC - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =sub_81375D8 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_81375BC - - thumb_func_start sub_81375D8 -sub_81375D8: @ 81375D8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0 - bl SetGpuReg - ldr r0, =gCaveTransitionTiles - ldr r1, =0x0600c000 - bl LZ77UnCompVram - ldr r0, =gCaveTransitionTilemap - ldr r1, =0x0600f800 - bl LZ77UnCompVram - 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 r1, =0x00001f0c - movs r0, 0x8 - bl SetGpuReg - movs r1, 0x8A - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r0, =gCaveTransitionPalette_White - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gCaveTransitionPalette_Black - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_8137678 - str r1, [r0] - movs r2, 0 - movs r1, 0x10 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - strh r2, [r0, 0xC] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81375D8 - - thumb_func_start sub_8137678 -sub_8137678: @ 8137678 - 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 r1, [r4, 0xC] - cmp r1, 0xF - bhi _081376B4 - adds r2, r1, 0x1 - adds r0, r2, 0x1 - strh r0, [r4, 0xC] - movs r0, 0xF - subs r0, r1 - lsls r0, 1 - ldr r1, =gUnknown_085B2890 - adds r0, r1 - lsls r2, 17 - lsrs r2, 16 - movs r1, 0xE0 - bl LoadPalette - b _081376C8 - .pool -_081376B4: - ldr r1, =0x00001010 - movs r0, 0x52 - bl SetGpuReg - ldr r1, =0x00003e41 - movs r0, 0x50 - bl SetGpuReg - ldr r0, =sub_81376DC - str r0, [r4] -_081376C8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137678 - - thumb_func_start sub_81376DC -sub_81376DC: @ 81376DC - 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 - ldrh r0, [r5, 0xA] - movs r1, 0x10 - subs r1, r0 - lsls r1, 16 - lsrs r4, r1, 16 - movs r0, 0x80 - lsls r0, 21 - adds r1, r0 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - cmp r4, 0 - beq _08137714 - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - b _08137726 - .pool -_08137714: - ldr r0, =gCaveTransitionPalette_Black - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_08137726: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81376DC diff --git a/asm/fldeff_groundshake.s b/asm/fldeff_groundshake.s deleted file mode 100644 index 81d92430e..000000000 --- a/asm/fldeff_groundshake.s +++ /dev/null @@ -1,596 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81BE66C -sub_81BE66C: @ 81BE66C - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - movs r0, 0xD0 - lsls r0, 5 - cmp r1, r0 - bne _081BE690 - movs r0, 0xA7 - lsls r0, 1 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - b _081BE692 - .pool -_081BE690: - movs r0, 0 -_081BE692: - pop {r1} - bx r1 - thumb_func_end sub_81BE66C - - thumb_func_start sub_81BE698 -sub_81BE698: @ 81BE698 - push {lr} - ldr r0, =gUnknown_0203CF18 - ldr r0, [r0] - adds r0, 0x4 - bl sub_8151E50 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81BE698 - - thumb_func_start sub_81BE6AC -sub_81BE6AC: @ 81BE6AC - ldr r1, =gUnknown_0203CF18 - movs r0, 0 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_81BE6AC - - thumb_func_start sub_81BE6B8 -sub_81BE6B8: @ 81BE6B8 - push {r4,lr} - ldr r4, =gUnknown_0203CF18 - ldr r0, [r4] - cmp r0, 0 - beq _081BE6CC - movs r0, 0 - str r0, [r4] - b _081BE718 - .pool -_081BE6CC: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - movs r0, 0xD0 - lsls r0, 5 - cmp r1, r0 - bne _081BE718 - movs r0, 0xA7 - lsls r0, 1 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081BE718 - movs r0, 0xC8 - bl AllocZeroed - str r0, [r4] - adds r0, 0x4 - bl sub_8151B3C - ldr r0, [r4] - adds r0, 0x4 - ldr r1, =gUnknown_08617E18 - bl sub_8151B68 - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0x1 - movs r2, 0x1 - bl sub_8151CA8 - ldr r0, =sub_81BE698 - movs r1, 0xFF - bl CreateTask - ldr r1, [r4] - strb r0, [r1] -_081BE718: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81BE6B8 - - thumb_func_start sub_81BE72C -sub_81BE72C: @ 81BE72C - push {r4,lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - movs r0, 0xD0 - lsls r0, 5 - cmp r1, r0 - bne _081BE788 - movs r0, 0xA7 - lsls r0, 1 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081BE788 - ldr r4, =gUnknown_0203CF18 - ldr r0, [r4] - cmp r0, 0 - beq _081BE788 - ldr r0, =sub_81BE698 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _081BE766 - ldr r0, [r4] - ldrb r0, [r0] - bl DestroyTask -_081BE766: - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0x1 - movs r2, 0x1 - bl sub_8151D28 - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0x1 - movs r2, 0x1 - bl sub_8151C50 - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] -_081BE788: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81BE72C - - thumb_func_start sub_81BE79C -sub_81BE79C: @ 81BE79C - push {r4,lr} - ldr r0, =0x000040cb - bl VarGet - lsls r0, 16 - cmp r0, 0 - beq _081BE7B8 - movs r0, 0xA7 - lsls r0, 1 - bl FlagClear - b _081BE7EE - .pool -_081BE7B8: - bl Random - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0x1 - ands r4, r0 - movs r0, 0x9D - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081BE7D4 - movs r4, 0x1 -_081BE7D4: - cmp r4, 0 - beq _081BE7E6 - movs r0, 0xA7 - lsls r0, 1 - bl FlagSet - bl sub_81BE6B8 - b _081BE7EE -_081BE7E6: - movs r0, 0xA7 - lsls r0, 1 - bl FlagClear -_081BE7EE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81BE79C - - thumb_func_start sub_81BE7F4 -sub_81BE7F4: @ 81BE7F4 - push {lr} - ldr r0, =sub_81BE808 - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_81BE7F4 - - thumb_func_start sub_81BE808 -sub_81BE808: @ 81BE808 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x2D - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - mov r0, sp - ldrb r0, [r0] - lsls r2, r0, 3 - adds r2, r0 - lsls r2, 2 - ldr r4, =gMapObjects - adds r2, r4 - ldr r3, =gSprites - ldrb r1, [r2, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x26] - adds r1, 0x4 - strh r1, [r0, 0x26] - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r2, 0x4] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - movs r4, 0x22 - ldrsh r2, [r0, r4] - movs r4, 0x26 - ldrsh r0, [r0, r4] - adds r2, r0 - ldrb r1, [r1, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r3, 0x22 - ldrsh r1, [r0, r3] - movs r4, 0x26 - ldrsh r0, [r0, r4] - adds r1, r0 - cmp r2, r1 - blt _081BE882 - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts -_081BE882: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81BE808 - - thumb_func_start sp136_strengh_sound -sp136_strengh_sound: @ 81BE89C - push {r4-r6,lr} - mov r6, r8 - push {r6} - mov r8, r0 - adds r4, r1, 0 - adds r5, r2, 0 - adds r6, r3, 0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - ldr r0, =sub_81BE900 - 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 - movs r0, 0 - strh r4, [r1, 0x8] - strh r0, [r1, 0xA] - strh r5, [r1, 0xC] - strh r6, [r1, 0xE] - mov r0, r8 - strh r0, [r1, 0x10] - movs r0, 0 - bl SetCameraPanningCallback - movs r0, 0xD6 - bl PlaySE - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sp136_strengh_sound - - thumb_func_start sub_81BE900 -sub_81BE900: @ 81BE900 - 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 _081BE95C - 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 _081BE95C - bl sub_81BE968 - adds r0, r5, 0 - bl DestroyTask - bl InstallCameraPanAheadCallback -_081BE95C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81BE900 - - thumb_func_start sub_81BE968 -sub_81BE968: @ 81BE968 - push {lr} - ldr r0, =sub_81BE9C0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _081BE988 - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_081BE988: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81BE968 - - thumb_func_start sub_81BE994 -sub_81BE994: @ 81BE994 - push {lr} - ldr r0, =gUnknown_08617D94 - bl LoadSpriteSheets - bl sub_81BEA20 - ldr r0, =sub_81BE9C0 - movs r1, 0x8 - bl CreateTask - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0x10 - movs r3, 0x3 - bl sp136_strengh_sound - pop {r0} - bx r0 - .pool - thumb_func_end sub_81BE994 - - thumb_func_start sub_81BE9C0 -sub_81BE9C0: @ 81BE9C0 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r3, r1, 3 - ldr r4, =gTasks + 0x8 - adds r2, r3, r4 - ldrh r0, [r2, 0x2] - adds r0, 0x1 - strh r0, [r2, 0x2] - lsls r0, 16 - movs r1, 0xFA - lsls r1, 18 - cmp r0, r1 - beq _081BE9E6 - ldrh r0, [r2] - cmp r0, 0x11 - bne _081BE9F0 -_081BE9E6: - adds r0, r4, 0 - subs r0, 0x8 - adds r0, r3, r0 - ldr r1, =sub_81BEA00 - str r1, [r0] -_081BE9F0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81BE9C0 - - thumb_func_start sub_81BEA00 -sub_81BEA00: @ 81BEA00 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0xFA - lsls r0, 4 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81BEA00 - - thumb_func_start sub_81BEA20 -sub_81BEA20: @ 81BEA20 - push {r4-r7,lr} - movs r4, 0 - ldr r5, =gUnknown_08617D64 - adds r7, r5, 0x2 - ldr r6, =gSprites -_081BEA2A: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 1 - adds r1, r0, r5 - ldrh r1, [r1] - adds r1, 0x78 - lsls r1, 16 - asrs r1, 16 - adds r0, r7 - movs r3, 0 - ldrsh r2, [r0, r3] - ldr r0, =gUnknown_08617E60 - movs r3, 0x8 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r2, [r0, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r2, r1 - movs r1, 0xF - ands r2, r1 - strb r2, [r0, 0x5] - strh r4, [r0, 0x2E] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x7 - bls _081BEA2A - movs r4, 0 - ldr r5, =gUnknown_08617D64 - adds r7, r5, 0x2 - ldr r6, =gSprites -_081BEA78: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 1 - adds r1, r0, r5 - ldrh r1, [r1] - adds r1, 0x73 - lsls r1, 16 - asrs r1, 16 - adds r0, r7 - ldrh r2, [r0] - subs r2, 0x3 - lsls r2, 16 - asrs r2, 16 - ldr r0, =gUnknown_08617E34 - movs r3, 0x8 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r2, [r0, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r2, r1 - movs r1, 0xF - ands r2, r1 - strb r2, [r0, 0x5] - strh r4, [r0, 0x2E] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x7 - bls _081BEA78 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81BEA20 - - thumb_func_start sub_81BEAD8 -sub_81BEAD8: @ 81BEAD8 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - adds r0, 0x2 - strh r0, [r4, 0x30] - movs r1, 0x30 - ldrsh r0, [r4, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r4, 0x26] - movs r0, 0x22 - ldrsh r3, [r4, r0] - movs r1, 0x26 - ldrsh r0, [r4, r1] - adds r3, r0 - ldr r2, =gUnknown_08617D64 - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - adds r2, 0x4 - adds r0, r2 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r3, r0 - ble _081BEB1A - adds r0, r4, 0 - bl DestroySprite - bl sub_81BE968 -_081BEB1A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81BEAD8 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/fldeff_softboiled.s b/asm/fldeff_softboiled.s deleted file mode 100644 index c3aa4f1ed..000000000 --- a/asm/fldeff_softboiled.s +++ /dev/null @@ -1,339 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start hm_prepare_dive_probably -hm_prepare_dive_probably: @ 8161508 - push {r4-r6,lr} - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - movs r6, 0x64 - muls r0, r6 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x3A - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - muls r0, r6 - adds r0, r4 - movs r1, 0x39 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x5 - bl __udivsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r4, r0 - bhi _08161558 - movs r0, 0 - b _0816155A - .pool -_08161558: - movs r0, 0x1 -_0816155A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end hm_prepare_dive_probably - - thumb_func_start sub_8161560 -sub_8161560: @ 8161560 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gUnknown_0203CEC8 - movs r1, 0xA - strb r1, [r0, 0xB] - ldrb r1, [r0, 0x9] - strb r1, [r0, 0xA] - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_81B0FCC - movs r0, 0x5 - bl display_pokemon_menu_message - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B1370 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8161560 - - thumb_func_start sub_81615A8 -sub_81615A8: @ 81615A8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - str r4, [sp, 0x4] - ldr r1, =gUnknown_0203CEC8 - ldrb r7, [r1, 0x9] - mov r8, r7 - ldrb r0, [r1, 0xA] - adds r5, r0, 0 - cmp r5, 0x6 - bls _081615EC - movs r0, 0 - strb r0, [r1, 0xB] - bl display_pokemon_menu_message - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B1370 - str r1, [r0] - b _08161658 - .pool -_081615EC: - movs r0, 0x64 - mov r10, r0 - mov r0, r10 - muls r0, r5 - ldr r1, =gPlayerParty - mov r9, r1 - adds r6, r0, r1 - adds r0, r6, 0 - movs r1, 0x39 - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _0816161A - cmp r7, r5 - beq _0816161A - adds r0, r6, 0 - movs r1, 0x3A - bl GetMonData - cmp r0, r4 - bne _08161628 -_0816161A: - ldr r0, [sp, 0x4] - bl sub_81617B8 - b _08161658 - .pool -_08161628: - movs r0, 0x1 - bl PlaySE - mov r1, r10 - mov r0, r8 - muls r0, r1 - add r0, r9 - movs r1, 0x3A - bl GetMonData - movs r1, 0x5 - bl __udivsi3 - adds r3, r0, 0 - lsls r3, 16 - asrs r3, 16 - movs r2, 0x1 - negs r2, r2 - ldr r0, =sub_816166C - str r0, [sp] - ldr r0, [sp, 0x4] - mov r1, r8 - bl sub_81B1F18 -_08161658: - 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_81615A8 - - thumb_func_start sub_816166C -sub_816166C: @ 816166C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - bl PlaySE - ldr r5, =gUnknown_0203CEC8 - movs r1, 0x9 - ldrsb r1, [r5, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x3A - bl GetMonData - movs r1, 0x5 - bl __udivsi3 - adds r3, r0, 0 - lsls r3, 16 - asrs r3, 16 - ldrb r1, [r5, 0xA] - ldr r0, =sub_81616C0 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x1 - bl sub_81B1F18 - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816166C - - thumb_func_start sub_81616C0 -sub_81616C0: @ 81616C0 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gUnknown_0203CEC8 - movs r1, 0xA - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - ldr r1, =gStringVar1 - bl GetMonNickname - ldr r4, =gStringVar4 - ldr r1, =gText_PkmnHPRestoredByVar2 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0 - bl sub_81B1B5C - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_8161724 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81616C0 - - thumb_func_start sub_8161724 -sub_8161724: @ 8161724 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08161772 - ldr r4, =gUnknown_0203CEC8 - movs r0, 0 - strb r0, [r4, 0xB] - ldrb r0, [r4, 0x9] - movs r1, 0 - bl sub_81B0FCC - ldrb r0, [r4, 0xA] - strb r0, [r4, 0x9] - ldrb r0, [r4, 0xA] - movs r1, 0x1 - bl sub_81B0FCC - movs r0, 0x6 - movs r1, 0 - bl sub_8198070 - movs r0, 0x6 - bl ClearWindowTilemap - movs r0, 0 - bl display_pokemon_menu_message - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81B1370 - str r1, [r0] -_08161772: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8161724 - - thumb_func_start sub_8161784 -sub_8161784: @ 8161784 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_81B1BD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081617AA - movs r0, 0x5 - bl display_pokemon_menu_message - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81B1370 - str r0, [r1] -_081617AA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8161784 - - thumb_func_start sub_81617B8 -sub_81617B8: @ 81617B8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - ldr r0, =gText_CantBeUsedOnPkmn - movs r1, 0 - bl sub_81B1B5C - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_8161784 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81617B8 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/fossil_specials.s b/asm/fossil_specials.s index 7956f814a..eb7cb8ada 100644 --- a/asm/fossil_specials.s +++ b/asm/fossil_specials.s @@ -5,893 +5,6 @@ .text - thumb_func_start sub_81BEB24 -sub_81BEB24: @ 81BEB24 - push {r4,r5,lr} - movs r4, 0 - ldr r5, =gUnknown_08617DA4 -_081BEB2A: - lsls r2, r4, 2 - adds r2, r5 - ldrb r0, [r2] - adds r0, 0x7 - ldrb r1, [r2, 0x1] - adds r1, 0x7 - ldrh r2, [r2, 0x2] - bl MapGridSetMetatileIdAt - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x11 - bls _081BEB2A - bl DrawWholeMapView - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81BEB24 - - thumb_func_start sub_81BEB54 -sub_81BEB54: @ 81BEB54 - push {lr} - ldr r0, =sub_81BED50 - movs r1, 0x9 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_81BEB54 - - thumb_func_start sub_81BEB68 -sub_81BEB68: @ 81BEB68 - push {lr} - ldr r0, =sub_81BEBF4 - movs r1, 0x9 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_81BEB68 - - thumb_func_start sub_81BEB7C -sub_81BEB7C: @ 81BEB7C - push {lr} - ldr r0, =sub_81BF028 - movs r1, 0x9 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_81BEB7C - - thumb_func_start sub_81BEB90 -sub_81BEB90: @ 81BEB90 - push {r4,lr} - ldr r4, =gUnknown_0203CF14 - ldr r0, [r4] - ldrh r1, [r0] - movs r0, 0x10 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x2] - movs r0, 0x12 - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81BEB90 - - thumb_func_start sub_81BEBB4 -sub_81BEBB4: @ 81BEBB4 - 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 - ldrh r1, [r2, 0x8] - movs r3, 0x8 - ldrsh r0, [r2, r3] - cmp r0, 0 - bne _081BEBEC - ldr r0, =gUnknown_0203CF14 - ldr r1, [r0] - ldrh r0, [r1] - negs r0, r0 - strh r0, [r1] - movs r0, 0x2 - strh r0, [r2, 0x8] - bl sub_81BEB90 - b _081BEBF0 - .pool -_081BEBEC: - subs r0, r1, 0x1 - strh r0, [r2, 0x8] -_081BEBF0: - pop {r0} - bx r0 - thumb_func_end sub_81BEBB4 - - thumb_func_start sub_81BEBF4 -sub_81BEBF4: @ 81BEBF4 - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0x6 - bls _081BEC10 - b _081BED40 -_081BEC10: - lsls r0, 2 - ldr r1, =_081BEC24 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081BEC24: - .4byte _081BEC40 - .4byte _081BEC50 - .4byte _081BEC88 - .4byte _081BECB0 - .4byte _081BECF8 - .4byte _081BED00 - .4byte _081BED1C -_081BEC40: - bl FreeAllWindowBuffers - movs r0, 0 - movs r1, 0x7 - movs r2, 0x2 - bl SetBgAttribute - b _081BED04 -_081BEC50: - ldr r4, =gUnknown_0203CF04 - movs r0, 0x92 - lsls r0, 4 - bl AllocZeroed - str r0, [r4] - ldr r4, =gUnknown_0203CF08 - movs r0, 0x80 - lsls r0, 4 - bl AllocZeroed - str r0, [r4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - b _081BECD8 - .pool -_081BEC88: - ldr r0, =gUnknown_08617274 - ldr r4, =gUnknown_0203CF04 - ldr r1, [r4] - movs r2, 0x92 - lsls r2, 3 - bl CpuSet - ldr r1, [r4] - movs r2, 0x92 - lsls r2, 4 - movs r0, 0 - movs r3, 0 - bl LoadBgTiles - b _081BECD8 - .pool -_081BECB0: - ldr r0, =gUnknown_0203CF08 - ldr r1, [r0] - movs r0, 0 - bl SetBgTilemapBuffer - ldr r1, =gUnknown_08617B94 - movs r0, 0x6 - str r0, [sp] - movs r0, 0xC - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r2, 0xC - movs r3, 0x1D - bl CopyToBgTilemapBufferRect_ChangePalette - movs r0, 0 - bl CopyBgTilemapBufferToVram -_081BECD8: - 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 _081BED40 - .pool -_081BECF8: - movs r0, 0 - bl ShowBg - b _081BED04 -_081BED00: - bl sub_81BEB24 -_081BED04: - 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 _081BED40 - .pool -_081BED1C: - ldr r4, =gUnknown_0203CF14 - movs r0, 0x4 - bl Alloc - str r0, [r4] - movs r2, 0 - movs r1, 0x2 - strh r1, [r0] - strh r2, [r0, 0x2] - ldr r0, =sub_81BEBB4 - movs r1, 0xA - bl CreateTask - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts -_081BED40: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81BEBF4 - - thumb_func_start sub_81BED50 -sub_81BED50: @ 81BED50 - 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 - mov r10, r0 - ldr r1, =gTasks - lsls r0, 2 - add r0, r10 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x8] - subs r0, 0x1 - lsls r0, 16 - asrs r0, 16 - adds r6, r1, 0 - cmp r0, 0x7 - bls _081BED7C - b _081BF002 -_081BED7C: - lsls r0, 2 - ldr r1, =_081BED90 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081BED90: - .4byte _081BEDB0 - .4byte _081BF002 - .4byte _081BEDC4 - .4byte _081BEF64 - .4byte _081BEF94 - .4byte _081BEFD0 - .4byte _081BEFF0 - .4byte _081BEFF8 -_081BEDB0: - ldr r4, =gUnknown_0203CF10 - movs r0, 0xC0 - lsls r0, 2 - bl AllocZeroed - str r0, [r4] - b _081BF002 - .pool -_081BEDC4: - mov r1, r10 - lsls r0, r1, 2 - adds r1, r0, r1 - lsls r1, 3 - adds r2, r1, r6 - ldrh r3, [r2, 0xE] - movs r4, 0xE - ldrsh r1, [r2, r4] - str r0, [sp, 0x8] - cmp r1, 0x5F - bgt _081BEE8A - movs r1, 0xA - ldrsh r0, [r2, r1] - cmp r0, 0x1 - ble _081BEE7C - lsls r0, r3, 24 - lsrs r4, r0, 24 - movs r0, 0x30 - bl Alloc - ldr r3, =gUnknown_0203CF10 - ldr r1, [r3] - lsls r2, r4, 3 - adds r1, r2, r1 - str r0, [r1] - movs r5, 0 - adds r4, r2, 0 -_081BEDFA: - ldr r0, [r3] - adds r0, r4, r0 - ldr r0, [r0] - adds r0, r5 - strb r5, [r0] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x2F - bls _081BEDFA - movs r5, 0 - ldr r7, =gUnknown_0203CF10 - adds r6, r2, 0 -_081BEE14: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x30 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x30 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - ldr r1, [r7] - adds r1, r6, r1 - ldr r1, [r1] - adds r0, r1, r0 - ldrb r2, [r0] - adds r1, r4 - ldrb r1, [r1] - strb r1, [r0] - ldr r0, [r7] - adds r0, r6, r0 - ldr r0, [r0] - adds r0, r4 - strb r2, [r0] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x2F - bls _081BEE14 - ldr r0, =gTasks - ldr r1, [sp, 0x8] - add r1, r10 - lsls r1, 3 - adds r2, r1, r0 - ldrh r3, [r2, 0xE] - movs r4, 0xE - ldrsh r1, [r2, r4] - adds r6, r0, 0 - cmp r1, 0x5F - bgt _081BEE78 - adds r0, r3, 0x1 - strh r0, [r2, 0xE] -_081BEE78: - movs r0, 0 - strh r0, [r2, 0xA] -_081BEE7C: - ldr r1, [sp, 0x8] - add r1, r10 - lsls r1, 3 - adds r1, r6 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] -_081BEE8A: - ldr r0, [sp, 0x8] - add r0, r10 - lsls r0, 3 - adds r0, r6 - ldrb r4, [r0, 0xE] - ldrb r5, [r0, 0xC] - lsls r0, r4, 16 - cmp r5, r4 - bcs _081BEF32 - str r0, [sp, 0xC] -_081BEE9E: - movs r6, 0 - adds r0, r5, 0x1 - str r0, [sp, 0x4] - lsls r4, r5, 3 - movs r2, 0x5F - subs r1, r2, r5 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 4 - mov r9, r0 -_081BEEB2: - ldr r0, =gUnknown_0203CF04 - ldr r0, [r0] - ldr r7, =gUnknown_0203CF10 - ldr r3, [r7] - adds r3, r4, r3 - ldrb r2, [r3, 0x4] - adds r1, r2, 0x1 - strb r1, [r3, 0x4] - lsls r2, 24 - lsrs r2, 24 - ldr r1, [r3] - adds r1, r2 - ldrb r1, [r1] - add r1, r9 - lsls r1, 16 - lsrs r1, 16 - movs r2, 0x1 - mov r8, r2 - str r2, [sp] - movs r2, 0 - movs r3, 0x30 - bl sub_81BF2B8 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - beq _081BEEB2 - ldr r0, [r7] - adds r1, r4, r0 - ldrb r0, [r1, 0x4] - cmp r0, 0x2F - bls _081BEF24 - ldr r0, [r1] - bl Free - ldr r0, [r7] - adds r0, r4, r0 - movs r1, 0 - str r1, [r0] - ldr r1, [sp, 0x8] - add r1, r10 - lsls r1, 3 - ldr r4, =gTasks - adds r1, r4 - ldrh r0, [r1, 0xC] - adds r0, 0x1 - strh r0, [r1, 0xC] - mov r0, r8 - ands r5, r0 - cmp r5, 0x1 - bne _081BEF24 - ldr r0, =gUnknown_0203CF14 - ldr r1, [r0] - ldrh r0, [r1, 0x2] - subs r0, 0x1 - strh r0, [r1, 0x2] -_081BEF24: - ldr r1, [sp, 0x4] - lsls r0, r1, 16 - lsrs r5, r0, 16 - ldr r2, [sp, 0xC] - lsrs r0, r2, 16 - cmp r5, r0 - bcc _081BEE9E -_081BEF32: - ldr r0, =gUnknown_0203CF04 - ldr r1, [r0] - movs r2, 0x92 - lsls r2, 4 - movs r0, 0 - movs r3, 0 - bl LoadBgTiles - ldr r0, =gUnknown_0203CF10 - ldr r0, [r0] - movs r4, 0xBE - lsls r4, 2 - adds r0, r4 - ldrb r0, [r0, 0x4] - cmp r0, 0x2F - bhi _081BF002 - b _081BF014 - .pool -_081BEF64: - movs r0, 0 - bl UnsetBgTilemapBuffer - ldr r0, =sub_81BEBB4 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _081BEF7C - bl DestroyTask -_081BEF7C: - ldr r0, =gUnknown_0203CF14 - ldr r1, [r0] - movs r0, 0 - strh r0, [r1] - strh r0, [r1, 0x2] - bl sub_81BEB90 - b _081BF002 - .pool -_081BEF94: - ldr r4, =gUnknown_0203CF14 - ldr r0, [r4] - bl Free - movs r5, 0 - str r5, [r4] - ldr r4, =gUnknown_0203CF10 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203CF04 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203CF08 - ldr r0, [r4] - bl Free - str r5, [r4] - b _081BF002 - .pool -_081BEFD0: - movs r0, 0xC - movs r1, 0x2 - bl SetGpuRegBits - movs r0, 0x8 - movs r1, 0 - bl SetGpuRegBits - movs r0, 0 - movs r1, 0x7 - movs r2, 0 - bl SetBgAttribute - bl sub_81971D0 - b _081BF002 -_081BEFF0: - movs r0, 0 - bl ShowBg - b _081BF002 -_081BEFF8: - mov r0, r10 - bl DestroyTask - bl EnableBothScriptContexts -_081BF002: - 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] -_081BF014: - 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_81BED50 - - thumb_func_start sub_81BF028 -sub_81BF028: @ 81BF028 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x18 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x8] - subs r0, 0x1 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - bls _081BF04C - b _081BF228 -_081BF04C: - lsls r0, 2 - ldr r1, =_081BF060 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081BF060: - .4byte _081BF080 - .4byte _081BF0B4 - .4byte _081BF0DC - .4byte _081BF0F0 - .4byte _081BF148 - .4byte _081BF170 - .4byte _081BF1CC - .4byte _081BF224 -_081BF080: - ldr r4, =gUnknown_0203CF0C - movs r0, 0x14 - bl AllocZeroed - str r0, [r4] - movs r0, 0x80 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1] - movs r0, 0x8 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x4] - movs r0, 0x80 - lsls r0, 2 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0xC] - movs r0, 0 - strh r0, [r1, 0x10] - b _081BF228 - .pool -_081BF0B4: - ldr r0, =gUnknown_0203CF0C - ldr r0, [r0] - ldr r1, [r0] - movs r5, 0 - ldr r2, =gRootFossil_Gfx -_081BF0BE: - adds r0, r5, r2 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r1, 0x1 - cmp r5, 0x7F - bls _081BF0BE - b _081BF228 - .pool -_081BF0DC: - ldr r0, =gUnknown_0203CF0C - ldr r0, [r0] - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r1] - movs r0, 0x80 - strh r0, [r1, 0x4] - b _081BF228 - .pool -_081BF0F0: - mov r1, sp - ldr r0, =gUnknown_08617E00 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldr r4, =gUnknown_0203CF0C - ldr r0, [r4] - ldr r0, [r0, 0x4] - str r0, [sp, 0xC] - movs r2, 0x10 - negs r2, r2 - mov r0, sp - movs r1, 0x80 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r4] - movs r3, 0 - strb r0, [r1, 0x8] - ldr r2, =gSprites - ldr r0, [r4] - ldrb r1, [r0, 0x8] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x28 - strb r3, [r0] - ldr r3, [r4] - ldrb r1, [r3, 0x8] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x20] - strh r1, [r0, 0x2E] - ldrb r1, [r3, 0x8] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x1 - strh r1, [r0, 0x30] -_081BF148: - movs r5, 0 - ldr r2, =gUnknown_0203CF0C -_081BF14C: - ldr r0, [r2] - ldr r1, [r0, 0xC] - lsls r0, r5, 1 - adds r0, r1 - strh r5, [r0] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xFF - bls _081BF14C - b _081BF228 - .pool -_081BF170: - movs r5, 0 - movs r6, 0xFF - ldr r0, =0x000001ff - mov r8, r0 -_081BF178: - bl Random - adds r4, r6, 0 - ands r4, r0 - bl Random - adds r1, r6, 0 - ands r1, r0 - ldr r0, =gUnknown_0203CF0C - ldr r3, [r0] - ldr r0, [r3, 0xC] - lsls r1, 1 - adds r1, r0 - ldrh r2, [r1] - lsls r4, 1 - adds r4, r0 - ldrh r0, [r4] - strh r0, [r1] - strh r2, [r4] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r8 - bls _081BF178 - ldr r2, =gSprites - ldrb r1, [r3, 0x8] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, =sub_81BF248 - str r1, [r0] - b _081BF228 - .pool -_081BF1CC: - ldr r3, =gSprites - ldr r5, =gUnknown_0203CF0C - ldr r0, [r5] - ldrb r1, [r0, 0x8] - lsls r0, r1, 4 - adds r0, r1 - lsls r2, r0, 2 - adds r0, r3, 0 - adds r0, 0x1C - adds r0, r2, r0 - ldr r1, [r0] - ldr r0, =SpriteCallbackDummy - cmp r1, r0 - bne _081BF238 - adds r0, r2, r3 - bl DestroySprite - ldr r0, [r5] - ldr r0, [r0, 0xC] - bl Free - ldr r0, [r5] - movs r4, 0 - str r4, [r0, 0xC] - ldr r0, [r0, 0x4] - bl Free - ldr r0, [r5] - str r4, [r0, 0x4] - ldr r0, [r0] - bl Free - ldr r0, [r5] - str r4, [r0] - bl Free - str r4, [r5] - b _081BF228 - .pool -_081BF224: - bl EnableBothScriptContexts -_081BF228: - ldr r0, =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_081BF238: - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81BF028 - - thumb_func_start sub_81BF248 -sub_81BF248: @ 81BF248 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - ldr r0, =gUnknown_0203CF0C - ldr r0, [r0] - ldrh r0, [r0, 0x10] - cmp r0, 0xFF - bls _081BF268 - ldr r0, =SpriteCallbackDummy - str r0, [r5, 0x1C] - b _081BF2B0 - .pool -_081BF268: - ldrh r1, [r5, 0x22] - movs r2, 0x22 - ldrsh r0, [r5, r2] - cmp r0, 0x5F - ble _081BF2AC - movs r4, 0 -_081BF274: - ldr r0, =gUnknown_0203CF0C - ldr r3, [r0] - ldr r0, [r3] - ldrh r1, [r3, 0x10] - adds r2, r1, 0x1 - strh r2, [r3, 0x10] - lsls r1, 16 - ldr r2, [r3, 0xC] - lsrs r1, 15 - adds r1, r2 - ldrh r1, [r1] - movs r2, 0 - str r2, [sp] - movs r3, 0x10 - bl sub_81BF2B8 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _081BF274 - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAnim - b _081BF2B0 - .pool -_081BF2AC: - adds r0, r1, 0x1 - strh r0, [r5, 0x22] -_081BF2B0: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81BF248 - thumb_func_start sub_81BF2B8 sub_81BF2B8: @ 81BF2B8 push {r4-r7,lr} diff --git a/asm/intro.s b/asm/intro.s deleted file mode 100644 index c1754873c..000000000 --- a/asm/intro.s +++ /dev/null @@ -1,6270 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_816CBE8 -sub_816CBE8: @ 816CBE8 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - bl ScanlineEffect_InitHBlankDmaTransfer - pop {r0} - bx r0 - thumb_func_end sub_816CBE8 - - thumb_func_start sub_816CC00 -sub_816CC00: @ 816CC00 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - ldr r0, =gMain - ldrh r0, [r0, 0x2E] - cmp r0, 0 - beq _0816CC3C - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0816CC3C - ldr r0, =sub_816CC54 - bl SetMainCallback2 - b _0816CC4C - .pool -_0816CC3C: - ldr r2, =gUnknown_030062A0 - ldr r1, [r2] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0816CC4C - adds r0, r1, 0x1 - str r0, [r2] -_0816CC4C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_816CC00 - - thumb_func_start sub_816CC54 -sub_816CC54: @ 816CC54 - push {lr} - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _0816CC66 - ldr r0, =CB2_InitTitleScreen - bl SetMainCallback2 -_0816CC66: - pop {r0} - bx r0 - .pool - thumb_func_end sub_816CC54 - - thumb_func_start load_copyright_graphics -@ void load_copyright_graphics(u16 tile_patterns_dest, u16 tilemap_dest, u16 unknown_dest) -load_copyright_graphics: @ 816CC70 - push {r4-r6,lr} - adds r3, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r3, 16 - lsrs r3, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r0, =gIntroCopyright_Gfx - movs r6, 0xC0 - lsls r6, 19 - adds r3, r6 - adds r1, r3, 0 - bl LZ77UnCompVram - ldr r0, =gIntroCopyright_Tilemap - adds r4, r6 - adds r1, r4, 0 - bl LZ77UnCompVram - ldr r0, =gIntroCopyright_Pal - adds r1, r5, 0 - movs r2, 0x20 - bl LoadPalette - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end load_copyright_graphics - - thumb_func_start SerialCb_CopyrightScreen -SerialCb_CopyrightScreen: @ 816CCB8 - push {lr} - ldr r0, =gUnknown_030062B0 - bl GameCubeMultiBoot_HandleSerialInterrupt - pop {r0} - bx r0 - .pool - thumb_func_end SerialCb_CopyrightScreen - - thumb_func_start do_copyright_screen -do_copyright_screen: @ 816CCC8 - push {r4-r6,lr} - sub sp, 0x10 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r5, r0, r1 - ldrb r4, [r5] - cmp r4, 0x8C - bne _0816CCDC - b _0816CE00 -_0816CCDC: - cmp r4, 0x8C - bgt _0816CCEC - cmp r4, 0 - beq _0816CCF4 - b _0816CDBC - .pool -_0816CCEC: - cmp r4, 0x8D - bne _0816CCF2 - b _0816CE2C -_0816CCF2: - b _0816CDBC -_0816CCF4: - movs r0, 0 - bl SetVBlankCallback - 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 r1, 0xA0 - lsls r1, 19 - ldr r2, =0x00007fff - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - str r4, [sp, 0x4] - movs r1, 0xC0 - lsls r1, 19 - ldr r2, =0x05006000 - add r0, sp, 0x4 - bl CpuSet - str r4, [sp, 0x8] - add r0, sp, 0x8 - movs r1, 0xE0 - lsls r1, 19 - ldr r2, =0x05000100 - bl CpuSet - add r0, sp, 0xC - strh r4, [r0] - ldr r1, =0x05000002 - ldr r2, =0x010001ff - bl CpuSet - bl ResetPaletteFade - movs r1, 0xE0 - lsls r1, 6 - movs r0, 0 - movs r2, 0 - bl load_copyright_graphics - bl ScanlineEffect_Stop - bl ResetTasks - bl ResetSpriteData - bl FreeAllSpritePalettes - movs r0, 0x1 - negs r0, r0 - ldr r1, =0x0000ffff - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r1, 0xE0 - lsls r1, 3 - movs r0, 0x8 - bl SetGpuReg - movs r0, 0x1 - bl EnableInterrupts - ldr r0, =sub_816CBE8 - bl SetVBlankCallback - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xA0 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, =SerialCb_CopyrightScreen - bl SetSerialCallback - ldr r0, =gUnknown_030062B0 - bl GameCubeMultiBoot_Init -_0816CDBC: - bl UpdatePaletteFade - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r1, [r0] - adds r1, 0x1 - strb r1, [r0] - ldr r0, =gUnknown_030062B0 - bl GameCubeMultiBoot_Main - b _0816CEA0 - .pool -_0816CE00: - ldr r4, =gUnknown_030062B0 - adds r0, r4, 0 - bl GameCubeMultiBoot_Main - ldrb r0, [r4, 0x2] - cmp r0, 0x1 - beq _0816CEA0 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - b _0816CEA0 - .pool -_0816CE2C: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _0816CEA0 - ldr r0, =task_intro_1 - movs r1, 0 - bl CreateTask - ldr r0, =sub_816CC00 - bl SetMainCallback2 - ldr r5, =gUnknown_030062B0 - ldrb r0, [r5, 0x2] - cmp r0, 0 - beq _0816CE8C - ldrb r0, [r5, 0x2] - cmp r0, 0x2 - bne _0816CE96 - ldr r6, =0x020000ac - ldr r4, [r6] - ldr r0, =0x65366347 - cmp r4, r0 - bne _0816CE6C - ldr r0, =gMultiBootProgram_PokemonColosseum_Start - movs r1, 0x80 - lsls r1, 18 - movs r2, 0xA0 - lsls r2, 9 - bl CpuSet - str r4, [r6] -_0816CE6C: - adds r0, r5, 0 - bl GameCubeMultiBoot_ExecuteProgram - b _0816CE96 - .pool -_0816CE8C: - bl GameCubeMultiBoot_Quit - ldr r0, =SerialCB - bl SetSerialCallback -_0816CE96: - movs r0, 0 - b _0816CEA2 - .pool -_0816CEA0: - movs r0, 0x1 -_0816CEA2: - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end do_copyright_screen - - thumb_func_start c2_copyright_1 -c2_copyright_1: @ 816CEAC - push {lr} - bl do_copyright_screen - lsls r0, 24 - cmp r0, 0 - bne _0816CEFA - bl sub_815355C - lsls r0, 16 - lsrs r0, 16 - bl SetSaveBlocksPointers - bl sub_808447C - bl ResetSaveCounters - movs r0, 0 - bl sub_81534D0 - ldr r0, =gSaveFileStatus - ldrh r0, [r0] - cmp r0, 0 - beq _0816CEDE - cmp r0, 0x2 - bne _0816CEE2 -_0816CEDE: - bl Sav2_ClearSetDefault -_0816CEE2: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x15] - lsls r0, 31 - lsrs r0, 31 - bl SetPokemonCryStereo - ldr r0, =0x02000000 - movs r1, 0xE0 - lsls r1, 9 - bl InitHeap -_0816CEFA: - pop {r0} - bx r0 - .pool - thumb_func_end c2_copyright_1 - - thumb_func_start CB2_InitCopyrightScreenAfterTitleScreen -CB2_InitCopyrightScreenAfterTitleScreen: @ 816CF0C - push {lr} - bl do_copyright_screen - pop {r0} - bx r0 - thumb_func_end CB2_InitCopyrightScreenAfterTitleScreen - - thumb_func_start task_intro_1 -@ void task_intro_1(int task_id) -task_intro_1: @ 816CF18 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0xC - mov r8, r0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0 - bl SetVBlankCallback - ldr r4, =gUnknown_0203BCC8 - bl Random - movs r1, 0x1 - ands r1, r0 - strh r1, [r4] - bl intro_reset_and_hide_bgs - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0x50 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0x18 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0x28 - bl SetGpuReg - ldr r0, =gIntro1BGLeavesGfx - movs r1, 0xC0 - lsls r1, 19 - bl LZ77UnCompVram - ldr r0, =gIntro1BG0_Tilemap - ldr r1, =0x06008000 - bl LZ77UnCompVram - ldr r1, =0x06008800 - add r0, sp, 0x8 - movs r6, 0 - strh r6, [r0] - ldr r4, =0x040000d4 - str r0, [r4] - str r1, [r4, 0x4] - ldr r5, =0x81000400 - str r5, [r4, 0x8] - ldr r0, [r4, 0x8] - ldr r0, =gIntro1BG1_Tilemap - ldr r1, =0x06009000 - bl LZ77UnCompVram - ldr r1, =0x06009800 - add r0, sp, 0x8 - strh r6, [r0] - str r0, [r4] - str r1, [r4, 0x4] - str r5, [r4, 0x8] - ldr r0, [r4, 0x8] - ldr r0, =gIntro1BG2_Tilemap - ldr r1, =0x0600a000 - bl LZ77UnCompVram - ldr r1, =0x0600a800 - add r0, sp, 0x8 - strh r6, [r0] - str r0, [r4] - str r1, [r4, 0x4] - str r5, [r4, 0x8] - ldr r0, [r4, 0x8] - ldr r0, =gIntro1BG3_Tilemap - ldr r1, =0x0600b000 - bl LZ77UnCompVram - ldr r1, =0x0600b800 - add r0, sp, 0x8 - strh r6, [r0] - str r0, [r4] - str r1, [r4, 0x4] - str r5, [r4, 0x8] - ldr r0, [r4, 0x8] - ldr r0, =gIntro1BGPals - movs r5, 0x80 - lsls r5, 2 - movs r1, 0 - adds r2, r5, 0 - bl LoadPalette - ldr r1, =0x00009603 - movs r0, 0xE - bl SetGpuReg - ldr r1, =0x00009402 - movs r0, 0xC - bl SetGpuReg - ldr r1, =0x00009201 - movs r0, 0xA - bl SetGpuReg - movs r1, 0x90 - lsls r1, 8 - movs r0, 0x8 - bl SetGpuReg - ldr r0, =gUnknown_085E4FDC - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085E4FEC - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085E4FFC - bl LoadSpritePalettes - ldr r0, =gUnknown_085E4A74 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085E4A84 - bl LoadSpritePalettes - ldr r4, =gPlttBufferUnfaded + 0x200 - movs r3, 0xF0 - lsls r3, 1 - adds r1, r4, r3 - adds r0, r4, 0 - movs r2, 0x10 - bl CpuSet - movs r0, 0xE1 - lsls r0, 1 - adds r1, r4, r0 - adds r0, r4, 0 - movs r2, 0xF - bl CpuSet - movs r3, 0xD2 - lsls r3, 1 - adds r1, r4, r3 - adds r0, r4, 0 - movs r2, 0xE - bl CpuSet - movs r0, 0xC3 - lsls r0, 1 - adds r1, r4, r0 - adds r0, r4, 0 - movs r2, 0xD - bl CpuSet - movs r3, 0xB4 - lsls r3, 1 - adds r1, r4, r3 - adds r0, r4, 0 - movs r2, 0xC - bl CpuSet - movs r0, 0xA5 - lsls r0, 1 - adds r1, r4, r0 - adds r0, r4, 0 - movs r2, 0xB - bl CpuSet - movs r3, 0x96 - lsls r3, 1 - adds r1, r4, r3 - adds r0, r4, 0 - movs r2, 0xA - bl CpuSet - movs r0, 0x78 - movs r1, 0x50 - movs r2, 0 - bl sub_816FDB8 - movs r1, 0xE - negs r1, r1 - movs r0, 0x78 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - movs r0, 0xEC - adds r2, r5, 0 - movs r3, 0x1 - bl sub_816F7D0 - ldr r2, =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x8] - ldr r0, =task_intro_2 - str r0, [r1] - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_1 - - thumb_func_start task_intro_2 -task_intro_2: @ 816D12C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r5, 0 - str r5, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, =sub_816CBE8 - bl SetVBlankCallback - movs r1, 0xFA - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =task_intro_3 - str r1, [r0] - ldr r0, =gUnknown_030062A0 - str r5, [r0] - movs r0, 0xCF - lsls r0, 1 - bl m4aSongNumStart - bl ResetSerial - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_2 - - thumb_func_start task_intro_3 -task_intro_3: @ 816D190 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - ldr r5, =gUnknown_030062A0 - ldr r0, [r5] - cmp r0, 0x4C - bne _0816D1BE - ldr r2, =gSprites - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r3, 0x8 - ldrsh r1, [r0, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x1 - strh r1, [r0, 0x2E] -_0816D1BE: - ldr r0, [r5] - cmp r0, 0x80 - bne _0816D1CC - ldr r0, =task_intro_3_1 - movs r1, 0 - bl CreateTask -_0816D1CC: - ldr r0, [r5] - cmp r0, 0xFB - bne _0816D1EE - ldr r2, =gSprites - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r3, 0x8 - ldrsh r1, [r0, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x2 - strh r1, [r0, 0x2E] -_0816D1EE: - ldr r1, [r5] - movs r0, 0x80 - lsls r0, 1 - cmp r1, r0 - bne _0816D200 - ldr r0, =task_intro_3_2 - movs r1, 0 - bl CreateTask -_0816D200: - ldr r1, [r5] - movs r0, 0xB8 - lsls r0, 1 - cmp r1, r0 - bne _0816D220 - movs r2, 0x80 - lsls r2, 3 - movs r0, 0x70 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0x30 - movs r1, 0 - movs r3, 0x5 - bl sub_816F7D0 -_0816D220: - ldr r1, [r5] - movs r0, 0xC0 - lsls r0, 1 - cmp r1, r0 - bne _0816D240 - movs r2, 0x80 - lsls r2, 3 - movs r0, 0x80 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0xC8 - movs r1, 0x3C - movs r3, 0x9 - bl sub_816F7D0 -_0816D240: - ldr r0, [r5] - movs r4, 0x8C - lsls r4, 2 - cmp r0, r4 - bne _0816D252 - ldr r0, =task_intro_3_3 - movs r1, 0 - bl CreateTask -_0816D252: - ldr r0, [r5] - cmp r0, r4 - bls _0816D27A - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - movs r2, 0 - movs r1, 0x50 - strh r1, [r0, 0xA] - strh r2, [r0, 0xC] - movs r1, 0x18 - strh r1, [r0, 0xE] - strh r2, [r0, 0x10] - movs r1, 0x28 - strh r1, [r0, 0x12] - strh r2, [r0, 0x14] - ldr r1, =task_intro_4 - str r1, [r0] -_0816D27A: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_3 - - thumb_func_start task_intro_3_3 -task_intro_3_3: @ 816D2A0 - 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, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0816D2C4 - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0816D2C4: - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0816D2D8 - cmp r0, 0x1 - beq _0816D314 - b _0816D324 - .pool -_0816D2D8: - ldr r0, =gUnknown_085E4AB8 - ldr r2, =gUnknown_085E4AD0 - movs r1, 0x8 - ldrsh r3, [r4, r1] - lsls r3, 1 - adds r1, r3, r2 - ldrb r1, [r1] - adds r2, 0x1 - adds r3, r2 - ldrh r2, [r4, 0x6] - ldrb r3, [r3] - adds r2, r3 - lsls r2, 16 - asrs r2, 16 - movs r3, 0 - bl CreateSprite - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - movs r0, 0xC - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0816D324 - .pool -_0816D314: - ldrh r0, [r4, 0x2] - subs r0, 0x1 - strh r0, [r4, 0x2] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bne _0816D324 - strh r0, [r4] -_0816D324: - movs r1, 0x6 - ldrsh r0, [r4, r1] - cmp r0, 0x3C - ble _0816D332 - adds r0, r5, 0 - bl DestroyTask -_0816D332: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end task_intro_3_3 - - thumb_func_start sub_816D338 -sub_816D338: @ 816D338 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - bne _0816D350 - adds r0, r1, 0 - bl DestroySprite -_0816D350: - pop {r0} - bx r0 - thumb_func_end sub_816D338 - - thumb_func_start task_intro_4 -task_intro_4: @ 816D354 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r1, r0, 24 - adds r4, r1, 0 - ldr r5, =gUnknown_030062A0 - ldr r2, [r5] - ldr r0, =0x00000387 - cmp r2, r0 - bhi _0816D418 - ldr r0, =gTasks - lsls r4, r1, 2 - adds r4, r1 - lsls r4, 3 - adds r4, r0 - movs r1, 0xA - ldrsh r0, [r4, r1] - lsls r0, 16 - ldrh r1, [r4, 0xC] - adds r1, r0, r1 - ldr r0, =0xffffa000 - adds r1, r0 - asrs r0, r1, 16 - strh r0, [r4, 0xA] - strh r1, [r4, 0xC] - ldrh r1, [r4, 0xA] - movs r0, 0x1A - bl SetGpuReg - movs r1, 0xE - ldrsh r0, [r4, r1] - lsls r0, 16 - ldrh r1, [r4, 0x10] - adds r1, r0, r1 - ldr r0, =0xffff8000 - adds r1, r0 - asrs r0, r1, 16 - strh r0, [r4, 0xE] - strh r1, [r4, 0x10] - ldrh r1, [r4, 0xE] - movs r0, 0x16 - bl SetGpuReg - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r0, 16 - ldrh r1, [r4, 0x14] - adds r1, r0, r1 - ldr r0, =0xffff4000 - adds r1, r0 - asrs r0, r1, 16 - strh r0, [r4, 0x12] - strh r1, [r4, 0x14] - ldrh r1, [r4, 0x12] - movs r0, 0x12 - bl SetGpuReg - ldr r1, [r5] - movs r0, 0xD0 - lsls r0, 2 - cmp r1, r0 - bne _0816D43E - ldr r0, =gUnknown_085E4FC4 - movs r1, 0x78 - movs r2, 0xA0 - movs r3, 0xA - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - b _0816D43E - .pool -_0816D418: - ldr r0, =0x000003ef - cmp r2, r0 - bls _0816D43E - movs r0, 0x1 - negs r0, r0 - ldr r1, =0x0000ffff - str r1, [sp] - movs r1, 0 - 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, =task_intro_5 - str r1, [r0] -_0816D43E: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_4 - - thumb_func_start task_intro_5 -task_intro_5: @ 816D458 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_030062A0 - ldr r1, [r0] - ldr r0, =0x00000402 - cmp r1, r0 - bls _0816D476 - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, =task_intro_6 - str r0, [r1] -_0816D476: - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_5 - - thumb_func_start task_intro_6 -task_intro_6: @ 816D48C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl intro_reset_and_hide_bgs - movs r0, 0 - bl SetVBlankCallback - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, =gUnknown_0203BD24 - movs r1, 0 - strh r1, [r0] - ldr r0, =gUnknown_0203BD26 - strh r1, [r0] - ldr r0, =gUnknown_0203BCCC - strh r1, [r0] - movs r0, 0x1 - bl load_intro_part2_graphics - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =task_intro_7 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_6 - - thumb_func_start task_intro_7 -task_intro_7: @ 816D4E4 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_0203BCC8 - ldrh r0, [r0] - cmp r0, 0 - bne _0816D504 - ldr r0, =gUnknown_085F52BC - bl LoadCompressedObjectPic - b _0816D50A - .pool -_0816D504: - ldr r0, =gUnknown_085F52CC - bl LoadCompressedObjectPic -_0816D50A: - ldr r0, =gUnknown_085F52DC - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085F52FC - bl LoadCompressedObjectPic - movs r6, 0 - lsls r7, r4, 2 - ldr r5, =gUnknown_085E4AE8 -_0816D51C: - lsls r0, r6, 3 - adds r0, r5 - bl LoadCompressedObjectPic - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bls _0816D51C - ldr r0, =gUnknown_085F530C - bl LoadSpritePalettes - ldr r0, =gUnknown_085E4B08 - bl LoadSpritePalettes - ldr r0, =gUnknown_085E4BDC - movs r5, 0x88 - lsls r5, 1 - adds r1, r5, 0 - movs r2, 0x80 - movs r3, 0 - bl CreateSprite - ldr r0, =gUnknown_085E4BA4 - movs r1, 0x90 - lsls r1, 1 - movs r2, 0x6E - movs r3, 0x1 - bl CreateSprite - ldr r0, =gUnknown_0203BCC8 - ldrh r0, [r0] - cmp r0, 0 - bne _0816D590 - adds r0, r5, 0 - movs r1, 0x64 - bl sub_817B834 - b _0816D598 - .pool -_0816D590: - adds r0, r5, 0 - movs r1, 0x64 - bl sub_817B88C -_0816D598: - lsls r0, 24 - lsrs r6, r0, 24 - ldr r2, =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r5, r2, 0 - adds r5, 0x1C - adds r3, r0, r5 - ldr r1, =sub_816F9D4 - str r1, [r3] - adds r2, 0x8 - adds r0, r2 - ldr r1, =gUnknown_085E4DC4 - str r1, [r0] - ldr r0, =gTasks - adds r4, r7, r4 - lsls r4, 3 - adds r4, r0 - strh r6, [r4, 0xA] - ldr r0, =gUnknown_085E4B40 - movs r1, 0x88 - lsls r1, 1 - movs r2, 0x50 - movs r3, 0x4 - bl CreateSprite - movs r0, 0x40 - negs r0, r0 - movs r1, 0x3C - bl sub_817B9C4 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r5 - ldr r1, =sub_816FAB0 - str r1, [r0] - strh r6, [r4, 0xC] - movs r0, 0x1 - negs r0, r0 - ldr r1, =0x0000ffff - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, =sub_816CBE8 - bl SetVBlankCallback - movs r1, 0x80 - lsls r1, 7 - movs r2, 0x80 - lsls r2, 3 - movs r0, 0x1 - movs r3, 0x10 - bl sub_817B3DC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x8] - movs r0, 0x1 - bl sub_817B150 - ldr r0, =task_intro_8 - str r0, [r4] - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_7 - - thumb_func_start task_intro_8 -@ void task_intro_8(int task_id) -task_intro_8: @ 816D650 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - ldr r5, =gUnknown_030062A0 - ldr r1, [r5] - movs r0, 0xE8 - lsls r0, 3 - cmp r1, r0 - bne _0816D67C - ldr r1, =gUnknown_0203BD28 - movs r0, 0x2 - strh r0, [r1] - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x8] - bl DestroyTask -_0816D67C: - ldr r1, [r5] - ldr r0, =0x0000079a - cmp r1, r0 - bls _0816D6A4 - movs r0, 0x1 - negs r0, r0 - ldr r1, =0x0000ffff - str r1, [sp] - movs r1, 0x8 - 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, =task_intro_9 - str r1, [r0] -_0816D6A4: - ldr r1, [r5] - ldr r0, =0x00000455 - ldr r3, =gTasks - cmp r1, r0 - bne _0816D6C8 - ldr r2, =gSprites - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r3 - movs r7, 0xA - ldrsh r1, [r0, r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x1 - strh r1, [r0, 0x2E] -_0816D6C8: - ldr r1, [r5] - ldr r0, =0x000004be - cmp r1, r0 - bne _0816D6EA - ldr r2, =gSprites - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r3 - movs r7, 0xA - ldrsh r1, [r0, r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x2E] -_0816D6EA: - ldr r1, [r5] - ldr r0, =0x00000572 - cmp r1, r0 - bne _0816D70C - ldr r2, =gSprites - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r3 - movs r7, 0xC - ldrsh r1, [r0, r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x1 - strh r1, [r0, 0x2E] -_0816D70C: - ldr r1, [r5] - ldr r0, =0x00000576 - cmp r1, r0 - bne _0816D72E - ldr r2, =gSprites - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r3 - movs r7, 0xA - ldrsh r1, [r0, r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x2 - strh r1, [r0, 0x2E] -_0816D72E: - ldr r1, [r5] - movs r0, 0xC5 - lsls r0, 3 - cmp r1, r0 - bne _0816D752 - ldr r2, =gSprites - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r3 - movs r7, 0xA - ldrsh r1, [r0, r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x3 - strh r1, [r0, 0x2E] -_0816D752: - ldr r1, [r5] - ldr r0, =0x000006bf - cmp r1, r0 - bne _0816D774 - ldr r2, =gSprites - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r3 - movs r4, 0xA - ldrsh r1, [r0, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x4 - strh r1, [r0, 0x2E] -_0816D774: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r3 - ldrh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 18 - movs r1, 0x7F - ands r0, r1 - movs r1, 0x30 - bl Sin - ldr r1, =gUnknown_0203BCCC - strh r0, [r1] - ldrh r2, [r4, 0xE] - movs r7, 0xE - ldrsh r1, [r4, r7] - ldr r0, =0x000001ff - cmp r1, r0 - bgt _0816D7A0 - adds r0, r2, 0x1 - strh r0, [r4, 0xE] -_0816D7A0: - movs r0, 0 - bl sub_817B540 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_8 - - thumb_func_start task_intro_9 -task_intro_9: @ 816D7E8 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_030062A0 - ldr r1, [r0] - ldr r0, =0x00000814 - cmp r1, r0 - bls _0816D806 - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, =task_intro_10 - str r0, [r1] -_0816D806: - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_9 - - thumb_func_start sub_816D81C -sub_816D81C: @ 816D81C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x34] - adds r0, 0x4 - strh r0, [r4, 0x34] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x8 - bls _0816D830 - b _0816D9BA -_0816D830: - lsls r0, 2 - ldr r1, =_0816D840 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0816D840: - .4byte _0816D864 - .4byte _0816D87A - .4byte _0816D898 - .4byte _0816D8BC - .4byte _0816D8D8 - .4byte _0816D8FA - .4byte _0816D912 - .4byte _0816D96E - .4byte _0816D99C -_0816D864: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB3 - bgt _0816D874 - b _0816D9BA -_0816D874: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_0816D87A: - ldrh r0, [r4, 0x20] - subs r0, 0x4 - strh r0, [r4, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3C - beq _0816D88A - b _0816D9BA -_0816D88A: - movs r0, 0x8 - strh r0, [r4, 0x2E] - movs r0, 0x14 - strh r0, [r4, 0x30] - movs r0, 0x2 - strh r0, [r4, 0x32] - b _0816D9BA -_0816D898: - ldrh r1, [r4, 0x20] - adds r1, 0x8 - strh r1, [r4, 0x20] - ldrh r0, [r4, 0x22] - subs r0, 0x2 - strh r0, [r4, 0x22] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x7C - beq _0816D8AE - b _0816D9BA -_0816D8AE: - movs r0, 0x8 - strh r0, [r4, 0x2E] - movs r0, 0x14 - strh r0, [r4, 0x30] - movs r0, 0x3 - strh r0, [r4, 0x32] - b _0816D9BA -_0816D8BC: - ldrh r0, [r4, 0x22] - adds r0, 0x4 - strh r0, [r4, 0x22] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x50 - bne _0816D9BA - movs r0, 0x8 - strh r0, [r4, 0x2E] - movs r0, 0xA - strh r0, [r4, 0x30] - movs r0, 0x4 - strh r0, [r4, 0x32] - b _0816D9BA -_0816D8D8: - ldrh r1, [r4, 0x20] - subs r1, 0x8 - strh r1, [r4, 0x20] - ldrh r0, [r4, 0x22] - subs r0, 0x2 - strh r0, [r4, 0x22] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x3C - bne _0816D9BA - movs r0, 0x8 - strh r0, [r4, 0x2E] - movs r0, 0xA - strh r0, [r4, 0x30] - movs r0, 0x5 - strh r0, [r4, 0x32] - b _0816D9BA -_0816D8FA: - ldrh r0, [r4, 0x20] - adds r0, 0x3C - strh r0, [r4, 0x20] - movs r0, 0xC0 - strh r0, [r4, 0x36] - movs r0, 0x80 - strh r0, [r4, 0x38] - movs r0, 0x3 - strh r0, [r4, 0x3A] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_0816D912: - ldrh r0, [r4, 0x36] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3C - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x38] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x14 - bl Sin - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x36] - adds r1, 0x2 - strh r1, [r4, 0x36] - ldrh r0, [r4, 0x38] - adds r0, 0x4 - strh r0, [r4, 0x38] - movs r0, 0xFF - ands r1, r0 - cmp r1, 0x40 - bne _0816D9BA - adds r2, r4, 0 - adds r2, 0x3F - ldrb r0, [r2] - movs r1, 0x2 - negs r1, r1 - ands r1, r0 - strb r1, [r2] - ldrh r0, [r4, 0x3A] - subs r0, 0x1 - strh r0, [r4, 0x3A] - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - bne _0816D9BA - ldrh r0, [r4, 0x24] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - strh r1, [r4, 0x24] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - b _0816D9B8 -_0816D96E: - ldrh r0, [r4, 0x20] - subs r0, 0x2 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x38] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x14 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x38] - adds r0, 0x4 - strh r0, [r4, 0x38] - movs r0, 0x20 - ldrsh r1, [r4, r0] - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - bge _0816D9BA - adds r0, r4, 0 - bl DestroySprite - b _0816D9BA -_0816D99C: - ldrh r0, [r4, 0x34] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - subs r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _0816D9BA - ldrh r0, [r4, 0x32] -_0816D9B8: - strh r0, [r4, 0x2E] -_0816D9BA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_816D81C - - thumb_func_start sub_816D9C0 -sub_816D9C0: @ 816D9C0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bls _0816D9CE - b _0816DADA -_0816D9CE: - lsls r0, 2 - ldr r1, =_0816D9DC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0816D9DC: - .4byte _0816D9F4 - .4byte _0816DA08 - .4byte _0816DA20 - .4byte _0816DA64 - .4byte _0816DA9A - .4byte _0816DACA -_0816D9F4: - ldr r0, =gUnknown_030062A0 - ldr r1, [r0] - movs r0, 0x99 - lsls r0, 3 - cmp r1, r0 - bne _0816DADA - b _0816DABA - .pool -_0816DA08: - ldr r0, =gUnknown_030062A0 - ldr r1, [r0] - movs r0, 0xC5 - lsls r0, 3 - cmp r1, r0 - bne _0816DA70 - adds r0, r4, 0 - movs r1, 0 - b _0816DABE - .pool -_0816DA20: - ldr r0, =gUnknown_030062A0 - ldr r1, [r0] - ldr r0, =0x000006c7 - cmp r1, r0 - beq _0816DA50 - ldrh r0, [r4, 0x30] - adds r2, r0, 0 - adds r2, 0x20 - strh r2, [r4, 0x30] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _0816DADA - ldrh r0, [r4, 0x20] - adds r0, 0x1 - b _0816DA8A - .pool -_0816DA50: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0x50 - strh r0, [r4, 0x32] - b _0816DADA -_0816DA64: - ldrh r0, [r4, 0x32] - subs r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - cmp r0, 0 - beq _0816DA94 -_0816DA70: - ldrh r0, [r4, 0x30] - adds r2, r0, 0 - adds r2, 0x40 - strh r2, [r4, 0x30] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _0816DADA - ldrh r0, [r4, 0x20] - subs r0, 0x1 -_0816DA8A: - strh r0, [r4, 0x20] - movs r0, 0xFF - ands r2, r0 - strh r2, [r4, 0x30] - b _0816DADA -_0816DA94: - adds r0, r4, 0 - movs r1, 0x2 - b _0816DABE -_0816DA9A: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0816DAAE - ldrh r0, [r4, 0x20] - adds r0, 0x4 - strh r0, [r4, 0x20] -_0816DAAE: - movs r0, 0x20 - ldrsh r1, [r4, r0] - movs r0, 0xA8 - lsls r0, 1 - cmp r1, r0 - ble _0816DADA -_0816DABA: - adds r0, r4, 0 - movs r1, 0x1 -_0816DABE: - bl StartSpriteAnim - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _0816DADA -_0816DACA: - ldr r0, =gUnknown_030062A0 - ldr r1, [r0] - ldr r0, =0x0000073f - cmp r1, r0 - bls _0816DADA - ldrh r0, [r4, 0x20] - subs r0, 0x2 - strh r0, [r4, 0x20] -_0816DADA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816D9C0 - - thumb_func_start sub_816DAE8 -sub_816DAE8: @ 816DAE8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0816DB1C - cmp r0, 0x1 - bgt _0816DAFE - cmp r0, 0 - beq _0816DB04 - b _0816DBA4 -_0816DAFE: - cmp r0, 0x2 - beq _0816DB42 - b _0816DBA4 -_0816DB04: - ldr r0, =gUnknown_030062A0 - ldr r1, [r0] - movs r0, 0x88 - lsls r0, 3 - cmp r1, r0 - bne _0816DBA4 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _0816DBA4 - .pool -_0816DB1C: - ldrh r0, [r4, 0x20] - subs r0, 0x2 - strh r0, [r4, 0x20] - ldr r0, =gUnknown_030062A0 - ldr r1, [r0] - movs r0, 0x92 - lsls r0, 3 - cmp r1, r0 - bne _0816DBA4 - ldrh r0, [r4, 0x22] - subs r0, 0xC - strh r0, [r4, 0x22] - movs r0, 0x80 - strh r0, [r4, 0x30] - movs r0, 0 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_0816DB42: - movs r2, 0x20 - ldrsh r0, [r4, r2] - movs r2, 0x24 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bgt _0816DB60 - adds r0, r4, 0 - bl DestroySprite - b _0816DBA4 - .pool -_0816DB60: - ldrh r0, [r4, 0x30] - movs r1, 0xFF - ands r1, r0 - cmp r1, 0x3F - bgt _0816DB72 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x10 - b _0816DB84 -_0816DB72: - cmp r1, 0x40 - bne _0816DB7C - ldrh r0, [r4, 0x20] - subs r0, 0x30 - strh r0, [r4, 0x20] -_0816DB7C: - ldrh r0, [r4, 0x30] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x40 -_0816DB84: - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0xC - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] -_0816DBA4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_816DAE8 - - thumb_func_start task_intro_10 -task_intro_10: @ 816DBAC - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - bl intro_reset_and_hide_bgs - ldr r0, =gIntro3Pokeball_Gfx - movs r1, 0xC0 - lsls r1, 19 - bl LZ77UnCompVram - ldr r0, =gIntro3Pokeball_Tilemap - ldr r1, =0x06004000 - bl LZ77UnCompVram - ldr r0, =gIntro3PokeballPal - movs r2, 0x80 - lsls r2, 2 - movs r1, 0 - bl LoadPalette - ldr r0, =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - movs r5, 0 - strh r5, [r4, 0x8] - strh r5, [r4, 0xA] - strh r5, [r4, 0xC] - strh r5, [r4, 0xE] - movs r0, 0x78 - movs r1, 0x50 - movs r2, 0 - movs r3, 0 - bl sub_816F2A8 - bl ResetSpriteData - bl FreeAllSpritePalettes - movs r0, 0x1 - negs r0, r0 - ldr r1, =0x0000ffff - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, =0x00004883 - movs r0, 0xC - bl SetGpuReg - ldr r1, =0x00001441 - movs r0, 0 - bl SetGpuReg - ldr r0, =task_intro_11 - str r0, [r4] - ldr r0, =gUnknown_030062A0 - str r5, [r0] - movs r0, 0xDD - lsls r0, 1 - bl m4aSongNumStart - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_10 - - thumb_func_start task_intro_11 -task_intro_11: @ 816DC64 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r3, r0, r2 - movs r1, 0x80 - lsls r1, 3 - adds r0, r1, 0 - ldrh r1, [r3, 0x8] - adds r0, r1 - strh r0, [r3, 0x8] - ldrh r4, [r3, 0xA] - movs r0, 0xA - ldrsh r1, [r3, r0] - ldr r0, =0x000006bf - cmp r1, r0 - bgt _0816DCA4 - ldrh r0, [r3, 0xC] - adds r1, r4, r0 - strh r1, [r3, 0xA] - adds r0, 0x2 - strh r0, [r3, 0xC] - b _0816DCA8 - .pool -_0816DCA4: - ldr r0, =task_intro_12 - str r0, [r3] -_0816DCA8: - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r2 - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0x80 - lsls r0, 9 - bl __divsi3 - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - ldrh r3, [r4, 0x8] - movs r0, 0x78 - movs r1, 0x50 - bl sub_816F2A8 - ldr r0, =gUnknown_030062A0 - ldr r0, [r0] - cmp r0, 0x1C - bne _0816DCE6 - movs r0, 0x1 - negs r0, r0 - ldr r1, =0x0000ffff - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_0816DCE6: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_11 - - thumb_func_start task_intro_12 -task_intro_12: @ 816DCFC - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_030062A0 - ldr r0, [r0] - cmp r0, 0x2B - bls _0816DD18 - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, =task_intro_13 - str r0, [r1] -_0816DD18: - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_12 - - thumb_func_start task_intro_13 -task_intro_13: @ 816DD28 - 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 _0816DD94 - bl intro_reset_and_hide_bgs - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r1, =gReservedSpritePaletteCount - movs r0, 0x8 - strb r0, [r1] - ldr r0, =gIntro3GroudonGfx - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - ldr r0, =gIntro3GroudonTilemap - ldr r1, =0x0600c000 - bl LZDecompressVram - ldr r0, =gIntro3LegendBgGfx - ldr r1, =0x06004000 - bl LZDecompressVram - ldr r0, =gIntro3GroudonBgTilemap - ldr r1, =0x0600e000 - bl LZDecompressVram - ldr r0, =gBattleAnimPicTable + 0x1D0 - bl LoadCompressedObjectPicUsingHeap - ldr r0, =gBattleAnimPaletteTable + 0x1D0 - bl LoadCompressedObjectPaletteUsingHeap - ldr r0, =gIntro3BgPal - ldr r1, =gPlttBufferUnfaded - movs r2, 0x80 - lsls r2, 1 - bl CpuSet - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =task_intro_14 - str r1, [r0] -_0816DD94: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_13 - - thumb_func_start task_intro_14 -task_intro_14: @ 816DDD8 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x40 - movs r1, 0xF0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0xA0 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - ldr r1, =0x0000b880 - movs r0, 0xC - bl SetGpuReg - ldr r1, =0x00001c05 - movs r0, 0xA - bl SetGpuReg - ldr r1, =0x00003641 - movs r0, 0 - bl SetGpuReg - movs r0, 0x1 - negs r0, r0 - ldr r1, =0x0000ffff - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - movs r0, 0 - strh r0, [r4, 0x8] - ldr r0, =0x0000ffa0 - strh r0, [r4, 0xA] - ldr r1, =0x0000ff51 - strh r1, [r4, 0xC] - movs r2, 0x80 - lsls r2, 1 - strh r2, [r4, 0xE] - movs r3, 0 - bl sub_816F2A8 - ldr r0, =task_intro_15 - str r0, [r4] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_14 - - thumb_func_start task_intro_15 -task_intro_15: @ 816DE7C - 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 r2, [r4, 0x8] - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x20 - beq _0816DEB8 - adds r0, r2, 0x4 - strh r0, [r4, 0x8] - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r1, 8 - adds r0, r2, 0 - subs r0, 0x9C - subs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - b _0816DEC6 - .pool -_0816DEB8: - movs r1, 0x82 - lsls r1, 6 - movs r0, 0x44 - bl SetGpuReg - ldr r0, =task_intro_16 - str r0, [r4] -_0816DEC6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_15 - - thumb_func_start task_intro_16 -task_intro_16: @ 816DED0 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =task_intro_17 - str r0, [r1] - bx lr - .pool - thumb_func_end task_intro_16 - - thumb_func_start task_intro_17 -task_intro_17: @ 816DEEC - push {lr} - sub sp, 0xC - 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 r0, =task_intro_18 - str r0, [r1] - movs r0, 0x1 - str r0, [sp] - movs r0, 0x4 - str r0, [sp, 0x4] - str r2, [sp, 0x8] - movs r0, 0 - movs r1, 0xA0 - movs r2, 0x4 - movs r3, 0x4 - bl ScanlineEffect_InitWave - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_17 - - thumb_func_start task_intro_18 -task_intro_18: @ 816DF2C - push {r4,r5,lr} - sub sp, 0x4 - 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, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - ldrh r0, [r4] - subs r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x6 - bhi _0816DF62 - ldrh r0, [r4, 0xA] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0816DF62 - ldrh r0, [r4, 0x8] - movs r1, 0x3 - eors r0, r1 - strh r0, [r4, 0x8] -_0816DF62: - ldrh r0, [r4, 0x2] - ldrh r1, [r4, 0x8] - ldrh r2, [r4, 0x4] - adds r1, r2 - lsls r1, 16 - lsrs r1, 16 - ldrh r2, [r4, 0x6] - movs r3, 0 - bl sub_816F2A8 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x9 - bls _0816DF80 - b _0816E176 -_0816DF80: - lsls r0, 2 - ldr r1, =_0816DF94 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0816DF94: - .4byte _0816DFBC - .4byte _0816DFE6 - .4byte _0816E024 - .4byte _0816E038 - .4byte _0816E07C - .4byte _0816E09A - .4byte _0816E0C8 - .4byte _0816E0DE - .4byte _0816E13C - .4byte _0816E156 -_0816DFBC: - ldrh r0, [r4, 0x2] - adds r0, 0x10 - strh r0, [r4, 0x2] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA0 - beq _0816DFCC - b _0816E176 -_0816DFCC: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - movs r0, 0x2 - strh r0, [r4, 0xC] - movs r2, 0xF1 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r4, 0xE] - adds r0, r5, 0 - bl sub_816E190 - b _0816E176 -_0816DFE6: - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - beq _0816DFF4 - b _0816E176 -_0816DFF4: - movs r0, 0x2 - strh r0, [r4, 0xC] - movs r1, 0xE - ldrsh r0, [r4, r1] - ldr r1, =gIntro3BgPal - adds r0, r1 - ldr r1, =gPlttBufferFaded + 0x3E - movs r2, 0x1 - bl CpuSet - ldrh r0, [r4, 0xE] - adds r0, 0x2 - strh r0, [r4, 0xE] - lsls r0, 16 - movs r1, 0xF6 - lsls r1, 17 - cmp r0, r1 - beq _0816E01A - b _0816E176 -_0816E01A: - b _0816E14E - .pool -_0816E024: - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - beq _0816E032 - b _0816E176 -_0816E032: - movs r0, 0x2 - strh r0, [r4, 0xC] - b _0816E14E -_0816E038: - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - beq _0816E046 - b _0816E176 -_0816E046: - movs r0, 0x2 - strh r0, [r4, 0xC] - movs r2, 0xE - ldrsh r0, [r4, r2] - ldr r1, =gIntro3BgPal - adds r0, r1 - ldr r1, =gPlttBufferFaded + 0x3E - movs r2, 0x1 - bl CpuSet - ldrh r0, [r4, 0xE] - subs r0, 0x2 - strh r0, [r4, 0xE] - lsls r0, 16 - movs r1, 0xF0 - lsls r1, 17 - cmp r0, r1 - beq _0816E06C - b _0816E176 -_0816E06C: - movs r0, 0x8 - strh r0, [r4, 0xC] - b _0816E14E - .pool -_0816E07C: - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bne _0816E176 - movs r1, 0x60 - negs r1, r1 - adds r0, r1, 0 - strh r0, [r4, 0x2] - movs r0, 0xA9 - strh r0, [r4, 0x4] - movs r0, 0x3 - strh r0, [r4, 0xC] - b _0816E14E -_0816E09A: - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - bne _0816E176 - movs r0, 0x50 - strh r0, [r4, 0x2] - movs r0, 0x29 - strh r0, [r4, 0x4] - movs r0, 0x10 - strh r0, [r4, 0xC] - ldr r0, =0x00000195 - str r1, [sp] - movs r1, 0 - movs r2, 0x64 - movs r3, 0xA - bl PlayCryInternal - b _0816E14E - .pool -_0816E0C8: - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bne _0816E176 - movs r0, 0x50 - strh r0, [r4, 0x2] - movs r0, 0x28 - strh r0, [r4, 0x4] - b _0816E14E -_0816E0DE: - ldrh r0, [r4, 0x2] - adds r0, 0x4 - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x4] - adds r0, 0x4 - strh r0, [r4, 0x4] - ldr r2, =0x00000666 - adds r0, r2, 0 - ldrh r1, [r4, 0xC] - adds r0, r1 - strh r0, [r4, 0xC] - movs r2, 0xC - ldrsh r0, [r4, r2] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - lsrs r0, 8 - movs r1, 0x40 - bl Sin - movs r1, 0x80 - lsls r1, 1 - adds r5, r1, 0 - adds r0, r5 - strh r0, [r4, 0x6] - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, 0x78 - bne _0816E176 - movs r0, 0x2 - negs r0, r0 - ldr r1, =0x00007fff - str r1, [sp] - movs r1, 0x3 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - strh r5, [r4, 0x6] - movs r0, 0 - strh r0, [r4, 0x8] - b _0816E14E - .pool -_0816E13C: - ldrh r1, [r4, 0x6] - movs r2, 0x6 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0816E14E - adds r0, r1, 0 - subs r0, 0x8 - strh r0, [r4, 0x6] - b _0816E176 -_0816E14E: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _0816E176 -_0816E156: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0816E176 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =task_intro_19 - str r1, [r0] - ldr r1, =gScanlineEffect - movs r0, 0x3 - strb r0, [r1, 0x15] -_0816E176: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_18 - - thumb_func_start sub_816E190 -sub_816E190: @ 816E190 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - movs r4, 0 - ldr r6, =gSprites - ldr r5, =gUnknown_085E4C64 -_0816E19C: - movs r0, 0 - ldrsh r1, [r5, r0] - lsls r3, r4, 24 - lsrs r3, 24 - ldr r0, =gUnknown_08596C10 - movs r2, 0xA0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r0, r6, 0 - adds r0, 0x1C - adds r0, r2, r0 - ldr r1, =sub_816E1F8 - str r1, [r0] - adds r2, r6 - ldrb r0, [r2, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - strb r0, [r2, 0x5] - strh r4, [r2, 0x30] - strh r7, [r2, 0x36] - ldrb r1, [r5, 0x2] - adds r0, r2, 0 - bl StartSpriteAnim - adds r5, 0x6 - adds r4, 0x1 - cmp r4, 0x5 - ble _0816E19C - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816E190 - - thumb_func_start sub_816E1F8 -sub_816E1F8: @ 816E1F8 - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x34] - adds r0, 0x1 - strh r0, [r3, 0x34] - ldrh r0, [r3, 0x34] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0816E214 - ldrh r0, [r3, 0x26] - movs r1, 0x3 - eors r0, r1 - strh r0, [r3, 0x26] -_0816E214: - movs r1, 0x2E - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _0816E222 - cmp r0, 0x1 - beq _0816E278 - b _0816E29C -_0816E222: - ldr r2, =gUnknown_085E4C64 - movs r0, 0x30 - ldrsh r1, [r3, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - adds r2, 0x4 - adds r0, r2 - ldrh r2, [r0] - ldrh r1, [r3, 0x32] - adds r2, r1 - strh r2, [r3, 0x32] - movs r0, 0x32 - ldrsh r1, [r3, r0] - movs r0, 0xFF - lsls r0, 8 - ands r1, r0 - asrs r1, 8 - ldrh r0, [r3, 0x22] - subs r0, r1 - strh r0, [r3, 0x22] - movs r0, 0xFF - ands r2, r0 - strh r2, [r3, 0x32] - ldr r2, =gTasks - movs r0, 0x36 - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0x7 - ble _0816E29C - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - b _0816E29C - .pool -_0816E278: - ldrh r1, [r3, 0x20] - movs r2, 0x20 - ldrsh r0, [r3, r2] - cmp r0, 0x77 - bgt _0816E286 - subs r0, r1, 0x2 - b _0816E288 -_0816E286: - adds r0, r1, 0x2 -_0816E288: - strh r0, [r3, 0x20] - ldrh r1, [r3, 0x22] - movs r2, 0x22 - ldrsh r0, [r3, r2] - cmp r0, 0x4F - bgt _0816E298 - subs r0, r1, 0x2 - b _0816E29A -_0816E298: - adds r0, r1, 0x2 -_0816E29A: - strh r0, [r3, 0x22] -_0816E29C: - pop {r0} - bx r0 - thumb_func_end sub_816E1F8 - - thumb_func_start task_intro_19 -task_intro_19: @ 816E2A0 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ResetSpriteData - ldr r0, =gIntro3KyogreGfx - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - ldr r0, =gIntro3KyogreTilemap - ldr r1, =0x0600c000 - bl LZDecompressVram - ldr r0, =gIntro3KyogreBgTilemap - ldr r1, =0x0600e000 - bl LZDecompressVram - ldr r0, =gUnknown_085E4C88 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085E4C98 - bl LoadSpritePalette - movs r0, 0x2 - negs r0, r0 - ldr r1, =0x0000ffff - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =task_intro_20 - str r0, [r1] - movs r4, 0 - strh r4, [r1, 0x8] - movs r0, 0xA8 - lsls r0, 1 - strh r0, [r1, 0xA] - movs r2, 0x50 - strh r2, [r1, 0xC] - movs r2, 0x10 - strh r2, [r1, 0x14] - adds r2, 0xF0 - strh r2, [r1, 0xE] - movs r1, 0x50 - movs r3, 0 - bl sub_816F2A8 - movs r0, 0x1 - str r0, [sp] - movs r0, 0x6 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r1, 0xA0 - movs r2, 0x4 - movs r3, 0x4 - bl ScanlineEffect_InitWave - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_19 - - thumb_func_start task_intro_20 -task_intro_20: @ 816E358 - push {r4-r6,lr} - sub sp, 0x4 - 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 - ldrh r0, [r5, 0x2] - ldrh r1, [r5, 0x4] - ldrh r2, [r5, 0x6] - movs r3, 0 - bl sub_816F2A8 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0xD - bls _0816E380 - b _0816E6BC -_0816E380: - lsls r0, 2 - ldr r1, =_0816E394 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0816E394: - .4byte _0816E3CC - .4byte _0816E3E0 - .4byte _0816E43C - .4byte _0816E488 - .4byte _0816E4C4 - .4byte _0816E4EC - .4byte _0816E544 - .4byte _0816E560 - .4byte _0816E5A0 - .4byte _0816E5BC - .4byte _0816E5FC - .4byte _0816E61A - .4byte _0816E664 - .4byte _0816E69C -_0816E3CC: - ldrh r0, [r5, 0xC] - subs r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - cmp r0, 0 - beq _0816E3DA - b _0816E6BC -_0816E3DA: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_0816E3E0: - ldrh r0, [r5, 0xC] - adds r0, 0x4 - strh r0, [r5, 0xC] - movs r2, 0xC - ldrsh r0, [r5, r2] - movs r1, 0x80 - lsls r1, 1 - bl Sin - ldr r1, =gTasks - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 3 - adds r4, r1 - movs r2, 0xAC - lsls r2, 1 - adds r1, r2, 0 - subs r1, r0 - strh r1, [r4, 0xA] - movs r1, 0xC - ldrsh r0, [r5, r1] - movs r1, 0x40 - bl Cos - movs r1, 0x54 - subs r1, r0 - strh r1, [r4, 0xC] - movs r2, 0xC - ldrsh r0, [r5, r2] - cmp r0, 0x40 - beq _0816E420 - b _0816E6BC -_0816E420: - movs r0, 0x19 - strh r0, [r5, 0xC] - movs r0, 0x1 - strh r0, [r5, 0xE] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - movs r0, 0 - bl sub_816E6D4 - b _0816E6BC - .pool -_0816E43C: - ldrh r0, [r5, 0xC] - subs r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - cmp r0, 0 - beq _0816E44A - b _0816E6BC -_0816E44A: - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - ldrh r2, [r1, 0xA] - adds r0, r2 - strh r0, [r1, 0xA] - ldr r2, =0xfffffefe - adds r0, r2, 0 - ldrh r2, [r1, 0xC] - adds r0, r2 - strh r0, [r1, 0xC] - movs r0, 0x8 - strh r0, [r5, 0xC] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - movs r0, 0 - bl sub_816E6D4 - bl sub_816E74C - b _0816E6BC - .pool -_0816E488: - ldrh r0, [r5, 0xC] - subs r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - cmp r0, 0 - beq _0816E496 - b _0816E6BC -_0816E496: - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r2, =0xffffff00 - adds r0, r2, 0 - ldrh r2, [r1, 0xA] - adds r0, r2 - strh r0, [r1, 0xA] - movs r2, 0x81 - lsls r2, 1 - adds r0, r2, 0 - ldrh r2, [r1, 0xC] - adds r0, r2 - strh r0, [r1, 0xC] - movs r0, 0x8 - strh r0, [r5, 0xC] - b _0816E690 - .pool -_0816E4C4: - ldrh r0, [r5, 0xC] - subs r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - cmp r0, 0 - beq _0816E4D2 - b _0816E6BC -_0816E4D2: - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0xC] - subs r1, 0xFC - strh r1, [r0, 0xC] - movs r0, 0x8 - strh r0, [r5, 0xC] - b _0816E690 - .pool -_0816E4EC: - ldrh r0, [r5, 0xC] - subs r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - cmp r0, 0 - beq _0816E4FA - b _0816E6BC -_0816E4FA: - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xC] - adds r0, 0xFC - strh r0, [r1, 0xC] - ldrh r2, [r5, 0xE] - movs r0, 0xE - ldrsh r1, [r5, r0] - cmp r1, 0 - beq _0816E528 - movs r0, 0xC - strh r0, [r5, 0xC] - subs r0, r2, 0x1 - strh r0, [r5, 0xE] - movs r0, 0x2 - strh r0, [r5] - b _0816E6BC - .pool -_0816E528: - movs r0, 0x1 - strh r0, [r5, 0xC] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - movs r0, 0xCA - lsls r0, 1 - str r1, [sp] - movs r1, 0 - movs r2, 0x78 - movs r3, 0xA - bl PlayCryInternal - b _0816E6BC -_0816E544: - ldrh r0, [r5, 0xC] - subs r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - cmp r0, 0 - beq _0816E552 - b _0816E6BC -_0816E552: - movs r0, 0x4 - strh r0, [r5, 0xC] - movs r1, 0xF5 - lsls r1, 1 - adds r0, r1, 0 - strh r0, [r5, 0xE] - b _0816E690 -_0816E560: - ldrh r0, [r5, 0xC] - subs r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - cmp r0, 0 - beq _0816E56E - b _0816E6BC -_0816E56E: - movs r0, 0x4 - strh r0, [r5, 0xC] - movs r2, 0xE - ldrsh r0, [r5, r2] - ldr r1, =gIntro3BgPal - adds r0, r1 - ldr r1, =gPlttBufferFaded + 0x5E - movs r2, 0x1 - bl CpuSet - ldrh r0, [r5, 0xE] - subs r0, 0x2 - strh r0, [r5, 0xE] - lsls r0, 16 - movs r1, 0xF0 - lsls r1, 17 - cmp r0, r1 - beq _0816E594 - b _0816E6BC -_0816E594: - b _0816E690 - .pool -_0816E5A0: - ldrh r0, [r5, 0xC] - subs r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - cmp r0, 0 - beq _0816E5AE - b _0816E6BC -_0816E5AE: - movs r0, 0x4 - strh r0, [r5, 0xC] - movs r1, 0xF1 - lsls r1, 1 - adds r0, r1, 0 - strh r0, [r5, 0xE] - b _0816E690 -_0816E5BC: - ldrh r0, [r5, 0xC] - subs r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - cmp r0, 0 - bne _0816E6BC - movs r0, 0x4 - strh r0, [r5, 0xC] - movs r2, 0xE - ldrsh r0, [r5, r2] - ldr r1, =gIntro3BgPal - adds r0, r1 - ldr r1, =gPlttBufferFaded + 0x5E - movs r2, 0x1 - bl CpuSet - ldrh r0, [r5, 0xE] - adds r0, 0x2 - strh r0, [r5, 0xE] - lsls r0, 16 - movs r1, 0xF7 - lsls r1, 17 - cmp r0, r1 - bne _0816E6BC - movs r0, 0x10 - strh r0, [r5, 0xC] - b _0816E690 - .pool -_0816E5FC: - ldrh r0, [r5, 0xC] - subs r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bne _0816E6BC - strh r0, [r5, 0xC] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - adds r0, r6, 0 - bl sub_816E6D4 - b _0816E6BC -_0816E61A: - ldrh r0, [r5, 0xC] - adds r0, 0x4 - strh r0, [r5, 0xC] - ldrh r0, [r5, 0x6] - subs r0, 0x8 - strh r0, [r5, 0x6] - movs r1, 0xC - ldrsh r0, [r5, r1] - movs r1, 0x3C - bl Sin - ldr r2, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r2 - adds r0, 0x58 - strh r0, [r1, 0xA] - movs r2, 0xC - ldrsh r0, [r5, r2] - cmp r0, 0x40 - bne _0816E6BC - movs r0, 0x2 - negs r0, r0 - ldr r1, =0x00007fff - str r1, [sp] - movs r1, 0x3 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _0816E690 - .pool -_0816E664: - ldrh r0, [r5, 0xC] - adds r0, 0x4 - strh r0, [r5, 0xC] - ldrh r0, [r5, 0x6] - subs r0, 0x8 - strh r0, [r5, 0x6] - movs r1, 0xC - ldrsh r0, [r5, r1] - movs r1, 0x14 - bl Sin - ldr r2, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r2 - adds r0, 0x80 - strh r0, [r1, 0xA] - movs r2, 0xC - ldrsh r0, [r5, r2] - cmp r0, 0x80 - bne _0816E6BC -_0816E690: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - b _0816E6BC - .pool -_0816E69C: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0816E6BC - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =task_intro_21 - str r1, [r0] - ldr r1, =gScanlineEffect - movs r0, 0x3 - strb r0, [r1, 0x15] -_0816E6BC: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_20 - - thumb_func_start sub_816E6D4 -sub_816E6D4: @ 816E6D4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r5, 0 - ldr r7, =gUnknown_085E4CA8 - ldr r0, =gSprites - mov r9, r0 - adds r4, r7, 0 - movs r6, 0 -_0816E6EE: - movs r3, 0 - ldrsh r1, [r4, r3] - adds r0, r7, 0x2 - adds r0, r6, r0 - movs r3, 0 - ldrsh r2, [r0, r3] - lsls r3, r5, 24 - lsrs r3, 24 - ldr r0, =gUnknown_085E4D14 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - add r2, r9 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3] - mov r0, r8 - strh r0, [r2, 0x38] - ldrh r0, [r4, 0x4] - strh r0, [r2, 0x3A] - movs r0, 0x40 - strh r0, [r2, 0x3C] - adds r4, 0x6 - adds r6, 0x6 - adds r5, 0x1 - cmp r5, 0x5 - ble _0816E6EE - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816E6D4 - - thumb_func_start sub_816E74C -sub_816E74C: @ 816E74C - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r5, 0 - ldr r7, =gUnknown_085E4CA8 - adds r4, r7, 0x4 - movs r6, 0x24 - ldr r0, =gSprites - mov r8, r0 -_0816E75E: - movs r3, 0x20 - ldrsh r1, [r4, r3] - adds r0, r7, 0x2 - adds r0, r6, r0 - movs r3, 0 - ldrsh r2, [r0, r3] - lsls r3, r5, 24 - lsrs r3, 24 - ldr r0, =gUnknown_085E4D14 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - add r2, r8 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r4] - strh r0, [r2, 0x3A] - movs r0, 0x40 - strh r0, [r2, 0x3C] - adds r4, 0x6 - adds r6, 0x6 - adds r5, 0x1 - cmp r5, 0x5 - ble _0816E75E - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816E74C - - thumb_func_start sub_816E7B4 -sub_816E7B4: @ 816E7B4 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0816E7C6 - cmp r0, 0x1 - beq _0816E84C - b _0816E882 -_0816E7C6: - ldrh r1, [r4, 0x3A] - movs r2, 0x3A - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0816E80A - ldrh r0, [r4, 0x30] - adds r0, 0xB - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x4 - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - adds r0, 0x30 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 24 - negs r0, r0 - strh r0, [r4, 0x26] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0816E82A - adds r0, r4, 0 - bl DestroySprite - b _0816E82A -_0816E80A: - subs r0, r1, 0x1 - strh r0, [r4, 0x3A] - lsls r0, 16 - cmp r0, 0 - bne _0816E82A - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_0816E82A: - ldr r2, =gTasks - movs r0, 0x38 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0xB - ble _0816E882 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _0816E882 - .pool -_0816E84C: - ldrh r1, [r4, 0x20] - movs r2, 0x20 - ldrsh r0, [r4, r2] - cmp r0, 0x77 - bgt _0816E85A - subs r0, r1, 0x3 - b _0816E85C -_0816E85A: - adds r0, r1, 0x3 -_0816E85C: - strh r0, [r4, 0x20] - ldrh r1, [r4, 0x22] - movs r2, 0x22 - ldrsh r0, [r4, r2] - cmp r0, 0x4F - bgt _0816E86C - subs r0, r1, 0x3 - b _0816E86E -_0816E86C: - adds r0, r1, 0x3 -_0816E86E: - strh r0, [r4, 0x22] - ldrh r0, [r4, 0x22] - subs r0, 0x14 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x8C - bls _0816E882 - adds r0, r4, 0 - bl DestroySprite -_0816E882: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_816E7B4 - - thumb_func_start task_intro_21 -task_intro_21: @ 816E888 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x50 - movs r1, 0x87 - bl SetGpuReg - ldr r1, =0x00001f1f - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0x1F - bl SetGpuReg - movs r1, 0xB0 - lsls r1, 7 - movs r0, 0x8 - bl SetGpuReg - ldr r1, =0x00005a04 - movs r0, 0xA - bl SetGpuReg - ldr r1, =0x00001c06 - movs r0, 0xC - bl SetGpuReg - movs r1, 0xDD - lsls r1, 6 - movs r0, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0x50 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - ldr r1, =0x0000ffb0 - movs r0, 0x14 - 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 - ldr r4, =gIntro3CloudsGfx - movs r1, 0xC0 - lsls r1, 19 - adds r0, r4, 0 - bl LZDecompressVram - ldr r1, =0x06004000 - adds r0, r4, 0 - bl LZDecompressVram - ldr r0, =gIntro3Clouds3Tilemap - ldr r1, =0x0600e000 - bl LZDecompressVram - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =task_intro_22 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_21 - - thumb_func_start task_intro_22 -task_intro_22: @ 816E954 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gIntro3Clouds1Tilemap - ldr r1, =0x0600c000 - bl LZDecompressVram - ldr r0, =gIntro3Clouds2Tilemap - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =task_intro_23 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_22 - - thumb_func_start task_intro_23 -task_intro_23: @ 816E998 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - 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 r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =task_intro_24 - str r1, [r0] - movs r1, 0 - strh r1, [r0, 0x8] - movs r1, 0x10 - strh r1, [r0, 0x14] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_23 - - thumb_func_start task_intro_24 -task_intro_24: @ 816E9DC - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r5, r1, 3 - ldr r6, =gTasks + 0x8 - adds r4, r5, r6 - ldrh r1, [r4, 0xC] - lsls r1, 16 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x10 - bl SetGpuReg - ldrh r1, [r4, 0xC] - lsls r1, 16 - asrs r1, 24 - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x14 - bl SetGpuReg - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0816EA24 - cmp r0, 0x1 - beq _0816EA58 - b _0816EAA6 - .pool -_0816EA24: - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bne _0816EAA6 - movs r0, 0x2 - negs r0, r0 - ldr r1, =0x0000ffff - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r2, 0xA0 - lsls r2, 7 - adds r0, r2, 0 - strh r0, [r4, 0xC] - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _0816EAA6 - .pool -_0816EA58: - movs r0, 0xC - ldrsh r1, [r4, r0] - movs r0, 0xA0 - lsls r0, 6 - cmp r1, r0 - bne _0816EA74 - ldr r0, =0x0000fffe - ldr r1, =0x00002949 - str r1, [sp] - movs r1, 0x3 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_0816EA74: - ldrh r1, [r4, 0xC] - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0816EA90 - adds r0, r1, 0 - subs r0, 0x80 - strh r0, [r4, 0xC] - b _0816EAA6 - .pool -_0816EA90: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0816EAA6 - adds r0, r6, 0 - subs r0, 0x8 - adds r0, r5, r0 - ldr r1, =task_intro_25 - str r1, [r0] -_0816EAA6: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_24 - - thumb_func_start task_intro_25 -task_intro_25: @ 816EAB8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gIntro3RayquazaTilemap - ldr r1, =0x0600e000 - bl LZDecompressVram - ldr r0, =gIntro3Clouds4Tilemap - ldr r1, =0x0600c000 - bl LZDecompressVram - ldr r0, =gIntro3RayquazaGfx - ldr r1, =0x06004000 - bl LZDecompressVram - ldr r0, =gIntro3Clouds2Gfx - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - movs r1, 0xD5 - lsls r1, 6 - movs r0, 0 - bl SetGpuReg - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =task_intro_26 - str r1, [r0] - movs r2, 0 - strh r2, [r0, 0x8] - movs r1, 0x1 - strh r1, [r0, 0x14] - strh r2, [r0, 0x16] - ldr r0, =gUnknown_085E4BF4 - bl LoadCompressedObjectPicUsingHeap - ldr r0, =gUnknown_085E4C04 - bl LoadSpritePalettes - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_25 - - thumb_func_start task_intro_26 -task_intro_26: @ 816EB44 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r2, =gTasks + 0x8 - adds r6, r1, r2 - movs r3, 0 - ldrsh r0, [r6, r3] - cmp r0, 0x1 - beq _0816EBE0 - cmp r0, 0x1 - bgt _0816EB6C - cmp r0, 0 - beq _0816EB72 - b _0816EC62 - .pool -_0816EB6C: - cmp r0, 0x2 - beq _0816EC4C - b _0816EC62 -_0816EB72: - ldrh r0, [r6, 0xC] - subs r0, 0x1 - strh r0, [r6, 0xC] - lsls r0, 16 - cmp r0, 0 - bne _0816EC62 - ldr r4, =gUnknown_085E4C4C - adds r0, r4, 0 - movs r1, 0xC8 - movs r2, 0x30 - movs r3, 0 - bl CreateSprite - adds r0, r4, 0 - movs r1, 0xC8 - movs r2, 0x50 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, =gSprites - adds r0, r5 - movs r1, 0x1 - bl StartSpriteAnim - adds r0, r4, 0 - movs r1, 0xC8 - movs r2, 0x70 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x2 - bl StartSpriteAnim - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - movs r0, 0x48 - strh r0, [r6, 0xC] - b _0816EC62 - .pool -_0816EBE0: - ldrh r0, [r6, 0xC] - subs r0, 0x1 - strh r0, [r6, 0xC] - lsls r0, 16 - cmp r0, 0 - bne _0816EC62 - ldr r4, =gUnknown_085E4C4C - adds r0, r4, 0 - movs r1, 0x28 - movs r2, 0x30 - movs r3, 0 - bl CreateSprite - adds r0, r4, 0 - movs r1, 0x28 - movs r2, 0x50 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, =gSprites - adds r0, r5 - movs r1, 0x1 - bl StartSpriteAnim - adds r0, r4, 0 - movs r1, 0x28 - movs r2, 0x70 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x2 - bl StartSpriteAnim - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - movs r0, 0x30 - strh r0, [r6, 0xC] - b _0816EC62 - .pool -_0816EC4C: - ldrh r0, [r6, 0xC] - subs r0, 0x1 - strh r0, [r6, 0xC] - lsls r0, 16 - cmp r0, 0 - bne _0816EC62 - adds r0, r2, 0 - subs r0, 0x8 - adds r0, r1, r0 - ldr r1, =task_intro_27 - str r1, [r0] -_0816EC62: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_26 - - thumb_func_start sub_816EC6C -sub_816EC6C: @ 816EC6C - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0816EC88 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_0816EC88: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0816ECAC - cmp r0, 0x1 - bgt _0816EC9A - cmp r0, 0 - beq _0816ECA0 - b _0816ED12 -_0816EC9A: - cmp r0, 0x2 - beq _0816ECDC - b _0816ED12 -_0816ECA0: - movs r0, 0xE1 - lsls r0, 1 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_0816ECAC: - movs r1, 0x30 - ldrsh r0, [r4, r1] - ldr r1, =gIntro3BgPal - adds r0, r1 - ldr r1, =gPlttBufferFaded + 0xBA - movs r2, 0x1 - bl CpuSet - ldrh r0, [r4, 0x30] - adds r0, 0x2 - strh r0, [r4, 0x30] - lsls r0, 16 - movs r1, 0xE7 - lsls r1, 17 - cmp r0, r1 - bne _0816ED12 - movs r0, 0xE6 - lsls r0, 1 - strh r0, [r4, 0x30] - movs r0, 0x4 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_0816ECDC: - ldrh r0, [r4, 0x32] - subs r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - cmp r0, 0 - bne _0816ED12 - movs r0, 0x4 - strh r0, [r4, 0x32] - movs r1, 0x30 - ldrsh r0, [r4, r1] - ldr r1, =gIntro3BgPal - adds r0, r1 - ldr r1, =gPlttBufferFaded + 0xBA - movs r2, 0x1 - bl CpuSet - ldrh r0, [r4, 0x30] - subs r0, 0x2 - strh r0, [r4, 0x30] - lsls r0, 16 - movs r1, 0xE0 - lsls r1, 17 - cmp r0, r1 - bne _0816ED12 - adds r0, r4, 0 - bl DestroySprite -_0816ED12: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816EC6C - - thumb_func_start task_intro_27 -task_intro_27: @ 816ED20 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gUnknown_085E5048 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085E5058 - bl LoadSpritePalettes - movs r1, 0xD5 - lsls r1, 6 - movs r0, 0 - bl SetGpuReg - ldr r6, =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r6 - ldr r0, =task_intro_28 - str r0, [r4] - ldr r0, =0x0000ffde - ldr r1, =0x00002949 - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0 - strh r0, [r4, 0x8] - movs r0, 0xA8 - strh r0, [r4, 0xA] - ldr r1, =0x0000fff0 - strh r1, [r4, 0xC] - ldr r0, =0x0000ff78 - strh r0, [r4, 0xE] - strh r1, [r4, 0x10] - ldr r0, =sub_816EEA8 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r6 - strh r5, [r1, 0x10] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_27 - - thumb_func_start task_intro_28 -task_intro_28: @ 816EDB4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r4, r1, 3 - ldr r5, =gTasks + 0x8 - adds r2, r4, r5 - ldrh r0, [r2, 0xE] - movs r3, 0x1 - ands r0, r3 - cmp r0, 0 - bne _0816EDD6 - ldrh r0, [r2, 0xC] - movs r1, 0x2 - eors r0, r1 - strh r0, [r2, 0xC] -_0816EDD6: - ldrh r0, [r2, 0xE] - adds r0, 0x1 - strh r0, [r2, 0xE] - movs r6, 0 - ldrsh r1, [r2, r6] - cmp r1, 0x1 - beq _0816EE2E - cmp r1, 0x1 - bgt _0816EDF4 - cmp r1, 0 - beq _0816EDFE - b _0816EE86 - .pool -_0816EDF4: - cmp r1, 0x2 - beq _0816EE3A - cmp r1, 0x3 - beq _0816EE70 - b _0816EE86 -_0816EDFE: - ands r0, r3 - cmp r0, 0 - beq _0816EE1C - ldrh r0, [r2, 0x2] - subs r0, 0x2 - strh r0, [r2, 0x2] - ldrh r0, [r2, 0x4] - adds r0, 0x1 - strh r0, [r2, 0x4] - ldrh r0, [r2, 0x6] - adds r0, 0x2 - strh r0, [r2, 0x6] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] -_0816EE1C: - movs r1, 0x2 - ldrsh r0, [r2, r1] - cmp r0, 0x68 - bne _0816EE86 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - strh r3, [r2, 0xA] - b _0816EE86 -_0816EE2E: - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - movs r0, 0x4 - strh r0, [r2, 0xA] - b _0816EE86 -_0816EE3A: - ldrh r0, [r2, 0x2] - adds r0, 0x4 - strh r0, [r2, 0x2] - ldrh r0, [r2, 0x4] - subs r0, 0x2 - strh r0, [r2, 0x4] - ldrh r0, [r2, 0x6] - subs r0, 0x4 - strh r0, [r2, 0x6] - ldrh r0, [r2, 0x8] - subs r0, 0x2 - strh r0, [r2, 0x8] - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0816EE86 - movs r0, 0x8C - strh r0, [r2, 0xA] - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - b _0816EE86 - .pool -_0816EE70: - ldrh r0, [r2, 0xA] - subs r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - cmp r0, 0 - bne _0816EE86 - adds r0, r5, 0 - subs r0, 0x8 - adds r0, r4, r0 - ldr r1, =task_intro_29 - str r1, [r0] -_0816EE86: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_28 - - thumb_func_start task_intro_29 -task_intro_29: @ 816EE90 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - ldr r0, =sub_816CC54 - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end task_intro_29 - - thumb_func_start sub_816EEA8 -sub_816EEA8: @ 816EEA8 - push {r4,r5,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 - ldrh r0, [r5, 0x4] - adds r0, 0x1 - strh r0, [r5, 0x4] - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x5 - bls _0816EECA - b _0816F0B2 -_0816EECA: - lsls r0, 2 - ldr r1, =_0816EEDC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0816EEDC: - .4byte _0816EEF4 - .4byte _0816EF34 - .4byte _0816EF80 - .4byte _0816F00A - .4byte _0816F074 - .4byte _0816F0A0 -_0816EEF4: - ldrh r1, [r5, 0x4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0816EF16 - movs r2, 0x2 - ldrsh r0, [r5, r2] - lsls r0, 1 - ldr r1, =gIntro3BgPal + 0x1A2 - adds r0, r1 - ldr r1, =gPlttBufferFaded + 0xBC - movs r2, 0x1 - bl CpuSet - ldrh r0, [r5, 0x2] - adds r0, 0x1 - strh r0, [r5, 0x2] -_0816EF16: - movs r1, 0x2 - ldrsh r0, [r5, r1] - cmp r0, 0x6 - beq _0816EF20 - b _0816F0B2 -_0816EF20: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - movs r0, 0 - strh r0, [r5, 0x2] - b _0816EF70 - .pool -_0816EF34: - ldrh r1, [r5, 0x6] - movs r2, 0x6 - ldrsh r0, [r5, r2] - cmp r0, 0 - bne _0816F004 - ldrh r1, [r5, 0x4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0816EF60 - movs r1, 0x2 - ldrsh r0, [r5, r1] - lsls r0, 1 - ldr r1, =gIntro3BgPal + 0x1A2 - adds r0, r1 - ldr r1, =gPlttBufferFaded + 0xB0 - movs r2, 0x1 - bl CpuSet - ldrh r0, [r5, 0x2] - adds r0, 0x1 - strh r0, [r5, 0x2] -_0816EF60: - movs r2, 0x2 - ldrsh r0, [r5, r2] - cmp r0, 0x6 - beq _0816EF6A - b _0816F0B2 -_0816EF6A: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_0816EF70: - movs r0, 0xA - strh r0, [r5, 0x6] - b _0816F0B2 - .pool -_0816EF80: - ldrh r1, [r5, 0x6] - movs r2, 0x6 - ldrsh r0, [r5, r2] - cmp r0, 0 - bne _0816F004 - ldrh r1, [r5, 0x4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0816EFAC - movs r1, 0x2 - ldrsh r0, [r5, r1] - lsls r0, 1 - ldr r1, =gIntro3BgPal + 0x182 - adds r0, r1 - ldr r1, =gPlttBufferFaded + 0xB8 - movs r2, 0x1 - bl CpuSet - ldrh r0, [r5, 0x2] - adds r0, 0x1 - strh r0, [r5, 0x2] -_0816EFAC: - movs r2, 0x2 - ldrsh r0, [r5, r2] - cmp r0, 0x6 - beq _0816EFB6 - b _0816F0B2 -_0816EFB6: - ldr r0, =gUnknown_085E5030 - movs r1, 0x78 - movs r2, 0x58 - movs r3, 0xF - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x67 - bl PlaySE - ldr r1, =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r3] - ldrh r1, [r5, 0x8] - strh r1, [r0, 0x34] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - movs r0, 0x10 - strh r0, [r5, 0x6] - b _0816F0B2 - .pool -_0816F004: - subs r0, r1, 0x1 - strh r0, [r5, 0x6] - b _0816F0B2 -_0816F00A: - ldrh r1, [r5, 0x4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0816F0B2 - ldrh r0, [r5, 0x6] - subs r0, 0x1 - adds r2, r0, 0 - strh r0, [r5, 0x6] - lsls r0, 16 - cmp r0, 0 - beq _0816F068 - lsls r2, 24 - lsrs r2, 24 - ldr r3, =0x00002949 - movs r0, 0x50 - movs r1, 0x10 - bl BlendPalette - ldr r4, =gIntro3BgPal + 0x1AC - ldr r5, =gPlttBufferFaded + 0xBC - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x1 - bl CpuSet - adds r1, r5, 0 - subs r1, 0xC - adds r0, r4, 0 - movs r2, 0x1 - bl CpuSet - subs r4, 0x20 - subs r5, 0x4 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x1 - bl CpuSet - b _0816F0B2 - .pool -_0816F068: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - movs r0, 0x35 - strh r0, [r5, 0x6] - b _0816F0B2 -_0816F074: - ldrh r0, [r5, 0x6] - subs r0, 0x1 - strh r0, [r5, 0x6] - lsls r0, 16 - cmp r0, 0 - bne _0816F0B2 - movs r0, 0x1 - negs r0, r0 - ldr r1, =0x00007fff - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - b _0816F0B2 - .pool -_0816F0A0: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0816F0B2 - adds r0, r2, 0 - bl DestroyTask -_0816F0B2: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816EEA8 - - thumb_func_start intro_reset_and_hide_bgs -@ void intro_reset_and_hide_bgs() -intro_reset_and_hide_bgs: @ 816F0C0 - push {lr} - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1C - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - 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 - pop {r0} - bx r0 - thumb_func_end intro_reset_and_hide_bgs - - thumb_func_start task_intro_3_1 -task_intro_3_1: @ 816F128 - 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 r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0816F170 - cmp r0, 0x1 - ble _0816F148 - cmp r0, 0x2 - beq _0816F1BC -_0816F148: - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldr r0, =gUnknown_0853FF70 - ldrh r1, [r0, 0x3E] - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r0, 0x40 - b _0816F1AC - .pool -_0816F170: - ldrh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0816F1A0 - subs r0, r1, 0x1 - strh r0, [r4, 0xA] - movs r1, 0xA - ldrsh r0, [r4, r1] - lsrs r1, r0, 31 - adds r0, r1 - movs r1, 0xFF - lsls r1, 1 - ldr r2, =gUnknown_0853FF70 - ands r0, r1 - adds r0, r2 - ldrh r1, [r0] - movs r0, 0x52 - bl SetGpuReg - b _0816F1DA - .pool -_0816F1A0: - ldr r0, =gUnknown_0853FF70 - ldrh r1, [r0] - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x10 -_0816F1AC: - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0816F1DA - .pool -_0816F1BC: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - adds r0, r5, 0 - bl DestroyTask -_0816F1DA: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end task_intro_3_1 - - thumb_func_start task_intro_3_2 -task_intro_3_2: @ 816F1E0 - 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 r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0816F228 - cmp r0, 0x1 - ble _0816F200 - cmp r0, 0x2 - beq _0816F274 -_0816F200: - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldr r0, =gUnknown_0853FF70 - ldrh r1, [r0] - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - b _0816F264 - .pool -_0816F228: - ldrh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0x3D - bgt _0816F258 - adds r0, r1, 0x1 - strh r0, [r4, 0xA] - movs r1, 0xA - ldrsh r0, [r4, r1] - lsrs r1, r0, 31 - adds r0, r1 - movs r1, 0xFF - lsls r1, 1 - ldr r2, =gUnknown_0853FF70 - ands r0, r1 - adds r0, r2 - ldrh r1, [r0] - movs r0, 0x52 - bl SetGpuReg - b _0816F2A2 - .pool -_0816F258: - ldr r0, =gUnknown_0853FF70 - ldrh r1, [r0, 0x3E] - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x10 -_0816F264: - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0816F2A2 - .pool -_0816F274: - ldrh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0816F284 - subs r0, r1, 0x1 - strh r0, [r4, 0xA] - b _0816F2A2 -_0816F284: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - adds r0, r5, 0 - bl DestroyTask -_0816F2A2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end task_intro_3_2 - - thumb_func_start sub_816F2A8 -sub_816F2A8: @ 816F2A8 - push {r4,lr} - sub sp, 0x24 - lsls r2, 16 - lsrs r2, 16 - movs r4, 0x80 - lsls r4, 8 - str r4, [sp] - str r4, [sp, 0x4] - mov r4, sp - strh r0, [r4, 0x8] - mov r0, sp - strh r1, [r0, 0xA] - strh r2, [r0, 0xC] - strh r2, [r0, 0xE] - strh r3, [r0, 0x10] - add r4, sp, 0x14 - adds r1, r4, 0 - movs r2, 0x1 - bl BgAffineSet - ldrh r1, [r4] - movs r0, 0x20 - bl SetGpuReg - ldrh r1, [r4, 0x2] - movs r0, 0x22 - bl SetGpuReg - ldrh r1, [r4, 0x4] - movs r0, 0x24 - bl SetGpuReg - ldrh r1, [r4, 0x6] - movs r0, 0x26 - bl SetGpuReg - ldrh r1, [r4, 0x8] - movs r0, 0x28 - bl SetGpuReg - ldrh r1, [r4, 0xA] - movs r0, 0x2A - bl SetGpuReg - ldrh r1, [r4, 0xC] - movs r0, 0x2C - bl SetGpuReg - ldrh r1, [r4, 0xE] - movs r0, 0x2E - bl SetGpuReg - add sp, 0x24 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_816F2A8 - - thumb_func_start sub_816F318 -sub_816F318: @ 816F318 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0xBF - ble _0816F394 - ldrh r1, [r4, 0x34] - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0816F336 - subs r0, r1, 0x1 - strh r0, [r4, 0x34] - b _0816F39A -_0816F336: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x30] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x32] - str r1, [sp] - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - movs r0, 0x32 - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 5 - subs r0, r1 - movs r1, 0x64 - bl __divsi3 - strh r0, [r4, 0x32] - movs r2, 0x32 - ldrsh r1, [r4, r2] - adds r0, r1, 0 - subs r0, 0xC0 - cmp r0, 0 - bge _0816F378 - adds r0, 0x7F -_0816F378: - asrs r0, 7 - adds r0, 0x9 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xF - bls _0816F386 - movs r0, 0xF -_0816F386: - lsls r2, r0, 4 - ldrb r1, [r4, 0x5] - movs r0, 0xF - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x5] - b _0816F39A -_0816F394: - adds r0, r4, 0 - bl DestroySprite -_0816F39A: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_816F318 - - thumb_func_start sub_816F3A4 -sub_816F3A4: @ 816F3A4 - push {r4,lr} - adds r4, r0, 0 - ldr r2, =gSprites - movs r1, 0x3C - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r3, 0x3C - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _0816F420 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r0, r3 - strh r0, [r4, 0x22] - adds r0, r4, 0 - movs r1, 0x3 - bl StartSpriteAnim - movs r0, 0x80 - lsls r0, 3 - strh r0, [r4, 0x32] - ldrh r1, [r4, 0x30] - movs r0, 0x3 - ands r0, r1 - lsls r0, 3 - strh r0, [r4, 0x34] - ldr r0, =sub_816F318 - str r0, [r4, 0x1C] - ldrb r1, [r4, 0x1] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x40 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x3] - movs r1, 0xC0 - orrs r0, r1 - strb r0, [r4, 0x3] - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0x3 - movs r3, 0x2 - bl CalcCenterToCornerVec - b _0816F44C - .pool -_0816F420: - ldrh r0, [r1, 0x24] - strh r0, [r4, 0x24] - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x26] - strh r0, [r4, 0x26] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x20] - strh r0, [r4, 0x20] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x22] - strh r0, [r4, 0x22] -_0816F44C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_816F3A4 - - thumb_func_start sub_816F454 -sub_816F454: @ 816F454 - push {lr} - adds r1, r0, 0 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _0816F464 - ldr r0, =sub_816F46C - str r0, [r1, 0x1C] -_0816F464: - pop {r0} - bx r0 - .pool - thumb_func_end sub_816F454 - - thumb_func_start sub_816F46C -sub_816F46C: @ 816F46C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r7, r0, 0 - ldrh r4, [r7, 0x20] - movs r1, 0x20 - ldrsh r0, [r7, r1] - cmp r0, 0x74 - bgt _0816F4AC - ldrh r0, [r7, 0x26] - ldrh r1, [r7, 0x22] - adds r0, r1 - movs r1, 0 - strh r0, [r7, 0x22] - strh r1, [r7, 0x26] - adds r0, r4, 0x4 - strh r0, [r7, 0x20] - ldr r0, =0x0000fffc - strh r0, [r7, 0x24] - movs r0, 0x80 - strh r0, [r7, 0x36] - ldr r0, =sub_816F5B4 - str r0, [r7, 0x1C] - b _0816F59E - .pool -_0816F4AC: - ldrh r1, [r7, 0x36] - ldr r5, =gSineTable - lsls r0, r1, 24 - lsrs r0, 23 - adds r0, r5 - ldrh r2, [r0] - adds r0, r1, 0 - adds r0, 0x40 - lsls r0, 24 - lsrs r0, 23 - adds r0, r5 - ldrh r3, [r0] - adds r1, 0x2 - strh r1, [r7, 0x36] - lsls r2, 16 - asrs r0, r2, 16 - cmp r0, 0 - bge _0816F4D2 - adds r0, 0x1F -_0816F4D2: - asrs r0, 5 - strh r0, [r7, 0x26] - subs r0, r4, 0x1 - strh r0, [r7, 0x20] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0816F4E8 - ldrh r0, [r7, 0x22] - adds r0, 0x1 - strh r0, [r7, 0x22] -_0816F4E8: - lsls r0, r3, 16 - asrs r0, 16 - negs r0, r0 - cmp r0, 0 - bge _0816F4F4 - adds r0, 0xF -_0816F4F4: - lsls r1, r0, 12 - lsrs r1, 16 - ldrh r4, [r7, 0x32] - ldrh r3, [r7, 0x34] - adds r0, r1, 0 - subs r0, 0x10 - lsls r0, 24 - lsrs r0, 23 - adds r0, r5 - ldrh r2, [r0] - adds r1, 0x30 - lsls r1, 24 - lsrs r1, 23 - adds r1, r5 - movs r0, 0 - ldrsh r1, [r1, r0] - adds r0, r1, 0 - muls r0, r4 - cmp r0, 0 - bge _0816F51E - adds r0, 0xFF -_0816F51E: - lsls r0, 8 - lsrs r0, 16 - mov r8, r0 - lsls r0, r2, 16 - asrs r2, r0, 16 - negs r0, r2 - muls r0, r3 - cmp r0, 0 - bge _0816F532 - adds r0, 0xFF -_0816F532: - lsls r0, 8 - lsrs r0, 16 - mov r10, r0 - adds r0, r2, 0 - muls r0, r4 - cmp r0, 0 - bge _0816F542 - adds r0, 0xFF -_0816F542: - lsls r0, 8 - lsrs r5, r0, 16 - adds r0, r1, 0 - muls r0, r3 - cmp r0, 0 - bge _0816F550 - adds r0, 0xFF -_0816F550: - lsls r6, r0, 8 - lsrs r6, 16 - ldrh r0, [r7, 0x30] - lsls r0, 24 - lsrs r0, 24 - str r3, [sp] - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - ldrh r0, [r7, 0x30] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r5 - mov r1, r10 - lsls r5, r1, 16 - lsrs r3, r5, 16 - lsls r4, r6, 16 - str r6, [sp] - mov r1, r8 - mov r2, r9 - bl SetOamMatrix - ldrh r0, [r7, 0x30] - adds r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - lsls r5, 1 - lsrs r5, 16 - lsls r4, 1 - lsrs r4, 16 - str r4, [sp] - mov r1, r8 - mov r2, r9 - adds r3, r5, 0 - bl SetOamMatrix -_0816F59E: - 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_816F46C - - thumb_func_start sub_816F5B4 -sub_816F5B4: @ 816F5B4 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x3A] - adds r1, 0x40 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - ldrh r0, [r4, 0x30] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x3A] - adds r1, 0x40 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - ldrh r0, [r4, 0x30] - adds r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x3A] - adds r1, 0x40 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - ldrh r1, [r4, 0x36] - movs r2, 0x36 - ldrsh r0, [r4, r2] - cmp r0, 0x40 - beq _0816F64C - adds r0, r1, 0 - subs r0, 0x8 - strh r0, [r4, 0x36] - ldrh r0, [r4, 0x36] - adds r1, r0, 0 - ldr r2, =gSineTable - adds r0, 0x40 - lsls r0, 24 - lsrs r0, 23 - adds r0, r2 - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r0, 0 - bge _0816F62E - adds r0, 0x3F -_0816F62E: - asrs r0, 6 - strh r0, [r4, 0x24] - lsls r0, r1, 24 - lsrs r0, 23 - adds r0, r2 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _0816F642 - adds r0, 0x3F -_0816F642: - asrs r0, 6 - strh r0, [r4, 0x26] - b _0816F654 - .pool -_0816F64C: - movs r0, 0 - strh r0, [r4, 0x36] - ldr r0, =sub_816F660 - str r0, [r4, 0x1C] -_0816F654: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816F5B4 - - thumb_func_start sub_816F660 -sub_816F660: @ 816F660 - push {r4,lr} - adds r1, r0, 0 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0x2 - beq _0816F6C0 - ldrh r0, [r1, 0x36] - adds r0, 0x8 - strh r0, [r1, 0x36] - ldr r3, =gSineTable - lsls r0, 24 - lsrs r0, 23 - adds r0, r3 - movs r4, 0 - ldrsh r0, [r0, r4] - cmp r0, 0 - bge _0816F684 - adds r0, 0xF -_0816F684: - asrs r0, 4 - adds r0, 0x40 - lsls r0, 16 - lsrs r2, r0, 16 - adds r0, r2, 0 - adds r0, 0x40 - lsls r0, 24 - lsrs r0, 23 - adds r0, r3 - movs r4, 0 - ldrsh r0, [r0, r4] - cmp r0, 0 - bge _0816F6A0 - adds r0, 0x3F -_0816F6A0: - asrs r0, 6 - strh r0, [r1, 0x24] - lsls r0, r2, 24 - lsrs r0, 23 - adds r0, r3 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bge _0816F6B4 - adds r0, 0x3F -_0816F6B4: - asrs r0, 6 - strh r0, [r1, 0x26] - b _0816F6C4 - .pool -_0816F6C0: - ldr r0, =sub_816F6D0 - str r0, [r1, 0x1C] -_0816F6C4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816F660 - - thumb_func_start sub_816F6D0 -sub_816F6D0: @ 816F6D0 - push {r4,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x22] - movs r0, 0x22 - ldrsh r1, [r4, r0] - movs r3, 0x38 - ldrsh r0, [r4, r3] - cmp r1, r0 - bge _0816F6E8 - adds r0, r2, 0x4 - strh r0, [r4, 0x22] - b _0816F744 -_0816F6E8: - movs r0, 0x1 - strh r0, [r4, 0x3C] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r0, r3 - strh r0, [r4, 0x22] - adds r0, r4, 0 - movs r1, 0x3 - bl StartSpriteAnim - movs r0, 0x80 - lsls r0, 3 - strh r0, [r4, 0x32] - ldrh r1, [r4, 0x30] - movs r0, 0x3 - ands r0, r1 - lsls r0, 3 - strh r0, [r4, 0x34] - ldr r0, =sub_816F318 - str r0, [r4, 0x1C] - ldrb r1, [r4, 0x1] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x40 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x3] - movs r1, 0xC0 - orrs r0, r1 - strb r0, [r4, 0x3] - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0x3 - movs r3, 0x2 - bl CalcCenterToCornerVec -_0816F744: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816F6D0 - - thumb_func_start sub_816F750 -sub_816F750: @ 816F750 - push {r4,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x22] - movs r0, 0x22 - ldrsh r1, [r4, r0] - movs r3, 0x38 - ldrsh r0, [r4, r3] - cmp r1, r0 - bge _0816F768 - adds r0, r2, 0x4 - strh r0, [r4, 0x22] - b _0816F7C4 -_0816F768: - movs r0, 0x1 - strh r0, [r4, 0x3C] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r0, r3 - strh r0, [r4, 0x22] - adds r0, r4, 0 - movs r1, 0x3 - bl StartSpriteAnim - movs r0, 0x80 - lsls r0, 3 - strh r0, [r4, 0x32] - ldrh r1, [r4, 0x30] - movs r0, 0x3 - ands r0, r1 - lsls r0, 3 - strh r0, [r4, 0x34] - ldr r0, =sub_816F318 - str r0, [r4, 0x1C] - ldrb r1, [r4, 0x1] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x40 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x3] - movs r1, 0xC0 - orrs r0, r1 - strb r0, [r4, 0x3] - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0x3 - movs r3, 0x2 - bl CalcCenterToCornerVec -_0816F7C4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816F750 - - thumb_func_start sub_816F7D0 -sub_816F7D0: @ 816F7D0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r6, [sp, 0x34] - ldr r0, [sp, 0x38] - mov r8, r0 - lsls r4, 16 - lsls r5, 16 - lsls r2, 16 - lsrs r2, 16 - str r2, [sp, 0x8] - lsls r3, 16 - lsrs r3, 16 - str r3, [sp, 0xC] - lsls r6, 16 - lsrs r6, 16 - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - ldr r0, =gUnknown_085E4D64 - lsrs r2, r4, 16 - mov r10, r2 - asrs r4, 16 - lsrs r1, r5, 16 - str r1, [sp, 0x4] - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r2, =gSprites - mov r9, r2 - lsls r0, r7, 4 - adds r0, r7 - lsls r5, r0, 2 - adds r4, r5, r2 - movs r0, 0 - strh r0, [r4, 0x2E] - strh r0, [r4, 0x3C] - mov r0, sp - ldrh r0, [r0, 0xC] - strh r0, [r4, 0x30] - mov r1, sp - ldrh r1, [r1, 0x8] - strh r1, [r4, 0x32] - mov r2, sp - ldrh r2, [r2, 0x8] - strh r2, [r4, 0x34] - strh r6, [r4, 0x38] - mov r0, sp - ldrh r0, [r0, 0x8] - strh r0, [r4, 0x3A] - ldrb r0, [r4, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - movs r0, 0x1F - ldr r1, [sp, 0xC] - ands r1, r0 - lsls r1, 1 - ldrb r2, [r4, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x3] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x2 - movs r3, 0x2 - bl CalcCenterToCornerVec - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAnim - mov r1, r8 - cmp r1, 0 - bne _0816F898 - mov r0, r9 - adds r0, 0x1C - adds r0, r5, r0 - ldr r1, =sub_816F454 - b _0816F8A0 - .pool -_0816F898: - mov r0, r9 - adds r0, 0x1C - adds r0, r5, r0 - ldr r1, =sub_816F750 -_0816F8A0: - str r1, [r0] - str r7, [sp, 0x10] - mov r2, r10 - lsls r2, 16 - asrs r2, 16 - mov r10, r2 - ldr r0, [sp, 0x4] - lsls r0, 16 - asrs r0, 16 - mov r8, r0 - ldr r0, =gUnknown_085E4D64 - mov r1, r10 - mov r2, r8 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r5, =gSprites - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - adds r0, r4, r5 - mov r1, sp - ldrh r1, [r1, 0x10] - strh r1, [r0, 0x3C] - ldr r2, [sp, 0xC] - adds r2, 0x1 - mov r9, r2 - strh r2, [r0, 0x30] - ldrb r1, [r0, 0x1] - movs r2, 0x3 - orrs r1, r2 - strb r1, [r0, 0x1] - mov r2, r9 - movs r1, 0x1F - ands r2, r1 - lsls r2, 1 - ldrb r3, [r0, 0x3] - movs r6, 0x3F - negs r6, r6 - adds r1, r6, 0 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x3] - movs r1, 0 - movs r2, 0x2 - movs r3, 0x2 - bl CalcCenterToCornerVec - ldr r2, =gSprites + 0x1C - adds r4, r2 - ldr r0, =sub_816F3A4 - str r0, [r4] - ldr r0, =gUnknown_085E4D64 - mov r1, r10 - mov r2, r8 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - adds r5, r4, r5 - mov r1, sp - ldrh r1, [r1, 0x10] - strh r1, [r5, 0x3C] - ldr r2, [sp, 0xC] - adds r2, 0x2 - mov r8, r2 - strh r2, [r5, 0x30] - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldrb r0, [r5, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r5, 0x1] - mov r0, r8 - movs r2, 0x1F - ands r0, r2 - lsls r0, 1 - ldrb r1, [r5, 0x3] - ands r6, r1 - orrs r6, r0 - strb r6, [r5, 0x3] - adds r0, r5, 0 - movs r1, 0 - movs r2, 0x2 - movs r3, 0x2 - bl CalcCenterToCornerVec - ldr r0, =gSprites + 0x1C - adds r4, r0 - ldr r1, =sub_816F3A4 - str r1, [r4] - ldr r2, [sp, 0xC] - lsls r0, r2, 24 - lsrs r0, 24 - ldr r5, [sp, 0x8] - adds r5, 0x20 - lsls r4, r5, 16 - lsrs r4, 16 - str r4, [sp] - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - str r4, [sp] - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r5, 17 - lsrs r5, 16 - str r5, [sp] - mov r0, r8 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - ldr r0, [sp, 0x10] - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_816F7D0 - - thumb_func_start sub_816F9D4 -sub_816F9D4: @ 816F9D4 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bhi _0816FA62 - lsls r0, 2 - ldr r1, =_0816F9F0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0816F9F0: - .4byte _0816FA04 - .4byte _0816FA12 - .4byte _0816FA30 - .4byte _0816FA62 - .4byte _0816FA50 -_0816FA04: - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent - ldrh r0, [r4, 0x20] - subs r0, 0x1 - b _0816FA60 -_0816FA12: - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent - ldr r0, =gUnknown_030062A0 - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - bne _0816FAAA - ldrh r0, [r4, 0x20] - adds r0, 0x1 - b _0816FA60 - .pool -_0816FA30: - ldrh r2, [r4, 0x20] - movs r1, 0x20 - ldrsh r0, [r4, r1] - cmp r0, 0x78 - ble _0816FA46 - ldr r0, =gUnknown_030062A0 - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - beq _0816FA6E -_0816FA46: - adds r0, r2, 0x1 - b _0816FA60 - .pool -_0816FA50: - ldrh r2, [r4, 0x20] - movs r0, 0x20 - ldrsh r1, [r4, r0] - movs r0, 0x20 - negs r0, r0 - cmp r1, r0 - ble _0816FA62 - subs r0, r2, 0x2 -_0816FA60: - strh r0, [r4, 0x20] -_0816FA62: - ldr r0, =gUnknown_030062A0 - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - bne _0816FAAA -_0816FA6E: - movs r1, 0x26 - ldrsh r5, [r4, r1] - cmp r5, 0 - beq _0816FA80 - movs r0, 0 - strh r0, [r4, 0x26] - b _0816FAAA - .pool -_0816FA80: - bl Random - movs r1, 0x3 - ands r1, r0 - cmp r1, 0x1 - beq _0816FAA8 - cmp r1, 0x1 - bgt _0816FA96 - cmp r1, 0 - beq _0816FA9E - b _0816FAAA -_0816FA96: - cmp r1, 0x3 - bgt _0816FAAA - strh r5, [r4, 0x26] - b _0816FAAA -_0816FA9E: - ldr r0, =0x0000ffff - strh r0, [r4, 0x26] - b _0816FAAA - .pool -_0816FAA8: - strh r1, [r4, 0x26] -_0816FAAA: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_816F9D4 - - thumb_func_start sub_816FAB0 -sub_816FAB0: @ 816FAB0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0816FACA - cmp r0, 0x1 - ble _0816FB12 - cmp r0, 0x2 - beq _0816FAEA - cmp r0, 0x3 - beq _0816FB04 - b _0816FB12 -_0816FACA: - movs r2, 0x24 - ldrsh r0, [r4, r2] - movs r2, 0x20 - ldrsh r1, [r4, r2] - adds r0, r1 - ldr r1, =0x0000012f - cmp r0, r1 - bgt _0816FAE4 - ldrh r0, [r4, 0x24] - adds r0, 0x8 - b _0816FB10 - .pool -_0816FAE4: - movs r0, 0x2 - strh r0, [r4, 0x2E] - b _0816FB12 -_0816FAEA: - movs r1, 0x24 - ldrsh r0, [r4, r1] - movs r2, 0x20 - ldrsh r1, [r4, r2] - adds r0, r1 - cmp r0, 0x78 - ble _0816FAFE - ldrh r0, [r4, 0x24] - subs r0, 0x1 - b _0816FB10 -_0816FAFE: - movs r0, 0x3 - strh r0, [r4, 0x2E] - b _0816FB12 -_0816FB04: - ldrh r1, [r4, 0x24] - movs r2, 0x24 - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _0816FB12 - subs r0, r1, 0x2 -_0816FB10: - strh r0, [r4, 0x24] -_0816FB12: - ldrh r0, [r4, 0x30] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x8 - bl Sin - ldr r1, =gUnknown_0203BCCC - ldrh r1, [r1] - subs r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0x4 - strh r0, [r4, 0x30] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816FAB0 - - thumb_func_start sub_816FB38 -sub_816FB38: @ 816FB38 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x2E - ldrsh r0, [r6, r1] - cmp r0, 0x5 - bls _0816FB46 - b _0816FD38 -_0816FB46: - lsls r0, 2 - ldr r1, =_0816FB54 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0816FB54: - .4byte _0816FB6C - .4byte _0816FB94 - .4byte _0816FBB4 - .4byte _0816FC5C - .4byte _0816FCC4 - .4byte _0816FCF4 -_0816FB6C: - ldrh r1, [r6, 0x30] - movs r2, 0x30 - ldrsh r0, [r6, r2] - cmp r0, 0 - beq _0816FB7C - subs r0, r1, 0x1 - strh r0, [r6, 0x30] - b _0816FD38 -_0816FB7C: - adds r2, r6, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x5 - negs r1, r1 - ands r1, r0 - strb r1, [r2] - adds r0, r6, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - b _0816FCE6 -_0816FB94: - ldr r0, =gUnknown_030062A0 - ldr r0, [r0] - cmp r0, 0x90 - beq _0816FB9E - b _0816FD38 -_0816FB9E: - ldrh r0, [r6, 0x2E] - adds r0, 0x1 - strh r0, [r6, 0x2E] - movs r0, 0x9 - strh r0, [r6, 0x30] - movs r0, 0x2 - strh r0, [r6, 0x34] - b _0816FD38 - .pool -_0816FBB4: - ldrh r1, [r6, 0x34] - movs r2, 0x34 - ldrsh r0, [r6, r2] - cmp r0, 0 - bne _0816FC66 - movs r0, 0x2 - strh r0, [r6, 0x34] - movs r1, 0x30 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _0816FC14 - lsls r0, 1 - ldr r4, =gIntro1GameFreakTextFadePal - adds r0, r4 - ldr r5, =gPlttBufferFaded + 0x23E - adds r1, r5, 0 - movs r2, 0x1 - bl CpuSet - movs r1, 0x30 - ldrsh r0, [r6, r1] - lsls r0, 1 - adds r1, r4, 0 - adds r1, 0x20 - adds r0, r1 - adds r1, r5, 0 - subs r1, 0x16 - movs r2, 0x1 - bl CpuSet - movs r2, 0x30 - ldrsh r0, [r6, r2] - lsls r0, 1 - adds r4, 0x40 - adds r0, r4 - subs r5, 0xA - adds r1, r5, 0 - movs r2, 0x1 - bl CpuSet - ldrh r0, [r6, 0x30] - subs r0, 0x1 - strh r0, [r6, 0x30] - b _0816FD38 - .pool -_0816FC14: - movs r1, 0x30 - ldrsh r0, [r6, r1] - lsls r0, 1 - ldr r4, =gIntro1GameFreakTextFadePal - adds r0, r4 - ldr r5, =gPlttBufferFaded + 0x23E - adds r1, r5, 0 - movs r2, 0x1 - bl CpuSet - movs r2, 0x30 - ldrsh r0, [r6, r2] - lsls r0, 1 - adds r1, r4, 0 - adds r1, 0x20 - adds r0, r1 - adds r1, r5, 0 - subs r1, 0x16 - movs r2, 0x1 - bl CpuSet - movs r1, 0x30 - ldrsh r0, [r6, r1] - lsls r0, 1 - adds r4, 0x40 - adds r0, r4 - subs r5, 0xA - adds r1, r5, 0 - movs r2, 0x1 - bl CpuSet - b _0816FCE6 - .pool -_0816FC5C: - ldrh r1, [r6, 0x34] - movs r2, 0x34 - ldrsh r0, [r6, r2] - cmp r0, 0 - beq _0816FC6C -_0816FC66: - subs r0, r1, 0x1 - strh r0, [r6, 0x34] - b _0816FD38 -_0816FC6C: - movs r0, 0x2 - strh r0, [r6, 0x34] - movs r1, 0x30 - ldrsh r0, [r6, r1] - cmp r0, 0x9 - bgt _0816FCE6 - lsls r0, 1 - ldr r4, =gIntro1GameFreakTextFadePal - adds r0, r4 - ldr r5, =gPlttBufferFaded + 0x23E - adds r1, r5, 0 - movs r2, 0x1 - bl CpuSet - movs r1, 0x30 - ldrsh r0, [r6, r1] - lsls r0, 1 - adds r1, r4, 0 - adds r1, 0x20 - adds r0, r1 - adds r1, r5, 0 - subs r1, 0x16 - movs r2, 0x1 - bl CpuSet - movs r2, 0x30 - ldrsh r0, [r6, r2] - lsls r0, 1 - adds r4, 0x40 - adds r0, r4 - subs r5, 0xA - adds r1, r5, 0 - movs r2, 0x1 - bl CpuSet - ldrh r0, [r6, 0x30] - adds r0, 0x1 - strh r0, [r6, 0x30] - b _0816FD38 - .pool -_0816FCC4: - ldr r0, =gUnknown_030062A0 - ldr r1, [r0] - movs r0, 0x88 - lsls r0, 1 - cmp r1, r0 - bne _0816FD38 - adds r0, r6, 0 - movs r1, 0x2 - bl StartSpriteAffineAnim - ldrb r1, [r6, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r6, 0x1] -_0816FCE6: - ldrh r0, [r6, 0x2E] - adds r0, 0x1 - strh r0, [r6, 0x2E] - b _0816FD38 - .pool -_0816FCF4: - ldr r1, =gUnknown_085E4F48 - movs r2, 0x32 - ldrsh r0, [r6, r2] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - ldrh r1, [r6, 0x34] - adds r0, r1 - strh r0, [r6, 0x34] - movs r2, 0x34 - ldrsh r0, [r6, r2] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - asrs r0, 8 - strh r0, [r6, 0x24] - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0x3 - bgt _0816FD24 - movs r2, 0x24 - ldrsh r0, [r6, r2] - negs r0, r0 - strh r0, [r6, 0x24] -_0816FD24: - adds r0, r6, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0816FD38 - adds r0, r6, 0 - bl DestroySprite -_0816FD38: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816FB38 - - thumb_func_start sub_816FD44 -sub_816FD44: @ 816FD44 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0816FD7C - cmp r0, 0x1 - bgt _0816FD5A - cmp r0, 0 - beq _0816FD60 - b _0816FDB0 -_0816FD5A: - cmp r0, 0x2 - beq _0816FD9C - b _0816FDB0 -_0816FD60: - ldr r0, =gUnknown_030062A0 - ldr r0, [r0] - cmp r0, 0x80 - bne _0816FDB0 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x5 - negs r1, r1 - ands r1, r0 - strb r1, [r2] - b _0816FD90 - .pool -_0816FD7C: - ldr r0, =gUnknown_030062A0 - ldr r1, [r0] - movs r0, 0x88 - lsls r0, 1 - cmp r1, r0 - bne _0816FDB0 - adds r0, r4, 0 - movs r1, 0x3 - bl StartSpriteAffineAnim -_0816FD90: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _0816FDB0 - .pool -_0816FD9C: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0816FDB0 - adds r0, r4, 0 - bl DestroySprite -_0816FDB0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_816FD44 - - thumb_func_start sub_816FDB8 -sub_816FDB8: @ 816FDB8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 16 - lsrs r0, 16 - str r0, [sp] - lsls r1, 16 - lsrs r1, 16 - str r1, [sp, 0x4] - movs r7, 0 -_0816FDD2: - lsls r5, r7, 2 - ldr r0, =gUnknown_085E4E94 - adds r0, 0x2 - adds r0, r5, r0 - ldr r2, [sp] - lsls r1, r2, 16 - asrs r1, 16 - ldrh r0, [r0] - adds r1, r0 - lsls r1, 16 - asrs r1, 16 - ldr r3, [sp, 0x4] - lsls r2, r3, 16 - asrs r0, r2, 16 - str r0, [sp, 0x8] - ldr r3, =0xfffc0000 - adds r2, r3 - ldr r0, =gUnknown_085E4F5C - asrs r2, 16 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - movs r1, 0 - strh r1, [r4, 0x2E] - ldr r0, =gUnknown_085E4FA4 - adds r0, r7, r0 - ldrb r0, [r0] - strh r0, [r4, 0x30] - strh r7, [r4, 0x32] - adds r1, r4, 0 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - mov r10, r2 - mov r3, r10 - orrs r0, r3 - strb r0, [r1] - adds r1, r7, 0 - adds r1, 0xC - movs r0, 0x1F - mov r9, r0 - mov r2, r9 - ands r1, r2 - lsls r1, 1 - ldrb r0, [r4, 0x3] - movs r3, 0x3F - negs r3, r3 - mov r8, r3 - mov r2, r8 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x3] - ldr r3, =gUnknown_085E4E94 - adds r5, r3 - ldrb r1, [r5] - adds r0, r4, 0 - bl StartSpriteAnim - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAffineAnim - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x8 - bls _0816FDD2 - ldr r0, =gUnknown_085E4F8C - ldr r2, [sp, 0x8] - subs r2, 0x6 - lsls r2, 16 - asrs r2, 16 - movs r1, 0x78 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r2, 0 - strh r2, [r0, 0x2E] - adds r2, r0, 0 - adds r2, 0x3E - ldrb r1, [r2] - mov r3, r10 - orrs r1, r3 - strb r1, [r2] - adds r2, r7, 0 - adds r2, 0xC - mov r1, r9 - ands r2, r1 - lsls r2, 1 - ldrb r1, [r0, 0x3] - mov r3, r8 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x3] - movs r1, 0x1 - bl StartSpriteAffineAnim - adds r0, r6, 0 - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_816FDB8 - - thumb_func_start sub_816FEDC -sub_816FEDC: @ 816FEDC - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0816FF48 - ldr r2, =gSineTable - ldrh r1, [r4, 0x32] - lsls r0, r1, 24 - lsrs r0, 23 - adds r0, r2 - ldrh r3, [r0] - adds r1, 0x40 - lsls r1, 24 - lsrs r1, 23 - adds r1, r2 - movs r2, 0 - ldrsh r0, [r1, r2] - movs r1, 0x30 - ldrsh r2, [r4, r1] - adds r1, r0, 0 - muls r1, r2 - adds r0, r1, 0 - cmp r1, 0 - bge _0816FF18 - adds r0, 0xFF -_0816FF18: - lsls r0, 8 - lsrs r6, r0, 16 - lsls r0, r3, 16 - asrs r3, r0, 16 - negs r0, r3 - muls r0, r2 - cmp r0, 0 - bge _0816FF2A - adds r0, 0xFF -_0816FF2A: - lsls r0, 8 - lsrs r5, r0, 16 - adds r0, r3, 0 - muls r0, r2 - cmp r0, 0 - bge _0816FF38 - adds r0, 0xFF -_0816FF38: - lsls r0, 8 - lsrs r2, r0, 16 - adds r1, r6, 0 - adds r3, r5, 0 - str r1, [sp] - movs r0, 0x1 - bl SetOamMatrix -_0816FF48: - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0x1 - beq _0816FF9C - cmp r0, 0x1 - ble _0816FF58 - cmp r0, 0x2 - beq _0816FFFE -_0816FF58: - ldrb r0, [r4, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r1, [r4, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4, 0x3] - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0x3 - movs r3, 0x3 - bl CalcCenterToCornerVec - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - movs r1, 0 - movs r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0x80 - strh r0, [r4, 0x30] - strh r1, [r4, 0x32] - strh r1, [r4, 0x34] - b _08170038 - .pool -_0816FF9C: - ldrh r0, [r4, 0x34] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x8C - bl Sin - negs r0, r0 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x34] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x78 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0x7 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x34] - adds r0, 0x3 - strh r0, [r4, 0x34] - movs r1, 0x20 - ldrsh r0, [r4, r1] - movs r2, 0x24 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bgt _08170038 - ldrb r0, [r4, 0x5] - movs r1, 0xC - orrs r0, r1 - strb r0, [r4, 0x5] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0x14 - strh r0, [r4, 0x20] - movs r0, 0x28 - strh r0, [r4, 0x22] - movs r0, 0x80 - lsls r0, 2 - strh r0, [r4, 0x30] - movs r0, 0 - strh r0, [r4, 0x32] - movs r0, 0x10 - b _08170036 -_0816FFFE: - ldrh r0, [r4, 0x34] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x22 - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x34] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3C - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0x2 - strh r0, [r4, 0x30] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x5 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _08170038 - ldrh r0, [r4, 0x34] - adds r0, 0x1 -_08170036: - strh r0, [r4, 0x34] -_08170038: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_816FEDC - - thumb_func_start sub_8170040 -sub_8170040: @ 8170040 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08170056 - adds r4, r5, 0 - adds r4, 0x3E - cmp r0, 0x1 - beq _0817008E -_08170056: - adds r4, r5, 0 - adds r4, 0x3E - ldrb r1, [r4] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r4] - ldrb r0, [r5, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r5, 0x1] - ldrb r1, [r5, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x24 - orrs r0, r1 - strb r0, [r5, 0x3] - adds r0, r5, 0 - movs r1, 0 - movs r2, 0x3 - movs r3, 0x3 - bl CalcCenterToCornerVec - movs r0, 0 - strh r0, [r5, 0x30] - movs r0, 0x1 - strh r0, [r5, 0x2E] -_0817008E: - ldrh r0, [r5, 0x3C] - adds r0, 0x1 - strh r0, [r5, 0x3C] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081700A6 - ldrb r0, [r4] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4] - b _081700BE -_081700A6: - ldrb r0, [r4] - movs r1, 0x5 - negs r1, r1 - ands r1, r0 - strb r1, [r4] - ldrh r1, [r5, 0x30] - movs r2, 0x30 - ldrsh r0, [r5, r2] - cmp r0, 0x3F - bgt _081700BE - adds r0, r1, 0x1 - strh r0, [r5, 0x30] -_081700BE: - ldr r1, =gSineTable - ldrh r0, [r5, 0x30] - lsls r0, 24 - lsrs r0, 23 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - subs r1, r0 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - movs r0, 0x12 - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8170040 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/intro_credits_graphics.s b/asm/intro_credits_graphics.s deleted file mode 100644 index ad249a470..000000000 --- a/asm/intro_credits_graphics.s +++ /dev/null @@ -1,1077 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start load_intro_part2_graphics -load_intro_part2_graphics: @ 817B064 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_085F0740 - ldr r1, =0x06004000 - bl LZ77UnCompVram - ldr r0, =gUnknown_085F0BC0 - ldr r1, =0x06007800 - bl LZ77UnCompVram - ldr r0, =gUnknown_085F06E0 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - cmp r4, 0 - beq _0817B08C - cmp r4, 0x1 - beq _0817B0EC -_0817B08C: - ldr r0, =gUnknown_085F0DBC - movs r1, 0xC0 - lsls r1, 19 - bl LZ77UnCompVram - ldr r0, =gUnknown_085F1398 - ldr r1, =0x06003000 - bl LZ77UnCompVram - ldr r0, =gUnknown_085F0CFC - movs r1, 0 - movs r2, 0x60 - bl LoadPalette - ldr r0, =gUnknown_085F5064 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085F1668 - movs r1, 0x80 - lsls r1, 1 - movs r2, 0x20 - bl LoadPalette - bl sub_817B76C - b _0817B11E - .pool -_0817B0EC: - ldr r0, =gUnknown_085F1824 - movs r1, 0xC0 - lsls r1, 19 - bl LZ77UnCompVram - ldr r0, =gUnknown_085F1EAC - ldr r1, =0x06003000 - bl LZ77UnCompVram - ldr r0, =gUnknown_085F17E4 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_085F50EC - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085F21B0 - movs r1, 0x80 - lsls r1, 1 - movs r2, 0x20 - bl LoadPalette - bl sub_817B788 -_0817B11E: - ldr r1, =gUnknown_0203BD28 - movs r0, 0 - strh r0, [r1] - ldr r1, =gReservedSpritePaletteCount - movs r0, 0x8 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end load_intro_part2_graphics - - thumb_func_start sub_817B150 -sub_817B150: @ 817B150 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0817B162 - cmp r0, 0x1 - ble _0817B162 - cmp r0, 0x2 - beq _0817B194 -_0817B162: - ldr r1, =0x00000603 - movs r0, 0xE - bl SetGpuReg - ldr r1, =0x00000702 - movs r0, 0xC - bl SetGpuReg - ldr r1, =0x00000f05 - movs r0, 0xA - bl SetGpuReg - movs r1, 0xF2 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - b _0817B1B6 - .pool -_0817B194: - ldr r1, =0x00000603 - movs r0, 0xE - bl SetGpuReg - ldr r1, =0x00000702 - movs r0, 0xC - bl SetGpuReg - ldr r1, =0x00000f05 - movs r0, 0xA - bl SetGpuReg - movs r1, 0xF2 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg -_0817B1B6: - pop {r0} - bx r0 - .pool - thumb_func_end sub_817B150 - - thumb_func_start sub_817B1C8 -sub_817B1C8: @ 817B1C8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_085F0740 - ldr r1, =0x06004000 - bl LZ77UnCompVram - ldr r0, =gUnknown_085F0BC0 - ldr r1, =0x06007800 - bl LZ77UnCompVram - cmp r4, 0x4 - bhi _0817B214 - lsls r0, r4, 2 - ldr r1, =_0817B200 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0817B200: - .4byte _0817B214 - .4byte _0817B270 - .4byte _0817B2DC - .4byte _0817B2DC - .4byte _0817B334 -_0817B214: - ldr r0, =gUnknown_085F06E0 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_085F0DBC - movs r1, 0xC0 - lsls r1, 19 - bl LZ77UnCompVram - ldr r0, =gUnknown_085F1398 - ldr r1, =0x06003000 - bl LZ77UnCompVram - ldr r0, =gUnknown_085F0CFC - movs r1, 0 - movs r2, 0x60 - bl LoadPalette - ldr r0, =gUnknown_085F5064 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085F16A8 - ldr r1, =0x06010000 - bl LZ77UnCompVram - ldr r0, =gUnknown_085F1668 - b _0817B2A6 - .pool -_0817B270: - ldr r0, =gUnknown_085F0700 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_085F0DBC - movs r1, 0xC0 - lsls r1, 19 - bl LZ77UnCompVram - ldr r0, =gUnknown_085F1398 - ldr r1, =0x06003000 - bl LZ77UnCompVram - ldr r0, =gUnknown_085F0D5C - movs r1, 0 - movs r2, 0x60 - bl LoadPalette - ldr r0, =gUnknown_085F5064 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085F16A8 - ldr r1, =0x06010000 - bl LZ77UnCompVram - ldr r0, =gUnknown_085F1688 -_0817B2A6: - movs r1, 0x80 - lsls r1, 1 - movs r2, 0x20 - bl LoadPalette - bl sub_817B76C - b _0817B370 - .pool -_0817B2DC: - ldr r0, =gUnknown_085F0700 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_085F1824 - movs r1, 0xC0 - lsls r1, 19 - bl LZ77UnCompVram - ldr r0, =gUnknown_085F1EAC - ldr r1, =0x06003000 - bl LZ77UnCompVram - ldr r4, =gUnknown_085F1804 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_085F50EC - bl LoadCompressedObjectPic - movs r1, 0x80 - lsls r1, 1 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - bl sub_817B788 - b _0817B370 - .pool -_0817B334: - ldr r0, =gUnknown_085F0720 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_085F235C - movs r1, 0xC0 - lsls r1, 19 - bl LZ77UnCompVram - ldr r0, =gUnknown_085F2568 - ldr r1, =0x06003000 - bl LZ77UnCompVram - ldr r0, =gUnknown_085F231C - movs r1, 0 - movs r2, 0x40 - bl LoadPalette - ldr r0, =gUnknown_085F5180 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085F2548 - movs r1, 0x80 - lsls r1, 1 - movs r2, 0x20 - bl LoadPalette - bl sub_817B7A4 -_0817B370: - ldr r1, =gReservedSpritePaletteCount - movs r0, 0x8 - strb r0, [r1] - ldr r1, =gUnknown_0203BD28 - movs r0, 0 - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817B1C8 - - thumb_func_start sub_817B3A8 -sub_817B3A8: @ 817B3A8 - push {lr} - ldr r1, =0x00000603 - movs r0, 0xE - bl SetGpuReg - ldr r1, =0x00000702 - movs r0, 0xC - bl SetGpuReg - ldr r1, =0x00000f05 - movs r0, 0xA - bl SetGpuReg - movs r1, 0xFA - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end sub_817B3A8 - - thumb_func_start sub_817B3DC -sub_817B3DC: @ 817B3DC - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - mov r8, r2 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 16 - lsrs r6, 16 - mov r0, r8 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r3, 16 - lsrs r3, 16 - ldr r1, =sub_817B458 - mov r9, r1 - mov r0, r9 - movs r1, 0 - str r3, [sp] - 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 - movs r2, 0 - strh r5, [r0, 0x8] - strh r6, [r0, 0xA] - strh r2, [r0, 0xC] - strh r2, [r0, 0xE] - mov r1, r8 - strh r1, [r0, 0x10] - strh r2, [r0, 0x12] - strh r2, [r0, 0x14] - ldr r3, [sp] - strh r3, [r0, 0x16] - movs r1, 0x8 - strh r1, [r0, 0x18] - strh r2, [r0, 0x1A] - adds r0, r4, 0 - bl _call_via_r9 - adds r0, r4, 0 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_817B3DC - - thumb_func_start sub_817B458 -sub_817B458: @ 817B458 - 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 - ldrh r0, [r4, 0xA] - lsls r2, r0, 16 - cmp r2, 0 - beq _0817B4A0 - movs r1, 0xC - ldrsh r0, [r4, r1] - lsls r0, 16 - ldrh r1, [r4, 0xE] - adds r1, r0, r1 - lsrs r0, r2, 12 - subs r1, r0 - asrs r0, r1, 16 - strh r0, [r4, 0xC] - strh r1, [r4, 0xE] - ldrh r1, [r4, 0xC] - movs r0, 0x14 - bl SetGpuReg - ldr r2, =gUnknown_0203BD24 - ldr r0, =gUnknown_0203BD26 - ldrh r1, [r0] - ldrh r2, [r2] - adds r1, r2 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x16 - bl SetGpuReg -_0817B4A0: - ldrh r0, [r4, 0x10] - lsls r2, r0, 16 - cmp r2, 0 - beq _0817B4FA - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r0, 16 - ldrh r1, [r4, 0x14] - adds r1, r0, r1 - lsrs r0, r2, 12 - subs r1, r0 - asrs r0, r1, 16 - strh r0, [r4, 0x12] - strh r1, [r4, 0x14] - ldrh r1, [r4, 0x12] - movs r0, 0x18 - bl SetGpuReg - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0817B4F0 - ldr r2, =gUnknown_0203BD24 - ldr r0, =gUnknown_0203BD26 - ldrh r1, [r0] - ldrh r2, [r2] - adds r1, r2 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1A - bl SetGpuReg - b _0817B4FA - .pool -_0817B4F0: - ldr r0, =gUnknown_0203BD24 - ldrh r1, [r0] - movs r0, 0x1A - bl SetGpuReg -_0817B4FA: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r2, r1, r0 - ldrh r0, [r2, 0x16] - lsls r3, r0, 16 - cmp r3, 0 - beq _0817B532 - movs r1, 0x18 - ldrsh r0, [r2, r1] - lsls r0, 16 - ldrh r1, [r2, 0x1A] - adds r1, r0, r1 - lsrs r0, r3, 12 - subs r1, r0 - asrs r0, r1, 16 - strh r0, [r2, 0x18] - strh r1, [r2, 0x1A] - ldrh r1, [r2, 0x18] - movs r0, 0x1C - bl SetGpuReg - ldr r0, =gUnknown_0203BD24 - ldrh r1, [r0] - movs r0, 0x1E - bl SetGpuReg -_0817B532: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817B458 - - thumb_func_start sub_817B540 -sub_817B540: @ 817B540 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0817B620 - cmp r0, 0x1 - ble _0817B554 - cmp r0, 0x2 - beq _0817B5B8 -_0817B554: - ldr r0, =gMain - ldr r2, [r0, 0x20] - movs r0, 0x3 - ands r0, r2 - cmp r0, 0 - bne _0817B620 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0817B620 - movs r0, 0x4 - ands r2, r0 - cmp r2, 0 - beq _0817B58C - ldr r2, =gPlttBufferUnfaded - ldrh r1, [r2, 0x12] - mov r0, sp - strh r1, [r0] - ldrh r1, [r2, 0x14] - b _0817B596 - .pool -_0817B58C: - ldr r2, =gPlttBufferUnfaded - ldrh r1, [r2, 0x14] - mov r0, sp - strh r1, [r0] - ldrh r1, [r2, 0x12] -_0817B596: - adds r0, 0x2 - strh r1, [r0] - adds r4, r0, 0 - mov r0, sp - movs r1, 0x9 - movs r2, 0x2 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0xA - movs r2, 0x2 - bl LoadPalette - b _0817B620 - .pool -_0817B5B8: - ldr r0, =gMain - ldr r2, [r0, 0x20] - movs r0, 0x3 - ands r0, r2 - cmp r0, 0 - bne _0817B620 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0817B620 - movs r0, 0x4 - ands r2, r0 - cmp r2, 0 - beq _0817B5F8 - mov r1, sp - ldr r2, =0x00003d27 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, =0x00000295 - b _0817B606 - .pool -_0817B5F8: - mov r1, sp - movs r2, 0xC7 - lsls r2, 2 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, =0x00003d27 -_0817B606: - adds r0, r2, 0 - strh r0, [r1] - adds r4, r1, 0 - mov r0, sp - movs r1, 0xC - movs r2, 0x2 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0xD - movs r2, 0x2 - bl LoadPalette -_0817B620: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817B540 - - thumb_func_start sub_817B62C -sub_817B62C: @ 817B62C - push {lr} - adds r2, r0, 0 - ldr r0, =gUnknown_0203BD28 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x2 - beq _0817B690 - cmp r0, 0 - beq _0817B64C - adds r0, r2, 0 - bl DestroySprite - b _0817B690 - .pool -_0817B64C: - movs r1, 0x20 - ldrsh r0, [r2, r1] - lsls r0, 16 - ldrh r1, [r2, 0x32] - orrs r0, r1 - ldrh r1, [r2, 0x30] - adds r0, r1 - asrs r1, r0, 16 - strh r1, [r2, 0x20] - strh r0, [r2, 0x32] - cmp r1, 0xFF - ble _0817B668 - ldr r0, =0x0000ffe0 - strh r0, [r2, 0x20] -_0817B668: - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _0817B688 - ldr r1, =gUnknown_0203BD24 - ldr r0, =gUnknown_0203BD26 - ldrh r0, [r0] - ldrh r1, [r1] - adds r0, r1 - b _0817B68C - .pool -_0817B688: - ldr r0, =gUnknown_0203BD24 - ldrh r0, [r0] -_0817B68C: - negs r0, r0 - strh r0, [r2, 0x26] -_0817B690: - pop {r0} - bx r0 - .pool - thumb_func_end sub_817B62C - - thumb_func_start sub_817B698 -sub_817B698: @ 817B698 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - str r1, [sp, 0x4] - str r2, [sp, 0x8] - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - movs r7, 0 - cmp r7, r8 - bcs _0817B74E - ldr r0, =gSprites - mov r10, r0 - movs r2, 0x3F - mov r9, r2 -_0817B6C2: - lsls r6, r7, 3 - ldr r0, [sp, 0x4] - adds r6, r0 - ldrb r1, [r6, 0x1] - ldrb r2, [r6, 0x2] - ldrb r3, [r6, 0x3] - ldr r0, =gUnknown_085F504C - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - mov r2, r10 - adds r4, r5, r2 - ldrb r2, [r6] - lsls r1, r2, 26 - lsrs r1, 30 - lsrs r2, 6 - adds r0, r4, 0 - movs r3, 0 - bl CalcCenterToCornerVec - ldrb r3, [r4, 0x5] - movs r0, 0xC - orrs r3, r0 - strb r3, [r4, 0x5] - ldrb r1, [r6] - lsls r1, 26 - lsrs r1, 30 - lsls r1, 6 - ldrb r2, [r4, 0x1] - mov r0, r9 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r1, [r6] - lsrs r1, 6 - lsls r1, 6 - ldrb r2, [r4, 0x3] - mov r0, r9 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x3] - movs r0, 0xF - ands r3, r0 - strb r3, [r4, 0x5] - ldr r0, =gSprites + 8 - adds r5, r0 - ldr r2, [sp, 0x8] - str r2, [r5] - ldrb r1, [r6] - lsls r1, 28 - lsrs r1, 28 - adds r0, r4, 0 - bl StartSpriteAnim - movs r1, 0 - mov r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x2E] - ldrh r0, [r6, 0x4] - strh r0, [r4, 0x30] - strh r1, [r4, 0x32] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, r8 - bcc _0817B6C2 -_0817B74E: - 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_817B698 - - thumb_func_start sub_817B76C -sub_817B76C: @ 817B76C - push {lr} - ldr r1, =gUnknown_085F50A4 - ldr r2, =gUnknown_085F5094 - movs r0, 0 - movs r3, 0x9 - bl sub_817B698 - pop {r0} - bx r0 - .pool - thumb_func_end sub_817B76C - - thumb_func_start sub_817B788 -sub_817B788: @ 817B788 - push {lr} - ldr r1, =gUnknown_085F5120 - ldr r2, =gUnknown_085F5114 - movs r0, 0x1 - movs r3, 0xC - bl sub_817B698 - pop {r0} - bx r0 - .pool - thumb_func_end sub_817B788 - - thumb_func_start sub_817B7A4 -sub_817B7A4: @ 817B7A4 - push {lr} - ldr r1, =gUnknown_085F519C - ldr r2, =gUnknown_085F5198 - movs r0, 0x1 - movs r3, 0x6 - bl sub_817B698 - pop {r0} - bx r0 - .pool - thumb_func_end sub_817B7A4 - - thumb_func_start nullsub_65 -nullsub_65: @ 817B7C0 - bx lr - thumb_func_end nullsub_65 - - thumb_func_start sub_817B7C4 -sub_817B7C4: @ 817B7C4 - push {r4,lr} - ldr r4, =gSprites - movs r1, 0x2E - ldrsh r2, [r0, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r1, [r1] - movs r2, 0x3E - adds r2, r0 - mov r12, r2 - movs r2, 0x4 - ands r2, r1 - mov r1, r12 - ldrb r3, [r1] - movs r1, 0x5 - negs r1, r1 - ands r1, r3 - orrs r1, r2 - mov r2, r12 - strb r1, [r2] - movs r1, 0x2E - ldrsh r2, [r0, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrh r1, [r1, 0x20] - strh r1, [r0, 0x20] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrh r1, [r1, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrh r1, [r1, 0x24] - strh r1, [r0, 0x24] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrh r1, [r1, 0x26] - strh r1, [r0, 0x26] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817B7C4 - - thumb_func_start sub_817B834 -sub_817B834: @ 817B834 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldr r0, =gUnknown_085F51EC - lsls r5, 16 - asrs r5, 16 - lsls r4, 16 - asrs r4, 16 - adds r1, r5, 0 - adds r2, r4, 0 - movs r3, 0x2 - bl CreateSprite - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldr r0, =gUnknown_085F523C - adds r4, 0x8 - lsls r4, 16 - asrs r4, 16 - adds r1, r5, 0 - adds r2, r4, 0 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - strh r6, [r1, 0x2E] - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_817B834 - - thumb_func_start sub_817B88C -sub_817B88C: @ 817B88C - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldr r0, =gUnknown_085F5204 - lsls r5, 16 - asrs r5, 16 - lsls r4, 16 - asrs r4, 16 - adds r1, r5, 0 - adds r2, r4, 0 - movs r3, 0x2 - bl CreateSprite - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldr r0, =gUnknown_085F5254 - adds r4, 0x8 - lsls r4, 16 - asrs r4, 16 - adds r1, r5, 0 - adds r2, r4, 0 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - strh r6, [r1, 0x2E] - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_817B88C - - thumb_func_start nullsub_66 -nullsub_66: @ 817B8E4 - bx lr - thumb_func_end nullsub_66 - - thumb_func_start sub_817B8E8 -sub_817B8E8: @ 817B8E8 - push {r4,lr} - ldr r4, =gSprites - movs r1, 0x2E - ldrsh r2, [r0, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r1, [r1] - movs r2, 0x3E - adds r2, r0 - mov r12, r2 - movs r2, 0x4 - ands r2, r1 - mov r1, r12 - ldrb r3, [r1] - movs r1, 0x5 - negs r1, r1 - ands r1, r3 - orrs r1, r2 - mov r2, r12 - strb r1, [r2] - movs r1, 0x2E - ldrsh r2, [r0, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrh r1, [r1, 0x22] - strh r1, [r0, 0x22] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrh r1, [r1, 0x24] - strh r1, [r0, 0x24] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrh r1, [r1, 0x26] - strh r1, [r0, 0x26] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817B8E8 - - thumb_func_start sub_817B948 -sub_817B948: @ 817B948 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r2, r0, 0 - adds r5, r1, 0 - ldr r0, =gUnknown_085F528C - mov r8, r0 - lsls r2, 16 - asrs r4, r2, 16 - ldr r0, =0xffe00000 - adds r2, r0 - asrs r2, 16 - lsls r5, 16 - asrs r5, 16 - mov r0, r8 - adds r1, r2, 0 - adds r2, r5, 0 - movs r3, 0x5 - bl CreateSprite - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - adds r4, 0x20 - lsls r4, 16 - asrs r4, 16 - mov r0, r8 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0x6 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gSprites - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r0, r4, r5 - strh r6, [r0, 0x2E] - movs r1, 0x1 - bl StartSpriteAnim - adds r5, 0x1C - adds r4, r5 - ldr r0, =sub_817B8E8 - str r0, [r4] - adds r0, r6, 0 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_817B948 - - thumb_func_start sub_817B9C4 -sub_817B9C4: @ 817B9C4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r2, r0, 0 - adds r5, r1, 0 - ldr r0, =gUnknown_085F52A4 - mov r8, r0 - lsls r2, 16 - asrs r4, r2, 16 - ldr r0, =0xffe00000 - adds r2, r0 - asrs r2, 16 - lsls r5, 16 - asrs r5, 16 - mov r0, r8 - adds r1, r2, 0 - adds r2, r5, 0 - movs r3, 0x5 - bl CreateSprite - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - adds r4, 0x20 - lsls r4, 16 - asrs r4, 16 - mov r0, r8 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0x6 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gSprites - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r0, r4, r5 - strh r6, [r0, 0x2E] - movs r1, 0x1 - bl StartSpriteAnim - adds r5, 0x1C - adds r4, r5 - ldr r0, =sub_817B8E8 - str r0, [r4] - adds r0, r6, 0 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_817B9C4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/item_menu_icons.s b/asm/item_menu_icons.s deleted file mode 100644 index 8068e37c2..000000000 --- a/asm/item_menu_icons.s +++ /dev/null @@ -1,637 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start RemoveBagObject -@ void RemoveBagObject(u8 a1) -RemoveBagObject: @ 80D4CA8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_0203CE54 - ldr r2, =0x00000804 - adds r1, r4, r2 - ldr r0, [r0] - adds r5, r0, r1 - ldrb r0, [r5] - cmp r0, 0xFF - beq _080D4CEE - adds r4, 0x64 - 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] -_080D4CEE: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end RemoveBagObject - - thumb_func_start AddBagVisualObject -@ void AddBagVisualObject(u8 bagPocketId) -AddBagVisualObject: @ 80D4D00 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gUnknown_0203CE54 - ldr r4, [r0] - ldr r0, =0x00000804 - adds r4, r0 - ldr r0, =gUnknown_0857FB4C - movs r1, 0x44 - movs r2, 0x42 - movs r3, 0 - bl CreateSprite - strb r0, [r4] - adds r0, r5, 0 - movs r1, 0 - bl SetBagVisualPocketId - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end AddBagVisualObject - - thumb_func_start SetBagVisualPocketId -@ void SetBagVisualPocketId(u8 bagPocketId, bool8 isSwitchingPockets) -SetBagVisualPocketId: @ 80D4D38 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - ldr r0, =gUnknown_0203CE54 - ldr r0, [r0] - ldr r2, =0x00000804 - adds r0, r2 - ldrb r2, [r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - ldr r2, =gSprites - adds r2, r0, r2 - cmp r1, 0 - beq _080D4D84 - ldr r0, =0x0000fffb - strh r0, [r2, 0x26] - ldr r0, =ObjectCB_BagVisualSwitchingPockets - str r0, [r2, 0x1C] - adds r0, r3, 0x1 - strh r0, [r2, 0x2E] - adds r0, r2, 0 - movs r1, 0 - bl StartSpriteAnim - b _080D4D90 - .pool -_080D4D84: - adds r1, r3, 0x1 - lsls r1, 24 - lsrs r1, 24 - adds r0, r2, 0 - bl StartSpriteAnim -_080D4D90: - pop {r0} - bx r0 - thumb_func_end SetBagVisualPocketId - - thumb_func_start ObjectCB_BagVisualSwitchingPockets -@ void ObjectCB_BagVisualSwitchingPockets(struct obj *object) -ObjectCB_BagVisualSwitchingPockets: @ 80D4D94 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x26] - movs r2, 0x26 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080D4DA8 - adds r0, r1, 0x1 - strh r0, [r4, 0x26] - b _080D4DB8 -_080D4DA8: - ldrh r1, [r4, 0x2E] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] -_080D4DB8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ObjectCB_BagVisualSwitchingPockets - - thumb_func_start ShakeBagVisual -@ void ShakeBagVisual() -ShakeBagVisual: @ 80D4DC4 - push {r4,lr} - ldr r0, =gUnknown_0203CE54 - 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 _080D4DF4 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r0, =ObjectCB_ShakeBagVisual - str r0, [r4, 0x1C] -_080D4DF4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ShakeBagVisual - - thumb_func_start ObjectCB_ShakeBagVisual -@ void ObjectCB_ShakeBagVisual(struct obj *object) -ObjectCB_ShakeBagVisual: @ 80D4E0C - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080D4E28 - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAffineAnim - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] -_080D4E28: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ObjectCB_ShakeBagVisual - - thumb_func_start AddSwitchPocketRotatingBallObject -@ void AddSwitchPocketRotatingBallObject(u16 rotationDirection) -AddSwitchPocketRotatingBallObject: @ 80D4E34 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - ldr r0, =gUnknown_0203CE54 - ldr r4, [r0] - ldr r0, =0x00000805 - adds r4, r0 - ldr r0, =gUnknown_0857FBA0 - bl LoadSpriteSheet - ldr r0, =gUnknown_0857FBA8 - bl LoadSpritePalette - ldr r0, =gUnknown_0857FBB0 - movs r1, 0x10 - movs r2, 0x10 - movs r3, 0 - bl CreateSprite - strb r0, [r4] - ldr r2, =gSprites - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r5, [r0, 0x2E] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end AddSwitchPocketRotatingBallObject - - thumb_func_start update_switch_pocket_rotating_ball_coords -@ void update_switch_pocket_rotating_ball_coords(struct obj *object) -update_switch_pocket_rotating_ball_coords: @ 80D4E8C - ldrh r2, [r0, 0x30] - ldrh r1, [r0, 0x34] - adds r1, 0x1 - movs r3, 0x1 - ands r1, r3 - subs r2, r1 - adds r1, r0, 0 - adds r1, 0x28 - strb r2, [r1] - ldrh r2, [r0, 0x30] - ldrh r1, [r0, 0x34] - adds r1, 0x1 - ands r1, r3 - subs r2, r1 - adds r0, 0x29 - strb r2, [r0] - bx lr - thumb_func_end update_switch_pocket_rotating_ball_coords - - thumb_func_start ObjectCB_SwitchPocketRotatingBallInit -@ void ObjectCB_SwitchPocketRotatingBallInit(struct obj *object) -ObjectCB_SwitchPocketRotatingBallInit: @ 80D4EB0 - push {r4,lr} - adds r4, r0, 0 - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4, 0x1] - movs r0, 0x2E - ldrsh r1, [r4, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080D4ED8 - ldr r0, =gUnknown_0857FB98 - b _080D4EDA - .pool -_080D4ED8: - ldr r0, =gUnknown_0857FB9C -_080D4EDA: - str r0, [r4, 0x10] - adds r0, r4, 0 - bl InitSpriteAffineAnim - adds r0, r4, 0 - adds r0, 0x28 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - strh r0, [r4, 0x30] - adds r0, r4, 0 - adds r0, 0x29 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - strh r0, [r4, 0x30] - adds r0, r4, 0 - bl update_switch_pocket_rotating_ball_coords - ldr r0, =ObjectCB_SwitchPocketRotatingBallContinue - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ObjectCB_SwitchPocketRotatingBallInit - - thumb_func_start ObjectCB_SwitchPocketRotatingBallContinue -@ void ObjectCB_SwitchPocketRotatingBallContinue(struct obj *object) -ObjectCB_SwitchPocketRotatingBallContinue: @ 80D4F14 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - adds r0, r4, 0 - bl update_switch_pocket_rotating_ball_coords - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _080D4F32 - movs r0, 0x1 - bl RemoveBagObject -_080D4F32: - pop {r4} - pop {r0} - bx r0 - thumb_func_end ObjectCB_SwitchPocketRotatingBallContinue - - thumb_func_start AddBagItemIconObject -@ void AddBagItemIconObject(u16 itemId, u8 a2) -AddBagItemIconObject: @ 80D4F38 - push {r4-r6,lr} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r0, =gUnknown_0203CE54 - ldr r2, =0x00000806 - adds r1, r4, r2 - ldr r0, [r0] - adds r5, r0, r1 - ldrb r0, [r5] - cmp r0, 0xFF - bne _080D4F86 - adds r4, 0x66 - 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 _080D4F86 - 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] -_080D4F86: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end AddBagItemIconObject - - thumb_func_start RemoveBagItemIconObject -@ void RemoveBagItemIconObject(u8 a1) -RemoveBagItemIconObject: @ 80D4F98 - push {lr} - lsls r0, 24 - movs r1, 0x80 - lsls r1, 18 - adds r0, r1 - lsrs r0, 24 - bl RemoveBagObject - pop {r0} - bx r0 - thumb_func_end RemoveBagItemIconObject - - thumb_func_start sub_80D4FAC -sub_80D4FAC: @ 80D4FAC - push {lr} - ldr r0, =gUnknown_0203CE54 - ldr r0, [r0] - ldr r1, =0x00000808 - adds r0, r1 - movs r1, 0x8 - bl sub_8122344 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D4FAC - - thumb_func_start sub_80D4FC8 -sub_80D4FC8: @ 80D4FC8 - push {lr} - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_0203CE54 - ldr r0, [r0] - ldr r1, =0x00000808 - adds r0, r1 - movs r1, 0x8 - bl sub_81223FC - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D4FC8 - - thumb_func_start sub_80D4FEC -sub_80D4FEC: @ 80D4FEC - push {lr} - adds r3, r0, 0 - lsls r3, 24 - ldr r0, =gUnknown_0203CE54 - ldr r0, [r0] - ldr r1, =0x00000808 - 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_80D4FEC - - thumb_func_start sub_80D5018 -sub_80D5018: @ 80D5018 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r4, r1, 0 - movs r2, 0x80 - lsls r2, 4 - adds r0, r4, 0 - movs r1, 0 - bl memset - movs r0, 0x80 - lsls r0, 1 - adds r4, r0 - movs r7, 0 -_080D5036: - adds r4, 0x20 - movs r5, 0 - adds r1, r7, 0x1 - mov r8, r1 -_080D503E: - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0x20 - bl memcpy - adds r4, 0x20 - adds r6, 0x20 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _080D503E - cmp r7, 0x5 - beq _080D505C - adds r4, 0x20 -_080D505C: - mov r1, r8 - lsls r0, r1, 24 - lsrs r7, r0, 24 - cmp r7, 0x5 - bls _080D5036 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80D5018 - - thumb_func_start sub_80D5070 -sub_80D5070: @ 80D5070 - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - cmp r4, 0x2A - bne _080D5082 - bl IsEnigmaBerryValid -_080D5082: - ldr r5, =gBerryPicTable - lsls r4, 3 - adds r0, r5, 0x4 - adds r0, r4, r0 - ldr r0, [r0] - str r0, [sp] - ldr r1, =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r1 - ldr r1, =0x00007544 - orrs r0, r1 - str r0, [sp, 0x4] - mov r0, sp - bl LoadCompressedObjectPalette - adds r4, r5 - ldr r0, [r4] - ldr r4, =0x0201d000 - adds r1, r4, 0 - bl LZDecompressWram - ldr r0, =0xfffff000 - adds r1, r4, r0 - adds r0, r4, 0 - bl sub_80D5018 - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D5070 - - thumb_func_start CreateBerryTagSprite -CreateBerryTagSprite: @ 80D50D4 - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - bl sub_80D5070 - ldr r0, =gUnknown_0857FBEC - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end CreateBerryTagSprite - - thumb_func_start FreeBerryTagSpritePalette -FreeBerryTagSpritePalette: @ 80D510C - push {lr} - ldr r0, =0x00007544 - bl FreeSpritePaletteByTag - pop {r0} - bx r0 - .pool - thumb_func_end FreeBerryTagSpritePalette - - thumb_func_start sub_80D511C -sub_80D511C: @ 80D511C - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - mov r8, r3 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =0x00007544 - bl FreeSpritePaletteByTag - adds r0, r4, 0 - bl sub_80D5070 - ldr r0, =gUnknown_0857FC7C - adds r1, r5, 0 - adds r2, r6, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - adds r4, r1, 0 - mov r0, r8 - cmp r0, 0x1 - bne _080D5172 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAffineAnim -_080D5172: - adds r0, r4, 0 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80D511C - - thumb_func_start CreateBerryFlavorCircleSprite -CreateBerryFlavorCircleSprite: @ 80D518C - push {lr} - adds r1, r0, 0 - ldr r0, =gUnknown_0857FE10 - lsls r1, 16 - asrs r1, 16 - movs r2, 0x74 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end CreateBerryFlavorCircleSprite - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/learn_move.s b/asm/learn_move.s index 56f6f84c7..a33bd11b6 100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -903,7 +903,7 @@ sub_8160EA0: @ 8160EA0 ldrb r0, [r0] ldr r1, =gUnknown_0203BC38 adds r2, r1, 0x2 - bl sub_81AE6C8 + bl DestroyListMenuTask bl FreeAllWindowBuffers ldr r0, [r4] bl Free @@ -988,7 +988,7 @@ sub_8160F50: @ 8160F50 ldr r4, =gUnknown_0203BC38 adds r2, r4, 0x2 adds r1, r4, 0 - bl sub_81AE860 + bl ListMenuGetScrollAndRow movs r0, 0x2 negs r0, r0 cmp r5, r0 diff --git a/asm/list_menu.s b/asm/list_menu.s deleted file mode 100644 index 58719093c..000000000 --- a/asm/list_menu.s +++ /dev/null @@ -1,1643 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start ListMenuDummyTask -@ void ListMenuDummyTask(u8 taskId) -ListMenuDummyTask: @ 81AE458 - bx lr - thumb_func_end ListMenuDummyTask - - thumb_func_start DoMysteryGiftListMenu -@ int DoMysteryGiftListMenu(struct WindowTemplate *windowTemplate, struct ListMenuTemplate *listMenuTemplate, int a3, int a4, int a5) -DoMysteryGiftListMenu: @ 81AE45C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - mov r12, r0 - str r1, [sp] - ldr r0, [sp, 0x28] - lsls r2, 24 - lsrs r6, r2, 24 - mov r10, r6 - lsls r3, 16 - lsrs r7, r3, 16 - str r7, [sp, 0x4] - lsls r0, 16 - mov r8, r0 - lsrs r0, 16 - mov r9, r0 - ldr r5, =gUnknown_0203CE84 - ldrb r4, [r5, 0x4] - cmp r4, 0x1 - beq _081AE4F4 - cmp r4, 0x1 - ble _081AE492 - cmp r4, 0x2 - beq _081AE558 -_081AE492: - mov r0, r12 - bl AddWindow - strb r0, [r5, 0x5] - cmp r6, 0x1 - beq _081AE4B0 - cmp r6, 0x2 - bne _081AE4C0 - ldrb r0, [r5, 0x5] - mov r1, r9 - lsls r2, r1, 24 - lsrs r2, 24 - adds r1, r7, 0 - bl sub_809882C -_081AE4B0: - ldrb r0, [r5, 0x5] - mov r3, r8 - lsrs r2, r3, 20 - lsls r2, 24 - lsrs r2, 24 - ldr r1, [sp, 0x4] - bl sub_8098858 -_081AE4C0: - ldr r0, =gMultiuseListMenuTemplate - adds r2, r0, 0 - ldr r1, [sp] - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldr r4, =gUnknown_0203CE84 - ldrb r1, [r4, 0x5] - strb r1, [r0, 0x10] - movs r1, 0 - movs r2, 0 - bl ListMenuInit - strb r0, [r4, 0x6] - ldrb r0, [r4, 0x5] - movs r1, 0x1 - bl CopyWindowToVram - movs r0, 0x1 - strb r0, [r4, 0x4] - b _081AE570 - .pool -_081AE4F4: - ldrb r0, [r5, 0x6] - bl ListMenuHandleInputGetItemId - str r0, [r5] - ldr r1, =gMain - ldrh r0, [r1, 0x2E] - ands r4, r0 - cmp r4, 0 - beq _081AE50A - movs r0, 0x2 - strb r0, [r5, 0x4] -_081AE50A: - ldrh r1, [r1, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081AE51E - movs r0, 0x2 - negs r0, r0 - str r0, [r5] - movs r0, 0x2 - strb r0, [r5, 0x4] -_081AE51E: - ldrb r0, [r5, 0x4] - cmp r0, 0x2 - bne _081AE570 - cmp r6, 0 - bne _081AE534 - ldrb r0, [r5, 0x5] - bl ClearWindowTilemap - b _081AE546 - .pool -_081AE534: - mov r4, r10 - cmp r4, 0 - blt _081AE546 - cmp r4, 0x2 - bgt _081AE546 - ldrb r0, [r5, 0x5] - movs r1, 0 - bl sub_819746C -_081AE546: - ldr r0, =gUnknown_0203CE84 - ldrb r0, [r0, 0x5] - movs r1, 0x1 - bl CopyWindowToVram - b _081AE570 - .pool -_081AE558: - ldrb r0, [r5, 0x6] - movs r1, 0 - movs r2, 0 - bl sub_81AE6C8 - ldrb r0, [r5, 0x5] - bl RemoveWindow - movs r0, 0 - strb r0, [r5, 0x4] - ldr r0, [r5] - b _081AE574 -_081AE570: - movs r0, 0x1 - negs r0, r0 -_081AE574: - 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 DoMysteryGiftListMenu - - thumb_func_start ListMenuInit -@ u8 ListMenuInit(struct ListMenuTemplate *listMenuTemplate, u16 scrollOffset, u16 selectedRow) -ListMenuInit: @ 81AE584 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - bl ListMenuInitInternal - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r5, 0x10] - bl PutWindowTilemap - ldrb r0, [r5, 0x10] - movs r1, 0x2 - bl CopyWindowToVram - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end ListMenuInit - - thumb_func_start Unused_ListMenuInit2 -@ u8 Unused_ListMenuInit2(struct ListMenuTemplate *listMenuTemplate, int a2, u16 scrollOffset, u16 selectedRow) -Unused_ListMenuInit2: @ 81AE5B0 - push {r4-r7,lr} - sub sp, 0x8 - adds r6, r0, 0 - adds r4, r1, 0 - adds r1, r2, 0 - adds r2, r3, 0 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - bl ListMenuInitInternal - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r4, 0x4] - cmp r0, 0xFF - beq _081AE5F0 - adds r5, r4, 0 -_081AE5D4: - ldrb r0, [r6, 0x10] - ldrb r1, [r5] - ldrb r2, [r5, 0x1] - ldrb r3, [r5, 0x2] - ldrb r4, [r5, 0x3] - str r4, [sp] - ldrb r4, [r5, 0x4] - str r4, [sp, 0x4] - bl PutWindowRectTilemapOverridePalette - adds r5, 0x8 - ldrb r0, [r5, 0x4] - cmp r0, 0xFF - bne _081AE5D4 -_081AE5F0: - ldrb r0, [r6, 0x10] - movs r1, 0x2 - bl CopyWindowToVram - adds r0, r7, 0 - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end Unused_ListMenuInit2 - - thumb_func_start ListMenuHandleInputGetItemId -@ int ListMenuHandleInputGetItemId(u8 taskId) -ListMenuHandleInputGetItemId: @ 81AE604 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r3, r1, r0 - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081AE638 - ldrh r0, [r3, 0x18] - ldrh r1, [r3, 0x1A] - adds r0, r1 - ldr r1, [r3] - lsls r0, 3 - adds r0, r1 - ldr r0, [r0, 0x4] - b _081AE6C2 - .pool -_081AE638: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081AE646 - movs r0, 0x2 - negs r0, r0 - b _081AE6C2 -_081AE646: - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081AE65A - adds r0, r3, 0 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0 - b _081AE6BA -_081AE65A: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081AE66A - adds r0, r3, 0 - movs r1, 0x1 - movs r2, 0x1 - b _081AE6B8 -_081AE66A: - ldrb r0, [r3, 0x16] - lsrs r0, 6 - cmp r0, 0x1 - beq _081AE680 - cmp r0, 0x1 - ble _081AE67A - cmp r0, 0x2 - beq _081AE68C -_081AE67A: - movs r2, 0 - movs r0, 0 - b _081AE6A0 -_081AE680: - movs r0, 0x20 - ands r0, r1 - lsls r0, 16 - lsrs r2, r0, 16 - movs r0, 0x10 - b _081AE69A -_081AE68C: - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - lsls r0, 16 - lsrs r2, r0, 16 - movs r0, 0x80 - lsls r0, 1 -_081AE69A: - ands r0, r1 - lsls r0, 16 - lsrs r0, 16 -_081AE6A0: - cmp r2, 0 - beq _081AE6AE - ldrb r2, [r3, 0xE] - adds r0, r3, 0 - movs r1, 0x1 - movs r3, 0 - b _081AE6BA -_081AE6AE: - cmp r0, 0 - beq _081AE6BE - ldrb r2, [r3, 0xE] - adds r0, r3, 0 - movs r1, 0x1 -_081AE6B8: - movs r3, 0x1 -_081AE6BA: - bl ListMenuChangeSelection -_081AE6BE: - movs r0, 0x1 - negs r0, r0 -_081AE6C2: - pop {r1} - bx r1 - thumb_func_end ListMenuHandleInputGetItemId - - thumb_func_start sub_81AE6C8 -sub_81AE6C8: @ 81AE6C8 - push {r4,lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r1, r0, r1 - cmp r3, 0 - beq _081AE6E4 - ldrh r0, [r1, 0x18] - strh r0, [r3] -_081AE6E4: - cmp r2, 0 - beq _081AE6EC - ldrh r0, [r1, 0x1A] - strh r0, [r2] -_081AE6EC: - ldrb r0, [r1, 0x1E] - cmp r0, 0xFF - beq _081AE6FC - ldrb r1, [r1, 0x17] - lsrs r1, 6 - subs r1, 0x2 - bl ListMenuRemoveCursorObject -_081AE6FC: - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81AE6C8 - - thumb_func_start sub_81AE70C -sub_81AE70C: @ 81AE70C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - ldrb r0, [r4, 0x10] - ldrb r2, [r4, 0x15] - lsls r2, 28 - lsrs r1, r2, 4 - orrs r1, r2 - lsrs r1, 24 - bl FillWindowPixelBuffer - ldrh r1, [r4, 0x18] - ldrh r3, [r4, 0xE] - adds r0, r4, 0 - movs r2, 0 - bl ListMenuPrintEntries - adds r0, r4, 0 - bl ListMenuDrawCursor - ldrb r0, [r4, 0x10] - movs r1, 0x2 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81AE70C - - thumb_func_start sub_81AE750 -sub_81AE750: @ 81AE750 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - lsrs r1, 20 - ldrb r6, [r4, 0x14] - movs r5, 0xF - adds r0, r5, 0 - ands r0, r6 - orrs r0, r1 - strb r0, [r4, 0x14] - ands r2, r5 - ldrb r1, [r4, 0x15] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - orrs r0, r2 - lsrs r3, 20 - ands r0, r5 - orrs r0, r3 - strb r0, [r4, 0x15] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81AE750 - - thumb_func_start sub_81AE794 -sub_81AE794: @ 81AE794 - push {r4,r5,lr} - adds r3, r1, 0 - adds r5, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - ldrb r0, [r4, 0x10] - movs r1, 0x1 - adds r2, r3, 0 - bl SetWindowAttribute - ldrb r0, [r4, 0x10] - movs r1, 0x2 - adds r2, r5, 0 - bl SetWindowAttribute - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81AE794 - - thumb_func_start sub_81AE7D0 -sub_81AE7D0: @ 81AE7D0 - push {r4-r7,lr} - sub sp, 0x20 - mov r12, r2 - ldr r5, [sp, 0x34] - lsls r3, 16 - lsrs r3, 16 - adds r4, r3, 0 - mov r3, sp - ldm r0!, {r2,r6,r7} - stm r3!, {r2,r6,r7} - ldm r0!, {r2,r6,r7} - stm r3!, {r2,r6,r7} - mov r0, sp - movs r3, 0 - strh r1, [r0, 0x18] - mov r1, r12 - strh r1, [r0, 0x1A] - strb r3, [r0, 0x1C] - strb r3, [r0, 0x1D] - cmp r4, 0x40 - bne _081AE804 - movs r1, 0 - movs r2, 0x1 - movs r3, 0 - bl ListMenuChangeSelection -_081AE804: - cmp r4, 0x80 - bne _081AE814 - mov r0, sp - movs r1, 0 - movs r2, 0x1 - movs r3, 0x1 - bl ListMenuChangeSelection -_081AE814: - cmp r5, 0 - beq _081AE81E - mov r0, sp - ldrh r0, [r0, 0x18] - strh r0, [r5] -_081AE81E: - ldr r2, [sp, 0x38] - cmp r2, 0 - beq _081AE82A - mov r0, sp - ldrh r0, [r0, 0x1A] - strh r0, [r2] -_081AE82A: - movs r0, 0x1 - negs r0, r0 - add sp, 0x20 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81AE7D0 - - thumb_func_start sub_81AE838 -sub_81AE838: @ 81AE838 - push {lr} - adds r2, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r1, r0 - cmp r2, 0 - beq _081AE856 - ldrh r0, [r1, 0x1A] - ldrh r1, [r1, 0x18] - adds r0, r1 - strh r0, [r2] -_081AE856: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81AE838 - - thumb_func_start sub_81AE860 -sub_81AE860: @ 81AE860 - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r1, r0 - cmp r3, 0 - beq _081AE87A - ldrh r0, [r1, 0x18] - strh r0, [r3] -_081AE87A: - cmp r2, 0 - beq _081AE882 - ldrh r0, [r1, 0x1A] - strh r0, [r2] -_081AE882: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81AE860 - - thumb_func_start ListMenuGetYCoordForPrintingArrowCursor -@ u8 ListMenuGetYCoordForPrintingArrowCursor(u8 taskId) -ListMenuGetYCoordForPrintingArrowCursor: @ 81AE88C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - ldrb r0, [r4, 0x17] - lsls r0, 26 - lsrs r0, 26 - movs r1, 0x1 - bl GetFontAttribute - ldrb r1, [r4, 0x16] - lsls r1, 26 - lsrs r1, 29 - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x1A] - adds r2, r1, 0 - muls r2, r0 - adds r1, r2, 0 - ldrb r0, [r4, 0x14] - lsls r0, 28 - lsrs r0, 28 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end ListMenuGetYCoordForPrintingArrowCursor - - thumb_func_start ListMenuInitInternal -@ u8 ListMenuInitInternal(struct ListMenuTemplate *listMenuTemplate, u16 scrollOffset, u16 selectedRow) -ListMenuInitInternal: @ 81AE8D4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 16 - lsrs r6, 16 - ldr r0, =ListMenuDummyTask - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r0, 2 - add r0, r8 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r7, r0, r1 - adds r0, r7, 0 - ldm r4!, {r1-r3} - stm r0!, {r1-r3} - ldm r4!, {r1-r3} - stm r0!, {r1-r3} - movs r1, 0 - strh r5, [r7, 0x18] - strh r6, [r7, 0x1A] - strb r1, [r7, 0x1C] - strb r1, [r7, 0x1D] - movs r0, 0xFF - strb r0, [r7, 0x1E] - strb r1, [r7, 0x1F] - ldr r3, =gUnknown_03006300 - ldrb r1, [r7, 0x14] - movs r5, 0xF - lsrs r1, 4 - ldrb r4, [r3] - movs r2, 0x10 - negs r2, r2 - adds r0, r2, 0 - ands r0, r4 - orrs r0, r1 - strb r0, [r3] - ldrb r1, [r7, 0x15] - lsls r1, 28 - lsrs r1, 24 - ands r0, r5 - orrs r0, r1 - strb r0, [r3] - ldrb r0, [r7, 0x15] - lsrs r0, 4 - ands r5, r0 - ldrb r0, [r3, 0x1] - ands r2, r0 - orrs r2, r5 - strb r2, [r3, 0x1] - ldrb r1, [r7, 0x16] - lsls r1, 29 - lsrs r1, 17 - ldr r0, [r3] - ldr r2, =0xfffc0fff - ands r0, r2 - orrs r0, r1 - str r0, [r3] - ldrb r0, [r7, 0x17] - lsls r0, 26 - lsrs r0, 26 - strb r0, [r3, 0x3] - ldrh r0, [r7, 0xC] - ldrh r1, [r7, 0xE] - cmp r0, r1 - bcs _081AE96C - strh r0, [r7, 0xE] -_081AE96C: - ldrb r0, [r7, 0x10] - ldrb r2, [r7, 0x15] - lsls r2, 28 - lsrs r1, r2, 4 - orrs r1, r2 - lsrs r1, 24 - bl FillWindowPixelBuffer - ldrh r1, [r7, 0x18] - ldrh r3, [r7, 0xE] - adds r0, r7, 0 - movs r2, 0 - bl ListMenuPrintEntries - adds r0, r7, 0 - bl ListMenuDrawCursor - adds r0, r7, 0 - movs r1, 0x1 - bl ListMenuCallSelectionChangedCallback - mov r0, r8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end ListMenuInitInternal - - thumb_func_start ListMenuPrint -@ void ListMenuPrint(struct ListMenu *listMenu, u8 *str, u8 x, u8 y) -ListMenuPrint: @ 81AE9B4 - push {r4-r7,lr} - sub sp, 0x18 - adds r4, r0, 0 - adds r6, r1, 0 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r3, 24 - mov r12, r3 - ldr r5, =gUnknown_03006300 - ldrb r1, [r5, 0x3] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _081AEA20 - add r1, sp, 0x14 - ldr r2, [r5] - lsls r0, r2, 24 - lsrs r0, 28 - movs r3, 0 - strb r0, [r1] - lsls r0, r2, 28 - lsrs r0, 28 - strb r0, [r1, 0x1] - lsls r0, r2, 20 - lsrs r0, 28 - strb r0, [r1, 0x2] - ldrb r0, [r4, 0x10] - lsls r1, r2, 1 - lsrs r1, 25 - lsls r2, 14 - lsrs r2, 26 - str r2, [sp] - str r3, [sp, 0x4] - add r2, sp, 0x14 - str r2, [sp, 0x8] - movs r2, 0x1 - negs r2, r2 - str r2, [sp, 0xC] - str r6, [sp, 0x10] - adds r2, r7, 0 - mov r3, r12 - bl AddTextPrinterParameterized2 - ldrb r1, [r5, 0x3] - movs r0, 0x7F - ands r0, r1 - strb r0, [r5, 0x3] - b _081AEA5E - .pool -_081AEA20: - add r2, sp, 0x14 - ldrb r1, [r4, 0x15] - lsls r0, r1, 28 - lsrs r0, 28 - strb r0, [r2] - ldrb r0, [r4, 0x14] - lsrs r0, 4 - strb r0, [r2, 0x1] - adds r0, r2, 0 - lsls r1, 24 - lsrs r1, 28 - strb r1, [r0, 0x2] - ldrb r0, [r4, 0x10] - ldrb r1, [r4, 0x17] - lsls r1, 26 - lsrs r1, 26 - ldrb r2, [r4, 0x16] - lsls r2, 29 - lsrs r2, 29 - str r2, [sp] - str r3, [sp, 0x4] - add r2, sp, 0x14 - str r2, [sp, 0x8] - movs r2, 0x1 - negs r2, r2 - str r2, [sp, 0xC] - str r6, [sp, 0x10] - adds r2, r7, 0 - mov r3, r12 - bl AddTextPrinterParameterized2 -_081AEA5E: - add sp, 0x18 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ListMenuPrint - - thumb_func_start ListMenuPrintEntries -@ void ListMenuPrintEntries(struct ListMenu *listMenu, u16 startIndex, u16 yOffset, u16 count) -ListMenuPrintEntries: @ 81AEA68 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - lsls r2, 16 - lsrs r2, 16 - str r2, [sp] - lsls r3, 16 - lsrs r3, 16 - mov r10, r3 - ldrb r0, [r4, 0x17] - lsls r0, 26 - lsrs r0, 26 - movs r1, 0x1 - bl GetFontAttribute - ldrb r1, [r4, 0x16] - lsls r1, 26 - lsrs r1, 29 - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r0, 0 - mov r8, r0 - cmp r8, r10 - bge _081AEB10 -_081AEAAA: - ldr r0, [r4] - mov r2, r9 - lsls r1, r2, 3 - adds r0, r1, r0 - ldr r2, [r0, 0x4] - movs r0, 0x3 - negs r0, r0 - adds r5, r1, 0 - cmp r2, r0 - beq _081AEAC2 - ldrb r6, [r4, 0x12] - b _081AEAC4 -_081AEAC2: - ldrb r6, [r4, 0x11] -_081AEAC4: - ldr r0, [sp] - add r0, r8 - ldr r2, [sp, 0x4] - adds r1, r0, 0 - muls r1, r2 - ldrb r0, [r4, 0x14] - lsls r0, 28 - lsrs r0, 28 - adds r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r7, r2, 0 - ldr r3, [r4, 0x8] - cmp r3, 0 - beq _081AEAEE - ldrb r0, [r4, 0x10] - ldr r1, [r4] - adds r1, r5, r1 - ldr r1, [r1, 0x4] - bl _call_via_r3 -_081AEAEE: - ldr r0, [r4] - adds r0, r5, r0 - ldr r1, [r0] - adds r0, r4, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl ListMenuPrint - mov r0, r9 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - movs r0, 0x1 - add r8, r0 - cmp r8, r10 - blt _081AEAAA -_081AEB10: - 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 ListMenuPrintEntries - - thumb_func_start ListMenuDrawCursor -@ void ListMenuDrawCursor(struct ListMenu *listMenu) -ListMenuDrawCursor: @ 81AEB20 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - ldrb r0, [r6, 0x17] - lsls r0, 26 - lsrs r0, 26 - movs r1, 0x1 - bl GetFontAttribute - ldrb r1, [r6, 0x16] - lsls r1, 26 - lsrs r1, 29 - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r6, 0x13] - mov r8, r1 - ldrh r1, [r6, 0x1A] - muls r1, r0 - ldrb r0, [r6, 0x14] - lsls r0, 28 - lsrs r0, 28 - adds r0, r1 - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r6, 0x17] - lsrs r0, 6 - cmp r0, 0x1 - beq _081AEC0C - cmp r0, 0x1 - bgt _081AEB66 - cmp r0, 0 - beq _081AEB70 - b _081AEC0C -_081AEB66: - cmp r0, 0x2 - beq _081AEB84 - cmp r0, 0x3 - beq _081AEBCC - b _081AEC0C -_081AEB70: - ldr r1, =gText_SelectorArrow2 - adds r0, r6, 0 - mov r2, r8 - adds r3, r7, 0 - bl ListMenuPrint - b _081AEC0C - .pool -_081AEB84: - ldrb r0, [r6, 0x1E] - cmp r0, 0xFF - bne _081AEB94 - adds r0, r6, 0 - movs r1, 0 - bl ListMenuAddCursorObject - strb r0, [r6, 0x1E] -_081AEB94: - ldrb r5, [r6, 0x1E] - ldrb r0, [r6, 0x10] - movs r1, 0x1 - bl GetWindowAttribute - adds r4, r0, 0 - lsls r4, 19 - ldr r0, =0xffff0000 - adds r4, r0 - lsrs r4, 16 - ldrb r0, [r6, 0x10] - movs r1, 0x2 - bl GetWindowAttribute - adds r2, r0, 0 - lsls r2, 3 - adds r2, r7 - subs r2, 0x1 - lsls r2, 16 - lsrs r2, 16 - adds r0, r5, 0 - adds r1, r4, 0 - movs r3, 0 - bl ListMenuUpdateCursorObject - b _081AEC0C - .pool -_081AEBCC: - ldrb r0, [r6, 0x1E] - cmp r0, 0xFF - bne _081AEBDC - adds r0, r6, 0 - movs r1, 0x1 - bl ListMenuAddCursorObject - strb r0, [r6, 0x1E] -_081AEBDC: - ldrb r5, [r6, 0x1E] - ldrb r0, [r6, 0x10] - movs r1, 0x1 - bl GetWindowAttribute - adds r4, r0, 0 - lsls r4, 3 - add r4, r8 - lsls r4, 16 - lsrs r4, 16 - ldrb r0, [r6, 0x10] - movs r1, 0x2 - bl GetWindowAttribute - adds r2, r0, 0 - lsls r2, 3 - adds r2, r7 - lsls r2, 16 - lsrs r2, 16 - adds r0, r5, 0 - adds r1, r4, 0 - movs r3, 0x1 - bl ListMenuUpdateCursorObject -_081AEC0C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ListMenuDrawCursor - - thumb_func_start ListMenuAddCursorObject -ListMenuAddCursorObject: @ 81AEC18 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - adds r5, r1, 0 - mov r1, sp - movs r0, 0 - strb r0, [r1] - movs r0, 0xA0 - strb r0, [r1, 0x1] - ldrb r0, [r4, 0x10] - movs r1, 0x3 - bl GetWindowAttribute - mov r1, sp - lsls r0, 3 - adds r0, 0x2 - strh r0, [r1, 0x2] - ldrb r0, [r4, 0x17] - lsls r0, 26 - lsrs r0, 26 - movs r1, 0x1 - bl GetFontAttribute - mov r1, sp - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x2 - strh r0, [r1, 0x4] - movs r0, 0x80 - lsls r0, 7 - strh r0, [r1, 0x6] - ldr r0, =0x0000ffff - strh r0, [r1, 0x8] - movs r0, 0xF - strb r0, [r1, 0xA] - mov r0, sp - adds r1, r5, 0 - bl ListMenuAddCursorObjectInternal - lsls r0, 24 - lsrs r0, 24 - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end ListMenuAddCursorObject - - thumb_func_start ListMenuErasePrintedCursor -ListMenuErasePrintedCursor: @ 81AEC78 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - adds r7, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - ldrb r1, [r7, 0x17] - lsrs r0, r1, 6 - cmp r0, 0 - bne _081AECF4 - lsls r0, r1, 26 - lsrs r0, 26 - movs r1, 0x1 - bl GetFontAttribute - adds r4, r0, 0 - ldrb r0, [r7, 0x16] - lsls r0, 26 - lsrs r0, 29 - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r7, 0x17] - lsls r0, 26 - lsrs r0, 26 - movs r1, 0 - bl GetMenuCursorDimensionByFont - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldrb r0, [r7, 0x17] - lsls r0, 26 - lsrs r0, 26 - movs r1, 0x1 - bl GetMenuCursorDimensionByFont - lsls r0, 24 - lsrs r0, 24 - ldrb r6, [r7, 0x10] - ldrb r2, [r7, 0x15] - lsls r2, 28 - lsrs r1, r2, 4 - orrs r1, r2 - lsrs r1, 24 - ldrb r2, [r7, 0x13] - mov r3, r8 - muls r3, r4 - adds r4, r3, 0 - ldrb r3, [r7, 0x14] - lsls r3, 28 - lsrs r3, 28 - adds r3, r4 - lsls r3, 16 - lsrs r3, 16 - str r5, [sp] - str r0, [sp, 0x4] - adds r0, r6, 0 - bl FillWindowPixelRect -_081AECF4: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ListMenuErasePrintedCursor - - thumb_func_start ListMenuUpdateSelectedRowIndexAndScrollOffset -@ u8 ListMenuUpdateSelectedRowIndexAndScrollOffset(int, bool8 movingDown) -ListMenuUpdateSelectedRowIndexAndScrollOffset: @ 81AED00 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 24 - ldrh r3, [r4, 0x1A] - ldrh r5, [r4, 0x18] - cmp r1, 0 - bne _081AED74 - ldrh r0, [r4, 0xE] - cmp r0, 0x1 - bne _081AED18 - movs r2, 0 - b _081AED2A -_081AED18: - ldrh r0, [r4, 0xE] - lsrs r2, r0, 1 - movs r1, 0x1 - ands r1, r0 - adds r2, r1 - subs r0, r2 - subs r0, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 -_081AED2A: - cmp r5, 0 - bne _081AED50 - cmp r3, 0 - beq _081AEDB6 - ldr r1, [r4] - movs r2, 0x3 - negs r2, r2 -_081AED38: - subs r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - adds r0, r5, r3 - lsls r0, 3 - adds r0, r1 - ldr r0, [r0, 0x4] - cmp r0, r2 - bne _081AEDBA - cmp r3, 0 - bne _081AED38 - b _081AEDB6 -_081AED50: - cmp r3, r2 - bls _081AED70 - ldr r1, [r4] - movs r6, 0x3 - negs r6, r6 -_081AED5A: - subs r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - adds r0, r5, r3 - lsls r0, 3 - adds r0, r1 - ldr r0, [r0, 0x4] - cmp r0, r6 - bne _081AEDBA - cmp r3, r2 - bhi _081AED5A -_081AED70: - subs r0, r5, 0x1 - b _081AEDE2 -_081AED74: - ldrh r0, [r4, 0xE] - cmp r0, 0x1 - bne _081AED7E - movs r2, 0 - b _081AED88 -_081AED7E: - ldrh r0, [r4, 0xE] - lsrs r2, r0, 1 - movs r1, 0x1 - ands r1, r0 - adds r2, r1 -_081AED88: - adds r1, r0, 0 - ldrh r0, [r4, 0xC] - subs r0, r1 - cmp r5, r0 - bne _081AEDC0 - subs r0, r1, 0x1 - cmp r3, r0 - bge _081AEDB6 - ldr r2, [r4] - movs r6, 0x3 - negs r6, r6 - adds r1, r0, 0 -_081AEDA0: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - adds r0, r5, r3 - lsls r0, 3 - adds r0, r2 - ldr r0, [r0, 0x4] - cmp r0, r6 - bne _081AEDBA - cmp r3, r1 - blt _081AEDA0 -_081AEDB6: - movs r0, 0 - b _081AEDE8 -_081AEDBA: - strh r3, [r4, 0x1A] - movs r0, 0x1 - b _081AEDE8 -_081AEDC0: - cmp r3, r2 - bcs _081AEDE0 - ldr r1, [r4] - movs r6, 0x3 - negs r6, r6 -_081AEDCA: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - adds r0, r5, r3 - lsls r0, 3 - adds r0, r1 - ldr r0, [r0, 0x4] - cmp r0, r6 - bne _081AEDBA - cmp r3, r2 - bcc _081AEDCA -_081AEDE0: - adds r0, r5, 0x1 -_081AEDE2: - strh r2, [r4, 0x1A] - strh r0, [r4, 0x18] - movs r0, 0x2 -_081AEDE8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end ListMenuUpdateSelectedRowIndexAndScrollOffset - - thumb_func_start ListMenuScroll -@ void ListMenuScroll(struct ListMenu *listMenu, int a2, bool8 movingDown) -ListMenuScroll: @ 81AEDF0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - adds r6, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - adds r7, r5, 0 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - ldrh r0, [r6, 0xE] - cmp r5, r0 - bcc _081AEE2A - ldrb r0, [r6, 0x10] - ldrb r2, [r6, 0x15] - lsls r2, 28 - lsrs r1, r2, 4 - orrs r1, r2 - lsrs r1, 24 - bl FillWindowPixelBuffer - ldrh r1, [r6, 0x18] - ldrh r3, [r6, 0xE] - adds r0, r6, 0 - movs r2, 0 - bl ListMenuPrintEntries - b _081AEF1A -_081AEE2A: - ldrb r0, [r6, 0x17] - lsls r0, 26 - lsrs r0, 26 - movs r1, 0x1 - bl GetFontAttribute - ldrb r1, [r6, 0x16] - lsls r1, 26 - lsrs r1, 29 - adds r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - mov r1, r8 - cmp r1, 0 - bne _081AEEBC - ldrb r0, [r6, 0x10] - adds r2, r5, 0 - muls r2, r4 - lsls r2, 24 - lsrs r2, 24 - ldrb r1, [r6, 0x15] - lsls r1, 28 - lsrs r3, r1, 4 - orrs r3, r1 - lsrs r3, 24 - movs r1, 0x1 - bl ScrollWindow - ldrh r1, [r6, 0x18] - adds r0, r6, 0 - movs r2, 0 - adds r3, r5, 0 - bl ListMenuPrintEntries - ldrh r0, [r6, 0xE] - adds r1, r0, 0 - muls r1, r4 - adds r0, r1, 0 - ldrb r4, [r6, 0x14] - lsls r4, 28 - lsrs r4, 28 - adds r4, r0 - lsls r4, 16 - lsrs r4, 16 - ldrb r0, [r6, 0x10] - movs r1, 0x3 - bl GetWindowAttribute - adds r5, r0, 0 - lsls r5, 19 - lsrs r5, 16 - ldrb r0, [r6, 0x10] - movs r1, 0x4 - bl GetWindowAttribute - lsls r0, 3 - subs r0, r4 - lsls r0, 16 - lsrs r0, 16 - ldrb r3, [r6, 0x10] - ldrb r2, [r6, 0x15] - lsls r2, 28 - lsrs r1, r2, 4 - orrs r1, r2 - lsrs r1, 24 - str r5, [sp] - str r0, [sp, 0x4] - adds r0, r3, 0 - movs r2, 0 - adds r3, r4, 0 - bl FillWindowPixelRect - b _081AEF1A -_081AEEBC: - ldrb r0, [r6, 0x10] - adds r2, r7, 0 - muls r2, r4 - lsls r2, 24 - lsrs r2, 24 - ldrb r1, [r6, 0x15] - lsls r1, 28 - lsrs r3, r1, 4 - orrs r3, r1 - lsrs r3, 24 - movs r1, 0 - bl ScrollWindow - ldrh r2, [r6, 0xE] - subs r2, r7 - ldrh r1, [r6, 0x18] - adds r1, r2 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - adds r0, r6, 0 - adds r3, r7, 0 - bl ListMenuPrintEntries - ldrb r0, [r6, 0x10] - movs r1, 0x3 - bl GetWindowAttribute - lsls r0, 19 - lsrs r0, 16 - ldrb r3, [r6, 0x10] - ldrb r2, [r6, 0x15] - lsls r2, 28 - lsrs r1, r2, 4 - orrs r1, r2 - lsrs r1, 24 - str r0, [sp] - ldrb r0, [r6, 0x14] - lsls r0, 28 - lsrs r0, 28 - str r0, [sp, 0x4] - adds r0, r3, 0 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect -_081AEF1A: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ListMenuScroll - - thumb_func_start ListMenuChangeSelection -@ bool8 ListMenuChangeSelection(struct ListMenu *listMenu, bool8 updateCursorAndCallCallback, u8 count, bool8 movingDown) -ListMenuChangeSelection: @ 81AEF28 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp] - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r3, 24 - lsrs r3, 24 - mov r9, r3 - ldrh r0, [r4, 0x1A] - mov r10, r0 - movs r7, 0 - movs r5, 0 - movs r0, 0 - cmp r7, r8 - bcs _081AEF90 -_081AEF56: - adds r6, r0, 0x1 - b _081AEF76 -_081AEF5A: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - ldrh r0, [r4, 0x18] - ldrh r1, [r4, 0x1A] - adds r0, r1 - ldr r1, [r4] - lsls r0, 3 - adds r0, r1 - ldr r1, [r0, 0x4] - movs r0, 0x3 - negs r0, r0 - cmp r1, r0 - bne _081AEF88 -_081AEF76: - adds r0, r4, 0 - mov r1, r9 - bl ListMenuUpdateSelectedRowIndexAndScrollOffset - lsls r0, 24 - lsrs r0, 24 - orrs r5, r0 - cmp r0, 0x2 - beq _081AEF5A -_081AEF88: - lsls r0, r6, 24 - lsrs r0, 24 - cmp r0, r8 - bcc _081AEF56 -_081AEF90: - ldr r0, [sp] - cmp r0, 0 - beq _081AEFEE - cmp r5, 0x1 - beq _081AEFA6 - cmp r5, 0x1 - ble _081AEFA2 - cmp r5, 0x3 - ble _081AEFC6 -_081AEFA2: - movs r0, 0x1 - b _081AEFF0 -_081AEFA6: - adds r0, r4, 0 - mov r1, r10 - bl ListMenuErasePrintedCursor - adds r0, r4, 0 - bl ListMenuDrawCursor - adds r0, r4, 0 - movs r1, 0 - bl ListMenuCallSelectionChangedCallback - ldrb r0, [r4, 0x10] - movs r1, 0x2 - bl CopyWindowToVram - b _081AEFEE -_081AEFC6: - adds r0, r4, 0 - mov r1, r10 - bl ListMenuErasePrintedCursor - adds r0, r4, 0 - adds r1, r7, 0 - mov r2, r9 - bl ListMenuScroll - adds r0, r4, 0 - bl ListMenuDrawCursor - adds r0, r4, 0 - movs r1, 0 - bl ListMenuCallSelectionChangedCallback - ldrb r0, [r4, 0x10] - movs r1, 0x2 - bl CopyWindowToVram -_081AEFEE: - movs r0, 0 -_081AEFF0: - 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 ListMenuChangeSelection - - thumb_func_start ListMenuCallSelectionChangedCallback -@ void ListMenuCallSelectionChangedCallback(struct ListMenu *listMenu, u8 a2) -ListMenuCallSelectionChangedCallback: @ 81AF000 - push {r4,lr} - adds r2, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r3, [r2, 0x4] - cmp r3, 0 - beq _081AF022 - ldrh r0, [r2, 0x18] - ldrh r1, [r2, 0x1A] - adds r0, r1 - ldr r1, [r2] - lsls r0, 3 - adds r0, r1 - ldr r0, [r0, 0x4] - adds r1, r4, 0 - bl _call_via_r3 -_081AF022: - pop {r4} - pop {r0} - bx r0 - thumb_func_end ListMenuCallSelectionChangedCallback - - thumb_func_start sub_81AF028 -sub_81AF028: @ 81AF028 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r6, =gUnknown_03006300 - movs r5, 0xF - ands r0, r5 - ldrb r3, [r6] - mov r8, r3 - movs r4, 0x10 - negs r4, r4 - adds r3, r4, 0 - mov r7, r8 - ands r3, r7 - orrs r3, r0 - lsrs r1, 20 - ands r3, r5 - orrs r3, r1 - strb r3, [r6] - ands r2, r5 - ldrb r0, [r6, 0x1] - ands r4, r0 - orrs r4, r2 - strb r4, [r6, 0x1] - ldrb r0, [r6, 0x3] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r6, 0x3] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81AF028 - - thumb_func_start sub_81AF078 -sub_81AF078: @ 81AF078 - push {lr} - lsls r1, 24 - cmp r1, 0 - bne _081AF086 - movs r0, 0x5 - bl PlaySE -_081AF086: - pop {r0} - bx r0 - thumb_func_end sub_81AF078 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/map_name_popup.s b/asm/map_name_popup.s index 76edd1f1f..d4775389a 100644 --- a/asm/map_name_popup.s +++ b/asm/map_name_popup.s @@ -8,7 +8,7 @@ thumb_func_start sub_80D47D4 sub_80D47D4: @ 80D47D4 push {lr} - bl sub_80A0934 + bl HideStartMenu bl ShowMapNamePopup movs r0, 0x1 pop {r1} diff --git a/asm/party_menu.s b/asm/party_menu.s index b71804617..5d01bd745 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -15413,7 +15413,7 @@ sub_81B8448: @ 81B8448 str r0, [sp] ldr r0, =sub_81B1370 str r0, [sp, 0x4] - ldr r0, =sub_816BB28 + ldr r0, =Mailbox_ReturnToMailListAfterDeposit str r0, [sp, 0x8] movs r0, 0 movs r1, 0 @@ -15442,7 +15442,7 @@ sub_81B8474: @ 81B8474 movs r0, 0 strb r0, [r1] ldr r2, =gSaveBlock1Ptr - ldr r0, =gUnknown_0203BCB8 + ldr r0, =playerPCItemPageInfo ldrh r1, [r0] adds r1, 0x6 ldrh r0, [r0, 0x2] diff --git a/asm/player_pc.s b/asm/player_pc.s deleted file mode 100644 index 8a329a2fe..000000000 --- a/asm/player_pc.s +++ /dev/null @@ -1,3436 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start NewGameInitPCItems -NewGameInitPCItems: @ 816ADF4 - push {r4-r6,lr} - movs r4, 0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x93 - lsls r1, 3 - adds r0, r1 - movs r1, 0x32 - bl ClearItemSlots - ldr r1, =gUnknown_085DFEFC - ldrh r0, [r1] - cmp r0, 0 - beq _0816AE48 - ldrh r0, [r1, 0x2] - cmp r0, 0 - beq _0816AE48 - adds r5, r1, 0 - adds r6, r5, 0x2 -_0816AE1A: - lsls r1, r4, 2 - adds r0, r1, r5 - ldrh r0, [r0] - adds r1, r6 - ldrh r1, [r1] - bl AddPCItem - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0816AE48 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, r4, 2 - adds r0, r1, r5 - ldrh r0, [r0] - cmp r0, 0 - beq _0816AE48 - adds r0, r1, r6 - ldrh r0, [r0] - cmp r0, 0 - bne _0816AE1A -_0816AE48: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end NewGameInitPCItems - - thumb_func_start sub_816AE58 -sub_816AE58: @ 816AE58 - push {lr} - ldr r1, =gUnknown_0203BCB0 - ldr r0, =gUnknown_085DFED4 - str r0, [r1] - ldr r1, =gUnknown_0203BCB4 - movs r0, 0x4 - strb r0, [r1] - ldr r0, =TaskDummy - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gText_WhatWouldYouLike - ldr r2, =sub_816AED8 - bl DisplayItemMessageOnField - pop {r0} - bx r0 - .pool - thumb_func_end sub_816AE58 - - thumb_func_start sub_816AE98 -sub_816AE98: @ 816AE98 - push {lr} - ldr r1, =gUnknown_0203BCB0 - ldr r0, =gUnknown_085DFED8 - str r0, [r1] - ldr r1, =gUnknown_0203BCB4 - movs r0, 0x3 - strb r0, [r1] - ldr r0, =TaskDummy - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gText_WhatWouldYouLike - ldr r2, =sub_816AED8 - bl DisplayItemMessageOnField - pop {r0} - bx r0 - .pool - thumb_func_end sub_816AE98 - - thumb_func_start sub_816AED8 -sub_816AED8: @ 816AED8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - ldr r0, =gUnknown_0203BCB4 - ldrb r1, [r0] - mov r8, r0 - cmp r1, 0x3 - bne _0816AF0C - ldr r0, =gUnknown_085DFF24 - ldr r1, [r0, 0x4] - ldr r0, [r0] - b _0816AF12 - .pool -_0816AF0C: - ldr r0, =gUnknown_085DFF24 - ldr r1, [r0, 0xC] - ldr r0, [r0, 0x8] -_0816AF12: - str r0, [sp] - str r1, [sp, 0x4] - ldr r5, =gUnknown_085DFEB4 - ldr r4, =gUnknown_0203BCB0 - ldr r1, [r4] - mov r0, r8 - ldrb r2, [r0] - adds r0, r5, 0 - bl sub_81DB3D8 - lsls r0, 24 - ldr r2, =0x00ffffff - ldr r1, [sp] - ands r1, r2 - orrs r1, r0 - str r1, [sp] - mov r0, sp - bl AddWindow - strh r0, [r6, 0x8] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl SetStandardWindowBorderStyle - ldrb r0, [r6, 0x8] - mov r2, r8 - ldrb r1, [r2] - ldr r3, [r4] - adds r2, r5, 0 - bl sub_81995E4 - ldrb r0, [r6, 0x8] - mov r2, r8 - ldrb r1, [r2] - movs r2, 0 - bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed - 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_816AF98 - str r1, [r0] - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816AED8 - - thumb_func_start sub_816AF98 -sub_816AF98: @ 816AF98 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldr r0, =gUnknown_0203BCB4 - ldrb r0, [r0] - cmp r0, 0x3 - bls _0816AFC0 - bl ProcessMenuInput - b _0816AFC4 - .pool -_0816AFC0: - bl ProcessMenuInputNoWrapAround -_0816AFC4: - lsls r0, 24 - lsrs r0, 24 - lsls r0, 24 - asrs r5, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r5, r0 - beq _0816B04C - adds r0, 0x1 - cmp r5, r0 - bne _0816B014 - movs r0, 0x5 - bl PlaySE - ldrb r0, [r4, 0x8] - movs r1, 0 - bl sub_8198070 - ldrb r0, [r4, 0x8] - bl ClearWindowTilemap - ldrb r0, [r4, 0x8] - bl RemoveWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_816B148 - str r1, [r0] - b _0816B04C - .pool -_0816B014: - ldrb r0, [r4, 0x8] - movs r1, 0 - bl sub_8198070 - ldrb r0, [r4, 0x8] - bl ClearWindowTilemap - ldrb r0, [r4, 0x8] - bl RemoveWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r2, =gUnknown_085DFEB4 - ldr r0, =gUnknown_0203BCB0 - ldr r0, [r0] - adds r0, r5 - ldrb r0, [r0] - lsls r0, 3 - adds r2, 0x4 - adds r0, r2 - ldr r0, [r0] - str r0, [r1] -_0816B04C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816AF98 - - thumb_func_start sub_816B060 -sub_816B060: @ 816B060 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gText_WhatWouldYouLike - ldr r2, =sub_816AED8 - bl DisplayItemMessageOnField - pop {r0} - bx r0 - .pool - thumb_func_end sub_816B060 - - thumb_func_start task_pc_itemstorage -task_pc_itemstorage: @ 816B07C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl sub_816B190 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_816B248 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end task_pc_itemstorage - - thumb_func_start sub_816B0A8 -sub_816B0A8: @ 816B0A8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - bl sub_816B510 - ldr r5, =gUnknown_0203BCB8 - movs r1, 0 - strb r0, [r5, 0x5] - lsls r0, 24 - cmp r0, 0 - bne _0816B0D8 - ldr r1, =gText_NoMailHere - ldr r2, =sub_816B060 - adds r0, r4, 0 - bl DisplayItemMessageOnField - b _0816B12A - .pool -_0816B0D8: - strh r1, [r5] - strh r1, [r5, 0x2] - movs r0, 0xFF - strb r0, [r5, 0x9] - bl sub_816B54C - adds r0, r4, 0 - bl sub_816B4C0 - ldrb r0, [r5, 0x5] - bl sub_81D1C44 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0816B120 - movs r0, 0 - movs r1, 0 - bl sub_8197434 - adds r0, r4, 0 - bl sub_816B5F8 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_816B674 - str r0, [r1] - b _0816B12A - .pool -_0816B120: - ldr r1, =gText_NoMailHere - ldr r2, =sub_816B060 - adds r0, r6, 0 - bl DisplayItemMessageOnField -_0816B12A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816B0A8 - - thumb_func_start sub_816B138 -sub_816B138: @ 816B138 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_8126B2C - pop {r0} - bx r0 - thumb_func_end sub_816B138 - - thumb_func_start sub_816B148 -sub_816B148: @ 816B148 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_0203BCB4 - ldrb r0, [r0] - cmp r0, 0x4 - bne _0816B180 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _0816B174 - ldr r0, =LittlerootTown_BrendansHouse_2F_EventScript_1F863F - bl ScriptContext1_SetupScript - b _0816B184 - .pool -_0816B174: - ldr r0, =LittlerootTown_MaysHouse_2F_EventScript_1F958F - bl ScriptContext1_SetupScript - b _0816B184 - .pool -_0816B180: - bl EnableBothScriptContexts -_0816B184: - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_816B148 - - thumb_func_start sub_816B190 -sub_816B190: @ 816B190 - push {r4-r6,lr} - sub sp, 0x8 - adds r5, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - ldr r0, =gUnknown_085DFF24 - ldr r1, [r0, 0x14] - ldr r0, [r0, 0x10] - str r0, [sp] - str r1, [sp, 0x4] - ldr r6, =gUnknown_085DFEDC - adds r0, r6, 0 - movs r1, 0x4 - 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 - strh r0, [r4, 0x8] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl SetStandardWindowBorderStyle - ldrb r0, [r4, 0x8] - movs r1, 0x4 - adds r2, r6, 0 - bl PrintMenuTable - ldrb r0, [r4, 0x8] - movs r1, 0x4 - adds r2, r5, 0 - bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r0, =gUnknown_085DFEA4 - lsls r5, 2 - adds r5, r0 - ldr r0, [r5] - bl sub_816B21C - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816B190 - - thumb_func_start sub_816B21C -sub_816B21C: @ 816B21C - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r0, 0 - movs r1, 0 - bl NewMenuHelpers_DrawDialogueFrame - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0 - bl PrintTextOnWindow - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_816B21C - - thumb_func_start sub_816B248 -sub_816B248: @ 816B248 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - bl GetMenuCursorPos - lsls r0, 24 - lsrs r5, r0, 24 - bl ProcessMenuInput - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl GetMenuCursorPos - lsls r0, 24 - lsrs r2, r0, 24 - lsls r4, 24 - asrs r4, 24 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _0816B298 - adds r0, 0x1 - cmp r4, r0 - beq _0816B2B4 - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_085DFEDC - lsls r1, r4, 3 - adds r0, 0x4 - adds r1, r0 - ldr r1, [r1] - adds r0, r6, 0 - bl _call_via_r1 - b _0816B2C0 - .pool -_0816B298: - lsls r1, r5, 24 - lsls r0, r2, 24 - asrs r2, r0, 24 - cmp r1, r0 - beq _0816B2C0 - ldr r0, =gUnknown_085DFEA4 - lsls r1, r2, 2 - adds r1, r0 - ldr r0, [r1] - bl sub_816B21C - b _0816B2C0 - .pool -_0816B2B4: - movs r0, 0x5 - bl PlaySE - adds r0, r6, 0 - bl sub_816B4A4 -_0816B2C0: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_816B248 - - thumb_func_start sub_816B2C8 -sub_816B2C8: @ 816B2C8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =sub_816B2F0 - str r0, [r1] - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - pop {r0} - bx r0 - .pool - thumb_func_end sub_816B2C8 - - thumb_func_start sub_816B2F0 -sub_816B2F0: @ 816B2F0 - 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 _0816B310 - bl overworld_free_bg_tilemaps - bl sub_81AAC14 - adds r0, r4, 0 - bl DestroyTask -_0816B310: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816B2F0 - - thumb_func_start sub_816B31C -sub_816B31C: @ 816B31C - push {lr} - ldr r0, =gFieldCallback - ldr r1, =mapldr_080EBC0C - str r1, [r0] - ldr r0, =CB2_ReturnToField - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_816B31C - - thumb_func_start mapldr_080EBC0C -mapldr_080EBC0C: @ 816B33C - push {lr} - bl sub_81973A4 - movs r0, 0 - movs r1, 0x1 - bl NewMenuHelpers_DrawDialogueFrame - ldr r0, =sub_816B368 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_816B190 - bl pal_fill_black - pop {r0} - bx r0 - .pool - thumb_func_end mapldr_080EBC0C - - thumb_func_start sub_816B368 -sub_816B368: @ 816B368 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80ABDFC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0816B388 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_816B248 - str r0, [r1] -_0816B388: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816B368 - - thumb_func_start sub_816B398 -sub_816B398: @ 816B398 - push {r4,r5,lr} - 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_80D6CE4 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2] - cmp r0, 0 - beq _0816B3C4 - adds r0, r5, 0 - movs r1, 0 - bl sub_816B430 - b _0816B3D4 - .pool -_0816B3C4: - adds r0, r5, 0 - bl sub_816B4DC - ldr r1, =gText_NoItems - ldr r2, =task_pc_itemstorage - adds r0, r5, 0 - bl DisplayItemMessageOnField -_0816B3D4: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816B398 - - thumb_func_start sub_816B3E4 -sub_816B3E4: @ 816B3E4 - push {r4,r5,lr} - 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_80D6CE4 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2] - cmp r0, 0 - beq _0816B410 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_816B430 - b _0816B420 - .pool -_0816B410: - adds r0, r5, 0 - bl sub_816B4DC - ldr r1, =gText_NoItems - ldr r2, =task_pc_itemstorage - adds r0, r5, 0 - bl DisplayItemMessageOnField -_0816B420: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816B3E4 - - thumb_func_start sub_816B430 -sub_816B430: @ 816B430 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r5, r4, 2 - adds r5, r4 - lsls r5, 3 - ldr r6, =gTasks + 0x8 - adds r0, r5, r6 - strh r1, [r0, 0x6] - adds r0, r4, 0 - bl sub_816B4DC - ldr r1, =gUnknown_0203BCB8 - movs r0, 0 - strh r0, [r1] - strh r0, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x9] - adds r0, r4, 0 - bl sub_816B4C0 - bl sub_816BC14 - bl gpu_pal_allocator_reset__manage_upper_four - bl LoadListMenuArrowsGfx - ldr r0, =gUnknown_0203BCC4 - ldr r0, [r0] - movs r1, 0xCD - lsls r1, 3 - adds r0, r1 - movs r1, 0x7 - bl sub_8122344 - movs r0, 0 - movs r1, 0 - bl sub_8197434 - subs r6, 0x8 - adds r5, r6 - ldr r0, =sub_816C158 - str r0, [r5] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816B430 - - thumb_func_start sub_816B4A4 -sub_816B4A4: @ 816B4A4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_816B4DC - adds r0, r4, 0 - bl sub_816B060 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_816B4A4 - - thumb_func_start sub_816B4C0 -sub_816B4C0: @ 816B4C0 - push {lr} - ldr r1, =gUnknown_0203BCB8 - ldrb r0, [r1, 0x5] - cmp r0, 0x7 - bls _0816B4D4 - movs r0, 0x8 - b _0816B4D6 - .pool -_0816B4D4: - adds r0, 0x1 -_0816B4D6: - strb r0, [r1, 0x4] - pop {r0} - bx r0 - thumb_func_end sub_816B4C0 - - thumb_func_start sub_816B4DC -sub_816B4DC: @ 816B4DC - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - ldrb r0, [r4, 0x8] - movs r1, 0 - bl sub_8198070 - ldrb r0, [r4, 0x8] - bl ClearWindowTilemap - ldrb r0, [r4, 0x8] - bl RemoveWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816B4DC - - thumb_func_start sub_816B510 -sub_816B510: @ 816B510 - push {r4,lr} - movs r2, 0 - movs r1, 0x6 - ldr r0, =gSaveBlock1Ptr - ldr r3, [r0] - movs r4, 0xB0 - lsls r4, 6 -_0816B51E: - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r3, r0 - adds r0, r4 - ldrh r0, [r0] - cmp r0, 0 - beq _0816B534 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 -_0816B534: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xF - bls _0816B51E - adds r0, r2, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_816B510 - - thumb_func_start sub_816B54C -sub_816B54C: @ 816B54C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - movs r2, 0x6 -_0816B55A: - adds r1, r2, 0x1 - lsls r0, r1, 24 - lsrs r4, r0, 24 - mov r8, r1 - cmp r4, 0xF - bhi _0816B5D4 - ldr r0, =gSaveBlock1Ptr - mov r10, r0 - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - mov r12, r0 - ldr r6, =0x00002be0 -_0816B574: - mov r1, r10 - ldr r1, [r1] - mov r9, r1 - mov r2, r9 - add r2, r12 - movs r3, 0xB0 - lsls r3, 6 - adds r0, r2, r3 - ldrh r0, [r0] - cmp r0, 0 - bne _0816B5CA - adds r2, r6 - mov r1, sp - adds r0, r2, 0 - ldm r0!, {r3,r5,r7} - stm r1!, {r3,r5,r7} - ldm r0!, {r3,r5,r7} - stm r1!, {r3,r5,r7} - ldm r0!, {r3,r5,r7} - stm r1!, {r3,r5,r7} - lsls r3, r4, 3 - adds r3, r4 - lsls r3, 2 - mov r5, r9 - adds r0, r5, r3 - adds r0, r6 - ldm r0!, {r1,r5,r7} - stm r2!, {r1,r5,r7} - ldm r0!, {r1,r5,r7} - stm r2!, {r1,r5,r7} - ldm r0!, {r1,r5,r7} - stm r2!, {r1,r5,r7} - mov r7, r10 - ldr r1, [r7] - adds r1, r3 - adds r1, r6 - mov r0, sp - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r5,r7} - stm r1!, {r2,r5,r7} -_0816B5CA: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _0816B574 -_0816B5D4: - mov r3, r8 - lsls r0, r3, 24 - lsrs r2, r0, 24 - cmp r2, 0xE - bls _0816B55A - 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_816B54C - - thumb_func_start sub_816B5F8 -sub_816B5F8: @ 816B5F8 - push {r4-r6,lr} - sub sp, 0xC - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0 - bl sub_81D1C84 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - bl sub_81D1C84 - ldr r6, =gText_Mailbox - movs r0, 0x1 - adds r1, r6, 0 - movs r2, 0x40 - bl GetStringCenterAlignXOffset - 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] - adds r0, r4, 0 - movs r1, 0x1 - adds r2, r6, 0 - bl PrintTextOnWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r4, =gUnknown_0203BCB8 - adds r0, r4, 0 - bl sub_81D1DC0 - ldr r2, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x12] - adds r0, r4, 0 - bl sub_81D1E90 - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816B5F8 - - thumb_func_start sub_816B674 -sub_816B674: @ 816B674 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - mov r9, r0 - ldr r0, =gTasks + 0x8 - mov r10, r0 - mov r4, r9 - add r4, r10 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0816B71E - ldrb r0, [r4, 0xA] - bl ListMenuHandleInputGetItemId - adds r6, r0, 0 - ldrb r0, [r4, 0xA] - ldr r7, =gUnknown_0203BCBA - subs r1, r7, 0x2 - mov r8, r1 - adds r1, r7, 0 - mov r2, r8 - bl sub_81AE860 - movs r0, 0x2 - negs r0, r0 - cmp r6, r0 - beq _0816B6D4 - adds r0, 0x1 - cmp r6, r0 - bne _0816B6EA - b _0816B71E - .pool -_0816B6D4: - movs r0, 0x5 - bl PlaySE - mov r1, r8 - ldrb r0, [r1, 0x9] - bl RemoveScrollIndicatorArrowPair - adds r0, r5, 0 - bl sub_816B798 - b _0816B71E -_0816B6EA: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_81D1D04 - movs r0, 0x1 - bl sub_81D1D04 - ldrb r0, [r4, 0xA] - adds r1, r7, 0 - mov r2, r8 - bl sub_81AE6C8 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - mov r1, r8 - ldrb r0, [r1, 0x9] - bl RemoveScrollIndicatorArrowPair - mov r0, r10 - subs r0, 0x8 - add r0, r9 - ldr r1, =sub_816B730 - str r1, [r0] -_0816B71E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816B674 - - thumb_func_start sub_816B730 -sub_816B730: @ 816B730 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =gStringVar1 - ldr r2, =gSaveBlock1Ptr - ldr r1, =gUnknown_0203BCB8 - ldrh r0, [r1] - adds r0, 0x6 - ldrh r1, [r1, 0x2] - adds r0, r1 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, [r2] - adds r1, r0 - ldr r0, =0x00002bf2 - adds r1, r0 - adds r0, r5, 0 - bl StringCopy - adds r0, r5, 0 - movs r1, 0 - bl sub_81DB554 - ldr r5, =gStringVar4 - ldr r1, =gText_WhatToDoWithVar1sMail - adds r0, r5, 0 - bl StringExpandPlaceholders - ldr r2, =sub_816B7DC - adds r0, r4, 0 - adds r1, r5, 0 - bl DisplayItemMessageOnField - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816B730 - - thumb_func_start sub_816B798 -sub_816B798: @ 816B798 - 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 r0, 0 - bl sub_81D1D04 - movs r0, 0x1 - bl sub_81D1D04 - ldrb r0, [r4, 0xA] - movs r1, 0 - movs r2, 0 - bl sub_81AE6C8 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - bl sub_81D1EC0 - adds r0, r5, 0 - bl sub_816B060 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816B798 - - thumb_func_start sub_816B7DC -sub_816B7DC: @ 816B7DC - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x2 - bl sub_81D1C84 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r2, =gUnknown_085DFF04 - adds r0, r4, 0 - movs r1, 0x4 - bl PrintMenuTable - adds r0, r4, 0 - movs r1, 0x4 - movs r2, 0 - bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_816B82C - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816B7DC - - thumb_func_start sub_816B82C -sub_816B82C: @ 816B82C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - bl ProcessMenuInput_other - lsls r0, 24 - asrs r4, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _0816B86E - adds r0, 0x1 - cmp r4, r0 - bne _0816B858 - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_816BBD4 - b _0816B86E -_0816B858: - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_085DFF04 - lsls r1, r4, 3 - adds r0, 0x4 - adds r1, r0 - ldr r1, [r1] - adds r0, r6, 0 - bl _call_via_r1 -_0816B86E: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816B82C - - thumb_func_start sub_816B878 -sub_816B878: @ 816B878 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_816B8A4 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816B878 - - thumb_func_start sub_816B8A4 -sub_816B8A4: @ 816B8A4 - 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 _0816B8E6 - bl sub_81D1EC0 - bl overworld_free_bg_tilemaps - ldr r2, =gSaveBlock1Ptr - ldr r1, =gUnknown_0203BCB8 - ldrh r0, [r1] - adds r0, 0x6 - ldrh r1, [r1, 0x2] - adds r0, r1 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, =0x00002be0 - adds r1, r0 - ldr r0, [r2] - adds r0, r1 - ldr r1, =sub_816B900 - movs r2, 0x1 - bl ReadMail - adds r0, r4, 0 - bl DestroyTask -_0816B8E6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816B8A4 - - thumb_func_start sub_816B900 -sub_816B900: @ 816B900 - push {lr} - ldr r0, =gFieldCallback - ldr r1, =pal_fill_for_maplights_or_black - str r1, [r0] - ldr r0, =CB2_ReturnToField - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_816B900 - - thumb_func_start pal_fill_for_maplights_or_black -pal_fill_for_maplights_or_black: @ 816B920 - push {r4,lr} - bl sub_81973A4 - ldr r0, =task00_080EBBDC - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_0203BCB8 - ldrb r0, [r0, 0x5] - bl sub_81D1C44 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0816B954 - adds r0, r4, 0 - bl sub_816B5F8 - b _0816B95A - .pool -_0816B954: - adds r0, r4, 0 - bl DestroyTask -_0816B95A: - bl pal_fill_black - pop {r4} - pop {r0} - bx r0 - thumb_func_end pal_fill_for_maplights_or_black - - thumb_func_start task00_080EBBDC -task00_080EBBDC: @ 816B964 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80ABDFC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0816B984 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_816B674 - str r0, [r1] -_0816B984: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end task00_080EBBDC - - thumb_func_start sub_816B994 -sub_816B994: @ 816B994 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gText_MessageWillBeLost - ldr r2, =sub_816B9B0 - bl DisplayItemMessageOnField - pop {r0} - bx r0 - .pool - thumb_func_end sub_816B994 - - thumb_func_start sub_816B9B0 -sub_816B9B0: @ 816B9B0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8197930 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_816B9D8 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816B9B0 - - thumb_func_start sub_816B9D8 -sub_816B9D8: @ 816B9D8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r0, 24 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - beq _0816BA04 - cmp r0, r1 - ble _0816BA10 - cmp r0, 0 - beq _0816B9FC - cmp r0, 0x1 - beq _0816BA0A - b _0816BA10 -_0816B9FC: - adds r0, r4, 0 - bl sub_816BA18 - b _0816BA10 -_0816BA04: - movs r0, 0x5 - bl PlaySE -_0816BA0A: - adds r0, r4, 0 - bl sub_816BAAC -_0816BA10: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_816B9D8 - - thumb_func_start sub_816BA18 -sub_816BA18: @ 816BA18 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r2, =gSaveBlock1Ptr - ldr r4, =gUnknown_0203BCB8 - ldrh r1, [r4] - adds r1, 0x6 - ldrh r0, [r4, 0x2] - adds r1, r0 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =0x00002be0 - adds r0, r1 - ldr r1, [r2] - adds r5, r1, r0 - ldrh r0, [r5, 0x20] - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - cmp r0, 0 - bne _0816BA68 - ldr r1, =gText_BagIsFull - ldr r2, =sub_816BBD4 - adds r0, r6, 0 - bl DisplayItemMessageOnField - b _0816BA9C - .pool -_0816BA68: - ldr r1, =gText_MailToBagMessageErased - ldr r2, =sub_816BBD4 - adds r0, r6, 0 - bl DisplayItemMessageOnField - adds r0, r5, 0 - bl ClearMailStruct - bl sub_816B54C - ldrb r0, [r4, 0x5] - subs r0, 0x1 - strb r0, [r4, 0x5] - ldrb r1, [r4, 0x5] - ldrb r0, [r4, 0x4] - ldrh r2, [r4, 0x2] - adds r0, r2 - cmp r1, r0 - bge _0816BA96 - cmp r2, 0 - beq _0816BA96 - subs r0, r2, 0x1 - strh r0, [r4, 0x2] -_0816BA96: - adds r0, r6, 0 - bl sub_816B4C0 -_0816BA9C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816BA18 - - thumb_func_start sub_816BAAC -sub_816BAAC: @ 816BAAC - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_816BBD4 - pop {r0} - bx r0 - thumb_func_end sub_816BAAC - - thumb_func_start sub_816BABC -sub_816BABC: @ 816BABC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl CalculatePlayerPartyCount - lsls r0, 24 - cmp r0, 0 - bne _0816BAD4 - adds r0, r4, 0 - bl sub_816BBB8 - b _0816BAEA -_0816BAD4: - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_816BAF8 - str r0, [r1] -_0816BAEA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816BABC - - thumb_func_start sub_816BAF8 -sub_816BAF8: @ 816BAF8 - 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 _0816BB1C - bl sub_81D1EC0 - bl overworld_free_bg_tilemaps - bl sub_81B8448 - adds r0, r4, 0 - bl DestroyTask -_0816BB1C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816BAF8 - - thumb_func_start sub_816BB28 -sub_816BB28: @ 816BB28 - push {lr} - ldr r0, =gFieldCallback - ldr r1, =sub_816BB48 - str r1, [r0] - ldr r0, =CB2_ReturnToField - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_816BB28 - - thumb_func_start sub_816BB48 -sub_816BB48: @ 816BB48 - push {r4-r6,lr} - ldr r0, =task00_080EBBDC - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, =gUnknown_0203BCB8 - ldrb r4, [r5, 0x5] - bl sub_816B510 - strb r0, [r5, 0x5] - bl sub_816B54C - ldrb r0, [r5, 0x5] - cmp r4, r0 - beq _0816BB7E - ldrb r1, [r5, 0x5] - ldrb r0, [r5, 0x4] - ldrh r2, [r5, 0x2] - adds r0, r2 - cmp r1, r0 - bge _0816BB7E - cmp r2, 0 - beq _0816BB7E - subs r0, r2, 0x1 - strh r0, [r5, 0x2] -_0816BB7E: - adds r0, r6, 0 - bl sub_816B4C0 - bl sub_81973A4 - ldr r0, =gUnknown_0203BCB8 - ldrb r0, [r0, 0x5] - bl sub_81D1C44 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0816BBA8 - adds r0, r6, 0 - bl sub_816B5F8 - b _0816BBAE - .pool -_0816BBA8: - adds r0, r6, 0 - bl DestroyTask -_0816BBAE: - bl pal_fill_black - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_816BB48 - - thumb_func_start sub_816BBB8 -sub_816BBB8: @ 816BBB8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gText_NoPokemon - ldr r2, =sub_816BBD4 - bl DisplayItemMessageOnField - pop {r0} - bx r0 - .pool - thumb_func_end sub_816BBB8 - - thumb_func_start sub_816BBD4 -sub_816BBD4: @ 816BBD4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - bl sub_81D1D04 - movs r0, 0 - movs r1, 0 - bl sub_8197434 - adds r0, r4, 0 - bl sub_816B5F8 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_816B674 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816BBD4 - - thumb_func_start sub_816BC14 -sub_816BC14: @ 816BC14 - push {r4,lr} - ldr r4, =gUnknown_0203BCC4 - movs r0, 0xCE - lsls r0, 3 - bl AllocZeroed - str r0, [r4] - movs r1, 0xCC - lsls r1, 3 - adds r0, r1 - movs r1, 0xFF - movs r2, 0x6 - bl memset - ldr r0, [r4] - ldr r1, =0x00000666 - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - ldr r0, [r4] - ldr r1, =0x00000667 - adds r0, r1 - movs r1, 0x1 - negs r1, r1 - strb r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816BC14 - - thumb_func_start sub_816BC58 -sub_816BC58: @ 816BC58 - push {r4,lr} - movs r4, 0 -_0816BC5C: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_816BCC4 - adds r4, 0x1 - cmp r4, 0x5 - bls _0816BC5C - ldr r0, =gUnknown_0203BCC4 - ldr r0, [r0] - bl Free - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816BC58 - - thumb_func_start sub_816BC7C -sub_816BC7C: @ 816BC7C - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_0203BCC4 - movs r3, 0xCC - lsls r3, 3 - adds r1, r2, r3 - ldr r0, [r0] - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0xFF - bne _0816BCB4 - lsls r0, r2, 3 - ldr r1, =gUnknown_085DFF5C - adds r0, r1 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r2, 0x85 - lsls r2, 2 - movs r1, 0 - movs r3, 0xE - bl SetWindowBorderStyle - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram -_0816BCB4: - ldrb r0, [r4] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_816BC7C - - thumb_func_start sub_816BCC4 -sub_816BCC4: @ 816BCC4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203BCC4 - movs r2, 0xCC - lsls r2, 3 - adds r0, r2 - ldr r1, [r1] - adds r4, r1, r0 - ldrb r0, [r4] - cmp r0, 0xFF - beq _0816BCF8 - movs r1, 0 - bl sub_8198070 - ldrb r0, [r4] - bl ClearWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldrb r0, [r4] - bl RemoveWindow - movs r0, 0xFF - strb r0, [r4] -_0816BCF8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816BCC4 - - thumb_func_start sub_816BD04 -sub_816BD04: @ 816BD04 - push {r4-r6,lr} - movs r6, 0 - ldr r0, =gUnknown_0203BCB8 - ldrb r0, [r0, 0x5] - subs r0, 0x1 - cmp r6, r0 - bge _0816BD58 - ldr r5, =gUnknown_0203BCC4 -_0816BD14: - lsls r4, r6, 1 - adds r4, r6 - lsls r4, 3 - movs r0, 0xCC - lsls r0, 1 - adds r4, r0 - ldr r0, [r5] - adds r0, r4 - ldr r1, =gSaveBlock1Ptr - ldr r1, [r1] - lsls r2, r6, 2 - adds r1, r2 - movs r2, 0x93 - lsls r2, 3 - adds r1, r2 - ldrh r1, [r1] - bl sub_816BDC8 - ldr r0, [r5] - lsls r2, r6, 3 - adds r1, r0, r2 - adds r4, r0, r4 - str r4, [r1] - adds r0, 0x4 - adds r0, r2 - str r6, [r0] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, =gUnknown_0203BCB8 - ldrb r0, [r0, 0x5] - subs r0, 0x1 - cmp r6, r0 - blt _0816BD14 -_0816BD58: - ldr r5, =gUnknown_0203BCC4 - lsls r4, r6, 1 - adds r4, r6 - lsls r4, 3 - movs r3, 0xCC - lsls r3, 1 - adds r4, r3 - ldr r0, [r5] - adds r0, r4 - ldr r1, =gText_Cancel2 - bl StringCopy - ldr r0, [r5] - lsls r2, r6, 3 - adds r1, r0, r2 - adds r4, r0, r4 - str r4, [r1] - adds r0, 0x4 - adds r0, r2 - movs r1, 0x2 - negs r1, r1 - str r1, [r0] - ldr r4, =gMultiuseListMenuTemplate - adds r1, r4, 0 - ldr r0, =gUnknown_085DFF44 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - movs r0, 0 - bl sub_816BC7C - strb r0, [r4, 0x10] - ldr r1, =gUnknown_0203BCB8 - ldrb r0, [r1, 0x5] - strh r0, [r4, 0xC] - ldr r0, [r5] - str r0, [r4] - ldrb r0, [r1, 0x4] - strh r0, [r4, 0xE] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816BD04 - - thumb_func_start sub_816BDC8 -sub_816BDC8: @ 816BDC8 - push {lr} - adds r2, r0, 0 - lsls r0, r1, 16 - lsrs r0, 16 - adds r1, r2, 0 - bl CopyItemName - pop {r0} - bx r0 - thumb_func_end sub_816BDC8 - - thumb_func_start sub_816BDDC -sub_816BDDC: @ 816BDDC - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x1 - beq _0816BDEE - movs r0, 0x5 - bl PlaySE -_0816BDEE: - ldr r0, =gUnknown_0203BCC4 - ldr r0, [r0] - ldr r1, =0x00000666 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0816BE38 - bl sub_816C0C8 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _0816BE2C - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - lsls r1, r4, 2 - adds r0, r1 - movs r1, 0x93 - lsls r1, 3 - adds r0, r1 - ldrh r0, [r0] - bl sub_816C060 - b _0816BE32 - .pool -_0816BE2C: - ldr r0, =0x0000ffff - bl sub_816C060 -_0816BE32: - adds r0, r4, 0 - bl sub_816BEF0 -_0816BE38: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816BDDC - - thumb_func_start fish4_goto_x5_or_x6 -fish4_goto_x5_or_x6: @ 816BE44 - push {r4-r6,lr} - sub sp, 0xC - 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 _0816BED4 - ldr r0, =gUnknown_0203BCC4 - ldr r0, [r0] - ldr r1, =0x00000666 - adds r0, r1 - ldrb r1, [r0] - cmp r1, 0xFF - beq _0816BE8E - lsls r0, r4, 24 - lsrs r0, 24 - cmp r1, r0 - bne _0816BE84 - adds r0, r5, 0 - movs r1, 0 - movs r2, 0xFF - bl sub_816BFE0 - b _0816BE8E - .pool -_0816BE84: - adds r0, r5, 0 - movs r1, 0xFF - movs r2, 0xFF - bl sub_816BFE0 -_0816BE8E: - ldr r0, =gStringVar1 - ldr r1, =gSaveBlock1Ptr - ldr r1, [r1] - lsls r2, r4, 2 - adds r1, r2 - ldr r2, =0x0000049a - adds r1, r2 - ldrh r1, [r1] - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar4 - ldr r1, =gText_xVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x7 - adds r1, r4, 0 - movs r2, 0x68 - bl GetStringRightAlignXOffset - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - str r5, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x7 - adds r2, r4, 0 - bl PrintTextOnWindow -_0816BED4: - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end fish4_goto_x5_or_x6 - - thumb_func_start sub_816BEF0 -sub_816BEF0: @ 816BEF0 - push {r4,r5,lr} - sub sp, 0xC - adds r1, r0, 0 - ldr r0, =gUnknown_0203BCC4 - ldr r0, [r0] - ldr r2, =0x00000661 - adds r0, r2 - ldrb r5, [r0] - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - beq _0816BF2C - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - lsls r1, 2 - adds r0, r1 - movs r1, 0x93 - lsls r1, 3 - adds r0, r1 - ldrh r0, [r0] - bl ItemId_GetDescription - b _0816BF32 - .pool -_0816BF2C: - ldr r0, =0x0000ffff - bl sub_816C228 -_0816BF32: - adds r4, r0, 0 - adds r0, r5, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r0, r5, 0 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0 - bl PrintTextOnWindow - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816BEF0 - - thumb_func_start sub_816BF60 -sub_816BF60: @ 816BF60 - push {r4,lr} - sub sp, 0x10 - ldr r4, =gUnknown_0203BCB8 - ldrb r0, [r4, 0x9] - cmp r0, 0xFF - bne _0816BF8C - ldrb r0, [r4, 0x5] - ldrb r1, [r4, 0x4] - subs r0, r1 - str r0, [sp] - ldr r0, =0x000013f8 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r0, r4, 0x2 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0xB0 - movs r2, 0xC - movs r3, 0x94 - bl AddScrollIndicatorArrowPairParametrized - strb r0, [r4, 0x9] -_0816BF8C: - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816BF60 - - thumb_func_start sub_816BF9C -sub_816BF9C: @ 816BF9C - push {r4,lr} - ldr r4, =gUnknown_0203BCB8 - ldrb r0, [r4, 0x9] - cmp r0, 0xFF - beq _0816BFAE - bl RemoveScrollIndicatorArrowPair - movs r0, 0xFF - strb r0, [r4, 0x9] -_0816BFAE: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816BF9C - - thumb_func_start sub_816BFB8 -sub_816BFB8: @ 816BFB8 - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - bl ListMenuGetYCoordForPrintingArrowCursor - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_816BFE0 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_816BFB8 - - thumb_func_start sub_816BFE0 -sub_816BFE0: @ 816BFE0 - push {r4-r6,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_0203BCC4 - ldr r0, [r0] - movs r3, 0xCC - lsls r3, 3 - adds r0, r3 - ldrb r5, [r0] - cmp r1, 0xFF - bne _0816C030 - 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] - adds r0, r5, 0 - movs r1, 0x11 - movs r2, 0 - adds r3, r6, 0 - bl FillWindowPixelRect - b _0816C050 - .pool -_0816C030: - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - ldr r0, =gUnknown_085DFF8C - str r0, [sp, 0x8] - lsls r0, r2, 24 - asrs r0, 24 - str r0, [sp, 0xC] - ldr r0, =gText_SelectorArrow2 - str r0, [sp, 0x10] - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0 - adds r3, r6, 0 - bl AddTextPrinterParameterized2 -_0816C050: - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816BFE0 - - thumb_func_start sub_816C060 -sub_816C060: @ 816C060 - push {r4-r6,lr} - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, =gUnknown_0203BCC4 - ldr r0, [r0] - ldr r1, =0x00000667 - adds r5, r0, r1 - ldrb r0, [r5] - cmp r0, 0xFF - bne _0816C0B2 - ldr r4, =0x000013f6 - 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 _0816C0B2 - strb r2, [r5] - ldr r0, =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x5] - movs r0, 0x18 - strh r0, [r1, 0x24] - movs r0, 0x50 - strh r0, [r1, 0x26] -_0816C0B2: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816C060 - - thumb_func_start sub_816C0C8 -sub_816C0C8: @ 816C0C8 - push {r4,r5,lr} - ldr r0, =gUnknown_0203BCC4 - ldr r0, [r0] - ldr r1, =0x00000667 - adds r5, r0, r1 - ldrb r0, [r5] - cmp r0, 0xFF - beq _0816C0FA - ldr r4, =0x000013f6 - 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 r1, =gSprites - adds r0, r1 - bl DestroySprite - movs r0, 0xFF - strb r0, [r5] -_0816C0FA: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816C0C8 - - thumb_func_start sub_816C110 -sub_816C110: @ 816C110 - push {lr} - sub sp, 0x4 - bl sub_80D6E84 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x93 - lsls r1, 3 - adds r0, r1 - ldr r2, =gUnknown_0203BCBC - adds r3, r2, 0x1 - movs r1, 0x8 - str r1, [sp] - movs r1, 0x32 - bl sub_812220C - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_816C110 - - thumb_func_start sub_816C140 -sub_816C140: @ 816C140 - push {lr} - ldr r0, =gUnknown_0203BCBA - subs r1, r0, 0x2 - ldrb r2, [r1, 0x4] - ldrb r3, [r1, 0x5] - bl sub_812225C - pop {r0} - bx r0 - .pool - thumb_func_end sub_816C140 - - thumb_func_start sub_816C158 -sub_816C158: @ 816C158 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r7, r0, r1 - movs r4, 0 -_0816C16C: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_816BC7C - adds r4, 0x1 - cmp r4, 0x3 - bls _0816C16C - movs r1, 0x6 - ldrsh r0, [r7, r1] - ldr r5, =gText_TossItem - cmp r0, 0 - bne _0816C186 - ldr r5, =gText_WithdrawItem -_0816C186: - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0x68 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - ldr r4, =gUnknown_0203BCC4 - ldr r0, [r4] - ldr r1, =0x00000663 - adds r0, r1 - 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 - adds r2, r5, 0 - bl PrintTextOnWindow - ldr r0, [r4] - ldr r1, =0x00000662 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - bl sub_816C110 - bl sub_816C140 - bl sub_816BD04 - ldr r0, =gMultiuseListMenuTemplate - ldr r2, =gUnknown_0203BCB8 - ldrh r1, [r2, 0x2] - ldrh r2, [r2] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0xA] - bl sub_816BF60 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_816C30C - str r1, [r0] - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816C158 - - thumb_func_start sub_816C228 -sub_816C228: @ 816C228 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - ldr r2, =0xffff0009 - adds r0, r1, r2 - cmp r0, 0x8 - bhi _0816C2B4 - lsls r0, 2 - ldr r1, =_0816C248 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0816C248: - .4byte _0816C2AC - .4byte _0816C2A4 - .4byte _0816C29C - .4byte _0816C294 - .4byte _0816C28C - .4byte _0816C284 - .4byte _0816C27C - .4byte _0816C274 - .4byte _0816C26C -_0816C26C: - ldr r0, =gText_GoBackPrevMenu - b _0816C2BA - .pool -_0816C274: - ldr r0, =gText_WithdrawHowManyItems - b _0816C2BA - .pool -_0816C27C: - ldr r0, =gText_WithdrawXItems - b _0816C2BA - .pool -_0816C284: - ldr r0, =gText_TossHowManyVar1s - b _0816C2BA - .pool -_0816C28C: - ldr r0, =gText_ThrewAwayVar2Var1s - b _0816C2BA - .pool -_0816C294: - ldr r0, =gText_NoRoomInBag - b _0816C2BA - .pool -_0816C29C: - ldr r0, =gText_TooImportantToToss - b _0816C2BA - .pool -_0816C2A4: - ldr r0, =gText_ConfirmTossItems - b _0816C2BA - .pool -_0816C2AC: - ldr r0, =gText_MoveVar1Where - b _0816C2BA - .pool -_0816C2B4: - adds r0, r1, 0 - bl ItemId_GetDescription -_0816C2BA: - pop {r1} - bx r1 - thumb_func_end sub_816C228 - - thumb_func_start sub_816C2C0 -sub_816C2C0: @ 816C2C0 - push {r4-r6,lr} - sub sp, 0xC - adds r6, r0, 0 - ldr r0, =gUnknown_0203BCC4 - ldr r0, [r0] - ldr r1, =0x00000661 - adds r0, r1 - ldrb r5, [r0] - adds r0, r5, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r4, =gStringVar4 - adds r0, r4, 0 - adds r1, r6, 0 - bl StringExpandPlaceholders - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r0, r5, 0 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0 - bl PrintTextOnWindow - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816C2C0 - - thumb_func_start sub_816C30C -sub_816C30C: @ 816C30C - 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 r4, r0, r1 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0816C35C - ldrb r0, [r4, 0xA] - ldr r1, =gUnknown_0203BCBA - subs r4, r1, 0x2 - adds r2, r4, 0 - bl sub_81AE860 - ldrh r1, [r4, 0x2] - ldrh r0, [r4] - adds r1, r0 - ldrb r0, [r4, 0x5] - subs r0, 0x1 - cmp r1, r0 - beq _0816C39E - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_816C450 - b _0816C39E - .pool -_0816C35C: - ldrb r0, [r4, 0xA] - bl ListMenuHandleInputGetItemId - adds r6, r0, 0 - ldrb r0, [r4, 0xA] - ldr r1, =gUnknown_0203BCBA - subs r2, r1, 0x2 - bl sub_81AE860 - movs r0, 0x2 - negs r0, r0 - cmp r6, r0 - beq _0816C384 - adds r0, 0x1 - cmp r6, r0 - bne _0816C392 - b _0816C39E - .pool -_0816C384: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_816C400 - b _0816C39E -_0816C392: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_816C71C -_0816C39E: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_816C30C - - thumb_func_start bx_battle_menu_t3 -bx_battle_menu_t3: @ 816C3A4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0816C3F2 - movs r0, 0 - movs r1, 0 - bl NewMenuHelpers_DrawDialogueFrame - movs r1, 0x6 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0816C3DC - adds r0, r4, 0 - movs r1, 0 - bl sub_816B190 - b _0816C3E4 - .pool -_0816C3DC: - adds r0, r4, 0 - movs r1, 0x2 - bl sub_816B190 -_0816C3E4: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_816B248 - str r0, [r1] -_0816C3F2: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end bx_battle_menu_t3 - - thumb_func_start sub_816C400 -sub_816C400: @ 816C400 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r6, =gTasks + 0x8 - adds r5, r4, r6 - bl sub_816C0C8 - bl sub_816BF9C - ldrb r0, [r5, 0xA] - movs r1, 0 - movs r2, 0 - bl sub_81AE6C8 - ldr r0, =gUnknown_0203BCC4 - ldr r0, [r0] - movs r1, 0xCD - lsls r1, 3 - adds r0, r1 - movs r1, 0x7 - bl sub_81223B0 - bl sub_816BC58 - subs r6, 0x8 - adds r4, r6 - ldr r0, =bx_battle_menu_t3 - str r0, [r4] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816C400 - - thumb_func_start sub_816C450 -sub_816C450: @ 816C450 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - mov r8, r0 - adds r1, r4, 0 - add r1, r8 - mov r9, r1 - ldrb r0, [r1, 0xA] - movs r1, 0x10 - movs r2, 0x1 - bl sub_81AF15C - ldr r6, =gUnknown_0203BCC4 - ldr r2, [r6] - ldr r1, =gUnknown_0203BCB8 - ldrb r0, [r1] - ldrb r1, [r1, 0x2] - adds r0, r1 - ldr r5, =0x00000666 - adds r2, r5 - strb r0, [r2] - mov r1, r9 - ldrb r0, [r1, 0xA] - movs r1, 0 - movs r2, 0 - bl sub_816BFB8 - ldr r0, [r6] - adds r0, r5 - ldrb r0, [r0] - bl sub_816C690 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, [r6] - adds r0, r5 - ldrb r0, [r0] - lsls r0, 2 - adds r1, r0 - movs r0, 0x93 - lsls r0, 3 - adds r1, r0 - ldrh r0, [r1] - ldr r1, =gStringVar1 - bl CopyItemName - ldr r0, =0x0000fff7 - bl sub_816C228 - bl sub_816C2C0 - movs r1, 0x8 - negs r1, r1 - add r8, r1 - add r4, r8 - ldr r0, =sub_816C4FC - str r0, [r4] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816C450 - - thumb_func_start sub_816C4FC -sub_816C4FC: @ 816C4FC - 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 r7, =gMain - ldrh r1, [r7, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0816C530 - ldrb r0, [r4, 0xA] - ldr r1, =gUnknown_0203BCBA - subs r2, r1, 0x2 - bl sub_81AE860 - b _0816C57E - .pool -_0816C530: - ldrb r0, [r4, 0xA] - bl ListMenuHandleInputGetItemId - adds r6, r0, 0 - ldrb r0, [r4, 0xA] - ldr r1, =gUnknown_0203BCBA - subs r4, r1, 0x2 - adds r2, r4, 0 - bl sub_81AE860 - ldr r0, =gUnknown_0203BCC4 - ldr r0, [r0] - movs r1, 0xCD - lsls r1, 3 - adds r0, r1 - movs r1, 0x7 - movs r2, 0 - bl sub_81223FC - ldrb r0, [r4] - bl sub_816C690 - movs r0, 0x2 - negs r0, r0 - cmp r6, r0 - beq _0816C574 - adds r0, 0x1 - cmp r6, r0 - bne _0816C592 - b _0816C59A - .pool -_0816C574: - ldrh r1, [r7, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0816C588 -_0816C57E: - adds r0, r5, 0 - movs r1, 0 - bl sub_816C5A0 - b _0816C59A -_0816C588: - adds r0, r5, 0 - movs r1, 0x1 - bl sub_816C5A0 - b _0816C59A -_0816C592: - adds r0, r5, 0 - movs r1, 0 - bl sub_816C5A0 -_0816C59A: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_816C4FC - - thumb_func_start sub_816C5A0 -sub_816C5A0: @ 816C5A0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r1, 0 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r0, r1 - mov r8, r0 - ldr r4, =gUnknown_0203BCB8 - ldrh r0, [r4] - ldrh r1, [r4, 0x2] - adds r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - movs r0, 0x5 - bl PlaySE - mov r2, r8 - ldrb r0, [r2, 0xA] - adds r1, r4, 0x2 - adds r2, r4, 0 - bl sub_81AE6C8 - cmp r5, 0 - bne _0816C60A - ldr r1, =gUnknown_0203BCC4 - ldr r0, [r1] - ldr r2, =0x00000666 - adds r0, r2 - ldrb r2, [r0] - adds r4, r1, 0 - cmp r2, r6 - beq _0816C622 - subs r0, r6, 0x1 - cmp r2, r0 - beq _0816C60A - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x93 - lsls r1, 3 - adds r0, r1 - adds r1, r2, 0 - adds r2, r6, 0 - bl sub_80D702C - bl sub_816BD04 -_0816C60A: - ldr r0, =gUnknown_0203BCC4 - ldr r1, [r0] - ldr r2, =0x00000666 - adds r1, r2 - ldrb r1, [r1] - adds r4, r0, 0 - cmp r1, r6 - bcs _0816C622 - ldr r1, =gUnknown_0203BCB8 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] -_0816C622: - ldr r0, [r4] - movs r1, 0xCD - lsls r1, 3 - adds r0, r1 - movs r1, 0x7 - movs r2, 0x1 - bl sub_81223FC - ldr r0, [r4] - ldr r2, =0x00000666 - adds r0, r2 - movs r1, 0xFF - strb r1, [r0] - ldr r0, =gMultiuseListMenuTemplate - ldr r2, =gUnknown_0203BCB8 - ldrh r1, [r2, 0x2] - ldrh r2, [r2] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - strh r0, [r1, 0xA] - 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_816C30C - str r1, [r0] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816C5A0 - - thumb_func_start sub_816C690 -sub_816C690: @ 816C690 - push {lr} - adds r3, r0, 0 - lsls r3, 24 - ldr r0, =gUnknown_0203BCC4 - ldr r0, [r0] - movs r1, 0xCD - lsls r1, 3 - adds r0, r1 - lsrs r3, 4 - movs r1, 0x80 - lsls r1, 13 - adds r3, r1 - lsrs r3, 16 - movs r1, 0x7 - movs r2, 0x80 - bl sub_8122448 - pop {r0} - bx r0 - .pool - thumb_func_end sub_816C690 - - thumb_func_start sub_816C6BC -sub_816C6BC: @ 816C6BC - push {r4-r6,lr} - sub sp, 0xC - adds r6, r0, 0 - ldr r5, [sp, 0x1C] - ldr r3, [sp, 0x20] - lsls r6, 24 - lsrs r6, 24 - lsls r1, 16 - lsrs r1, 16 - lsls r5, 24 - lsrs r5, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r0, =gStringVar1 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar4 - ldr r1, =gText_xVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x30 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - str r5, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x1 - adds r2, r4, 0 - bl PrintTextOnWindow - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816C6BC - - thumb_func_start sub_816C71C -sub_816C71C: @ 816C71C - push {r4-r6,lr} - sub sp, 0x8 - 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 - ldr r1, =gUnknown_0203BCB8 - ldrh r0, [r1, 0x2] - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - bl sub_816BF9C - movs r0, 0x1 - strh r0, [r6, 0x4] - movs r1, 0x6 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0816C798 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - lsls r0, r4, 2 - adds r1, r0 - ldr r2, =0x0000049a - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, 0x1 - bne _0816C774 - adds r0, r5, 0 - bl sub_816C8FC - b _0816C7FE - .pool -_0816C774: - movs r2, 0x93 - lsls r2, 3 - adds r0, r1, r2 - ldrh r0, [r0] - ldr r1, =gStringVar1 - bl CopyItemName - ldr r0, =0x0000fffe - bl sub_816C228 - bl sub_816C2C0 - b _0816C7D4 - .pool -_0816C798: - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - lsls r0, r4, 2 - adds r1, r0 - ldr r2, =0x0000049a - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, 0x1 - bne _0816C7BC - adds r0, r5, 0 - bl sub_816C9B8 - b _0816C7FE - .pool -_0816C7BC: - movs r2, 0x93 - lsls r2, 3 - adds r0, r1, r2 - ldrh r0, [r0] - ldr r1, =gStringVar1 - bl CopyItemName - ldr r0, =0x0000fffc - bl sub_816C228 - bl sub_816C2C0 -_0816C7D4: - movs r0, 0x4 - bl sub_816BC7C - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x4] - movs r2, 0x1 - str r2, [sp] - movs r2, 0x3 - str r2, [sp, 0x4] - movs r2, 0x2 - movs r3, 0x8 - bl sub_816C6BC - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_816C818 - str r1, [r0] -_0816C7FE: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816C71C - - thumb_func_start sub_816C818 -sub_816C818: @ 816C818 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r5, r0, 24 - mov r9, r5 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - ldr r0, =gUnknown_0203BCB8 - ldrh r2, [r0, 0x2] - ldrh r0, [r0] - adds r2, r0 - lsls r2, 16 - adds r0, r6, 0x4 - ldr r1, =gSaveBlock1Ptr - mov r8, r1 - ldr r1, [r1] - lsrs r7, r2, 14 - adds r1, r7 - ldr r2, =0x0000049a - adds r1, r2 - ldrh r1, [r1] - bl AdjustQuantityAccordingToDPadInput - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bne _0816C888 - movs r0, 0x4 - bl sub_816BC7C - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x4] - str r4, [sp] - movs r2, 0x3 - str r2, [sp, 0x4] - movs r2, 0x2 - movs r3, 0x8 - bl sub_816C6BC - b _0816C8EC - .pool -_0816C888: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0816C8BC - movs r0, 0x5 - bl PlaySE - movs r0, 0x4 - bl sub_816BCC4 - movs r3, 0x6 - ldrsh r0, [r6, r3] - cmp r0, 0 - bne _0816C8B4 - adds r0, r5, 0 - bl sub_816C8FC - b _0816C8EC - .pool -_0816C8B4: - adds r0, r5, 0 - bl sub_816C9B8 - b _0816C8EC -_0816C8BC: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0816C8EC - movs r0, 0x5 - bl PlaySE - movs r0, 0x4 - bl sub_816BCC4 - mov r1, r8 - ldr r0, [r1] - adds r0, r7 - movs r2, 0x93 - lsls r2, 3 - adds r0, r2 - ldrh r0, [r0] - bl sub_816C228 - bl sub_816C2C0 - mov r0, r9 - bl sub_816CBC0 -_0816C8EC: - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_816C818 - - thumb_func_start sub_816C8FC -sub_816C8FC: @ 816C8FC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r6, r1, 3 - ldr r0, =gTasks + 0x8 - mov r8, r0 - adds r4, r6, r0 - ldr r0, =gUnknown_0203BCB8 - ldrh r1, [r0, 0x2] - ldrh r0, [r0] - adds r1, r0 - lsls r1, 16 - ldr r7, =gSaveBlock1Ptr - ldr r0, [r7] - lsrs r5, r1, 14 - adds r0, r5 - movs r1, 0x93 - lsls r1, 3 - adds r0, r1 - ldrh r0, [r0] - ldrh r1, [r4, 0x4] - bl AddBagItem - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0816C98C - ldr r0, [r7] - adds r0, r5 - movs r2, 0x93 - lsls r2, 3 - adds r0, r2 - ldrh r0, [r0] - ldr r1, =gStringVar1 - bl CopyItemName - ldr r0, =gStringVar2 - movs r2, 0x4 - ldrsh r1, [r4, r2] - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, =0x0000fffd - bl sub_816C228 - bl sub_816C2C0 - mov r0, r8 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, =sub_816CB04 - b _0816C9A2 - .pool -_0816C98C: - movs r0, 0 - strh r0, [r4, 0x4] - ldr r0, =0x0000fffa - bl sub_816C228 - bl sub_816C2C0 - mov r0, r8 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, =sub_816CB74 -_0816C9A2: - str r1, [r0] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816C8FC - - thumb_func_start sub_816C9B8 -sub_816C9B8: @ 816C9B8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - mov r8, r0 - ldr r0, =gTasks + 0x8 - mov r9, r0 - mov r7, r8 - add r7, r9 - ldr r0, =gUnknown_0203BCB8 - ldrh r1, [r0, 0x2] - ldrh r0, [r0] - adds r1, r0 - lsls r1, 16 - ldr r6, =gSaveBlock1Ptr - ldr r0, [r6] - lsrs r4, r1, 14 - adds r0, r4 - movs r1, 0x93 - lsls r1, 3 - adds r0, r1 - ldrh r0, [r0] - bl itemid_is_unique - lsls r0, 24 - cmp r0, 0 - bne _0816CA64 - ldr r0, [r6] - adds r0, r4 - movs r2, 0x93 - lsls r2, 3 - adds r0, r2 - ldrh r0, [r0] - ldr r1, =gStringVar1 - bl CopyItemName - ldr r0, =gStringVar2 - movs r2, 0x4 - ldrsh r1, [r7, r2] - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, =0x0000fff8 - bl sub_816C228 - bl sub_816C2C0 - ldr r1, =gUnknown_085DFF84 - movs r0, 0x1 - str r0, [sp] - movs r0, 0x85 - lsls r0, 2 - str r0, [sp, 0x4] - movs r0, 0xE - str r0, [sp, 0x8] - ldr r0, =gUnknown_085DFF3C - str r0, [sp, 0xC] - adds r0, r5, 0 - movs r2, 0x1 - movs r3, 0 - bl CreateYesNoMenuWithCallbacks - b _0816CA7C - .pool -_0816CA64: - movs r0, 0 - strh r0, [r7, 0x4] - ldr r0, =0x0000fff9 - bl sub_816C228 - bl sub_816C2C0 - mov r0, r9 - subs r0, 0x8 - add r0, r8 - ldr r1, =sub_816CB74 - str r1, [r0] -_0816CA7C: - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816C9B8 - - thumb_func_start sub_816CA94 -sub_816CA94: @ 816CA94 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =0x0000fffb - bl sub_816C228 - bl sub_816C2C0 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_816CB04 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816CA94 - - thumb_func_start sub_816CAC8 -sub_816CAC8: @ 816CAC8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r1, =gUnknown_0203BCB8 - ldrh r0, [r1, 0x2] - ldrh r1, [r1] - adds r0, r1 - lsls r0, 2 - adds r2, r0 - movs r0, 0x93 - lsls r0, 3 - adds r2, r0 - ldrh r0, [r2] - bl sub_816C228 - bl sub_816C2C0 - adds r0, r4, 0 - bl sub_816CBC0 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816CAC8 - - thumb_func_start sub_816CB04 -sub_816CB04: @ 816CB04 - push {r4-r6,lr} - 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 r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _0816CB5E - ldr r4, =gUnknown_0203BCB8 - ldrb r0, [r4, 0x2] - ldrb r1, [r4] - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x4] - bl sub_80D6E48 - ldrb r0, [r5, 0xA] - adds r1, r4, 0x2 - adds r2, r4, 0 - bl sub_81AE6C8 - bl sub_816C110 - bl sub_816C140 - bl sub_816BD04 - ldr r0, =gMultiuseListMenuTemplate - ldrh r1, [r4, 0x2] - ldrh r2, [r4] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xA] - adds r0, r6, 0 - bl sub_816CBC0 -_0816CB5E: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816CB04 - - thumb_func_start sub_816CB74 -sub_816CB74: @ 816CB74 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _0816CBAC - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r1, =gUnknown_0203BCB8 - ldrh r0, [r1, 0x2] - ldrh r1, [r1] - adds r0, r1 - lsls r0, 2 - adds r2, r0 - movs r0, 0x93 - lsls r0, 3 - adds r2, r0 - ldrh r0, [r2] - bl sub_816C228 - bl sub_816C2C0 - adds r0, r4, 0 - bl sub_816CBC0 -_0816CBAC: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816CB74 - - thumb_func_start sub_816CBC0 -sub_816CBC0: @ 816CBC0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_816BF60 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_816C30C - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816CBC0 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index 14dc569fe..3b41afb55 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -3469,7 +3469,7 @@ sub_81C5B4C: @ 81C5B4C ldr r4, =gUnknown_0203CF38 subs r2, r4, 0x2 adds r1, r4, 0 - bl sub_81AE6C8 + bl DestroyListMenuTask ldr r0, =gUnknown_0203CF2C ldr r0, [r0] ldr r0, [r0] @@ -3545,7 +3545,7 @@ _081C5C12: adds r1, r4, 0 adds r1, 0x8 adds r2, r4, 0x6 - bl sub_81AE860 + bl ListMenuGetScrollAndRow ldrh r1, [r4, 0x8] ldrh r0, [r4, 0x6] adds r1, r0 @@ -3572,7 +3572,7 @@ _081C5C5C: mov r8, r1 mov r2, r8 subs r2, 0x2 - bl sub_81AE860 + bl ListMenuGetScrollAndRow movs r0, 0x2 negs r0, r0 cmp r6, r0 @@ -4642,7 +4642,7 @@ sub_81C65CC: @ 81C65CC ldrb r0, [r4] adds r1, r6, 0 adds r2, r7, 0 - bl sub_81AE6C8 + bl DestroyListMenuTask bl sub_81C5924 bl sub_81C59BC bl sub_81C5314 @@ -4953,7 +4953,7 @@ sub_81C68B0: @ 81C68B0 ldrb r0, [r4] ldr r1, =gUnknown_0203CF38 subs r2, r1, 0x2 - bl sub_81AE860 + bl ListMenuGetScrollAndRow b _081C6940 .pool _081C68F8: @@ -4964,7 +4964,7 @@ _081C68F8: ldr r4, =gUnknown_0203CF38 subs r2, r4, 0x2 adds r1, r4, 0 - bl sub_81AE860 + bl ListMenuGetScrollAndRow movs r0, 0 bl sub_81C7028 subs r4, 0x8 @@ -5054,7 +5054,7 @@ _081C69A8: ldrb r0, [r5] adds r1, r7, 0 mov r2, r8 - bl sub_81AE6C8 + bl DestroyListMenuTask movs r3, 0x2 ldrsh r0, [r5, r3] cmp r0, r4 @@ -5109,7 +5109,7 @@ sub_81C6A14: @ 81C6A14 ldrb r0, [r4] adds r1, r5, 0 adds r2, r7, 0 - bl sub_81AE6C8 + bl DestroyListMenuTask movs r0, 0x2 ldrsh r2, [r4, r0] ldrh r0, [r5] diff --git a/asm/pokenav.s b/asm/pokenav.s index 56bf3d41f..47f350b29 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -7611,7 +7611,7 @@ _081CAD4C: ldrh r5, [r4, 0x8] _081CAD50: adds r0, r5, 0 - bl sub_81D15F4 + bl MatchCallFlagGetByIndex cmp r0, 0 beq _081CAD80 ldrh r0, [r4, 0xA] @@ -7834,7 +7834,7 @@ sub_81CAEBC: @ 81CAEBC b _081CAEDC _081CAED4: ldrh r0, [r1, 0x1E] - bl sub_81D1854 + bl MatchCall_GetRematchTableIdx adds r4, r0, 0 _081CAEDC: cmp r4, 0x4E @@ -7870,7 +7870,7 @@ sub_81CAF04: @ 81CAF04 cmp r0, 0 bne _081CAF34 ldrh r0, [r1, 0x1E] - bl sub_81D15BC + bl GetTrainerIdxByRematchIdx adds r4, r0, 0 ldr r1, =gTrainers lsls r0, r4, 2 @@ -7883,7 +7883,7 @@ sub_81CAF04: @ 81CAF04 _081CAF34: ldrh r5, [r1, 0x1E] adds r0, r5, 0 - bl sub_81D1854 + bl MatchCall_GetRematchTableIdx adds r4, r0, 0 cmp r4, 0x4E bne _081CAF58 @@ -7897,7 +7897,7 @@ _081CAF34: .pool _081CAF58: adds r0, r4, 0 - bl sub_81D15BC + bl GetTrainerIdxByRematchIdx adds r4, r0, 0 ldr r0, =gTrainers lsls r1, r4, 2 @@ -7938,7 +7938,7 @@ _081CAFA4: cmp r0, 0 bne _081CAFC4 ldrh r0, [r1, 0x1E] - bl sub_81D15BC + bl GetTrainerIdxByRematchIdx ldr r1, =gStringVar4 bl sub_81967AC strb r0, [r6] @@ -7947,7 +7947,7 @@ _081CAFA4: _081CAFC4: ldrh r0, [r1, 0x1E] ldr r1, =gStringVar4 - bl sub_81D189C + bl MatchCall_GetMessage _081CAFCC: ldr r0, =gStringVar4 _081CAFCE: @@ -7970,7 +7970,7 @@ sub_81CAFD8: @ 81CAFD8 cmp r0, 0 beq _081CB004 ldrh r0, [r4, 0x1E] - bl sub_81D1854 + bl MatchCall_GetRematchTableIdx adds r1, r0, 0 cmp r1, 0x4E bne _081CB006 @@ -8036,7 +8036,7 @@ sub_81CB050: @ 81CB050 cmp r0, 0 bne _081CB088 ldrh r0, [r2, 0x2] - bl sub_81D15BC + bl GetTrainerIdxByRematchIdx lsls r1, r0, 2 adds r1, r0 lsls r1, 3 @@ -8207,11 +8207,11 @@ _081CB18A: movs r4, 0 _081CB192: adds r0, r4, 0 - bl sub_81D15F4 + bl MatchCallFlagGetByIndex cmp r0, 0 beq _081CB1C0 adds r0, r4, 0 - bl sub_81D1854 + bl MatchCall_GetRematchTableIdx ldr r1, =gSaveBlock1Ptr ldr r1, [r1] ldr r2, =0x000009ca @@ -20697,1034 +20697,7 @@ _081D156A: .pool thumb_func_end sub_81D1538 - thumb_func_start sub_81D1574 -sub_81D1574: @ 81D1574 - push {lr} - ldrb r0, [r0] - cmp r0, 0x5 - bhi _081D15A4 - lsls r0, 2 - ldr r1, =_081D158C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081D158C: - .4byte _081D15A4 - .4byte _081D15A8 - .4byte _081D15AC - .4byte _081D15B4 - .4byte _081D15B0 - .4byte _081D15A8 -_081D15A4: - movs r0, 0 - b _081D15B6 -_081D15A8: - movs r0, 0x1 - b _081D15B6 -_081D15AC: - movs r0, 0x2 - b _081D15B6 -_081D15B0: - movs r0, 0x3 - b _081D15B6 -_081D15B4: - movs r0, 0x4 -_081D15B6: - pop {r1} - bx r1 - thumb_func_end sub_81D1574 - - thumb_func_start sub_81D15BC -sub_81D15BC: @ 81D15BC - ldr r1, =gRematchTable - lsls r0, 4 - adds r0, r1 - ldrh r0, [r0] - bx lr - .pool - thumb_func_end sub_81D15BC - - thumb_func_start sub_81D15CC -sub_81D15CC: @ 81D15CC - push {lr} - adds r3, r0, 0 - movs r1, 0 - ldr r2, =gRematchTable -_081D15D4: - ldrh r0, [r2] - cmp r0, r3 - bne _081D15E4 - adds r0, r1, 0 - b _081D15F0 - .pool -_081D15E4: - adds r2, 0x10 - adds r1, 0x1 - cmp r1, 0x4D - ble _081D15D4 - movs r0, 0x1 - negs r0, r0 -_081D15F0: - pop {r1} - bx r1 - thumb_func_end sub_81D15CC - - thumb_func_start sub_81D15F4 -sub_81D15F4: @ 81D15F4 - push {r4,lr} - cmp r0, 0x14 - bhi _081D1620 - ldr r1, =gUnknown_086252A8 - lsls r0, 2 - adds r0, r1 - ldr r4, [r0] - adds r0, r4, 0 - bl sub_81D1574 - ldr r1, =gUnknown_086252FC - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - b _081D1622 - .pool -_081D1620: - movs r0, 0 -_081D1622: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81D15F4 - - thumb_func_start sub_81D1628 -sub_81D1628: @ 81D1628 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x2] - ldr r0, =0x0000ffff - cmp r1, r0 - beq _081D1644 - adds r0, r1, 0 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - b _081D1646 - .pool -_081D1644: - movs r0, 0x1 -_081D1646: - pop {r1} - bx r1 - thumb_func_end sub_81D1628 - - thumb_func_start sub_81D164C -sub_81D164C: @ 81D164C - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x2] - ldr r0, =0x0000ffff - cmp r1, r0 - beq _081D1668 - adds r0, r1, 0 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - b _081D166A - .pool -_081D1668: - movs r0, 0x1 -_081D166A: - pop {r1} - bx r1 - thumb_func_end sub_81D164C - - thumb_func_start sub_81D1670 -sub_81D1670: @ 81D1670 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x2] - ldr r0, =0x0000ffff - cmp r1, r0 - beq _081D168C - adds r0, r1, 0 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - b _081D168E - .pool -_081D168C: - movs r0, 0x1 -_081D168E: - pop {r1} - bx r1 - thumb_func_end sub_81D1670 - - thumb_func_start sub_81D1694 -sub_81D1694: @ 81D1694 - push {lr} - adds r2, r0, 0 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldrb r0, [r2, 0x1] - ldrb r1, [r1, 0x8] - cmp r0, r1 - beq _081D16AC - movs r0, 0 - b _081D16C6 - .pool -_081D16AC: - ldrh r1, [r2, 0x2] - ldr r0, =0x0000ffff - cmp r1, r0 - beq _081D16C4 - adds r0, r1, 0 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - b _081D16C6 - .pool -_081D16C4: - movs r0, 0x1 -_081D16C6: - pop {r1} - bx r1 - thumb_func_end sub_81D1694 - - thumb_func_start sub_81D16CC -sub_81D16CC: @ 81D16CC - push {lr} - ldrh r0, [r0, 0x2] - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_81D16CC - - thumb_func_start sub_81D16DC -sub_81D16DC: @ 81D16DC - push {r4,lr} - cmp r0, 0x14 - bhi _081D170C - ldr r1, =gUnknown_086252A8 - lsls r0, 2 - adds r0, r1 - ldr r4, [r0] - adds r0, r4, 0 - bl sub_81D1574 - ldr r1, =gUnknown_08625310 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - lsrs r0, 24 - b _081D170E - .pool -_081D170C: - movs r0, 0 -_081D170E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81D16DC - - thumb_func_start sub_81D1714 -sub_81D1714: @ 81D1714 - ldrb r0, [r0, 0x1] - bx lr - thumb_func_end sub_81D1714 - - thumb_func_start sub_81D1718 -sub_81D1718: @ 81D1718 - ldrb r0, [r0, 0x1] - bx lr - thumb_func_end sub_81D1718 - - thumb_func_start sub_81D171C -sub_81D171C: @ 81D171C - push {r4-r7,lr} - adds r5, r0, 0 - movs r6, 0 - ldr r7, =0x0000ffff - b _081D172E - .pool -_081D172C: - adds r6, 0x1 -_081D172E: - ldr r0, [r5, 0x10] - lsls r4, r6, 2 - adds r1, r4, r0 - ldrh r0, [r1] - cmp r0, r7 - beq _081D1744 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _081D172C -_081D1744: - ldr r0, [r5, 0x10] - adds r0, r4, r0 - ldrb r0, [r0, 0x2] - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81D171C - - thumb_func_start sub_81D1750 -sub_81D1750: @ 81D1750 - movs r0, 0xD5 - bx lr - thumb_func_end sub_81D1750 - - thumb_func_start sub_81D1754 -sub_81D1754: @ 81D1754 - movs r0, 0xD5 - bx lr - thumb_func_end sub_81D1754 - - thumb_func_start sub_81D1758 -sub_81D1758: @ 81D1758 - push {r4,lr} - cmp r0, 0x14 - bhi _081D1784 - ldr r1, =gUnknown_086252A8 - lsls r0, 2 - adds r0, r1 - ldr r4, [r0] - adds r0, r4, 0 - bl sub_81D1574 - ldr r1, =gUnknown_08625324 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - b _081D1786 - .pool -_081D1784: - movs r0, 0 -_081D1786: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81D1758 - - thumb_func_start sub_81D178C -sub_81D178C: @ 81D178C - movs r0, 0 - bx lr - thumb_func_end sub_81D178C - - thumb_func_start sub_81D1790 -sub_81D1790: @ 81D1790 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x4] - cmp r0, 0x48 - bhi _081D17B8 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x000009ca - adds r0, r2 - ldrh r1, [r1, 0x4] - adds r0, r1 - ldrb r1, [r0] - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - b _081D17BA - .pool -_081D17B8: - movs r0, 0 -_081D17BA: - pop {r1} - bx r1 - thumb_func_end sub_81D1790 - - thumb_func_start sub_81D17C0 -sub_81D17C0: @ 81D17C0 - ldr r1, =gSaveBlock1Ptr - ldr r1, [r1] - ldr r2, =0x000009ca - adds r1, r2 - ldrh r0, [r0, 0x4] - adds r1, r0 - ldrb r1, [r1] - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - bx lr - .pool - thumb_func_end sub_81D17C0 - - thumb_func_start sub_81D17E0 -sub_81D17E0: @ 81D17E0 - movs r0, 0 - bx lr - thumb_func_end sub_81D17E0 - - thumb_func_start sub_81D17E4 -sub_81D17E4: @ 81D17E4 - movs r0, 0 - bx lr - thumb_func_end sub_81D17E4 - - thumb_func_start sub_81D17E8 -sub_81D17E8: @ 81D17E8 - push {r4,r5,lr} - adds r5, r0, 0 - cmp r5, 0x14 - bhi _081D1832 - ldr r1, =gUnknown_086252A8 - lsls r0, r5, 2 - adds r0, r1 - ldr r4, [r0] - adds r0, r4, 0 - bl sub_81D1574 - adds r2, r0, 0 - ldr r1, =gUnknown_08625338 - lsls r0, r2, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - cmp r0, 0 - beq _081D1820 -_081D1812: - movs r0, 0x1 - b _081D1834 - .pool -_081D1820: - movs r2, 0 - ldr r1, =gUnknown_08625388 -_081D1824: - ldrh r0, [r1] - cmp r0, r5 - beq _081D1812 - adds r1, 0x18 - adds r2, 0x1 - cmp r2, 0x3 - bls _081D1824 -_081D1832: - movs r0, 0 -_081D1834: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D17E8 - - thumb_func_start sub_81D1840 -sub_81D1840: @ 81D1840 - movs r0, 0 - bx lr - thumb_func_end sub_81D1840 - - thumb_func_start sub_81D1844 -sub_81D1844: @ 81D1844 - movs r0, 0x1 - bx lr - thumb_func_end sub_81D1844 - - thumb_func_start sub_81D1848 -sub_81D1848: @ 81D1848 - movs r0, 0x1 - bx lr - thumb_func_end sub_81D1848 - - thumb_func_start sub_81D184C -sub_81D184C: @ 81D184C - movs r0, 0 - bx lr - thumb_func_end sub_81D184C - - thumb_func_start sub_81D1850 -sub_81D1850: @ 81D1850 - movs r0, 0 - bx lr - thumb_func_end sub_81D1850 - - thumb_func_start sub_81D1854 -sub_81D1854: @ 81D1854 - push {r4,lr} - cmp r0, 0x14 - bhi _081D1880 - ldr r1, =gUnknown_086252A8 - lsls r0, 2 - adds r0, r1 - ldr r4, [r0] - adds r0, r4, 0 - bl sub_81D1574 - ldr r1, =gUnknown_0862534C - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - b _081D1882 - .pool -_081D1880: - movs r0, 0x4E -_081D1882: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81D1854 - - thumb_func_start sub_81D1888 -sub_81D1888: @ 81D1888 - movs r0, 0x4E - bx lr - thumb_func_end sub_81D1888 - - thumb_func_start sub_81D188C -sub_81D188C: @ 81D188C - ldrh r0, [r0, 0x4] - bx lr - thumb_func_end sub_81D188C - - thumb_func_start sub_81D1890 -sub_81D1890: @ 81D1890 - ldrh r0, [r0, 0x4] - bx lr - thumb_func_end sub_81D1890 - - thumb_func_start sub_81D1894 -sub_81D1894: @ 81D1894 - movs r0, 0x4E - bx lr - thumb_func_end sub_81D1894 - - thumb_func_start sub_81D1898 -sub_81D1898: @ 81D1898 - movs r0, 0x4E - bx lr - thumb_func_end sub_81D1898 - - thumb_func_start sub_81D189C -sub_81D189C: @ 81D189C - push {r4,r5,lr} - adds r5, r1, 0 - cmp r0, 0x14 - bhi _081D18C2 - ldr r1, =gUnknown_086252A8 - lsls r0, 2 - adds r0, r1 - ldr r4, [r0] - adds r0, r4, 0 - bl sub_81D1574 - ldr r1, =gUnknown_08625360 - lsls r0, 2 - adds r0, r1 - ldr r2, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - bl _call_via_r2 -_081D18C2: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D189C - - thumb_func_start sub_81D18D0 -sub_81D18D0: @ 81D18D0 - push {lr} - ldr r0, [r0, 0xC] - bl sub_81D1920 - pop {r0} - bx r0 - thumb_func_end sub_81D18D0 - - thumb_func_start sub_81D18DC -sub_81D18DC: @ 81D18DC - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - ldrb r0, [r3] - cmp r0, 0x5 - beq _081D18F0 - ldr r0, [r3, 0x10] - bl sub_81D1920 - b _081D18F8 -_081D18F0: - ldr r0, [r3, 0x10] - ldrh r1, [r3, 0x4] - bl sub_81D199C -_081D18F8: - pop {r0} - bx r0 - thumb_func_end sub_81D18DC - - thumb_func_start sub_81D18FC -sub_81D18FC: @ 81D18FC - push {lr} - ldr r0, [r0, 0xC] - bl sub_81D1920 - pop {r0} - bx r0 - thumb_func_end sub_81D18FC - - thumb_func_start sub_81D1908 -sub_81D1908: @ 81D1908 - push {lr} - ldr r0, [r0, 0xC] - bl sub_81D1920 - pop {r0} - bx r0 - thumb_func_end sub_81D1908 - - thumb_func_start sub_81D1914 -sub_81D1914: @ 81D1914 - push {lr} - adds r0, r1, 0 - bl sub_8197080 - pop {r0} - bx r0 - thumb_func_end sub_81D1914 - - thumb_func_start sub_81D1920 -sub_81D1920: @ 81D1920 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - mov r9, r1 - movs r5, 0 - ldr r0, [r6] - cmp r0, 0 - beq _081D1940 - adds r1, r6, 0 -_081D1936: - adds r1, 0x8 - adds r5, 0x1 - ldr r0, [r1] - cmp r0, 0 - bne _081D1936 -_081D1940: - cmp r5, 0 - beq _081D1946 - subs r5, 0x1 -_081D1946: - ldr r0, =0x0000ffff - mov r8, r0 - lsls r0, r5, 3 - adds r0, 0x4 - adds r4, r0, r6 - b _081D195C - .pool -_081D1958: - subs r4, 0x8 - subs r5, 0x1 -_081D195C: - lsls r7, r5, 3 - cmp r5, 0 - beq _081D1974 - ldrh r0, [r4] - cmp r0, r8 - beq _081D1958 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081D1958 -_081D1974: - adds r4, r7, r6 - ldrh r1, [r4, 0x6] - ldr r0, =0x0000ffff - cmp r1, r0 - beq _081D1984 - adds r0, r1, 0 - bl FlagSet -_081D1984: - ldr r1, [r4] - mov r0, r9 - bl StringExpandPlaceholders - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D1920 - - thumb_func_start sub_81D199C -sub_81D199C: @ 81D199C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r6, r0, 0 - mov r10, r2 - lsls r1, 16 - lsrs r7, r1, 16 - movs r5, 0 - ldr r0, [r6] - cmp r0, 0 - beq _081D19E6 - ldrh r0, [r6, 0x4] - ldr r1, =0x0000fffe - cmp r0, r1 - beq _081D1A24 - ldr r0, =0x0000ffff - mov r9, r0 - mov r8, r1 - adds r4, r6, 0 -_081D19C6: - ldrh r0, [r4, 0x4] - cmp r0, r9 - beq _081D19D6 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081D19E6 -_081D19D6: - adds r4, 0x8 - adds r5, 0x1 - ldr r0, [r4] - cmp r0, 0 - beq _081D19E6 - ldrh r0, [r4, 0x4] - cmp r0, r8 - bne _081D19C6 -_081D19E6: - lsls r0, r5, 3 - adds r0, r6 - ldrh r1, [r0, 0x4] - ldr r0, =0x0000fffe - cmp r1, r0 - beq _081D1A24 - cmp r5, 0 - beq _081D19F8 - subs r5, 0x1 -_081D19F8: - lsls r0, r5, 3 - adds r4, r0, r6 - ldrh r1, [r4, 0x6] - ldr r0, =0x0000ffff - cmp r1, r0 - beq _081D1A0A - adds r0, r1, 0 - bl FlagSet -_081D1A0A: - ldr r1, [r4] - mov r0, r10 - bl StringExpandPlaceholders - b _081D1A5C - .pool -_081D1A1C: - adds r5, 0x2 - b _081D1A50 -_081D1A20: - adds r5, 0x3 - b _081D1A50 -_081D1A24: - ldr r0, =0x00000864 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081D1A50 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x000009ca - adds r0, r1 - adds r0, r7 - ldrb r0, [r0] - cmp r0, 0 - bne _081D1A1C - adds r0, r7, 0 - bl CountBattledRematchTeams - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _081D1A20 - adds r5, 0x1 -_081D1A50: - lsls r0, r5, 3 - adds r0, r6 - ldr r1, [r0] - mov r0, r10 - bl StringExpandPlaceholders -_081D1A5C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D199C - - thumb_func_start sub_81D1A78 -sub_81D1A78: @ 81D1A78 - push {r4-r6,lr} - adds r5, r1, 0 - adds r6, r2, 0 - cmp r0, 0x14 - bhi _081D1AA2 - ldr r1, =gUnknown_086252A8 - lsls r0, 2 - adds r0, r1 - ldr r4, [r0] - adds r0, r4, 0 - bl sub_81D1574 - ldr r1, =gUnknown_08625374 - lsls r0, 2 - adds r0, r1 - ldr r3, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl _call_via_r3 -_081D1AA2: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D1A78 - - thumb_func_start sub_81D1AB0 -sub_81D1AB0: @ 81D1AB0 - ldr r3, [r0, 0x4] - str r3, [r1] - ldr r0, [r0, 0x8] - str r0, [r2] - bx lr - thumb_func_end sub_81D1AB0 - - thumb_func_start sub_81D1ABC -sub_81D1ABC: @ 81D1ABC - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r0, 0 - ldr r0, [r4, 0xC] - cmp r0, 0 - bne _081D1AD0 - ldrh r0, [r4, 0x4] - bl sub_81D1B0C - b _081D1AD2 -_081D1AD0: - str r0, [r2] -_081D1AD2: - ldr r0, [r4, 0x8] - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81D1ABC - - thumb_func_start sub_81D1ADC -sub_81D1ADC: @ 81D1ADC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrh r0, [r4, 0x4] - bl sub_81D1B0C - ldr r0, [r4, 0x8] - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81D1ADC - - thumb_func_start sub_81D1AF4 -sub_81D1AF4: @ 81D1AF4 - ldr r3, [r0, 0x4] - str r3, [r1] - ldr r0, [r0, 0x8] - str r0, [r2] - bx lr - thumb_func_end sub_81D1AF4 - - thumb_func_start sub_81D1B00 -sub_81D1B00: @ 81D1B00 - ldr r3, [r0, 0x4] - str r3, [r1] - ldr r0, [r0, 0x8] - str r0, [r2] - bx lr - thumb_func_end sub_81D1B00 - - thumb_func_start sub_81D1B0C -sub_81D1B0C: @ 81D1B0C - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - bl sub_81D15BC - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTrainers - adds r1, r0 - ldrb r2, [r1, 0x1] - movs r0, 0xD - muls r0, r2 - ldr r2, =gTrainerClassNames - adds r0, r2 - str r0, [r4] - adds r1, 0x4 - str r1, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D1B0C - - thumb_func_start sub_81D1B40 -sub_81D1B40: @ 81D1B40 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - movs r5, 0 - ldr r2, =gUnknown_08625388 - movs r0, 0x8 - adds r0, r2 - mov r9, r0 -_081D1B54: - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - ldrh r0, [r0] - cmp r0, r6 - bne _081D1BBC - adds r4, r5, 0x1 - lsls r1, 2 - mov r8, r1 - cmp r4, 0x3 - bhi _081D1BA8 - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - adds r0, r2 - ldrh r0, [r0] - cmp r0, r6 - bne _081D1BA8 - ldr r7, =gUnknown_08625388 -_081D1B7C: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - adds r1, r7, 0x4 - adds r0, r1 - ldrh r0, [r0] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081D1BA8 - adds r5, r4, 0 - adds r4, r5, 0x1 - cmp r4, 0x3 - bhi _081D1BA8 - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - adds r0, r7 - ldrh r0, [r0] - cmp r0, r6 - beq _081D1B7C -_081D1BA8: - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 3 - add r0, r8 - add r0, r9 - ldr r0, [r0] - b _081D1BC4 - .pool -_081D1BBC: - adds r5, 0x1 - cmp r5, 0x3 - bls _081D1B54 - movs r0, 0 -_081D1BC4: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81D1B40 - - thumb_func_start sub_81D1BD0 -sub_81D1BD0: @ 81D1BD0 - push {lr} - adds r3, r0, 0 - movs r2, 0 - ldr r1, =gUnknown_08625388 -_081D1BD8: - ldrh r0, [r1] - cmp r0, r3 - bne _081D1BE8 - ldrh r0, [r1, 0x2] - b _081D1BF4 - .pool -_081D1BE8: - adds r1, 0x18 - adds r2, 0x1 - cmp r2, 0x3 - bls _081D1BD8 - movs r0, 0x1 - negs r0, r0 -_081D1BF4: - pop {r1} - bx r1 - thumb_func_end sub_81D1BD0 - - thumb_func_start sub_81D1BF8 -sub_81D1BF8: @ 81D1BF8 - push {r4,r5,lr} - adds r5, r0, 0 - movs r4, 0 -_081D1BFE: - adds r0, r4, 0 - bl sub_81D1854 - cmp r0, 0x4E - beq _081D1C10 - cmp r0, r5 - bne _081D1C10 - movs r0, 0x1 - b _081D1C18 -_081D1C10: - adds r4, 0x1 - cmp r4, 0x14 - ble _081D1BFE - movs r0, 0 -_081D1C18: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D1BF8 - - thumb_func_start sub_81D1C20 -sub_81D1C20: @ 81D1C20 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - bl sub_81D15CC - cmp r0, 0 - blt _081D1C3C - movs r1, 0xAE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bl FlagSet -_081D1C3C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D1C20 + .section .text.after.match.call thumb_func_start sub_81D1C44 sub_81D1C44: @ 81D1C44 @@ -21780,7 +20753,7 @@ sub_81D1C84: @ 81D1C84 ldr r0, [r0, 0x10] str r0, [sp] str r1, [sp, 0x4] - ldr r0, =gUnknown_085DFF04 + ldr r0, =gMailboxMailOptions movs r1, 0x4 bl GetMaxWidthInMenuTable lsls r0, 24 diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s index b069ec58e..4d50a5271 100644 --- a/asm/rom_8011DC0.s +++ b/asm/rom_8011DC0.s @@ -1192,7 +1192,7 @@ sub_8012F64: @ 8012F64 ldrb r0, [r4, 0x12] movs r1, 0 movs r2, 0 - bl sub_81AE6C8 + bl DestroyListMenuTask ldrb r0, [r4, 0x10] bl ClearWindowTilemap ldrb r0, [r4, 0xF] @@ -2394,7 +2394,7 @@ _08013A8C: ldrb r0, [r6, 0xE] movs r1, 0 movs r2, 0 - bl sub_81AE6C8 + bl DestroyListMenuTask ldrb r0, [r6, 0xC] bl ClearWindowTilemap ldrb r0, [r6, 0xB] @@ -4511,7 +4511,7 @@ _08014E16: ldrb r0, [r5, 0x12] movs r1, 0 movs r2, 0 - bl sub_81AE6C8 + bl DestroyListMenuTask movs r0, 0 bl CopyBgTilemapBufferToVram ldrb r0, [r5, 0xF] @@ -4567,7 +4567,7 @@ _08014EA8: ldrb r0, [r5, 0x12] movs r1, 0 movs r2, 0 - bl sub_81AE6C8 + bl DestroyListMenuTask movs r0, 0 bl CopyBgTilemapBufferToVram ldrb r0, [r5, 0xF] @@ -4923,7 +4923,7 @@ _08015204: ldrb r0, [r7, 0xE] movs r1, 0 movs r2, 0 - bl sub_81AE6C8 + bl DestroyListMenuTask movs r0, 0 bl CopyBgTilemapBufferToVram ldrb r0, [r7, 0xD] @@ -5292,7 +5292,7 @@ _08015564: ldrb r0, [r5, 0xE] movs r1, 0 movs r2, 0 - bl sub_81AE6C8 + bl DestroyListMenuTask movs r0, 0 bl CopyBgTilemapBufferToVram ldrb r0, [r5, 0xB] @@ -8545,7 +8545,7 @@ _08017228: ldrb r0, [r4] movs r1, 0 movs r2, 0 - bl sub_81AE6C8 + bl DestroyListMenuTask ldrb r0, [r5] movs r1, 0x1 bl sub_819746C @@ -8565,7 +8565,7 @@ _08017264: ldrb r0, [r6] movs r1, 0 movs r2, 0 - bl sub_81AE6C8 + bl DestroyListMenuTask ldrb r0, [r5] movs r1, 0x1 bl sub_819746C @@ -8669,7 +8669,7 @@ _0801733E: ldrb r0, [r4] movs r1, 0 movs r2, 0 - bl sub_81AE6C8 + bl DestroyListMenuTask ldrb r0, [r6] bl RemoveWindow mov r7, r9 @@ -8691,7 +8691,7 @@ _08017368: ldrb r0, [r1] movs r1, 0 movs r2, 0 - bl sub_81AE6C8 + bl DestroyListMenuTask ldrb r0, [r6] bl RemoveWindow mov r3, r9 diff --git a/asm/script_menu.s b/asm/script_menu.s index 7317317a3..0624dba83 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -836,7 +836,7 @@ _080E24C6: adds r1, r4, 0 adds r2, r7, 0 movs r3, 0x11 - bl sub_819A024 + bl PrintPlayerNameOnWindow adds r0, r6, 0 mov r1, r8 movs r2, 0 diff --git a/asm/shop.s b/asm/shop.s index c42af8ef1..ae60eb364 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -1985,7 +1985,7 @@ _080E0AEA: adds r1, r2, r3 subs r3, 0x2 adds r2, r3 - bl sub_81AE860 + bl ListMenuGetScrollAndRow movs r0, 0x2 negs r0, r0 cmp r5, r0 diff --git a/asm/start_menu.s b/asm/start_menu.s deleted file mode 100644 index 275d2124e..000000000 --- a/asm/start_menu.s +++ /dev/null @@ -1,2101 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start PrintStartMenuActions -PrintStartMenuActions: @ 809F7C0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - mov r8, r0 - adds r6, r1, 0 - ldrb r2, [r0] - ldr r0, =sStartMenuItems - mov r9, r0 - ldr r1, =gStringVar4 - mov r10, r1 -_0809F7DA: - ldr r0, =sCurrentStartMenuActions - lsls r2, 24 - asrs r4, r2, 24 - adds r5, r4, r0 - ldrb r0, [r5] - lsls r3, r0, 3 - mov r0, r9 - adds r0, 0x4 - adds r0, r3, r0 - ldr r1, [r0] - ldr r0, =StartMenu_PlayerName - adds r7, r2, 0 - cmp r1, r0 - bne _0809F828 - bl GetStartMenuWindowId - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r5] - lsls r1, 3 - add r1, r9 - ldr r1, [r1] - lsls r3, r4, 4 - adds r3, 0x9 - lsls r3, 16 - lsrs r3, 16 - movs r2, 0x8 - bl sub_819A024 - b _0809F858 - .pool -_0809F828: - mov r1, r9 - adds r0, r3, r1 - ldr r1, [r0] - mov r0, r10 - bl StringExpandPlaceholders - bl GetStartMenuWindowId - lsls r0, 24 - lsrs r0, 24 - lsls r1, r4, 4 - adds r1, 0x9 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x1 - mov r2, r10 - movs r3, 0x8 - bl PrintTextOnWindow -_0809F858: - movs r0, 0x80 - lsls r0, 17 - adds r1, r7, r0 - lsrs r2, r1, 24 - asrs r1, 24 - ldr r0, =sNumStartMenuActions - ldrb r0, [r0] - cmp r1, r0 - bge _0809F87C - subs r6, 0x1 - cmp r6, 0 - bne _0809F7DA - mov r1, r8 - strb r2, [r1] - movs r0, 0 - b _0809F882 - .pool -_0809F87C: - mov r0, r8 - strb r2, [r0] - movs r0, 0x1 -_0809F882: - 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 PrintStartMenuActions - - thumb_func_start sub_809F894 -sub_809F894: @ 809F894 - push {r4,lr} - sub sp, 0xC - ldr r0, =gUnknown_02037619 - movs r1, 0 - ldrsb r1, [r0, r1] - adds r2, r0, 0 - cmp r1, 0x5 - bhi _0809F98C - lsls r0, r1, 2 - ldr r1, =_0809F8B8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0809F8B8: - .4byte _0809F8D0 - .4byte _0809F8D8 - .4byte _0809F8E4 - .4byte _0809F90C - .4byte _0809F930 - .4byte _0809F94C -_0809F8D0: - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - b _0809F98C -_0809F8D8: - bl BuildStartMenuActions - ldr r1, =gUnknown_02037619 - b _0809F940 - .pool -_0809F8E4: - bl sub_81973A4 - ldr r0, =sNumStartMenuActions - ldrb r0, [r0] - bl sub_81979C4 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - ldr r1, =gUnknown_02037619 - movs r0, 0 - strb r0, [r1, 0x1] - b _0809F940 - .pool -_0809F90C: - bl GetSafariZoneFlag - cmp r0, 0 - beq _0809F918 - bl DisplaySafariBallsWindow -_0809F918: - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - beq _0809F926 - bl DisplayPyramidFloorWindow -_0809F926: - ldr r1, =gUnknown_02037619 - b _0809F940 - .pool -_0809F930: - ldr r4, =gUnknown_02037619+1 - adds r0, r4, 0 - movs r1, 0x2 - bl PrintStartMenuActions - cmp r0, 0 - beq _0809F98C - subs r1, r4, 0x1 -_0809F940: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0809F98C - .pool -_0809F94C: - bl GetStartMenuWindowId - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x10 - str r1, [sp] - ldr r1, =sNumStartMenuActions - ldrb r1, [r1] - str r1, [sp, 0x4] - ldr r4, =sStartMenuCursorPos - ldrb r1, [r4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r2, 0 - movs r3, 0x9 - bl sub_81983AC - strb r0, [r4] - bl GetStartMenuWindowId - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl CopyWindowToVram - movs r0, 0x1 - b _0809F98E - .pool -_0809F98C: - movs r0, 0 -_0809F98E: - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_809F894 - - thumb_func_start sub_809F998 -sub_809F998: @ 809F998 - push {lr} - ldr r1, =gUnknown_02037619 - movs r0, 0 - strb r0, [r1] - strb r0, [r1, 0x1] -_0809F9A2: - bl sub_809F894 - cmp r0, 0 - beq _0809F9A2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_809F998 - - thumb_func_start task50_startmenu -task50_startmenu: @ 809F9B4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_809F894 - cmp r0, 0x1 - bne _0809F9C8 - adds r0, r4, 0 - bl SwitchTaskToFollowupFunc -_0809F9C8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end task50_startmenu - - thumb_func_start sub_809F9D0 -sub_809F9D0: @ 809F9D0 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r1, =gUnknown_02037619 - movs r0, 0 - strb r0, [r1] - strb r0, [r1, 0x1] - ldr r4, =task50_startmenu - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - adds r2, r5, 0 - bl SetTaskFuncWithFollowupFunc - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809F9D0 - - thumb_func_start sub_809FA00 -sub_809FA00: @ 809FA00 - push {lr} - bl sub_809F894 - cmp r0, 0 - beq _0809FA12 - bl sub_80AF688 - movs r0, 0x1 - b _0809FA14 -_0809FA12: - movs r0, 0 -_0809FA14: - pop {r1} - bx r1 - thumb_func_end sub_809FA00 - - thumb_func_start sub_809FA18 -sub_809FA18: @ 809FA18 - ldr r1, =gUnknown_02037619 - movs r0, 0 - strb r0, [r1] - strb r0, [r1, 0x1] - ldr r1, =gUnknown_03005DB0 - ldr r0, =sub_809FA00 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_809FA18 - - thumb_func_start sub_809FA34 -sub_809FA34: @ 809FA34 - 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 _0809FA58 - cmp r0, 0x1 - beq _0809FA7C - b _0809FA92 - .pool -_0809FA58: - bl InUnionRoom - cmp r0, 0x1 - bne _0809FA64 - bl var_800D_set_xB -_0809FA64: - ldr r1, =gUnknown_03005DF4 - ldr r0, =HandleStartMenuInput - str r0, [r1] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0809FA92 - .pool -_0809FA7C: - ldr r0, =gUnknown_03005DF4 - ldr r0, [r0] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0809FA92 - adds r0, r5, 0 - bl DestroyTask -_0809FA92: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809FA34 - - thumb_func_start sub_809FA9C -sub_809FA9C: @ 809FA9C - push {lr} - bl is_c1_link_related_active - cmp r0, 0 - bne _0809FAB2 - bl FreezeMapObjects - bl sub_808B864 - bl sub_808BCF4 -_0809FAB2: - ldr r0, =sub_809FA34 - bl sub_809F9D0 - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end sub_809FA9C - - thumb_func_start HandleStartMenuInput -HandleStartMenuInput: @ 809FAC4 - push {r4,lr} - ldr r4, =gMain - ldrh r1, [r4, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0809FAE4 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursor - ldr r1, =sStartMenuCursorPos - strb r0, [r1] -_0809FAE4: - ldrh r1, [r4, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0809FAFE - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl MoveMenuCursor - ldr r1, =sStartMenuCursorPos - strb r0, [r1] -_0809FAFE: - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809FB98 - movs r0, 0x5 - bl PlaySE - ldr r1, =sStartMenuItems - ldr r2, =sCurrentStartMenuActions - ldr r0, =sStartMenuCursorPos - ldrb r0, [r0] - adds r0, r2 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r1, [r0] - ldr r0, =StartMenu_Pokedex - cmp r1, r0 - bne _0809FB34 - movs r0, 0 - bl GetNationalPokedexCount - lsls r0, 16 - cmp r0, 0 - beq _0809FBA0 -_0809FB34: - ldr r3, =gUnknown_03005DF4 - ldr r1, =sStartMenuItems - ldr r2, =sCurrentStartMenuActions - ldr r0, =sStartMenuCursorPos - ldrb r0, [r0] - adds r0, r2 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r1, [r0] - str r1, [r3] - ldr r0, =StartMenu_Save - cmp r1, r0 - beq _0809FBA0 - ldr r0, =StartMenu_Exit - cmp r1, r0 - beq _0809FBA0 - ldr r0, =StartMenu_SafariZoneRetire - cmp r1, r0 - beq _0809FBA0 - ldr r0, =StartMenu_BattlePyramidRetire - cmp r1, r0 - beq _0809FBA0 - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - b _0809FBA0 - .pool -_0809FB98: - movs r0, 0xA - ands r0, r1 - cmp r0, 0 - bne _0809FBA4 -_0809FBA0: - movs r0, 0 - b _0809FBAE -_0809FBA4: - bl RemoveExtraStartMenuWindows - bl sub_80A0934 - movs r0, 0x1 -_0809FBAE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end HandleStartMenuInput - - thumb_func_start StartMenu_Pokedex -StartMenu_Pokedex: @ 809FBB4 - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0809FBCC - movs r0, 0 - b _0809FBE6 - .pool -_0809FBCC: - movs r0, 0x29 - bl IncrementGameStat - bl play_some_sound - bl RemoveExtraStartMenuWindows - bl overworld_free_bg_tilemaps - ldr r0, =sub_80BB534 - bl SetMainCallback2 - movs r0, 0x1 -_0809FBE6: - pop {r1} - bx r1 - .pool - thumb_func_end StartMenu_Pokedex - - thumb_func_start StartMenu_Pokemon -StartMenu_Pokemon: @ 809FBF0 - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0809FC08 - movs r0, 0 - b _0809FC1C - .pool -_0809FC08: - bl play_some_sound - bl RemoveExtraStartMenuWindows - bl overworld_free_bg_tilemaps - ldr r0, =CB2_PartyMenuFromStartMenu - bl SetMainCallback2 - movs r0, 0x1 -_0809FC1C: - pop {r1} - bx r1 - .pool - thumb_func_end StartMenu_Pokemon - - thumb_func_start StartMenu_Bag -StartMenu_Bag: @ 809FC24 - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0809FC3C - movs r0, 0 - b _0809FC50 - .pool -_0809FC3C: - bl play_some_sound - bl RemoveExtraStartMenuWindows - bl overworld_free_bg_tilemaps - ldr r0, =CB2_BagMenuFromStartMenu - bl SetMainCallback2 - movs r0, 0x1 -_0809FC50: - pop {r1} - bx r1 - .pool - thumb_func_end StartMenu_Bag - - thumb_func_start StartMenu_PokeNav -StartMenu_PokeNav: @ 809FC58 - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0809FC70 - movs r0, 0 - b _0809FC84 - .pool -_0809FC70: - bl play_some_sound - bl RemoveExtraStartMenuWindows - bl overworld_free_bg_tilemaps - ldr r0, =CB2_PokeNav - bl SetMainCallback2 - movs r0, 0x1 -_0809FC84: - pop {r1} - bx r1 - .pool - thumb_func_end StartMenu_PokeNav - - thumb_func_start StartMenu_PlayerName -StartMenu_PlayerName: @ 809FC8C - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0809FCF4 - bl play_some_sound - bl RemoveExtraStartMenuWindows - bl overworld_free_bg_tilemaps - bl is_c1_link_related_active - cmp r0, 0 - bne _0809FCB6 - bl InUnionRoom - cmp r0, 0 - beq _0809FCC8 -_0809FCB6: - ldr r0, =CB2_ReturnToFieldWithOpenMenu - bl sub_80C4DDC - b _0809FCEA - .pool -_0809FCC8: - ldr r0, =0x000008d2 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0809FCE4 - ldr r0, =CB2_ReturnToFieldWithOpenMenu - bl sub_80C51C4 - b _0809FCEA - .pool -_0809FCE4: - ldr r0, =CB2_ReturnToFieldWithOpenMenu - bl sub_80C4DDC -_0809FCEA: - movs r0, 0x1 - b _0809FCF6 - .pool -_0809FCF4: - movs r0, 0 -_0809FCF6: - pop {r1} - bx r1 - thumb_func_end StartMenu_PlayerName - - thumb_func_start StartMenu_Save -StartMenu_Save: @ 809FCFC - push {lr} - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - beq _0809FD0C - bl RemoveExtraStartMenuWindows -_0809FD0C: - ldr r1, =gUnknown_03005DF4 - ldr r0, =sub_809FE28 - str r0, [r1] - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end StartMenu_Save - - thumb_func_start StartMenu_Option -StartMenu_Option: @ 809FD20 - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0809FD38 - movs r0, 0 - b _0809FD52 - .pool -_0809FD38: - bl play_some_sound - bl RemoveExtraStartMenuWindows - bl overworld_free_bg_tilemaps - ldr r0, =CB2_InitOptionMenu - bl SetMainCallback2 - ldr r1, =gMain - ldr r0, =CB2_ReturnToFieldWithOpenMenu - str r0, [r1, 0x8] - movs r0, 0x1 -_0809FD52: - pop {r1} - bx r1 - .pool - thumb_func_end StartMenu_Option - - thumb_func_start StartMenu_Exit -StartMenu_Exit: @ 809FD64 - push {lr} - bl RemoveExtraStartMenuWindows - bl sub_80A0934 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end StartMenu_Exit - - thumb_func_start StartMenu_SafariZoneRetire -StartMenu_SafariZoneRetire: @ 809FD74 - push {lr} - bl RemoveExtraStartMenuWindows - bl sub_80A0934 - bl SafariZoneRetirePrompt - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end StartMenu_SafariZoneRetire - - thumb_func_start StartMenu_LinkModePlayerName -StartMenu_LinkModePlayerName: @ 809FD88 - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0809FDA0 - movs r0, 0 - b _0809FDB4 - .pool -_0809FDA0: - bl play_some_sound - bl overworld_free_bg_tilemaps - ldr r0, =gUnknown_03005DB4 - ldrb r0, [r0] - ldr r1, =CB2_ReturnToFieldWithOpenMenu - bl sub_80C4E74 - movs r0, 0x1 -_0809FDB4: - pop {r1} - bx r1 - .pool - thumb_func_end StartMenu_LinkModePlayerName - - thumb_func_start StartMenu_BattlePyramidRetire -StartMenu_BattlePyramidRetire: @ 809FDC0 - ldr r1, =gUnknown_03005DF4 - ldr r0, =sub_809FE9C - str r0, [r1] - movs r0, 0 - bx lr - .pool - thumb_func_end StartMenu_BattlePyramidRetire - - thumb_func_start sub_809FDD4 -sub_809FDD4: @ 809FDD4 - push {lr} - movs r0, 0 - movs r1, 0 - bl sub_8197DF8 - bl sub_80984F4 - ldr r0, =sub_809FA34 - bl sub_809F9D0 - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end sub_809FDD4 - - thumb_func_start StartMenu_BattlePyramidBag -StartMenu_BattlePyramidBag: @ 809FDF4 - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0809FE0C - movs r0, 0 - b _0809FE20 - .pool -_0809FE0C: - bl play_some_sound - bl RemoveExtraStartMenuWindows - bl overworld_free_bg_tilemaps - ldr r0, =sub_81C4EFC - bl SetMainCallback2 - movs r0, 0x1 -_0809FE20: - pop {r1} - bx r1 - .pool - thumb_func_end StartMenu_BattlePyramidBag - - thumb_func_start sub_809FE28 -sub_809FE28: @ 809FE28 - push {lr} - bl sub_809FF28 - ldr r1, =gUnknown_03005DF4 - ldr r0, =sub_809FE44 - str r0, [r1] - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_809FE28 - - thumb_func_start sub_809FE44 -sub_809FE44: @ 809FE44 - push {lr} - bl sub_809FF4C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0809FE7C - cmp r0, 0x1 - ble _0809FE94 - cmp r0, 0x2 - beq _0809FE60 - cmp r0, 0x3 - beq _0809FE7C - b _0809FE94 -_0809FE60: - movs r0, 0 - movs r1, 0 - bl sub_8197DF8 - bl sub_809F998 - ldr r1, =gUnknown_03005DF4 - ldr r0, =HandleStartMenuInput - str r0, [r1] - b _0809FE94 - .pool -_0809FE7C: - movs r0, 0 - movs r1, 0x1 - bl sub_8197DF8 - bl sub_80984F4 - bl ScriptContext2_Disable - bl sub_81A9EC8 - movs r0, 0x1 - b _0809FE96 -_0809FE94: - movs r0, 0 -_0809FE96: - pop {r1} - bx r1 - thumb_func_end sub_809FE44 - - thumb_func_start sub_809FE9C -sub_809FE9C: @ 809FE9C - push {lr} - bl sub_80A0340 - ldr r1, =gUnknown_03005DF4 - ldr r0, =sub_809FED4 - str r0, [r1] - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_809FE9C - - thumb_func_start sub_809FEB8 -sub_809FEB8: @ 809FEB8 - push {lr} - bl sub_809F998 - ldr r1, =gUnknown_03005DF4 - ldr r0, =HandleStartMenuInput - str r0, [r1] - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_809FEB8 - - thumb_func_start sub_809FED4 -sub_809FED4: @ 809FED4 - push {lr} - bl sub_809FF4C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0809FEEC - cmp r0, 0x1 - ble _0809FF20 - cmp r0, 0x2 - beq _0809FF00 - b _0809FF20 -_0809FEEC: - bl RemoveExtraStartMenuWindows - ldr r1, =gUnknown_03005DF4 - ldr r0, =sub_809FEB8 - str r0, [r1] - b _0809FF20 - .pool -_0809FF00: - movs r0, 0 - movs r1, 0x1 - bl sub_8197DF8 - bl sub_80984F4 - bl ScriptContext2_Disable - ldr r0, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88 - bl ScriptContext1_SetupScript - movs r0, 0x1 - b _0809FF22 - .pool -_0809FF20: - movs r0, 0 -_0809FF22: - pop {r1} - bx r1 - thumb_func_end sub_809FED4 - - thumb_func_start sub_809FF28 -sub_809FF28: @ 809FF28 - push {lr} - bl save_serialize_map - ldr r1, =gUnknown_0203761C - ldr r0, =sub_80A00A0 - str r0, [r1] - ldr r1, =gUnknown_02037621 - movs r0, 0 - strb r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_809FF28 - - thumb_func_start sub_809FF4C -sub_809FF4C: @ 809FF4C - push {lr} - bl sub_8197224 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - beq _0809FF78 - ldr r1, =gUnknown_02037621 - movs r0, 0 - strb r0, [r1] - ldr r0, =gUnknown_0203761C - ldr r0, [r0] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - b _0809FF7A - .pool -_0809FF78: - movs r0, 0 -_0809FF7A: - pop {r1} - bx r1 - thumb_func_end sub_809FF4C - - thumb_func_start sub_809FF80 -sub_809FF80: @ 809FF80 - push {lr} - bl sub_809FF28 - ldr r0, =task50_save_game - movs r1, 0x50 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_809FF80 - - thumb_func_start sub_809FF98 -sub_809FF98: @ 809FF98 - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - ldr r0, =gStringVar4 - adds r1, r2, 0 - bl StringExpandPlaceholders - movs r0, 0 - movs r1, 0x1 - bl sub_819786C - movs r0, 0x1 - bl AddTextPrinterForMessage_2 - ldr r1, =gUnknown_02037621 - movs r0, 0x1 - strb r0, [r1] - ldr r0, =gUnknown_0203761C - str r4, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809FF98 - - thumb_func_start task50_save_game -task50_save_game: @ 809FFD0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_809FF4C - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x1 - beq _0809FFFC - cmp r1, 0x1 - bgt _0809FFEC - cmp r1, 0 - beq _080A000A - b _080A0000 -_0809FFEC: - cmp r1, 0x3 - bgt _080A0000 - ldr r1, =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] - b _080A0000 - .pool -_0809FFFC: - ldr r0, =gSpecialVar_Result - strh r1, [r0] -_080A0000: - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts -_080A000A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end task50_save_game - - thumb_func_start sub_80A0014 -sub_80A0014: @ 80A0014 - push {lr} - movs r0, 0 - movs r1, 0x1 - bl sub_8197434 - pop {r0} - bx r0 - thumb_func_end sub_80A0014 - - thumb_func_start sub_80A0024 -sub_80A0024: @ 80A0024 - push {lr} - bl sub_80A0888 - pop {r0} - bx r0 - thumb_func_end sub_80A0024 - - thumb_func_start sub_80A0030 -sub_80A0030: @ 80A0030 - ldr r1, =gUnknown_02037620 - movs r0, 0x3C - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_80A0030 - - thumb_func_start sub_80A003C -sub_80A003C: @ 80A003C - push {lr} - ldr r1, =gUnknown_02037620 - ldrb r0, [r1] - subs r2, r0, 0x1 - strb r2, [r1] - ldr r0, =gMain - ldrh r1, [r0, 0x2C] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080A0064 - lsls r0, r2, 24 - cmp r0, 0 - beq _080A006A - movs r0, 0 - b _080A006C - .pool -_080A0064: - movs r0, 0x5 - bl PlaySE -_080A006A: - movs r0, 0x1 -_080A006C: - pop {r1} - bx r1 - thumb_func_end sub_80A003C - - thumb_func_start sub_80A0070 -sub_80A0070: @ 80A0070 - push {lr} - ldr r1, =gUnknown_02037620 - ldrb r0, [r1] - cmp r0, 0 - bne _080A0094 - ldr r0, =gMain - ldrh r1, [r0, 0x2C] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A0098 - movs r0, 0x1 - b _080A009A - .pool -_080A0094: - subs r0, 0x1 - strb r0, [r1] -_080A0098: - movs r0, 0 -_080A009A: - pop {r1} - bx r1 - thumb_func_end sub_80A0070 - - thumb_func_start sub_80A00A0 -sub_80A00A0: @ 80A00A0 - push {lr} - bl GetStartMenuWindowId - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_819746C - bl remove_start_menu_window_maybe - bl sub_80A06B4 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - beq _080A00D4 - ldr r0, =BattleFrontier_BattlePyramidEmptySquare_Text_252CA7 - ldr r1, =sub_80A00EC - bl sub_809FF98 - b _080A00DC - .pool -_080A00D4: - ldr r0, =gUnknown_082C87B4 - ldr r1, =sub_80A00EC - bl sub_809FF98 -_080A00DC: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80A00A0 - - thumb_func_start sub_80A00EC -sub_80A00EC: @ 80A00EC - push {lr} - bl sub_8197930 - ldr r1, =gUnknown_0203761C - ldr r0, =sub_80A0108 - str r0, [r1] - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80A00EC - - thumb_func_start sub_80A0108 -sub_80A0108: @ 80A0108 - push {lr} - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080A012A - cmp r1, 0 - bgt _080A0124 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080A0168 - b _080A0174 -_080A0124: - cmp r1, 0x1 - beq _080A0168 - b _080A0174 -_080A012A: - ldr r0, =gSaveFileStatus - ldrh r0, [r0] - cmp r0, 0 - beq _080A0136 - cmp r0, 0x2 - bne _080A013E -_080A0136: - ldr r0, =gDifferentSaveFile - ldrb r0, [r0] - cmp r0, 0 - bne _080A0158 -_080A013E: - ldr r1, =gUnknown_0203761C - ldr r0, =sub_80A017C - str r0, [r1] - b _080A0174 - .pool -_080A0158: - ldr r1, =gUnknown_0203761C - ldr r0, =sub_80A0234 - str r0, [r1] - b _080A0174 - .pool -_080A0168: - bl sub_80A0024 - bl sub_80A0014 - movs r0, 0x2 - b _080A0176 -_080A0174: - movs r0, 0 -_080A0176: - pop {r1} - bx r1 - thumb_func_end sub_80A0108 - - thumb_func_start sub_80A017C -sub_80A017C: @ 80A017C - push {lr} - ldr r0, =gDifferentSaveFile - ldrb r0, [r0] - cmp r0, 0x1 - bne _080A019C - ldr r0, =gUnknown_082C8845 - ldr r1, =sub_80A01B4 - bl sub_809FF98 - b _080A01A4 - .pool -_080A019C: - ldr r0, =gUnknown_082C87D5 - ldr r1, =sub_80A01D0 - bl sub_809FF98 -_080A01A4: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80A017C - - thumb_func_start sub_80A01B4 -sub_80A01B4: @ 80A01B4 - push {lr} - movs r0, 0x1 - bl sub_8197948 - ldr r1, =gUnknown_0203761C - ldr r0, =sub_80A01EC - str r0, [r1] - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80A01B4 - - thumb_func_start sub_80A01D0 -sub_80A01D0: @ 80A01D0 - push {lr} - bl sub_8197930 - ldr r1, =gUnknown_0203761C - ldr r0, =sub_80A01EC - str r0, [r1] - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80A01D0 - - thumb_func_start sub_80A01EC -sub_80A01EC: @ 80A01EC - push {lr} - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080A020E - cmp r1, 0 - bgt _080A0208 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080A0220 - b _080A022C -_080A0208: - cmp r1, 0x1 - beq _080A0220 - b _080A022C -_080A020E: - ldr r1, =gUnknown_0203761C - ldr r0, =sub_80A0234 - str r0, [r1] - b _080A022C - .pool -_080A0220: - bl sub_80A0024 - bl sub_80A0014 - movs r0, 0x2 - b _080A022E -_080A022C: - movs r0, 0 -_080A022E: - pop {r1} - bx r1 - thumb_func_end sub_80A01EC - - thumb_func_start sub_80A0234 -sub_80A0234: @ 80A0234 - push {lr} - ldr r0, =gUnknown_082C8810 - ldr r1, =sub_80A024C - bl sub_809FF98 - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80A0234 - - thumb_func_start sub_80A024C -sub_80A024C: @ 80A024C - push {r4,lr} - movs r0, 0 - bl IncrementGameStat - bl sub_81A9E90 - ldr r4, =gDifferentSaveFile - ldrb r0, [r4] - cmp r0, 0x1 - bne _080A0274 - movs r0, 0x4 - bl TrySavingData - lsls r0, 24 - lsrs r1, r0, 24 - movs r0, 0 - strb r0, [r4] - b _080A027E - .pool -_080A0274: - movs r0, 0 - bl TrySavingData - lsls r0, 24 - lsrs r1, r0, 24 -_080A027E: - cmp r1, 0x1 - bne _080A0294 - ldr r0, =gUnknown_082C8832 - ldr r1, =sub_80A02B0 - bl sub_809FF98 - b _080A029C - .pool -_080A0294: - ldr r0, =gUnknown_082C892A - ldr r1, =sub_80A02FC - bl sub_809FF98 -_080A029C: - bl sub_80A0030 - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80A024C - - thumb_func_start sub_80A02B0 -sub_80A02B0: @ 80A02B0 - push {lr} - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _080A02CA - movs r0, 0x37 - bl PlaySE - ldr r1, =gUnknown_0203761C - ldr r0, =sub_80A02D8 - str r0, [r1] -_080A02CA: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80A02B0 - - thumb_func_start sub_80A02D8 -sub_80A02D8: @ 80A02D8 - push {lr} - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - bne _080A02F6 - bl sub_80A003C - lsls r0, 24 - cmp r0, 0 - beq _080A02F6 - bl sub_80A0024 - movs r0, 0x1 - b _080A02F8 -_080A02F6: - movs r0, 0 -_080A02F8: - pop {r1} - bx r1 - thumb_func_end sub_80A02D8 - - thumb_func_start sub_80A02FC -sub_80A02FC: @ 80A02FC - push {lr} - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _080A0316 - movs r0, 0x16 - bl PlaySE - ldr r1, =gUnknown_0203761C - ldr r0, =sub_80A0324 - str r0, [r1] -_080A0316: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80A02FC - - thumb_func_start sub_80A0324 -sub_80A0324: @ 80A0324 - push {lr} - bl sub_80A0070 - lsls r0, 24 - cmp r0, 0 - beq _080A0338 - bl sub_80A0024 - movs r0, 0x3 - b _080A033A -_080A0338: - movs r0, 0 -_080A033A: - pop {r1} - bx r1 - thumb_func_end sub_80A0324 - - thumb_func_start sub_80A0340 -sub_80A0340: @ 80A0340 - ldr r1, =gUnknown_0203761C - ldr r0, =sub_80A035C - str r0, [r1] - ldr r1, =gUnknown_02037621 - movs r0, 0 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_80A0340 - - thumb_func_start sub_80A035C -sub_80A035C: @ 80A035C - push {lr} - bl GetStartMenuWindowId - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_819746C - bl remove_start_menu_window_maybe - ldr r0, =BattleFrontier_BattlePyramidEmptySquare_Text_252CFB - ldr r1, =sub_80A0388 - bl sub_809FF98 - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80A035C - - thumb_func_start sub_80A0388 -sub_80A0388: @ 80A0388 - push {lr} - movs r0, 0x1 - bl sub_8197948 - ldr r1, =gUnknown_0203761C - ldr r0, =sub_80A03A4 - str r0, [r1] - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80A0388 - - thumb_func_start sub_80A03A4 -sub_80A03A4: @ 80A03A4 - push {lr} - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080A03C6 - cmp r1, 0 - bgt _080A03C0 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080A03CA - b _080A03D2 -_080A03C0: - cmp r1, 0x1 - beq _080A03CA - b _080A03D2 -_080A03C6: - movs r0, 0x2 - b _080A03D4 -_080A03CA: - bl sub_80A0014 - movs r0, 0x1 - b _080A03D4 -_080A03D2: - movs r0, 0 -_080A03D4: - pop {r1} - bx r1 - thumb_func_end sub_80A03A4 - - thumb_func_start sub_80A03D8 -sub_80A03D8: @ 80A03D8 - push {lr} - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_80A03D8 - - thumb_func_start sub_80A03E4 -sub_80A03E4: @ 80A03E4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - mov r8, r0 - ldrb r0, [r0] - cmp r0, 0x4 - bls _080A03F6 - b _080A04FC -_080A03F6: - lsls r0, 2 - ldr r1, =_080A0404 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080A0404: - .4byte _080A0418 - .4byte _080A0490 - .4byte _080A04A2 - .4byte _080A04D4 - .4byte _080A04F8 -_080A0418: - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl SetVBlankCallback - bl ScanlineEffect_Stop - movs r2, 0xA0 - lsls r2, 19 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, =0x040000d4 - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - ldr r0, =0x81000200 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r2, 0xC0 - lsls r2, 19 - movs r3, 0xC0 - lsls r3, 9 - mov r4, sp - movs r6, 0 - movs r5, 0x80 - lsls r5, 5 - ldr r7, =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_080A045A: - 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 _080A045A - 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] - b _080A04FC - .pool -_080A0490: - bl ResetSpriteData - bl ResetTasks - bl ResetPaletteFade - bl ScanlineEffect_Clear - b _080A04FC -_080A04A2: - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085105A8 - movs r0, 0 - movs r2, 0x1 - bl InitBgsFromTemplates - ldr r0, =gUnknown_085105AC - bl InitWindows - movs r0, 0 - movs r1, 0x8 - movs r2, 0xE0 - bl box_border_load_tiles_and_pal - movs r0, 0xF0 - bl sub_81978B0 - b _080A04FC - .pool -_080A04D4: - movs r0, 0 - bl ShowBg - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r0, =sub_80A03D8 - bl SetVBlankCallback - movs r0, 0x1 - bl EnableInterrupts - b _080A04FC - .pool -_080A04F8: - movs r0, 0x1 - b _080A0506 -_080A04FC: - mov r1, r8 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 -_080A0506: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A03E4 - - thumb_func_start sub_80A0514 -sub_80A0514: @ 80A0514 - push {lr} - ldr r0, =gMain+0x438 - bl sub_80A03E4 - cmp r0, 0 - beq _080A052E - ldr r0, =sub_80A0550 - movs r1, 0x50 - bl CreateTask - ldr r0, =sub_80A0540 - bl SetMainCallback2 -_080A052E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A0514 - - thumb_func_start sub_80A0540 -sub_80A0540: @ 80A0540 - push {lr} - bl RunTasks - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80A0540 - - thumb_func_start sub_80A0550 -sub_80A0550: @ 80A0550 - push {r4-r6,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080A0570 - b _080A06A8 -_080A0570: - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x6 - bls _080A057A - b _080A06A8 -_080A057A: - lsls r0, 2 - ldr r1, =_080A0590 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080A0590: - .4byte _080A05AC - .4byte _080A0630 - .4byte _080A063C - .4byte _080A065C - .4byte _080A0670 - .4byte _080A0688 - .4byte _080A0698 -_080A05AC: - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, =gText_SavingDontTurnOffPower - movs r4, 0 - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r6, 0x1 - str r6, [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, 0x8 - movs r2, 0xE - bl sub_8098858 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - 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 - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _080A0620 - bl InUnionRoom - cmp r0, 0 - beq _080A0620 - bl sub_800A07C - cmp r0, 0 - beq _080A061C - strh r6, [r5] - b _080A06A8 - .pool -_080A061C: - movs r0, 0x5 - b _080A06A6 -_080A0620: - ldr r0, =gSoftResetDisabled - movs r1, 0x1 - strb r1, [r0] - movs r0, 0x1 - b _080A06A6 - .pool -_080A0630: - bl sub_8076D5C - bl sub_8153430 - movs r0, 0x2 - b _080A06A6 -_080A063C: - bl sub_8153474 - lsls r0, 24 - cmp r0, 0 - beq _080A06A8 - bl sav2_gender2_inplace_and_xFE - movs r0, 0x3 - strh r0, [r5] - ldr r1, =gSoftResetDisabled - movs r0, 0 - strb r0, [r1] - b _080A06A8 - .pool -_080A065C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x4 - b _080A06A6 -_080A0670: - bl FreeAllWindowBuffers - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask - b _080A06A8 - .pool -_080A0688: - ldr r0, =sub_8153688 - movs r1, 0x5 - bl CreateTask - movs r0, 0x6 - b _080A06A6 - .pool -_080A0698: - ldr r0, =sub_8153688 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _080A06A8 - movs r0, 0x3 -_080A06A6: - strh r0, [r5] -_080A06A8: - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A0550 - - thumb_func_start sub_80A06B4 -sub_80A06B4: @ 80A06B4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - ldr r0, =gUnknown_085105BC - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0xC] - str r1, [sp, 0x10] - ldr r0, =0x00000861 - mov r10, r0 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _080A06EC - add r0, sp, 0xC - ldrb r1, [r0, 0x4] - subs r1, 0x2 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =0xffffff00 - ldr r0, [sp, 0x10] - ands r0, r2 - orrs r0, r1 - str r0, [sp, 0x10] -_080A06EC: - ldr r6, =gUnknown_02037622 - add r0, sp, 0xC - bl AddWindow - strb r0, [r6] - ldrb r0, [r6] - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - movs r1, 0x4 - mov r9, r1 - cmp r0, 0 - bne _080A0710 - movs r0, 0x8 - mov r9, r0 -_080A0710: - movs r4, 0x1 - ldr r5, =gStringVar4 - movs r0, 0x3 - adds r1, r5, 0 - movs r2, 0x6 - bl sub_819A344 - ldrb r0, [r6] - str r4, [sp] - movs r1, 0xFF - mov r8, r1 - str r1, [sp, 0x4] - movs r7, 0 - str r7, [sp, 0x8] - movs r1, 0x1 - adds r2, r5, 0 - movs r3, 0 - bl PrintTextOnWindow - movs r4, 0x11 - ldrb r0, [r6] - ldr r2, =gText_SavingPlayer - str r4, [sp] - mov r1, r8 - str r1, [sp, 0x4] - str r7, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - adds r1, r5, 0 - mov r2, r9 - bl sub_819A344 - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0x70 - bl GetStringRightAlignXOffset - adds r2, r0, 0 - ldrb r0, [r6] - lsls r2, 16 - lsrs r2, 16 - adds r1, r5, 0 - movs r3, 0x11 - bl sub_819A024 - movs r4, 0x21 - ldrb r0, [r6] - ldr r2, =gText_SavingBadges - str r4, [sp] - mov r1, r8 - str r1, [sp, 0x4] - str r7, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0x4 - adds r1, r5, 0 - mov r2, r9 - bl sub_819A344 - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0x70 - bl GetStringRightAlignXOffset - adds r2, r0, 0 - ldrb r0, [r6] - lsls r3, r2, 24 - lsrs r3, 24 - str r4, [sp] - mov r1, r8 - str r1, [sp, 0x4] - str r7, [sp, 0x8] - movs r1, 0x1 - adds r2, r5, 0 - bl PrintTextOnWindow - mov r0, r10 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A0802 - movs r4, 0x31 - ldrb r0, [r6] - ldr r2, =gText_SavingPokedex - str r4, [sp] - mov r1, r8 - str r1, [sp, 0x4] - str r7, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0x1 - adds r1, r5, 0 - mov r2, r9 - bl sub_819A344 - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0x70 - bl GetStringRightAlignXOffset - adds r2, r0, 0 - ldrb r0, [r6] - lsls r3, r2, 24 - lsrs r3, 24 - str r4, [sp] - mov r1, r8 - str r1, [sp, 0x4] - str r7, [sp, 0x8] - movs r1, 0x1 - adds r2, r5, 0 - bl PrintTextOnWindow -_080A0802: - adds r4, 0x10 - ldrb r0, [r6] - ldr r2, =gText_SavingTime - lsls r4, 24 - lsrs r4, 24 - str r4, [sp] - mov r1, r8 - str r1, [sp, 0x4] - str r7, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0x2 - adds r1, r5, 0 - mov r2, r9 - bl sub_819A344 - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0x70 - bl GetStringRightAlignXOffset - adds r2, r0, 0 - ldrb r0, [r6] - lsls r3, r2, 24 - lsrs r3, 24 - str r4, [sp] - mov r1, r8 - str r1, [sp, 0x4] - str r7, [sp, 0x8] - movs r1, 0x1 - adds r2, r5, 0 - bl PrintTextOnWindow - ldrb r0, [r6] - movs r1, 0x2 - bl CopyWindowToVram - 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_80A06B4 - - thumb_func_start sub_80A0888 -sub_80A0888: @ 80A0888 - push {r4,lr} - ldr r4, =gUnknown_02037622 - ldrb r0, [r4] - movs r1, 0 - bl sub_819746C - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A0888 - - thumb_func_start sub_80A08A4 -sub_80A08A4: @ 80A08A4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =sub_8153688 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _080A08C0 - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts -_080A08C0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A08A4 - - thumb_func_start sub_80A08CC -sub_80A08CC: @ 80A08CC - push {r4,r5,lr} - ldr r0, =sub_8153688 - movs r1, 0x5 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r5 - movs r1, 0x1 - strh r1, [r0, 0xC] - ldr r0, =sub_80A08A4 - movs r1, 0x6 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r5 - strh r4, [r1, 0xA] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A08CC - - thumb_func_start sub_80A0914 -sub_80A0914: @ 80A0914 - push {lr} - bl GetStartMenuWindowId - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_819746C - bl remove_start_menu_window_maybe - bl sub_80984F4 - bl ScriptContext2_Disable - pop {r0} - bx r0 - thumb_func_end sub_80A0914 - - thumb_func_start sub_80A0934 -sub_80A0934: @ 80A0934 - push {lr} - movs r0, 0x5 - bl PlaySE - bl sub_80A0914 - pop {r0} - bx r0 - thumb_func_end sub_80A0934 - - thumb_func_start AppendToList -AppendToList: @ 80A0944 - ldrb r3, [r1] - adds r0, r3 - strb r2, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bx lr - thumb_func_end AppendToList - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/trainer_rematch.s b/asm/trainer_rematch.s deleted file mode 100644 index 1c874f28f..000000000 --- a/asm/trainer_rematch.s +++ /dev/null @@ -1,206 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81DA57C -sub_81DA57C: @ 81DA57C - push {lr} - ldr r0, =0x00000864 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081DA5CA - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1E - bhi _081DA5CA - movs r0, 0x5B - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081DA5C0 - ldr r0, =gUnknown_0862AD34 - movs r1, 0x8 - movs r2, 0x5 - bl sub_81DA5D4 - b _081DA5CA - .pool -_081DA5C0: - ldr r0, =gUnknown_0862AD44 - movs r1, 0x7 - movs r2, 0x1 - bl sub_81DA5D4 -_081DA5CA: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DA57C - - thumb_func_start sub_81DA5D4 -sub_81DA5D4: @ 81DA5D4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - mov r9, r0 - adds r7, r1, 0 - mov r10, r2 - movs r6, 0 - movs r0, 0x5 - mov r8, r0 - movs r5, 0 - cmp r5, r7 - bcs _081DA61C - mov r4, r9 -_081DA5F4: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r4] - ldr r2, =0x000009ca - adds r0, r2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _081DA614 - adds r0, r1, 0 - bl sub_81DA6CC - cmp r8, r0 - ble _081DA612 - mov r8, r0 -_081DA612: - adds r6, 0x1 -_081DA614: - adds r4, 0x2 - adds r5, 0x1 - cmp r5, r7 - bcc _081DA5F4 -_081DA61C: - cmp r6, 0 - beq _081DA6BA - cmp r8, r10 - bhi _081DA6BA - movs r6, 0 - movs r5, 0 - cmp r5, r7 - bcs _081DA654 - mov r4, r9 -_081DA62E: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r4] - ldr r2, =0x000009ca - adds r0, r2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _081DA64C - adds r0, r1, 0 - bl sub_81DA6CC - cmp r0, r8 - bne _081DA64C - adds r6, 0x1 -_081DA64C: - adds r4, 0x2 - adds r5, 0x1 - cmp r5, r7 - bcc _081DA62E -_081DA654: - cmp r6, 0 - beq _081DA6BA - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r6, 0 - bl __modsi3 - adds r6, r0, 0 - movs r5, 0 - cmp r5, r7 - bcs _081DA6BA - ldr r2, =gSaveBlock1Ptr - ldr r3, =0x000009ca - mov r4, r9 -_081DA674: - ldr r0, [r2] - ldrh r1, [r4] - adds r0, r3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _081DA6B2 - adds r0, r1, 0 - str r2, [sp] - str r3, [sp, 0x4] - bl sub_81DA6CC - ldr r2, [sp] - ldr r3, [sp, 0x4] - cmp r0, r8 - bne _081DA6B2 - cmp r6, 0 - bne _081DA6B0 - ldr r0, [r2] - adds r0, r3 - ldrh r4, [r4] - adds r0, r4 - mov r1, r8 - strb r1, [r0] - b _081DA6BA - .pool -_081DA6B0: - subs r6, 0x1 -_081DA6B2: - adds r4, 0x2 - adds r5, 0x1 - cmp r5, r7 - bcc _081DA674 -_081DA6BA: - 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_81DA5D4 - - thumb_func_start sub_81DA6CC -sub_81DA6CC: @ 81DA6CC - push {r4-r6,lr} - adds r5, r0, 0 - movs r4, 0 - ldr r6, =gRematchTable -_081DA6D4: - lsls r0, r4, 1 - lsls r1, r5, 4 - adds r0, r1 - adds r0, r6 - ldrh r0, [r0] - bl HasTrainerBeenFought - lsls r0, 24 - cmp r0, 0 - bne _081DA6F0 - adds r0, r4, 0 - b _081DA6F8 - .pool -_081DA6F0: - adds r4, 0x1 - cmp r4, 0x4 - ble _081DA6D4 - movs r0, 0x5 -_081DA6F8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81DA6CC - - .align 2, 0 @ Don't pad with nop. |