summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2018-10-13 10:22:58 -0500
committerMarcus Huderle <huderlem@gmail.com>2018-10-13 10:22:58 -0500
commitb24559d69b6fa0abf042a1b7cdbcab3d1ec91fd6 (patch)
tree7b51d7b9cb9a370fe1dd9db8eeadc23089ba1328 /asm
parentfa9d1759bd7fa17ced37225bd31d46466da857c6 (diff)
parenta2a6700966cc802185577e44ba88a9154429c93b (diff)
Merge remote-tracking branch 'upstream/master' into shop
# Conflicts: # asm/shop.s
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_anim_80A5C6C.s6526
-rw-r--r--asm/battle_anim_80A9C70.s930
-rw-r--r--asm/battle_anim_80D51AC.s2446
-rw-r--r--asm/battle_anim_80FE840.s336
-rw-r--r--asm/battle_anim_815A0D4.s48
-rw-r--r--asm/battle_anim_8170478.s18
-rw-r--r--asm/battle_frontier_2.s10158
-rw-r--r--asm/battle_tent.s260
-rw-r--r--asm/battle_tower.s4
-rw-r--r--asm/cable_car.s2
-rw-r--r--asm/cable_car_util.s762
-rw-r--r--asm/cable_club.s2
-rw-r--r--asm/contest_link_80F57C4.s2
-rw-r--r--asm/contest_painting.s2
-rw-r--r--asm/easy_chat.s4
-rw-r--r--asm/field_control_avatar.s32
-rw-r--r--asm/field_effect_helpers.s16
-rw-r--r--asm/field_player_avatar.s10
-rw-r--r--asm/field_screen.s24
-rw-r--r--asm/macros/battle_ai_script.inc168
-rw-r--r--asm/macros/battle_anim_script.inc59
-rw-r--r--asm/macros/battle_script.inc2
-rw-r--r--asm/party_menu.s18
-rw-r--r--asm/pokemon_storage_system.s20
-rw-r--r--asm/pokenav.s138
-rw-r--r--asm/rom_8011DC0.s194
-rw-r--r--asm/roulette.s26
-rw-r--r--asm/script_menu.s34
-rw-r--r--asm/slot_machine.s8535
-rw-r--r--asm/trade.s12
-rw-r--r--asm/trainer_card.s74
-rw-r--r--asm/use_pokeblock.s10
32 files changed, 700 insertions, 30172 deletions
diff --git a/asm/battle_anim_80A5C6C.s b/asm/battle_anim_80A5C6C.s
deleted file mode 100644
index 44ba33c08..000000000
--- a/asm/battle_anim_80A5C6C.s
+++ /dev/null
@@ -1,6526 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start GetBattlerSpriteCoord
-GetBattlerSpriteCoord: @ 80A5C6C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A5C8A
- cmp r4, 0x3
- bne _080A5C8A
- cmp r5, 0x3
- bne _080A5C8A
- movs r4, 0x1
-_080A5C8A:
- cmp r4, 0x4
- bhi _080A5D00
- lsls r0, r4, 2
- ldr r1, =_080A5C9C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080A5C9C:
- .4byte _080A5CB0
- .4byte _080A5CD8
- .4byte _080A5CB0
- .4byte _080A5D00
- .4byte _080A5D00
-_080A5CB0:
- ldr r4, =gUnknown_08525F58
- adds r0, r5, 0
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 22
- ldr r1, =gBattleTypeFlags
- ldr r1, [r1]
- movs r2, 0x1
- ands r1, r2
- lsls r1, 4
- adds r0, r1
- adds r0, r4
- ldrb r0, [r0]
- b _080A5DB0
- .pool
-_080A5CD8:
- ldr r4, =gUnknown_08525F58
- adds r0, r5, 0
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 22
- ldr r1, =gBattleTypeFlags
- ldr r1, [r1]
- movs r2, 0x1
- ands r1, r2
- lsls r1, 4
- adds r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x1]
- b _080A5DB0
- .pool
-_080A5D00:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A5D28
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r2, [r0, 0x18]
- ldrb r1, [r2, 0x4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A5D24
- ldrh r1, [r2, 0x2]
- b _080A5D9A
- .pool
-_080A5D24:
- ldrh r1, [r2]
- b _080A5D9A
-_080A5D28:
- adds r0, r5, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A5D60
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r5, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A5D98
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- b _080A5D7E
- .pool
-_080A5D60:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r5, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A5D98
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
-_080A5D7E:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- b _080A5D9A
- .pool
-_080A5D98:
- ldrh r1, [r1, 0x2]
-_080A5D9A:
- cmp r4, 0x3
- bne _080A5DA4
- adds r0, r5, 0
- movs r2, 0x1
- b _080A5DA8
-_080A5DA4:
- adds r0, r5, 0
- movs r2, 0
-_080A5DA8:
- bl sub_80A600C
- lsls r0, 24
- lsrs r0, 24
-_080A5DB0:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end GetBattlerSpriteCoord
-
- thumb_func_start sub_80A5DB8
-sub_80A5DB8: @ 80A5DB8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsrs r5, r1, 16
- adds r0, r4, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A5DDA
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080A5DDA
- b _080A5EC8
-_080A5DDA:
- cmp r5, 0xC9
- bne _080A5E90
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A5E04
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r2, [r0, 0x18]
- ldrb r1, [r2, 0x4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A5E00
- ldr r2, [r2, 0x10]
- b _080A5E42
- .pool
-_080A5E00:
- ldr r2, [r2, 0x8]
- b _080A5E42
-_080A5E04:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- lsls r1, r4, 2
- adds r0, r1, r0
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- bne _080A5E3C
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0
- bl GetMonData
- adds r2, r0, 0
- b _080A5E42
- .pool
-_080A5E3C:
- ldr r0, =gTransformedPersonalities
- adds r0, r1, r0
- ldr r2, [r0]
-_080A5E42:
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r2
- lsrs r0, 18
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r2
- lsrs r1, 12
- orrs r0, r1
- movs r1, 0xC0
- lsls r1, 2
- ands r1, r2
- lsrs r1, 6
- orrs r0, r1
- movs r1, 0x3
- ands r1, r2
- orrs r0, r1
- movs r1, 0x1C
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _080A5E7C
- adds r0, r5, 0
- b _080A5E86
- .pool
-_080A5E7C:
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
-_080A5E86:
- ldr r1, =gUnknown_083021D8
- lsls r0, 2
- b _080A5F90
- .pool
-_080A5E90:
- ldr r0, =0x00000181
- cmp r5, r0
- bne _080A5EB0
- ldr r0, =gUnknown_08525F8C
- ldr r1, =gBattleMonForms
- adds r1, r4, r1
- ldrb r1, [r1]
- adds r1, r0
- ldrb r0, [r1]
- b _080A5F94
- .pool
-_080A5EB0:
- movs r0, 0xCE
- lsls r0, 1
- cmp r5, r0
- bls _080A5EC0
- ldr r0, =gUnknown_083021D8
- b _080A5F92
- .pool
-_080A5EC0:
- ldr r1, =gUnknown_083021D8
- b _080A5F8E
- .pool
-_080A5EC8:
- cmp r5, 0xC9
- bne _080A5F58
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- lsls r1, r4, 2
- adds r0, r1, r0
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- bne _080A5F04
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0
- bl GetMonData
- adds r2, r0, 0
- b _080A5F0A
- .pool
-_080A5F04:
- ldr r0, =gTransformedPersonalities
- adds r0, r1, r0
- ldr r2, [r0]
-_080A5F0A:
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r2
- lsrs r0, 18
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r2
- lsrs r1, 12
- orrs r0, r1
- movs r1, 0xC0
- lsls r1, 2
- ands r1, r2
- lsrs r1, 6
- orrs r0, r1
- movs r1, 0x3
- ands r1, r2
- orrs r0, r1
- movs r1, 0x1C
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _080A5F44
- adds r0, r5, 0
- b _080A5F4E
- .pool
-_080A5F44:
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
-_080A5F4E:
- ldr r1, =gMonFrontPicCoords
- lsls r0, 2
- b _080A5F90
- .pool
-_080A5F58:
- ldr r0, =0x00000181
- cmp r5, r0
- bne _080A5F7C
- ldr r0, =gCastformFrontSpriteCoords
- ldr r1, =gBattleMonForms
- adds r1, r4, r1
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- b _080A5F94
- .pool
-_080A5F7C:
- movs r0, 0xCE
- lsls r0, 1
- cmp r5, r0
- bls _080A5F8C
- ldr r0, =gMonFrontPicCoords
- b _080A5F92
- .pool
-_080A5F8C:
- ldr r1, =gMonFrontPicCoords
-_080A5F8E:
- lsls r0, r5, 2
-_080A5F90:
- adds r0, r1
-_080A5F92:
- ldrb r0, [r0, 0x1]
-_080A5F94:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A5DB8
-
- thumb_func_start sub_80A5FA0
-sub_80A5FA0: @ 80A5FA0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- lsrs r4, r1, 16
- adds r7, r4, 0
- movs r5, 0
- adds r0, r6, 0
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5FFE
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080A5FFE
- ldr r0, =0x00000181
- cmp r4, r0
- bne _080A5FE8
- ldr r0, =gUnknown_08525F88
- ldr r1, =gBattleMonForms
- adds r1, r6, r1
- ldrb r1, [r1]
- adds r1, r0
- ldrb r5, [r1]
- b _080A5FFE
- .pool
-_080A5FE8:
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- bls _080A5FF8
- ldr r0, =gEnemyMonElevation
- b _080A5FFC
- .pool
-_080A5FF8:
- ldr r0, =gEnemyMonElevation
- adds r0, r7, r0
-_080A5FFC:
- ldrb r5, [r0]
-_080A5FFE:
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A5FA0
-
- thumb_func_start sub_80A600C
-sub_80A600C: @ 80A600C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 24
- lsrs r7, r2, 24
- adds r0, r6, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A6030
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A603E
-_080A6030:
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80A5DB8
- lsls r0, 24
- lsrs r4, r0, 24
- b _080A605C
-_080A603E:
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80A5DB8
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80A5FA0
- lsls r0, 24
- lsrs r0, 24
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
-_080A605C:
- adds r0, r6, 0
- bl GetBattlerPosition
- ldr r3, =gUnknown_08525F58
- lsls r0, 24
- lsrs r0, 22
- ldr r1, =gBattleTypeFlags
- ldr r1, [r1]
- movs r2, 0x1
- ands r1, r2
- lsls r1, 4
- adds r0, r1
- adds r0, r3
- ldrb r0, [r0, 0x1]
- adds r0, r4
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r7, 0
- beq _080A609C
- adds r0, r6, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080A6096
- adds r0, r4, 0
- adds r0, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
-_080A6096:
- cmp r4, 0x68
- bls _080A609C
- movs r4, 0x68
-_080A609C:
- adds r0, r4, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A600C
-
- thumb_func_start sub_80A60AC
-sub_80A60AC: @ 80A60AC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- movs r0, 0xFD
- lsls r0, 24
- adds r1, r0
- lsrs r1, 24
- cmp r1, 0x1
- bhi _080A6126
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A60E8
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r2, [r0, 0x18]
- ldrb r1, [r2, 0x4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A60E4
- ldrh r1, [r2, 0x2]
- b _080A610E
- .pool
-_080A60E4:
- ldrh r1, [r2]
- b _080A610E
-_080A60E8:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r4, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A610C
- ldr r1, =gAnimBattlerSpecies
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- b _080A610E
- .pool
-_080A610C:
- ldrh r1, [r1, 0x2]
-_080A610E:
- cmp r5, 0x3
- bne _080A611C
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_80A600C
- b _080A612E
-_080A611C:
- adds r0, r4, 0
- movs r2, 0
- bl sub_80A600C
- b _080A612E
-_080A6126:
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetBattlerSpriteCoord
-_080A612E:
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A60AC
-
- thumb_func_start GetBattlerSpriteDefault_Y
-GetBattlerSpriteDefault_Y: @ 80A6138
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x4
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end GetBattlerSpriteDefault_Y
-
- thumb_func_start GetSubstituteSpriteDefault_Y
-GetSubstituteSpriteDefault_Y: @ 80A614C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A6170
- adds r0, r4, 0
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 8
- movs r1, 0x80
- lsls r1, 13
- b _080A6180
-_080A6170:
- adds r0, r4, 0
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 8
- movs r1, 0x88
- lsls r1, 13
-_080A6180:
- adds r0, r1
- lsrs r0, 16
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetSubstituteSpriteDefault_Y
-
- thumb_func_start sub_80A6190
-sub_80A6190: @ 80A6190
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r6, r0, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080A6238
- adds r0, r5, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A61E4
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r5, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A621C
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- b _080A6202
- .pool
-_080A61E4:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r5, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A621C
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
-_080A6202:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- b _080A621E
- .pool
-_080A621C:
- ldrh r4, [r1, 0x2]
-_080A621E:
- adds r0, r5, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A6238
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80A5FA0
- subs r0, r6, r0
- lsls r0, 24
- lsrs r6, r0, 24
-_080A6238:
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A6190
-
- thumb_func_start GetAnimBattlerSpriteId
-GetAnimBattlerSpriteId: @ 80A6240
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0
- bne _080A6268
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- bl IsBattlerSpritePresent
- lsls r0, 24
- cmp r0, 0
- beq _080A62B6
- ldr r1, =gBattlerSpriteIds
- ldrb r0, [r4]
- b _080A62C6
- .pool
-_080A6268:
- cmp r0, 0x1
- bne _080A6288
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- bl IsBattlerSpritePresent
- lsls r0, 24
- cmp r0, 0
- beq _080A62B6
- ldr r1, =gBattlerSpriteIds
- ldrb r0, [r4]
- b _080A62C6
- .pool
-_080A6288:
- cmp r1, 0x2
- bne _080A62A4
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- movs r4, 0x2
- eors r0, r4
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A62B6
- b _080A62C0
- .pool
-_080A62A4:
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r4, 0x2
- eors r0, r4
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- bne _080A62C0
-_080A62B6:
- movs r0, 0xFF
- b _080A62CA
- .pool
-_080A62C0:
- ldr r1, =gBattlerSpriteIds
- ldrb r0, [r5]
- eors r0, r4
-_080A62C6:
- adds r0, r1
- ldrb r0, [r0]
-_080A62CA:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetAnimBattlerSpriteId
-
- thumb_func_start StoreSpriteCallbackInData6
-StoreSpriteCallbackInData6: @ 80A62D4
- strh r1, [r0, 0x3A]
- lsrs r1, 16
- strh r1, [r0, 0x3C]
- bx lr
- thumb_func_end StoreSpriteCallbackInData6
-
- thumb_func_start sub_80A62DC
-sub_80A62DC: @ 80A62DC
- ldrh r2, [r0, 0x3A]
- movs r3, 0x3C
- ldrsh r1, [r0, r3]
- lsls r1, 16
- orrs r2, r1
- str r2, [r0, 0x1C]
- bx lr
- thumb_func_end sub_80A62DC
-
- thumb_func_start sub_80A62EC
-sub_80A62EC: @ 80A62EC
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080A6340
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x2E]
- adds r1, r0, r2
- strh r1, [r4, 0x2E]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _080A632C
- ldr r2, =0xffffff00
- b _080A6334
- .pool
-_080A632C:
- cmp r0, 0
- bge _080A6338
- movs r2, 0x80
- lsls r2, 1
-_080A6334:
- adds r0, r1, r2
- strh r0, [r4, 0x2E]
-_080A6338:
- ldrh r0, [r4, 0x34]
- subs r0, 0x1
- strh r0, [r4, 0x34]
- b _080A6346
-_080A6340:
- adds r0, r4, 0
- bl sub_80A62DC
-_080A6346:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A62EC
-
- thumb_func_start sub_80A634C
-sub_80A634C: @ 80A634C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080A63BC
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- ldrh r1, [r4, 0x38]
- lsls r1, 16
- asrs r1, 24
- ldrh r2, [r4, 0x30]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- ldrh r1, [r4, 0x38]
- lsls r1, 16
- asrs r1, 24
- ldrh r2, [r4, 0x30]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x2E]
- adds r1, r0, r2
- strh r1, [r4, 0x2E]
- ldrh r0, [r4, 0x36]
- ldrh r2, [r4, 0x38]
- adds r0, r2
- strh r0, [r4, 0x38]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _080A63A8
- ldr r2, =0xffffff00
- b _080A63B0
- .pool
-_080A63A8:
- cmp r0, 0
- bge _080A63B4
- movs r2, 0x80
- lsls r2, 1
-_080A63B0:
- adds r0, r1, r2
- strh r0, [r4, 0x2E]
-_080A63B4:
- ldrh r0, [r4, 0x34]
- subs r0, 0x1
- strh r0, [r4, 0x34]
- b _080A63C2
-_080A63BC:
- adds r0, r4, 0
- bl sub_80A62DC
-_080A63C2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A634C
-
- thumb_func_start sub_80A63C8
-sub_80A63C8: @ 80A63C8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080A6444
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x2E]
- adds r1, r0, r2
- strh r1, [r4, 0x2E]
- ldrh r0, [r4, 0x38]
- ldrh r2, [r4, 0x36]
- adds r0, r2
- strh r0, [r4, 0x36]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _080A6410
- ldr r2, =0xffffff00
- b _080A6418
- .pool
-_080A6410:
- cmp r0, 0
- bge _080A641C
- movs r2, 0x80
- lsls r2, 1
-_080A6418:
- adds r0, r1, r2
- strh r0, [r4, 0x2E]
-_080A641C:
- ldrh r1, [r4, 0x36]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- cmp r0, 0xFF
- ble _080A6430
- ldr r2, =0xffffff00
- b _080A6438
- .pool
-_080A6430:
- cmp r0, 0
- bge _080A643C
- movs r2, 0x80
- lsls r2, 1
-_080A6438:
- adds r0, r1, r2
- strh r0, [r4, 0x36]
-_080A643C:
- ldrh r0, [r4, 0x34]
- subs r0, 0x1
- strh r0, [r4, 0x34]
- b _080A644A
-_080A6444:
- adds r0, r4, 0
- bl sub_80A62DC
-_080A644A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A63C8
-
- thumb_func_start sub_80A6450
-sub_80A6450: @ 80A6450
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080A64A4
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x2E]
- adds r1, r0, r2
- strh r1, [r4, 0x2E]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _080A6490
- ldr r2, =0xffffff00
- b _080A6498
- .pool
-_080A6490:
- cmp r0, 0
- bge _080A649C
- movs r2, 0x80
- lsls r2, 1
-_080A6498:
- adds r0, r1, r2
- strh r0, [r4, 0x2E]
-_080A649C:
- ldrh r0, [r4, 0x34]
- subs r0, 0x1
- strh r0, [r4, 0x34]
- b _080A64AA
-_080A64A4:
- adds r0, r4, 0
- bl sub_80A62DC
-_080A64AA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6450
-
- thumb_func_start sub_80A64B0
-sub_80A64B0: @ 80A64B0
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1, 0x2E]
- movs r3, 0x2E
- ldrsh r0, [r1, r3]
- cmp r0, 0
- ble _080A64C4
- subs r0, r2, 0x1
- strh r0, [r1, 0x2E]
- b _080A64CA
-_080A64C4:
- adds r0, r1, 0
- bl sub_80A62DC
-_080A64CA:
- pop {r0}
- bx r0
- thumb_func_end sub_80A64B0
-
- thumb_func_start sub_80A64D0
-sub_80A64D0: @ 80A64D0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A64EC
- ldr r1, =sub_80A653C
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A64D0
-
- thumb_func_start sub_80A64EC
-sub_80A64EC: @ 80A64EC
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r1, r0
- ble _080A6502
- ldrh r0, [r4, 0x2E]
- negs r0, r0
- strh r0, [r4, 0x2E]
-_080A6502:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- subs r0, r1
- ldrh r5, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl __divsi3
- cmp r0, 0
- bge _080A651C
- negs r0, r0
-_080A651C:
- strh r0, [r4, 0x2E]
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- subs r0, r1
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl __divsi3
- strh r0, [r4, 0x32]
- strh r5, [r4, 0x30]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A64EC
-
- thumb_func_start sub_80A653C
-sub_80A653C: @ 80A653C
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1, 0x2E]
- movs r3, 0x2E
- ldrsh r0, [r1, r3]
- cmp r0, 0
- ble _080A6560
- subs r0, r2, 0x1
- strh r0, [r1, 0x2E]
- ldrh r0, [r1, 0x30]
- ldrh r2, [r1, 0x24]
- adds r0, r2
- strh r0, [r1, 0x24]
- ldrh r0, [r1, 0x32]
- ldrh r3, [r1, 0x26]
- adds r0, r3
- strh r0, [r1, 0x26]
- b _080A6566
-_080A6560:
- adds r0, r1, 0
- bl sub_80A62DC
-_080A6566:
- pop {r0}
- bx r0
- thumb_func_end sub_80A653C
-
- thumb_func_start sub_80A656C
-sub_80A656C: @ 80A656C
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2E]
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- cmp r0, 0
- ble _080A659C
- subs r0, r1, 0x1
- strh r0, [r2, 0x2E]
- ldrh r0, [r2, 0x30]
- ldrh r1, [r2, 0x34]
- adds r0, r1
- strh r0, [r2, 0x34]
- ldrh r1, [r2, 0x32]
- ldrh r3, [r2, 0x36]
- adds r1, r3
- strh r1, [r2, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r2, 0x24]
- lsls r1, 16
- asrs r1, 24
- strh r1, [r2, 0x26]
- b _080A65A2
-_080A659C:
- adds r0, r2, 0
- bl sub_80A62DC
-_080A65A2:
- pop {r0}
- bx r0
- thumb_func_end sub_80A656C
-
- thumb_func_start sub_80A65A8
-sub_80A65A8: @ 80A65A8
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080A65D8
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x34]
- adds r0, r1
- strh r0, [r4, 0x34]
- ldrh r1, [r4, 0x32]
- ldrh r2, [r4, 0x36]
- adds r1, r2
- strh r1, [r4, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- lsls r1, 16
- asrs r1, 24
- strh r1, [r4, 0x26]
- b _080A65DE
-_080A65D8:
- adds r0, r4, 0
- bl sub_80A62DC
-_080A65DE:
- adds r0, r4, 0
- bl UpdateMonIconFrame
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A65A8
-
- thumb_func_start sub_80A65EC
-sub_80A65EC: @ 80A65EC
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x26]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x34]
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- ldr r0, =sub_80A64D0
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A65EC
-
- thumb_func_start sub_80A6630
-sub_80A6630: @ 80A6630
- push {r4,lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r3, r2]
- cmp r0, 0
- ble _080A6674
- subs r0, r1, 0x1
- strh r0, [r3, 0x2E]
- ldr r2, =gSprites
- movs r4, 0x34
- ldrsh r1, [r3, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x30]
- ldrh r4, [r0, 0x24]
- adds r1, r4
- strh r1, [r0, 0x24]
- movs r0, 0x34
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x32]
- ldrh r2, [r0, 0x26]
- adds r1, r2
- strh r1, [r0, 0x26]
- b _080A667A
- .pool
-_080A6674:
- adds r0, r3, 0
- bl sub_80A62DC
-_080A667A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6630
-
- thumb_func_start sub_80A6680
-sub_80A6680: @ 80A6680
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080A66D0
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x30]
- ldrh r0, [r4, 0x34]
- adds r1, r0
- strh r1, [r4, 0x34]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x36]
- adds r0, r2
- strh r0, [r4, 0x36]
- ldr r3, =gSprites
- movs r0, 0x38
- ldrsh r2, [r4, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- lsls r1, 16
- asrs r1, 24
- strh r1, [r0, 0x24]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r1, 0x26]
- b _080A66D6
- .pool
-_080A66D0:
- adds r0, r4, 0
- bl sub_80A62DC
-_080A66D6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6680
-
- thumb_func_start sub_80A66DC
-sub_80A66DC: @ 80A66DC
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080A673E
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x32]
- lsls r0, r1, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x30]
- adds r1, r0
- strh r1, [r4, 0x32]
- ldrh r1, [r4, 0x36]
- lsls r0, r1, 16
- asrs r0, 24
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x34]
- adds r1, r0
- strh r1, [r4, 0x36]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl __modsi3
- cmp r0, 0
- bne _080A6744
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080A6744
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- b _080A6744
-_080A673E:
- adds r0, r4, 0
- bl sub_80A62DC
-_080A6744:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A66DC
-
- thumb_func_start move_anim_8074EE0
-move_anim_8074EE0: @ 80A674C
- push {r4,lr}
- adds r4, r0, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroyAnimSprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end move_anim_8074EE0
-
- thumb_func_start sub_80A6760
-sub_80A6760: @ 80A6760
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x26]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x34]
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- ldr r0, =sub_80A64D0
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A6760
-
- thumb_func_start sub_80A67A4
-sub_80A67A4: @ 80A67A4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x38]
- bl ResetPaletteStructByUid
- adds r0, r4, 0
- bl move_anim_8074EE0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A67A4
-
- thumb_func_start sub_80A67BC
-sub_80A67BC: @ 80A67BC
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080A67D2
- adds r0, r2, 0
- bl sub_80A62DC
-_080A67D2:
- pop {r0}
- bx r0
- thumb_func_end sub_80A67BC
-
- thumb_func_start sub_80A67D8
-sub_80A67D8: @ 80A67D8
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080A67EE
- adds r0, r2, 0
- bl sub_80A62DC
-_080A67EE:
- pop {r0}
- bx r0
- thumb_func_end sub_80A67D8
-
- thumb_func_start sub_80A67F4
-sub_80A67F4: @ 80A67F4
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r4, 0
- bl DestroyAnimSprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A67F4
-
- thumb_func_start sub_80A6814
-sub_80A6814: @ 80A6814
- 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
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6814
-
- thumb_func_start sub_80A6838
-sub_80A6838: @ 80A6838
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A6838
-
- thumb_func_start sub_80A6864
-sub_80A6864: @ 80A6864
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- mov r8, r5
- ldr r7, =gBattleAnimAttacker
- ldrb r0, [r7]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- cmp r6, r0
- bhi _080A68B0
- cmp r6, r0
- bcs _080A68A4
- lsls r0, r5, 16
- b _080A68C0
- .pool
-_080A68A4:
- ldrb r0, [r7]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A68BC
-_080A68B0:
- ldrh r1, [r4, 0x20]
- lsls r0, r5, 16
- asrs r0, 16
- subs r1, r0
- strh r1, [r4, 0x20]
- b _080A68C8
-_080A68BC:
- mov r1, r8
- lsls r0, r1, 16
-_080A68C0:
- asrs r0, 16
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
-_080A68C8:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6864
-
- thumb_func_start sub_80A68D4
-sub_80A68D4: @ 80A68D4
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- movs r5, 0
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- movs r0, 0x80
- lsls r0, 8
- bl __divsi3
- strh r0, [r4, 0x3A]
- strh r5, [r4, 0x3C]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A68D4
-
- thumb_func_start AnimateBallThrow
-AnimateBallThrow: @ 80A6900
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A6F3C
- lsls r0, 24
- cmp r0, 0
- bne _080A692C
- ldrh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x3C]
- adds r0, r1
- strh r0, [r4, 0x3C]
- lsls r0, 16
- lsrs r0, 24
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- movs r0, 0
- b _080A692E
-_080A692C:
- movs r0, 0x1
-_080A692E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end AnimateBallThrow
-
- thumb_func_start sub_80A6934
-sub_80A6934: @ 80A6934
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A6F3C
- lsls r0, 24
- cmp r0, 0
- bne _080A6960
- ldrh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x3C]
- adds r0, r1
- strh r0, [r4, 0x3C]
- lsls r0, 16
- lsrs r0, 24
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r0, 0
- b _080A6962
-_080A6960:
- movs r0, 0x1
-_080A6962:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A6934
-
- thumb_func_start oamt_add_pos2_onto_pos1
-oamt_add_pos2_onto_pos1: @ 80A6968
- ldrh r1, [r0, 0x24]
- ldrh r2, [r0, 0x20]
- adds r1, r2
- movs r2, 0
- strh r1, [r0, 0x20]
- ldrh r1, [r0, 0x26]
- ldrh r3, [r0, 0x22]
- adds r1, r3
- strh r1, [r0, 0x22]
- strh r2, [r0, 0x24]
- strh r2, [r0, 0x26]
- bx lr
- thumb_func_end oamt_add_pos2_onto_pos1
-
- thumb_func_start sub_80A6980
-sub_80A6980: @ 80A6980
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- cmp r1, 0
- bne _080A69A8
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0
- bl sub_80A60AC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_80A60AC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
-_080A69A8:
- ldr r4, =gBattleAnimArgs
- movs r0, 0
- ldrsh r1, [r4, r0]
- adds r0, r5, 0
- bl sub_80A6864
- ldrh r0, [r4, 0x2]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A6980
-
- thumb_func_start sub_80A69CC
-sub_80A69CC: @ 80A69CC
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- cmp r1, 0
- bne _080A69F0
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0
- bl sub_80A60AC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- b _080A6A04
- .pool
-_080A69F0:
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_80A60AC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
-_080A6A04:
- bl sub_80A60AC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r4, =gBattleAnimArgs
- movs r0, 0
- ldrsh r1, [r4, r0]
- adds r0, r5, 0
- bl sub_80A6864
- ldrh r0, [r4, 0x2]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A69CC
-
- thumb_func_start GetBattlerSide
-GetBattlerSide: @ 80A6A30
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gBattlerPositions
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- bx lr
- .pool
- thumb_func_end GetBattlerSide
-
- thumb_func_start GetBattlerPosition
-GetBattlerPosition: @ 80A6A44
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gBattlerPositions
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end GetBattlerPosition
-
- thumb_func_start GetBattlerAtPosition
-GetBattlerAtPosition: @ 80A6A54
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r1, 0
- ldr r0, =gBattlersCount
- ldrb r2, [r0]
- cmp r1, r2
- bcs _080A6A7E
- ldr r4, =gBattlerPositions
- ldrb r0, [r4]
- cmp r0, r3
- beq _080A6A7E
-_080A6A6C:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r2
- bcs _080A6A7E
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, r3
- bne _080A6A6C
-_080A6A7E:
- adds r0, r1, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetBattlerAtPosition
-
- thumb_func_start IsBattlerSpritePresent
-IsBattlerSpritePresent: @ 80A6A90
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A6ABC
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- cmp r0, r4
- beq _080A6B0A
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- cmp r0, r4
- beq _080A6B0A
- b _080A6B18
- .pool
-_080A6ABC:
- ldr r0, =gBattlerPositions
- adds r0, r4, r0
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _080A6B18
- adds r0, r4, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A6AF0
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- b _080A6AFE
- .pool
-_080A6AF0:
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
-_080A6AFE:
- adds r0, r1
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _080A6B18
-_080A6B0A:
- movs r0, 0x1
- b _080A6B1A
- .pool
-_080A6B18:
- movs r0, 0
-_080A6B1A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end IsBattlerSpritePresent
-
- thumb_func_start IsDoubleBattle
-IsDoubleBattle: @ 80A6B20
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- bx lr
- .pool
- thumb_func_end IsDoubleBattle
-
- thumb_func_start sub_80A6B30
-sub_80A6B30: @ 80A6B30
- push {r4,lr}
- adds r4, r0, 0
- bl IsContest
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080A6B64
- ldr r0, =gUnknown_0202305C
- ldr r0, [r0]
- str r0, [r4]
- ldr r0, =gUnknown_02023060
- ldr r0, [r0]
- str r0, [r4, 0x4]
- movs r1, 0
- movs r0, 0xE
- strb r0, [r4, 0x8]
- movs r0, 0x1
- strb r0, [r4, 0x9]
- strh r1, [r4, 0xA]
- b _080A6B7E
- .pool
-_080A6B64:
- ldr r0, =gUnknown_0202305C
- ldr r0, [r0]
- str r0, [r4]
- ldr r0, =gUnknown_02023060
- ldr r0, [r0]
- str r0, [r4, 0x4]
- movs r0, 0x8
- strb r0, [r4, 0x8]
- movs r0, 0x1
- strb r0, [r4, 0x9]
- movs r0, 0x80
- lsls r0, 2
- strh r0, [r4, 0xA]
-_080A6B7E:
- strh r1, [r4, 0xC]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A6B30
-
- thumb_func_start sub_80A6B90
-sub_80A6B90: @ 80A6B90
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl IsContest
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080A6BC4
- ldr r0, =gUnknown_0202305C
- ldr r0, [r0]
- str r0, [r4]
- ldr r0, =gUnknown_02023060
- ldr r0, [r0]
- str r0, [r4, 0x4]
- movs r1, 0
- movs r0, 0xE
- strb r0, [r4, 0x8]
- movs r0, 0x1
- strb r0, [r4, 0x9]
- strh r1, [r4, 0xA]
- b _080A6BEA
- .pool
-_080A6BC4:
- cmp r5, 0x1
- bne _080A6BD0
- adds r0, r4, 0
- bl sub_80A6B30
- b _080A6BEC
-_080A6BD0:
- ldr r0, =gUnknown_0202305C
- ldr r0, [r0]
- str r0, [r4]
- ldr r0, =gUnknown_02023060
- ldr r0, [r0]
- str r0, [r4, 0x4]
- movs r0, 0x9
- strb r0, [r4, 0x8]
- movs r0, 0x2
- strb r0, [r4, 0x9]
- movs r0, 0xC0
- lsls r0, 2
- strh r0, [r4, 0xA]
-_080A6BEA:
- strh r1, [r4, 0xC]
-_080A6BEC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A6B90
-
- thumb_func_start sub_80A6BFC
-sub_80A6BFC: @ 80A6BFC
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, =gUnknown_0202305C
- ldr r0, [r0]
- str r0, [r4]
- ldr r0, =gUnknown_02023060
- ldr r0, [r0]
- str r0, [r4, 0x4]
- bl IsContest
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _080A6C30
- movs r0, 0
- movs r1, 0xE
- strb r1, [r4, 0x8]
- movs r1, 0x1
- strb r1, [r4, 0x9]
- strh r0, [r4, 0xA]
- strh r0, [r4, 0xC]
- b _080A6C60
- .pool
-_080A6C30:
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_80A8364
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- bne _080A6C50
- movs r0, 0x8
- strb r0, [r4, 0x8]
- strb r1, [r4, 0x9]
- movs r0, 0x80
- lsls r0, 2
- b _080A6C5C
- .pool
-_080A6C50:
- movs r0, 0x9
- strb r0, [r4, 0x8]
- movs r0, 0x2
- strb r0, [r4, 0x9]
- movs r0, 0xC0
- lsls r0, 2
-_080A6C5C:
- strh r0, [r4, 0xA]
- strh r5, [r4, 0xC]
-_080A6C60:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6BFC
-
- thumb_func_start sub_80A6C68
-sub_80A6C68: @ 80A6C68
- push {lr}
- sub sp, 0x20
- adds r1, r0, 0
- add r0, sp, 0xC
- bl sub_80A6B90
- movs r0, 0
- str r0, [sp, 0x1C]
- add r0, sp, 0x1C
- ldr r1, [sp, 0xC]
- ldr r2, =0x05000800
- bl CpuSet
- add r0, sp, 0xC
- ldrb r0, [r0, 0x9]
- ldr r1, [sp, 0xC]
- movs r2, 0x80
- lsls r2, 6
- add r3, sp, 0xC
- ldrh r3, [r3, 0xA]
- bl LoadBgTiles
- add r0, sp, 0xC
- ldrb r0, [r0, 0x9]
- movs r1, 0x20
- str r1, [sp]
- movs r1, 0x40
- str r1, [sp, 0x4]
- movs r1, 0x11
- str r1, [sp, 0x8]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- add r0, sp, 0xC
- ldrb r0, [r0, 0x9]
- bl CopyBgTilemapBufferToVram
- add sp, 0x20
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A6C68
-
- thumb_func_start sub_80A6CC0
-sub_80A6CC0: @ 80A6CC0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r5, r0, 0
- mov r8, r1
- adds r6, r2, 0
- movs r0, 0
- str r0, [sp]
- ldr r4, =gUnknown_0202305C
- ldr r1, [r4]
- ldr r2, =0x05000800
- mov r0, sp
- bl CpuSet
- ldr r1, [r4]
- mov r0, r8
- bl LZDecompressWram
- lsls r5, 24
- lsrs r5, 24
- ldr r1, [r4]
- movs r2, 0x80
- lsls r2, 6
- lsls r6, 16
- lsrs r6, 16
- adds r0, r5, 0
- adds r3, r6, 0
- bl LoadBgTiles
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A6CC0
-
- thumb_func_start sub_80A6D10
-sub_80A6D10: @ 80A6D10
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0x40
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6D10
-
- thumb_func_start sub_80A6D48
-sub_80A6D48: @ 80A6D48
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A6D10
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl CopyBgTilemapBufferToVram
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6D48
-
- thumb_func_start sub_80A6D60
-sub_80A6D60: @ 80A6D60
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r2, 0
- ldrb r0, [r4, 0x9]
- bl sub_80A6D10
- bl IsContest
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A6D86
- ldrb r0, [r4, 0x8]
- ldr r1, [r4, 0x4]
- lsls r3, r5, 24
- lsrs r3, 24
- movs r2, 0
- bl sub_80A4720
-_080A6D86:
- ldrb r0, [r4, 0x9]
- bl CopyBgTilemapBufferToVram
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6D60
-
- thumb_func_start sub_80A6D94
-sub_80A6D94: @ 80A6D94
- push {lr}
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080A6DA4
- movs r0, 0x2
- b _080A6DA6
-_080A6DA4:
- movs r0, 0x1
-_080A6DA6:
- pop {r1}
- bx r1
- thumb_func_end sub_80A6D94
-
- thumb_func_start sub_80A6DAC
-sub_80A6DAC: @ 80A6DAC
- push {lr}
- lsls r0, 24
- cmp r0, 0
- beq _080A6DBE
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A6DD4
-_080A6DBE:
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl SetAnimBgAttribute
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0x1
- bl SetAnimBgAttribute
- b _080A6DE8
-_080A6DD4:
- movs r0, 0x3
- movs r1, 0
- movs r2, 0x1
- bl SetAnimBgAttribute
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl SetAnimBgAttribute
-_080A6DE8:
- pop {r0}
- bx r0
- thumb_func_end sub_80A6DAC
-
- thumb_func_start sub_80A6DEC
-sub_80A6DEC: @ 80A6DEC
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- bl sub_80A6E14
- ldr r1, =sub_80A65A8
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A6DEC
-
- thumb_func_start sub_80A6E14
-sub_80A6E14: @ 80A6E14
- push {r4-r6,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x32]
- ldrh r1, [r5, 0x30]
- subs r0, r1
- ldrh r4, [r5, 0x36]
- ldrh r1, [r5, 0x34]
- subs r4, r1
- lsls r4, 24
- lsrs r4, 16
- lsls r0, 24
- asrs r0, 16
- movs r2, 0x2E
- ldrsh r1, [r5, r2]
- bl __divsi3
- movs r6, 0
- strh r0, [r5, 0x30]
- lsls r4, 16
- asrs r4, 16
- movs r0, 0x2E
- ldrsh r1, [r5, r0]
- adds r0, r4, 0
- bl __divsi3
- strh r0, [r5, 0x32]
- strh r6, [r5, 0x36]
- strh r6, [r5, 0x34]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6E14
-
- thumb_func_start obj_translate_based_on_private_1_2_3_4
-obj_translate_based_on_private_1_2_3_4: @ 80A6E54
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- movs r0, 0x32
- ldrsh r1, [r7, r0]
- movs r2, 0x30
- ldrsh r0, [r7, r2]
- subs r1, r0
- movs r3, 0x36
- ldrsh r2, [r7, r3]
- movs r3, 0x34
- ldrsh r0, [r7, r3]
- subs r2, r0
- lsrs r0, r1, 31
- mov r8, r0
- lsrs r3, r2, 31
- mov r9, r3
- cmp r1, 0
- bge _080A6E80
- negs r1, r1
-_080A6E80:
- lsls r0, r1, 24
- lsrs r6, r0, 16
- adds r0, r2, 0
- cmp r0, 0
- bge _080A6E8C
- negs r0, r0
-_080A6E8C:
- lsls r0, 24
- lsrs r5, r0, 16
- movs r0, 0x2E
- ldrsh r4, [r7, r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r5, r0, 16
- mov r2, r8
- cmp r2, 0
- beq _080A6EB8
- movs r0, 0x1
- orrs r6, r0
- b _080A6EBC
-_080A6EB8:
- ldr r0, =0x0000fffe
- ands r6, r0
-_080A6EBC:
- mov r3, r9
- cmp r3, 0
- beq _080A6ECC
- movs r0, 0x1
- orrs r5, r0
- b _080A6ED0
- .pool
-_080A6ECC:
- ldr r0, =0x0000fffe
- ands r5, r0
-_080A6ED0:
- movs r0, 0
- strh r6, [r7, 0x30]
- strh r5, [r7, 0x32]
- strh r0, [r7, 0x36]
- strh r0, [r7, 0x34]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end obj_translate_based_on_private_1_2_3_4
-
- thumb_func_start sub_80A6EEC
-sub_80A6EEC: @ 80A6EEC
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldr r1, =sub_80A6F98
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A6EEC
-
- thumb_func_start sub_80A6F14
-sub_80A6F14: @ 80A6F14
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldr r1, =sub_80A6FB4
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A6F14
-
- thumb_func_start sub_80A6F3C
-sub_80A6F3C: @ 80A6F3C
- push {r4-r6,lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _080A6F4C
- movs r0, 0x1
- b _080A6F90
-_080A6F4C:
- ldrh r1, [r2, 0x30]
- ldrh r4, [r2, 0x32]
- ldrh r6, [r2, 0x34]
- ldrh r5, [r2, 0x36]
- adds r0, r6, r1
- lsls r3, r0, 16
- lsrs r6, r3, 16
- adds r0, r5, r4
- lsls r0, 16
- lsrs r5, r0, 16
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- beq _080A6F6E
- lsrs r0, r3, 24
- negs r0, r0
- b _080A6F70
-_080A6F6E:
- lsrs r0, r3, 24
-_080A6F70:
- strh r0, [r2, 0x24]
- movs r0, 0x1
- ands r4, r0
- cmp r4, 0
- beq _080A6F80
- lsrs r0, r5, 8
- negs r0, r0
- b _080A6F82
-_080A6F80:
- lsrs r0, r5, 8
-_080A6F82:
- strh r0, [r2, 0x26]
- strh r6, [r2, 0x34]
- strh r5, [r2, 0x36]
- ldrh r0, [r2, 0x2E]
- subs r0, 0x1
- strh r0, [r2, 0x2E]
- movs r0, 0
-_080A6F90:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A6F3C
-
- thumb_func_start sub_80A6F98
-sub_80A6F98: @ 80A6F98
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A6F3C
- lsls r0, 24
- cmp r0, 0
- beq _080A6FAC
- adds r0, r4, 0
- bl sub_80A62DC
-_080A6FAC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6F98
-
- thumb_func_start sub_80A6FB4
-sub_80A6FB4: @ 80A6FB4
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8039E9C
- adds r0, r4, 0
- bl sub_80A6F3C
- lsls r0, 24
- cmp r0, 0
- beq _080A6FCE
- adds r0, r4, 0
- bl sub_80A62DC
-_080A6FCE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6FB4
-
- thumb_func_start sub_80A6FD4
-sub_80A6FD4: @ 80A6FD4
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- subs r0, r1, r0
- cmp r0, 0
- bge _080A6FE8
- negs r0, r0
-_080A6FE8:
- lsls r0, 8
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl __divsi3
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6FD4
-
- thumb_func_start sub_80A7000
-sub_80A7000: @ 80A7000
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- bl sub_80A6FD4
- ldr r1, =sub_80A6F98
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A7000
-
- thumb_func_start sub_80A7028
-sub_80A7028: @ 80A7028
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- movs r0, 0x32
- ldrsh r1, [r7, r0]
- movs r2, 0x30
- ldrsh r0, [r7, r2]
- subs r1, r0
- movs r3, 0x36
- ldrsh r2, [r7, r3]
- movs r3, 0x34
- ldrsh r0, [r7, r3]
- subs r2, r0
- lsrs r0, r1, 31
- mov r8, r0
- lsrs r3, r2, 31
- mov r9, r3
- cmp r1, 0
- bge _080A7054
- negs r1, r1
-_080A7054:
- lsls r0, r1, 20
- lsrs r6, r0, 16
- adds r0, r2, 0
- cmp r0, 0
- bge _080A7060
- negs r0, r0
-_080A7060:
- lsls r0, 20
- lsrs r5, r0, 16
- movs r0, 0x2E
- ldrsh r4, [r7, r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r5, r0, 16
- mov r2, r8
- cmp r2, 0
- beq _080A708C
- movs r0, 0x1
- orrs r6, r0
- b _080A7090
-_080A708C:
- ldr r0, =0x0000fffe
- ands r6, r0
-_080A7090:
- mov r3, r9
- cmp r3, 0
- beq _080A70A0
- movs r0, 0x1
- orrs r5, r0
- b _080A70A4
- .pool
-_080A70A0:
- ldr r0, =0x0000fffe
- ands r5, r0
-_080A70A4:
- movs r0, 0
- strh r6, [r7, 0x30]
- strh r5, [r7, 0x32]
- strh r0, [r7, 0x36]
- strh r0, [r7, 0x34]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A7028
-
- thumb_func_start sub_80A70C0
-sub_80A70C0: @ 80A70C0
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- bl sub_80A7028
- ldr r1, =sub_80A7144
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A70C0
-
- thumb_func_start sub_80A70E8
-sub_80A70E8: @ 80A70E8
- push {r4-r6,lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _080A70F8
- movs r0, 0x1
- b _080A713C
-_080A70F8:
- ldrh r1, [r2, 0x30]
- ldrh r4, [r2, 0x32]
- ldrh r6, [r2, 0x34]
- ldrh r5, [r2, 0x36]
- adds r0, r6, r1
- lsls r3, r0, 16
- lsrs r6, r3, 16
- adds r0, r5, r4
- lsls r0, 16
- lsrs r5, r0, 16
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- beq _080A711A
- lsrs r0, r3, 20
- negs r0, r0
- b _080A711C
-_080A711A:
- lsrs r0, r3, 20
-_080A711C:
- strh r0, [r2, 0x24]
- movs r0, 0x1
- ands r4, r0
- cmp r4, 0
- beq _080A712C
- lsrs r0, r5, 4
- negs r0, r0
- b _080A712E
-_080A712C:
- lsrs r0, r5, 4
-_080A712E:
- strh r0, [r2, 0x26]
- strh r6, [r2, 0x34]
- strh r5, [r2, 0x36]
- ldrh r0, [r2, 0x2E]
- subs r0, 0x1
- strh r0, [r2, 0x2E]
- movs r0, 0
-_080A713C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A70E8
-
- thumb_func_start sub_80A7144
-sub_80A7144: @ 80A7144
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A70E8
- lsls r0, 24
- cmp r0, 0
- beq _080A7158
- adds r0, r4, 0
- bl sub_80A62DC
-_080A7158:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7144
-
- thumb_func_start sub_80A7160
-sub_80A7160: @ 80A7160
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- subs r0, r1, r0
- cmp r0, 0
- bge _080A7174
- negs r0, r0
-_080A7174:
- lsls r0, 4
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl __divsi3
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_80A7028
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7160
-
- thumb_func_start sub_80A718C
-sub_80A718C: @ 80A718C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- bl sub_80A7160
- ldr r1, =sub_80A7144
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A718C
-
- thumb_func_start obj_id_set_rotscale
-obj_id_set_rotscale: @ 80A71B4
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsls r3, 16
- lsrs r3, 16
- ldr r5, =0xffff0000
- lsls r2, 16
- lsrs r1, 16
- orrs r1, r2
- str r1, [sp]
- ldr r0, [sp, 0x4]
- ands r0, r5
- orrs r0, r3
- str r0, [sp, 0x4]
- bl sub_80A7238
- lsls r0, 24
- cmp r0, 0
- beq _080A71F0
- mov r0, sp
- ldrh r0, [r0]
- negs r0, r0
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [sp]
- ands r1, r5
- orrs r1, r0
- str r1, [sp]
-_080A71F0:
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x3]
- lsls r4, 26
- lsrs r4, 27
- add r5, sp, 0x8
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0x1
- movs r3, 0x2
- bl ObjAffineSet
- ldr r0, =gOamMatrices
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r5]
- strh r0, [r4]
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0x2]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x4]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x6]
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end obj_id_set_rotscale
-
- thumb_func_start sub_80A7238
-sub_80A7238: @ 80A7238
- push {r4,lr}
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A7268
- ldr r4, =gSprites
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- movs r2, 0x32
- ldrsh r0, [r1, r2]
- cmp r0, 0xC9
- beq _080A7268
- movs r0, 0x1
- b _080A726A
- .pool
-_080A7268:
- movs r0, 0
-_080A726A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A7238
-
- thumb_func_start sub_80A7270
-sub_80A7270: @ 80A7270
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- ldr r1, =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r4, r0, r1
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r7, r0, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080A72A6
- adds r0, r7, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A72B4
-_080A72A6:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_080A72B4:
- ldr r1, =gSprites
- lsls r4, r6, 4
- adds r0, r4, r6
- lsls r0, 2
- adds r5, r0, r1
- movs r0, 0x3
- mov r1, r8
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r5, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x1]
- adds r2, r5, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080A7312
- ldrb r0, [r5, 0x1]
- lsls r0, 30
- cmp r0, 0
- bne _080A7312
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x6]
- 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]
-_080A7312:
- ldr r1, =gSprites
- adds r0, r4, r6
- lsls r0, 2
- adds r0, r1
- ldrb r3, [r0, 0x1]
- movs r1, 0x3
- orrs r3, r1
- strb r3, [r0, 0x1]
- lsrs r1, r3, 6
- ldrb r2, [r0, 0x3]
- lsrs r2, 6
- lsls r3, 30
- lsrs r3, 30
- bl CalcCenterToCornerVec
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A7270
-
- thumb_func_start sub_80A7344
-sub_80A7344: @ 80A7344
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl obj_id_set_rotscale
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0, 0x1]
- movs r1, 0x4
- negs r1, r1
- ands r1, r2
- movs r2, 0x1
- orrs r1, r2
- movs r2, 0xD
- negs r2, r2
- ands r1, r2
- strb r1, [r0, 0x1]
- adds r3, r0, 0
- adds r3, 0x2C
- ldrb r2, [r3]
- movs r1, 0x7F
- ands r1, r2
- strb r1, [r3]
- ldrb r3, [r0, 0x1]
- lsrs r1, r3, 6
- ldrb r2, [r0, 0x3]
- lsrs r2, 6
- lsls r3, 30
- lsrs r3, 30
- bl CalcCenterToCornerVec
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A7344
-
- thumb_func_start sub_80A73A0
-sub_80A73A0: @ 80A73A0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r2, r1, r2
- ldrb r0, [r2, 0x3]
- lsls r0, 26
- lsrs r0, 27
- ldr r1, =gOamMatrices
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x4]
- movs r3, 0x4
- ldrsh r0, [r0, r3]
- cmp r0, 0
- bge _080A73CC
- negs r0, r0
- lsls r0, 16
- lsrs r1, r0, 16
-_080A73CC:
- lsls r0, r1, 16
- asrs r0, 19
- strh r0, [r2, 0x26]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A73A0
-
- thumb_func_start sub_80A73E0
-sub_80A73E0: @ 80A73E0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r4, r0, 0
- ldr r0, [sp, 0x28]
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 16
- lsrs r5, r2, 16
- lsls r3, 16
- lsrs r7, r3, 16
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldrb r0, [r4, 0x1]
- lsls r0, 30
- lsrs r0, 30
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A7486
- adds r0, r4, 0
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0]
- cmp r6, 0
- beq _080A742E
- ldrb r3, [r4, 0x1]
- lsrs r1, r3, 6
- ldrb r2, [r4, 0x3]
- lsrs r2, 6
- lsls r3, 30
- lsrs r3, 30
- adds r0, r4, 0
- bl CalcCenterToCornerVec
-_080A742E:
- ldr r6, =0xffff0000
- lsls r0, r7, 16
- orrs r5, r0
- str r5, [sp]
- ldr r0, [sp, 0x4]
- ands r0, r6
- mov r1, r8
- orrs r0, r1
- str r0, [sp, 0x4]
- bl sub_80A7238
- lsls r0, 24
- cmp r0, 0
- beq _080A745C
- mov r0, sp
- ldrh r0, [r0]
- negs r0, r0
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [sp]
- ands r1, r6
- orrs r1, r0
- str r1, [sp]
-_080A745C:
- ldrb r4, [r4, 0x3]
- lsls r4, 26
- lsrs r4, 27
- add r5, sp, 0x8
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0x1
- movs r3, 0x2
- bl ObjAffineSet
- ldr r0, =gOamMatrices
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r5]
- strh r0, [r4]
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0x2]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x4]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x6]
-_080A7486:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A73E0
-
- thumb_func_start sub_80A749C
-sub_80A749C: @ 80A749C
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r3, 0x80
- lsls r3, 1
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x1
- adds r2, r3, 0
- bl sub_80A73E0
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- ldrb r3, [r4, 0x1]
- lsrs r1, r3, 6
- ldrb r2, [r4, 0x3]
- lsrs r2, 6
- lsls r3, 30
- lsrs r3, 30
- adds r0, r4, 0
- bl CalcCenterToCornerVec
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A749C
-
- thumb_func_start sub_80A74DC
-sub_80A74DC: @ 80A74DC
- push {lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl ArcTan2
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_80A74DC
-
- thumb_func_start sub_80A74F4
-sub_80A74F4: @ 80A74F4
- push {lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl sub_80A74DC
- lsls r0, 16
- negs r0, r0
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_80A74F4
-
- thumb_func_start sub_80A750C
-sub_80A750C: @ 80A750C
- push {r4-r7,lr}
- lsls r1, 24
- lsls r0, 20
- lsrs r0, 16
- cmp r1, 0
- bne _080A7588
- ldr r2, =gPlttBufferUnfaded
- ldr r1, =gPlttBufferFaded
- lsls r0, 1
- adds r4, r0, r1
- adds r5, r0, r2
- movs r6, 0xF
-_080A7524:
- ldr r0, [r5]
- lsls r2, r0, 27
- lsrs r2, 27
- lsls r1, r0, 22
- lsrs r1, 27
- adds r2, r1
- lsls r0, 17
- lsrs r0, 27
- adds r0, r2
- movs r1, 0x3
- bl __udivsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1F
- ands r0, r1
- ldrb r1, [r4]
- movs r3, 0x20
- negs r3, r3
- adds r2, r3, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r4]
- lsls r3, r0, 5
- ldrh r1, [r4]
- ldr r7, =0xfffffc1f
- adds r2, r7, 0
- ands r1, r2
- orrs r1, r3
- strh r1, [r4]
- lsls r0, 2
- ldrb r1, [r4, 0x1]
- movs r3, 0x7D
- negs r3, r3
- adds r2, r3, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x1]
- adds r4, 0x2
- adds r5, 0x2
- subs r6, 0x1
- cmp r6, 0
- bge _080A7524
- b _080A7598
- .pool
-_080A7588:
- lsls r1, r0, 1
- ldr r0, =gPlttBufferUnfaded
- adds r0, r1, r0
- ldr r2, =gPlttBufferFaded
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
-_080A7598:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A750C
-
- thumb_func_start sub_80A75AC
-sub_80A75AC: @ 80A75AC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r4, [sp, 0x28]
- ldr r5, [sp, 0x2C]
- ldr r6, [sp, 0x30]
- lsls r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- lsls r4, 24
- lsrs r4, 24
- mov r10, r4
- lsls r5, 24
- lsrs r5, 24
- str r5, [sp]
- lsls r6, 24
- lsrs r6, 24
- str r6, [sp, 0x4]
- movs r4, 0
- cmp r0, 0
- beq _080A7602
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080A75F6
- movs r4, 0xE
- b _080A7602
-_080A75F6:
- bl sub_80A6D94
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0x1
- lsls r4, r0
-_080A7602:
- cmp r7, 0
- beq _080A7614
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r1, r0, 0
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- orrs r4, r0
-_080A7614:
- mov r0, r8
- cmp r0, 0
- beq _080A7628
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- adds r1, r0, 0
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- orrs r4, r0
-_080A7628:
- mov r0, r9
- cmp r0, 0
- beq _080A764E
- ldr r6, =gBattleAnimAttacker
- ldrb r0, [r6]
- movs r5, 0x2
- eors r0, r5
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A764E
- ldrb r0, [r6]
- eors r0, r5
- adds r1, r0, 0
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- orrs r4, r0
-_080A764E:
- mov r0, r10
- cmp r0, 0
- beq _080A7674
- ldr r6, =gBattleAnimTarget
- ldrb r0, [r6]
- movs r5, 0x2
- eors r0, r5
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A7674
- ldrb r0, [r6]
- eors r0, r5
- adds r1, r0, 0
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- orrs r4, r0
-_080A7674:
- ldr r0, [sp]
- cmp r0, 0
- beq _080A769A
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080A7694
- movs r0, 0x80
- lsls r0, 1
- b _080A7698
- .pool
-_080A7694:
- movs r0, 0x80
- lsls r0, 7
-_080A7698:
- orrs r4, r0
-_080A769A:
- ldr r0, [sp, 0x4]
- cmp r0, 0
- beq _080A76B0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080A76B0
- movs r0, 0x80
- lsls r0, 2
- orrs r4, r0
-_080A76B0:
- adds r0, r4, 0
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A75AC
-
- thumb_func_start sub_80A76C4
-sub_80A76C4: @ 80A76C4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- movs r4, 0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A76F2
- cmp r5, 0
- beq _080A77A0
- movs r4, 0x80
- lsls r4, 11
- b _080A77A0
-_080A76F2:
- cmp r5, 0
- beq _080A771A
- movs r0, 0
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A771A
- movs r0, 0
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x10
- movs r4, 0x1
- lsls r4, r0
-_080A771A:
- cmp r6, 0
- beq _080A7746
- movs r0, 0x2
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A7746
- movs r0, 0x2
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- orrs r4, r0
-_080A7746:
- cmp r7, 0
- beq _080A7772
- movs r0, 0x1
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A7772
- movs r0, 0x1
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- orrs r4, r0
-_080A7772:
- mov r0, r8
- cmp r0, 0
- beq _080A77A0
- movs r0, 0x3
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A77A0
- movs r0, 0x3
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- orrs r4, r0
-_080A77A0:
- adds r0, r4, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A76C4
-
- thumb_func_start sub_80A77AC
-sub_80A77AC: @ 80A77AC
- lsls r0, 24
- lsrs r0, 24
- bx lr
- thumb_func_end sub_80A77AC
-
- thumb_func_start sub_80A77B4
-sub_80A77B4: @ 80A77B4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80A77B4
-
- thumb_func_start sub_80A77C8
-sub_80A77C8: @ 80A77C8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080A7806
- ldr r2, =gBattleAnimArgs
- movs r3, 0x6
- ldrsh r0, [r2, r3]
- movs r1, 0
- cmp r0, 0
- bne _080A77E2
- movs r1, 0x1
-_080A77E2:
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _080A77F8
- adds r0, r4, 0
- bl sub_80A69CC
- b _080A77FE
- .pool
-_080A77F8:
- adds r0, r4, 0
- bl sub_80A6980
-_080A77FE:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080A781A
-_080A7806:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0
- beq _080A781A
- adds r0, r4, 0
- bl move_anim_8074EE0
-_080A781A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A77C8
-
- thumb_func_start sub_80A7820
-sub_80A7820: @ 80A7820
- push {r4-r7,lr}
- adds r5, r0, 0
- ldr r6, =gBattleAnimArgs
- movs r1, 0xA
- ldrsh r0, [r6, r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- movs r1, 0
- cmp r0, 0
- bne _080A7838
- movs r1, 0x1
-_080A7838:
- ldrb r0, [r6, 0xA]
- movs r7, 0x1
- cmp r0, 0
- bne _080A7842
- movs r7, 0x3
-_080A7842:
- adds r0, r5, 0
- bl sub_80A69CC
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A785C
- ldrh r0, [r6, 0x4]
- negs r0, r0
- strh r0, [r6, 0x4]
-_080A785C:
- ldrh r0, [r6, 0x8]
- strh r0, [r5, 0x2E]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x4]
- adds r0, r1
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- adds r1, r7, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r6, [r6, 0x6]
- adds r0, r6
- strh r0, [r5, 0x36]
- ldr r0, =sub_80A6EEC
- str r0, [r5, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A7820
-
- thumb_func_start sub_80A78AC
-sub_80A78AC: @ 80A78AC
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A78CC
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080A78CC:
- ldr r4, =gBattleAnimArgs
- ldrh r0, [r4, 0x8]
- strh r0, [r6, 0x2E]
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x6]
- adds r0, r1
- strh r0, [r6, 0x36]
- ldrh r0, [r4, 0xA]
- strh r0, [r6, 0x38]
- adds r0, r6, 0
- bl sub_80A68D4
- ldr r0, =sub_80A791C
- str r0, [r6, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A78AC
-
- thumb_func_start sub_80A791C
-sub_80A791C: @ 80A791C
- push {r4,lr}
- adds r4, r0, 0
- bl AnimateBallThrow
- lsls r0, 24
- cmp r0, 0
- beq _080A7930
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080A7930:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A791C
-
- thumb_func_start sub_80A7938
-sub_80A7938: @ 80A7938
- push {r4-r7,lr}
- adds r5, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r2, 0xC
- ldrsh r1, [r0, r2]
- cmp r1, 0
- bne _080A7950
- movs r4, 0x1
- movs r7, 0x3
- b _080A7954
- .pool
-_080A7950:
- movs r4, 0
- movs r7, 0x1
-_080A7954:
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080A796C
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80A69CC
- ldr r0, =gBattleAnimAttacker
- b _080A7976
- .pool
-_080A796C:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80A6980
- ldr r0, =gBattleAnimTarget
-_080A7976:
- ldrb r6, [r0]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A798E
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080A798E:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80A6980
- ldr r4, =gBattleAnimArgs
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x2E]
- adds r0, r6, 0
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r2, [r4, 0x4]
- adds r0, r2
- strh r0, [r5, 0x32]
- adds r0, r6, 0
- adds r1, r7, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x6]
- adds r0, r4
- strh r0, [r5, 0x36]
- ldr r0, =sub_80A6EEC
- str r0, [r5, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A7938
-
- thumb_func_start duplicate_obj_of_side_rel2move_in_transparent_mode
-duplicate_obj_of_side_rel2move_in_transparent_mode: @ 80A79E8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xFF
- beq _080A7A52
- movs r6, 0
- ldr r2, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r1, r0, 2
-_080A7A04:
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r4, r0, r2
- adds r5, r4, 0
- adds r5, 0x3E
- ldrb r0, [r5]
- lsls r0, 31
- cmp r0, 0
- bne _080A7A48
- adds r0, r4, 0
- adds r1, r2
- movs r2, 0x44
- bl memcpy
- ldrb r1, [r4, 0x1]
- movs r2, 0xD
- negs r2, r2
- adds r0, r2, 0
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r4, 0x1]
- ldrb r0, [r5]
- adds r2, 0x8
- adds r1, r2, 0
- ands r0, r1
- strb r0, [r5]
- lsls r0, r6, 16
- asrs r0, 16
- b _080A7A56
- .pool
-_080A7A48:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x3F
- bls _080A7A04
-_080A7A52:
- movs r0, 0x1
- negs r0, r0
-_080A7A56:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end duplicate_obj_of_side_rel2move_in_transparent_mode
-
- thumb_func_start obj_delete_but_dont_free_vram
-obj_delete_but_dont_free_vram: @ 80A7A5C
- push {lr}
- adds r3, r0, 0
- adds r3, 0x3F
- ldrb r1, [r3]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r3]
- bl DestroySprite
- pop {r0}
- bx r0
- thumb_func_end obj_delete_but_dont_free_vram
-
- thumb_func_start sub_80A7A74
-sub_80A7A74: @ 80A7A74
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- movs r3, 0
- ldr r2, =gBattleAnimArgs
- movs r0, 0x4
- ldrsh r1, [r2, r0]
- movs r4, 0
- ldrsh r0, [r2, r4]
- cmp r1, r0
- ble _080A7A8E
- movs r3, 0x1
-_080A7A8E:
- cmp r1, r0
- bge _080A7A94
- ldr r3, =0x0000ffff
-_080A7A94:
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- movs r4, 0x2
- ldrsh r0, [r2, r4]
- cmp r1, r0
- ble _080A7AA2
- movs r6, 0x1
-_080A7AA2:
- cmp r1, r0
- bge _080A7AA8
- ldr r6, =0x0000ffff
-_080A7AA8:
- ldr r0, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- movs r1, 0
- strh r1, [r4, 0x8]
- ldrh r0, [r2, 0x8]
- strh r0, [r4, 0xA]
- strh r1, [r4, 0xC]
- ldrh r0, [r2]
- strh r0, [r4, 0xE]
- ldrh r0, [r2, 0x2]
- strh r0, [r4, 0x10]
- strh r3, [r4, 0x12]
- strh r6, [r4, 0x14]
- ldrh r0, [r2, 0x4]
- strh r0, [r4, 0x16]
- ldrh r0, [r2, 0x6]
- strh r0, [r4, 0x18]
- ldrh r1, [r2, 0x2]
- lsls r1, 8
- ldrh r0, [r2]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldr r0, =sub_80A7AFC
- str r0, [r4]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A7A74
-
- thumb_func_start sub_80A7AFC
-sub_80A7AFC: @ 80A7AFC
- 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
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- cmp r0, r1
- ble _080A7B90
- movs r0, 0
- strh r0, [r4, 0x8]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A7B4C
- ldrh r2, [r4, 0xE]
- movs r3, 0xE
- ldrsh r1, [r4, r3]
- movs r3, 0x16
- ldrsh r0, [r4, r3]
- cmp r1, r0
- beq _080A7B60
- ldrh r0, [r4, 0x12]
- adds r0, r2, r0
- strh r0, [r4, 0xE]
- b _080A7B60
- .pool
-_080A7B4C:
- ldrh r2, [r4, 0x10]
- movs r0, 0x10
- ldrsh r1, [r4, r0]
- movs r3, 0x18
- ldrsh r0, [r4, r3]
- cmp r1, r0
- beq _080A7B60
- ldrh r0, [r4, 0x14]
- adds r0, r2, r0
- strh r0, [r4, 0x10]
-_080A7B60:
- ldrh r1, [r4, 0x10]
- lsls r1, 8
- ldrh r0, [r4, 0xE]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080A7B90
- movs r3, 0x10
- ldrsh r1, [r4, r3]
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080A7B90
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080A7B90:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7AFC
-
- thumb_func_start sub_80A7B98
-sub_80A7B98: @ 80A7B98
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gBattleAnimArgs
- ldrb r0, [r0]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xFF
- bne _080A7BBC
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _080A7BE2
- .pool
-_080A7BBC:
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r2, =gSprites
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x5]
- lsrs r1, 4
- lsls r1, 4
- ldr r3, =0x00000101
- adds r2, r3, 0
- adds r1, r2
- strh r1, [r0, 0x8]
- bl sub_80A7BF4
-_080A7BE2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A7B98
-
- thumb_func_start sub_80A7BF4
-sub_80A7BF4: @ 80A7BF4
- ldr r3, =gBattleAnimArgs
- ldrh r1, [r3, 0x2]
- movs r2, 0
- strh r1, [r0, 0xA]
- strh r2, [r0, 0xC]
- ldrh r1, [r3, 0x4]
- strh r1, [r0, 0xE]
- strh r2, [r0, 0x10]
- ldrh r1, [r3, 0x6]
- strh r1, [r0, 0x12]
- strh r2, [r0, 0x14]
- ldrh r1, [r3, 0x8]
- strh r1, [r0, 0x16]
- ldr r1, =sub_80A7C1C
- str r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_80A7BF4
-
- thumb_func_start sub_80A7C1C
-sub_80A7C1C: @ 80A7C1C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- cmp r0, r1
- blt _080A7CAC
- movs r0, 0
- strh r0, [r4, 0x10]
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080A7C78
- ldrh r2, [r4, 0xC]
- adds r2, 0x1
- strh r2, [r4, 0xC]
- ldrh r0, [r4, 0x8]
- lsls r2, 24
- lsrs r2, 24
- ldrh r3, [r4, 0xA]
- movs r1, 0xF
- bl BlendPalette
- movs r2, 0xC
- ldrsh r1, [r4, r2]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080A7CAC
- movs r0, 0x1
- strh r0, [r4, 0x14]
- b _080A7CAC
- .pool
-_080A7C78:
- ldrh r2, [r4, 0xC]
- subs r2, 0x1
- strh r2, [r4, 0xC]
- ldrh r0, [r4, 0x8]
- lsls r2, 24
- lsrs r2, 24
- ldrh r3, [r4, 0xA]
- movs r1, 0xF
- bl BlendPalette
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- cmp r1, 0
- bne _080A7CAC
- ldrh r0, [r4, 0x16]
- subs r0, 0x1
- strh r0, [r4, 0x16]
- lsls r0, 16
- cmp r0, 0
- beq _080A7CA6
- strh r1, [r4, 0x10]
- strh r1, [r4, 0x14]
- b _080A7CAC
-_080A7CA6:
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080A7CAC:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7C1C
-
- thumb_func_start sub_80A7CB4
-sub_80A7CB4: @ 80A7CB4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- bne _080A7CD8
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _080A7CEE
- .pool
-_080A7CD8:
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- lsls r1, r2, 4
- ldr r2, =0x00000101
- adds r1, r2
- strh r1, [r0, 0x8]
- bl sub_80A7BF4
-_080A7CEE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A7CB4
-
- thumb_func_start sub_80A7CFC
-sub_80A7CFC: @ 80A7CFC
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0
- strh r1, [r3, 0x16]
- strh r1, [r3, 0x18]
- strh r1, [r3, 0x1A]
- strh r4, [r3, 0x26]
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r3, 0x1C]
- strh r0, [r3, 0x1E]
- strh r1, [r3, 0x20]
- adds r0, r3, 0
- adds r0, 0x22
- adds r3, 0x24
- adds r1, r3, 0
- bl sub_80A8048
- adds r0, r4, 0
- movs r1, 0
- bl sub_80A7270
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7CFC
-
- thumb_func_start sub_80A7D34
-sub_80A7D34: @ 80A7D34
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r5, =gUnknown_02038444
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- bl sub_80A8050
- movs r3, 0x16
- ldrsh r1, [r4, r3]
- lsls r1, 3
- adds r1, r0, r1
- str r1, [r5]
- movs r6, 0
- ldrsh r2, [r1, r6]
- ldr r0, =0x00007ffe
- cmp r2, r0
- beq _080A7DDC
- cmp r2, r0
- bgt _080A7E3C
- subs r0, 0x1
- cmp r2, r0
- beq _080A7DE2
- ldrb r0, [r1, 0x5]
- cmp r0, 0
- bne _080A7D82
- ldrh r0, [r1]
- strh r0, [r4, 0x1C]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x1E]
- ldrb r0, [r1, 0x4]
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
- adds r0, r1, 0
- adds r0, 0x8
- str r0, [r5]
-_080A7D82:
- ldr r1, [r5]
- ldrh r0, [r1]
- ldrh r2, [r4, 0x1C]
- adds r0, r2
- strh r0, [r4, 0x1C]
- ldrh r0, [r1, 0x2]
- ldrh r3, [r4, 0x1E]
- adds r0, r3
- strh r0, [r4, 0x1E]
- ldrh r0, [r4, 0x20]
- ldrb r1, [r1, 0x4]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0x1C
- ldrsh r1, [r4, r6]
- movs r3, 0x1E
- ldrsh r2, [r4, r3]
- ldrh r3, [r4, 0x20]
- bl obj_id_set_rotscale
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A7E6C
- ldrh r0, [r4, 0x18]
- adds r0, 0x1
- strh r0, [r4, 0x18]
- lsls r0, 16
- asrs r0, 16
- ldr r1, [r5]
- ldrb r1, [r1, 0x5]
- cmp r0, r1
- blt _080A7E62
- movs r0, 0
- strh r0, [r4, 0x18]
- b _080A7E34
- .pool
-_080A7DDC:
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x16]
- b _080A7E62
-_080A7DE2:
- ldrh r2, [r1, 0x2]
- movs r6, 0x2
- ldrsh r0, [r1, r6]
- cmp r0, 0
- beq _080A7E34
- ldrh r1, [r4, 0x1A]
- movs r3, 0x1A
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _080A7E02
- subs r0, r1, 0x1
- strh r0, [r4, 0x1A]
- lsls r0, 16
- cmp r0, 0
- bne _080A7E04
- b _080A7E34
-_080A7E02:
- strh r2, [r4, 0x1A]
-_080A7E04:
- movs r6, 0x16
- ldrsh r0, [r4, r6]
- cmp r0, 0
- beq _080A7E62
- ldr r3, =gUnknown_02038444
- ldr r5, =0x00007ffd
-_080A7E10:
- ldrh r2, [r4, 0x16]
- subs r1, r2, 0x1
- strh r1, [r4, 0x16]
- ldr r0, [r3]
- subs r0, 0x8
- str r0, [r3]
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r0, r5
- beq _080A7E60
- lsls r0, r1, 16
- cmp r0, 0
- bne _080A7E10
- b _080A7E62
- .pool
-_080A7E34:
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
- b _080A7E62
-_080A7E3C:
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x26]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A7344
- movs r0, 0
- b _080A7E64
- .pool
-_080A7E60:
- strh r2, [r4, 0x16]
-_080A7E62:
- movs r0, 0x1
-_080A7E64:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A7D34
-
- thumb_func_start sub_80A7E6C
-sub_80A7E6C: @ 80A7E6C
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80A7F18
- lsls r0, 16
- lsrs r0, 15
- movs r1, 0x40
- subs r5, r1, r0
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r4, r0, r1
- ldrb r1, [r4, 0x3]
- lsls r1, 26
- lsrs r1, 27
- lsls r0, r5, 8
- ldr r2, =gOamMatrices
- lsls r1, 3
- adds r1, r2
- movs r2, 0x6
- ldrsh r1, [r1, r2]
- bl __divsi3
- cmp r0, 0x80
- ble _080A7EA8
- movs r0, 0x80
-_080A7EA8:
- subs r0, r5, r0
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r4, 0x26]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A7E6C
-
- thumb_func_start sub_80A7EC0
-sub_80A7EC0: @ 80A7EC0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A7F18
- lsls r0, 16
- lsrs r0, 15
- movs r1, 0x40
- subs r5, r1, r0
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r4, r0, r1
- ldrb r1, [r4, 0x3]
- lsls r1, 26
- lsrs r1, 27
- lsls r0, r5, 8
- ldr r2, =gOamMatrices
- lsls r1, 3
- adds r1, r2
- movs r2, 0x6
- ldrsh r1, [r1, r2]
- bl __divsi3
- cmp r0, 0x80
- ble _080A7F00
- movs r0, 0x80
-_080A7F00:
- subs r0, r5, r0
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r4, 0x26]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A7EC0
-
- thumb_func_start sub_80A7F18
-sub_80A7F18: @ 80A7F18
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x2E]
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r1, =gBattlerSpriteIds
- ldr r7, =0x00000181
- ldr r0, =gBattleMonForms
- adds r6, r5, r0
-_080A7F38:
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, r2
- beq _080A7F42
- b _080A8034
-_080A7F42:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A7F78
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- ldrh r2, [r0]
- ldr r1, =gUnknown_083021D8
- lsls r0, r2, 2
- adds r0, r1
- ldrb r0, [r0, 0x1]
- b _080A8042
- .pool
-_080A7F78:
- lsls r0, r4, 24
- lsrs r0, 24
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080A7FD8
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r5, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A7FC0
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r2, r0, 16
- b _080A7FC2
- .pool
-_080A7FC0:
- ldrh r2, [r1, 0x2]
-_080A7FC2:
- cmp r2, r7
- bne _080A7FD0
- ldr r0, =gUnknown_08525F8C
- b _080A8018
- .pool
-_080A7FD0:
- ldr r0, =gUnknown_083021D8
- b _080A8026
- .pool
-_080A7FD8:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r5, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A8010
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r2, r0, 16
- b _080A8012
- .pool
-_080A8010:
- ldrh r2, [r1, 0x2]
-_080A8012:
- cmp r2, r7
- bne _080A8024
- ldr r0, =gUnknown_08525F88
-_080A8018:
- ldrb r1, [r6]
- adds r1, r0
- ldrb r0, [r1]
- b _080A8042
- .pool
-_080A8024:
- ldr r0, =gMonFrontPicCoords
-_080A8026:
- lsls r1, r2, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- b _080A8042
- .pool
-_080A8034:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bhi _080A8040
- b _080A7F38
-_080A8040:
- movs r0, 0x40
-_080A8042:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A7F18
-
- thumb_func_start sub_80A8048
-sub_80A8048: @ 80A8048
- strh r2, [r0]
- asrs r2, 16
- strh r2, [r1]
- bx lr
- thumb_func_end sub_80A8048
-
- thumb_func_start sub_80A8050
-sub_80A8050: @ 80A8050
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- orrs r0, r1
- bx lr
- thumb_func_end sub_80A8050
-
- thumb_func_start sub_80A805C
-sub_80A805C: @ 80A805C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- adds r5, r3, 0
- ldr r0, [sp, 0x14]
- ldr r4, [sp, 0x18]
- ldr r6, [sp, 0x1C]
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 16
- lsrs r2, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r6, 16
- lsrs r6, 16
- mov r3, r8
- strh r6, [r3, 0x18]
- strh r1, [r3, 0x26]
- strh r2, [r3, 0x1A]
- strh r5, [r3, 0x1C]
- strh r0, [r3, 0x22]
- strh r4, [r3, 0x24]
- lsls r0, 16
- asrs r0, 16
- lsls r2, 16
- asrs r2, 16
- subs r0, r2
- adds r1, r6, 0
- bl __divsi3
- mov r1, r8
- strh r0, [r1, 0x1E]
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- subs r4, r5
- adds r0, r4, 0
- adds r1, r6, 0
- bl __divsi3
- mov r3, r8
- strh r0, [r3, 0x20]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A805C
-
- thumb_func_start sub_80A80C8
-sub_80A80C8: @ 80A80C8
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x18]
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080A80DA
- movs r0, 0
- b _080A8136
-_080A80DA:
- subs r0, r1, 0x1
- strh r0, [r4, 0x18]
- lsls r0, 16
- cmp r0, 0
- beq _080A80F4
- ldrh r0, [r4, 0x1E]
- ldrh r3, [r4, 0x1A]
- adds r0, r3
- strh r0, [r4, 0x1A]
- ldrh r0, [r4, 0x20]
- ldrh r1, [r4, 0x1C]
- adds r0, r1
- b _080A80FA
-_080A80F4:
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x1A]
- ldrh r0, [r4, 0x24]
-_080A80FA:
- strh r0, [r4, 0x1C]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x1A
- ldrsh r1, [r4, r2]
- movs r3, 0x1C
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl obj_id_set_rotscale
- movs r0, 0x18
- ldrsh r3, [r4, r0]
- cmp r3, 0
- beq _080A8124
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A7E6C
- b _080A8134
-_080A8124:
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x26]
-_080A8134:
- ldrb r0, [r4, 0x18]
-_080A8136:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A80C8
-
- thumb_func_start sub_80A8140
-sub_80A8140: @ 80A8140
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gAnimFriendship
- ldrb r0, [r0]
- movs r1, 0
- cmp r0, 0x1E
- bls _080A815E
- movs r1, 0x1
- cmp r0, 0x64
- bls _080A815E
- movs r1, 0x3
- cmp r0, 0xC8
- bhi _080A815E
- movs r1, 0x2
-_080A815E:
- ldr r0, =gBattleAnimArgs
- strh r1, [r0, 0xE]
- adds r0, r2, 0
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A8140
-
- thumb_func_start sub_80A8174
-sub_80A8174: @ 80A8174
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r7, r4, 0
- ldr r6, =gBattleAnimTarget
- ldrb r0, [r6]
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A81B4
- ldr r2, =gSprites
- ldr r1, =gBattlerSpriteIds
- ldrb r0, [r6]
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x3
- adds r2, r4, 0
- ands r2, r0
- lsls r2, 2
- ldrb r3, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
-_080A81B4:
- ldr r0, =gBattleAnimAttacker
- mov r8, r0
- ldrb r0, [r0]
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A81EC
- ldr r2, =gSprites
- ldr r1, =gBattlerSpriteIds
- mov r3, r8
- ldrb r0, [r3]
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x3
- adds r2, r4, 0
- ands r2, r0
- lsls r2, 2
- ldrb r3, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
-_080A81EC:
- ldrb r0, [r6]
- movs r5, 0x2
- eors r0, r5
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A8224
- ldr r2, =gSprites
- ldr r1, =gBattlerSpriteIds
- ldrb r0, [r6]
- eors r0, r5
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x3
- adds r2, r4, 0
- ands r2, r0
- lsls r2, 2
- ldrb r3, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
-_080A8224:
- mov r1, r8
- ldrb r0, [r1]
- eors r0, r5
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A825C
- ldr r2, =gSprites
- ldr r1, =gBattlerSpriteIds
- mov r3, r8
- ldrb r0, [r3]
- eors r0, r5
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x3
- ands r7, r0
- lsls r3, r7, 2
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
-_080A825C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A8174
-
- thumb_func_start sub_80A8278
-sub_80A8278: @ 80A8278
- push {r4-r6,lr}
- movs r5, 0
- ldr r0, =gBattlersCount
- ldrb r0, [r0]
- cmp r5, r0
- bge _080A82D2
- ldr r6, =gSprites
-_080A8286:
- lsls r0, r5, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A82C8
- adds r0, r4, 0
- bl sub_80A82E4
- ldr r3, =gBattlerSpriteIds
- adds r3, r5, r3
- ldrb r2, [r3]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r6
- adds r1, 0x43
- strb r0, [r1]
- ldrb r1, [r3]
- 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, 0x8
- orrs r2, r1
- strb r2, [r0, 0x5]
-_080A82C8:
- adds r5, 0x1
- ldr r0, =gBattlersCount
- ldrb r0, [r0]
- cmp r5, r0
- blt _080A8286
-_080A82D2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A8278
-
- thumb_func_start sub_80A82E4
-sub_80A82E4: @ 80A82E4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A8300
- cmp r4, 0x2
- bne _080A82FC
- movs r0, 0x1E
- b _080A8320
-_080A82FC:
- movs r0, 0x28
- b _080A8320
-_080A8300:
- adds r0, r4, 0
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1E
- cmp r0, 0
- beq _080A831E
- movs r1, 0x14
- cmp r0, 0x2
- beq _080A831E
- movs r1, 0x32
- cmp r0, 0x1
- bne _080A831E
- movs r1, 0x28
-_080A831E:
- adds r0, r1, 0
-_080A8320:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A82E4
-
- thumb_func_start sub_80A8328
-sub_80A8328: @ 80A8328
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A8344
- movs r0, 0x2
- b _080A835C
-_080A8344:
- cmp r4, 0
- beq _080A834C
- cmp r4, 0x3
- bne _080A8350
-_080A834C:
- movs r0, 0x2
- b _080A8352
-_080A8350:
- movs r0, 0x1
-_080A8352:
- movs r1, 0x4
- bl sub_8118140
- lsls r0, 24
- lsrs r0, 24
-_080A835C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A8328
-
- thumb_func_start sub_80A8364
-sub_80A8364: @ 80A8364
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080A838A
- adds r0, r4, 0
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080A8386
- cmp r0, 0x3
- bne _080A838A
-_080A8386:
- movs r0, 0x2
- b _080A838C
-_080A838A:
- movs r0, 0x1
-_080A838C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A8364
-
- thumb_func_start sub_80A8394
-sub_80A8394: @ 80A8394
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r4, [sp, 0x30]
- ldr r5, [sp, 0x34]
- ldr r6, [sp, 0x38]
- mov r8, r6
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 16
- lsrs r3, 16
- mov r10, r3
- lsls r4, 16
- lsrs r4, 16
- str r4, [sp, 0x4]
- lsls r5, 24
- lsrs r5, 24
- str r5, [sp, 0x8]
- lsls r0, r7, 3
- ldr r1, =gUnknown_08525FC0
- adds r0, r1
- bl LoadSpriteSheet
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0xC]
- ldr r1, =gUnknown_08525F90
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x2]
- bl AllocSpritePalette
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gMonSpritesGfxPtr
- ldr r0, [r4]
- cmp r0, 0
- beq _080A8412
- movs r1, 0xBE
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _080A8412
- movs r0, 0x80
- lsls r0, 6
- bl AllocZeroed
- ldr r1, [r4]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r2
- str r0, [r1]
-_080A8412:
- mov r3, r9
- cmp r3, 0
- bne _080A84B0
- adds r0, r6, 0
- ldr r1, [sp, 0x3C]
- mov r2, r8
- bl GetFrontSpritePalFromSpeciesAndPersonality
- lsls r1, r5, 20
- movs r2, 0x80
- lsls r2, 17
- adds r1, r2
- lsrs r1, 16
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r3, [sp, 0x44]
- cmp r3, 0x1
- beq _080A845E
- ldr r0, [sp, 0x40]
- lsls r1, r0, 24
- lsrs r1, 24
- movs r0, 0x5
- bl sub_80688F8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A845E
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- ldr r2, [sp, 0x40]
- lsls r0, r2, 2
- adds r0, r1
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- beq _080A8488
-_080A845E:
- lsls r0, r6, 3
- ldr r1, =gMonFrontPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- movs r3, 0xBE
- lsls r3, 1
- adds r1, r3
- ldr r1, [r1]
- movs r2, 0x1
- b _080A850A
- .pool
-_080A8488:
- lsls r0, r6, 3
- ldr r1, =gMonFrontPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0x1
- str r2, [sp]
- adds r2, r6, 0
- mov r3, r8
- bl LoadSpecialPokePic_2
- b _080A8540
- .pool
-_080A84B0:
- adds r0, r6, 0
- ldr r1, [sp, 0x3C]
- mov r2, r8
- bl GetFrontSpritePalFromSpeciesAndPersonality
- lsls r1, r5, 20
- movs r3, 0x80
- lsls r3, 17
- adds r1, r3
- lsrs r1, 16
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r0, [sp, 0x44]
- cmp r0, 0x1
- beq _080A84F6
- ldr r2, [sp, 0x40]
- lsls r1, r2, 24
- lsrs r1, 24
- movs r0, 0x5
- bl sub_80688F8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A84F6
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- ldr r3, [sp, 0x40]
- lsls r0, r3, 2
- adds r0, r1
- ldrh r2, [r0, 0x2]
- cmp r2, 0
- beq _080A8524
-_080A84F6:
- lsls r0, r6, 3
- ldr r1, =gMonBackPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0
-_080A850A:
- str r2, [sp]
- adds r2, r6, 0
- mov r3, r8
- bl LoadSpecialPokePic_DontHandleDeoxys
- b _080A8540
- .pool
-_080A8524:
- lsls r0, r6, 3
- ldr r1, =gMonBackPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- movs r3, 0xBE
- lsls r3, 1
- adds r1, r3
- ldr r1, [r1]
- str r2, [sp]
- adds r2, r6, 0
- mov r3, r8
- bl LoadSpecialPokePic_2
-_080A8540:
- ldr r5, =gMonSpritesGfxPtr
- ldr r0, [r5]
- movs r4, 0xBE
- lsls r4, 1
- adds r0, r4
- ldr r0, [r0]
- ldr r2, [sp, 0xC]
- lsls r1, r2, 5
- ldr r3, =0x06010000
- adds r1, r3
- movs r2, 0x80
- lsls r2, 4
- movs r3, 0x1
- bl RequestDma3Copy
- ldr r0, [r5]
- adds r0, r4
- ldr r0, [r0]
- bl Free
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0
- str r1, [r0]
- mov r0, r9
- cmp r0, 0
- bne _080A85A0
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 3
- ldr r1, =gUnknown_08525F90
- adds r0, r1
- mov r2, r10
- lsls r1, r2, 16
- asrs r1, 16
- ldr r3, =gMonFrontPicCoords
- b _080A85B2
- .pool
-_080A85A0:
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 3
- ldr r1, =gUnknown_08525F90
- adds r0, r1
- mov r2, r10
- lsls r1, r2, 16
- asrs r1, 16
- ldr r3, =gUnknown_083021D8
-_080A85B2:
- lsls r2, r6, 2
- adds r2, r3
- ldrb r2, [r2, 0x1]
- ldr r3, [sp, 0x4]
- adds r2, r3
- lsls r2, 16
- asrs r2, 16
- ldr r3, [sp, 0x8]
- bl CreateSprite
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A85EE
- ldr r3, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x10
- adds r1, r0, r1
- ldr r2, =gUnknown_082FF6C0
- str r2, [r1]
- adds r0, r3
- movs r1, 0
- bl StartSpriteAffineAnim
-_080A85EE:
- adds r0, r4, 0
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A8394
-
- thumb_func_start sub_80A8610
-sub_80A8610: @ 80A8610
- push {lr}
- bl DestroySpriteAndFreeResources
- pop {r0}
- bx r0
- thumb_func_end sub_80A8610
-
- thumb_func_start sub_80A861C
-sub_80A861C: @ 80A861C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A86C4
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r2, [r0, 0x18]
- ldrb r1, [r2, 0x4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A8654
- ldrh r7, [r2, 0x2]
- ldr r2, [r2, 0x10]
- b _080A8658
- .pool
-_080A8654:
- ldrh r7, [r2]
- ldr r2, [r2, 0x8]
-_080A8658:
- cmp r7, 0xC9
- bne _080A86A4
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r2
- lsrs r0, 18
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r2
- lsrs r1, 12
- orrs r0, r1
- movs r1, 0xC0
- lsls r1, 2
- ands r1, r2
- lsrs r1, 6
- orrs r0, r1
- movs r1, 0x3
- ands r1, r2
- orrs r0, r1
- movs r1, 0x1C
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _080A8690
- movs r0, 0xC9
- b _080A869A
-_080A8690:
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
-_080A869A:
- lsls r1, r0, 2
- ldr r0, =gUnknown_083021D8
- b _080A8864
- .pool
-_080A86A4:
- ldr r0, =0x00000181
- cmp r7, r0
- bne _080A86AC
- b _080A8834
-_080A86AC:
- movs r0, 0xCE
- lsls r0, 1
- cmp r7, r0
- bhi _080A877C
- lsls r1, r7, 2
- ldr r0, =gUnknown_083021D8
- b _080A8864
- .pool
-_080A86C4:
- mov r0, r8
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080A8790
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- mov r1, r8
- lsls r2, r1, 2
- adds r1, r2, r0
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A871C
- ldr r0, =gBattlerPartyIndexes
- mov r1, r8
- lsls r4, r1, 1
- adds r4, r0
- ldrh r0, [r4]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r7, r0, 16
- ldrh r0, [r4]
- muls r0, r6
- adds r0, r5
- movs r1, 0
- bl GetMonData
- adds r2, r0, 0
- b _080A8724
- .pool
-_080A871C:
- ldrh r7, [r1, 0x2]
- ldr r0, =gTransformedPersonalities
- adds r0, r2, r0
- ldr r2, [r0]
-_080A8724:
- cmp r7, 0xC9
- bne _080A8774
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r2
- lsrs r0, 18
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r2
- lsrs r1, 12
- orrs r0, r1
- movs r1, 0xC0
- lsls r1, 2
- ands r1, r2
- lsrs r1, 6
- orrs r0, r1
- movs r1, 0x3
- ands r1, r2
- orrs r0, r1
- movs r1, 0x1C
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _080A8760
- movs r0, 0xC9
- b _080A876A
- .pool
-_080A8760:
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
-_080A876A:
- lsls r1, r0, 2
- ldr r0, =gUnknown_083021D8
- b _080A8864
- .pool
-_080A8774:
- movs r0, 0xCE
- lsls r0, 1
- cmp r7, r0
- bls _080A8784
-_080A877C:
- ldr r4, =gUnknown_083021D8
- b _080A8866
- .pool
-_080A8784:
- lsls r1, r7, 2
- ldr r0, =gUnknown_083021D8
- b _080A8864
- .pool
-_080A8790:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- mov r1, r8
- lsls r2, r1, 2
- adds r1, r2, r0
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A87DC
- ldr r0, =gBattlerPartyIndexes
- mov r1, r8
- lsls r4, r1, 1
- adds r4, r0
- ldrh r0, [r4]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gEnemyParty
- adds r0, r5
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r7, r0, 16
- ldrh r0, [r4]
- muls r0, r6
- adds r0, r5
- movs r1, 0
- bl GetMonData
- adds r2, r0, 0
- b _080A87E4
- .pool
-_080A87DC:
- ldrh r7, [r1, 0x2]
- ldr r0, =gTransformedPersonalities
- adds r0, r2, r0
- ldr r2, [r0]
-_080A87E4:
- cmp r7, 0xC9
- bne _080A882E
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r2
- lsrs r0, 18
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r2
- lsrs r1, 12
- orrs r0, r1
- movs r1, 0xC0
- lsls r1, 2
- ands r1, r2
- lsrs r1, 6
- orrs r0, r1
- movs r1, 0x3
- ands r1, r2
- orrs r0, r1
- movs r1, 0x1C
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _080A8820
- movs r0, 0xC9
- b _080A882A
- .pool
-_080A8820:
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
-_080A882A:
- lsls r1, r0, 2
- b _080A8862
-_080A882E:
- ldr r0, =0x00000181
- cmp r7, r0
- bne _080A8850
-_080A8834:
- ldr r0, =gBattleMonForms
- add r0, r8
- ldrb r0, [r0]
- lsls r0, 2
- ldr r1, =gCastformFrontSpriteCoords
- adds r4, r0, r1
- b _080A8866
- .pool
-_080A8850:
- movs r0, 0xCE
- lsls r0, 1
- cmp r7, r0
- bls _080A8860
- ldr r4, =gMonFrontPicCoords
- b _080A8866
- .pool
-_080A8860:
- lsls r1, r7, 2
-_080A8862:
- ldr r0, =gMonFrontPicCoords
-_080A8864:
- adds r4, r1, r0
-_080A8866:
- mov r0, r9
- cmp r0, 0x6
- bhi _080A8916
- lsls r0, 2
- ldr r1, =_080A8880
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080A8880:
- .4byte _080A889C
- .4byte _080A88A6
- .4byte _080A88D2
- .4byte _080A88EA
- .4byte _080A88AE
- .4byte _080A88C0
- .4byte _080A8902
-_080A889C:
- ldrb r1, [r4]
- movs r0, 0xF
- ands r0, r1
- lsls r0, 3
- b _080A8918
-_080A88A6:
- ldrb r0, [r4]
- lsrs r0, 4
- lsls r0, 3
- b _080A8918
-_080A88AE:
- mov r0, r8
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r4]
- lsrs r1, 4
- b _080A88E4
-_080A88C0:
- mov r0, r8
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r4]
- lsrs r1, 4
- b _080A88FC
-_080A88D2:
- mov r0, r8
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrb r2, [r4]
- movs r1, 0xF
- ands r1, r2
-_080A88E4:
- lsls r1, 2
- subs r0, r1
- b _080A8918
-_080A88EA:
- mov r0, r8
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrb r2, [r4]
- movs r1, 0xF
- ands r1, r2
-_080A88FC:
- lsls r1, 2
- adds r0, r1
- b _080A8918
-_080A8902:
- mov r0, r8
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1F
- ldrb r1, [r4, 0x1]
- subs r0, r1
- b _080A8918
-_080A8916:
- movs r0, 0
-_080A8918:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A861C
-
- thumb_func_start sub_80A8924
-sub_80A8924: @ 80A8924
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r2
- mov r10, r3
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- cmp r1, 0
- bne _080A8942
- movs r5, 0
- movs r6, 0x1
- b _080A8946
-_080A8942:
- movs r5, 0x2
- movs r6, 0x3
-_080A8946:
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- adds r0, r4, 0
- adds r1, r6, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r7, r0, 24
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _080A8998
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080A8998
- movs r0, 0x2
- eors r4, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- adds r1, r6, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r3, r0, 24
- mov r0, r8
- lsls r1, r0, 16
- lsls r2, r7, 16
- b _080A89A4
-_080A8998:
- mov r0, r8
- lsls r1, r0, 16
- lsrs r5, r1, 16
- lsls r0, r7, 16
- lsrs r3, r0, 16
- adds r2, r0, 0
-_080A89A4:
- asrs r0, r1, 16
- adds r0, r5
- asrs r0, 1
- mov r1, r9
- strh r0, [r1]
- asrs r0, r2, 16
- adds r0, r3
- asrs r0, 1
- mov r1, r10
- strh r0, [r1]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A8924
-
- thumb_func_start sub_80A89C8
-sub_80A89C8: @ 80A89C8
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x4
- lsls r6, r1, 24
- lsrs r6, 24
- ldr r0, =SpriteCallbackDummy
- mov r10, r0
- bl CreateInvisibleSpriteWithCallback
- mov r8, r0
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, =gSprites
- mov r9, r0
- mov r0, r8
- lsls r3, r0, 4
- add r3, r8
- lsls r3, 2
- mov r0, r9
- adds r5, r3, r0
- lsls r4, r6, 4
- adds r4, r6
- lsls r4, 2
- add r4, r9
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x44
- str r3, [sp]
- bl memcpy
- adds r2, r5, 0
- adds r2, 0x3F
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- ldrb r2, [r5, 0x5]
- movs r1, 0xD
- negs r1, r1
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r5, 0x5]
- ldrb r0, [r5, 0x1]
- ands r1, r0
- movs r0, 0x8
- orrs r1, r0
- strb r1, [r5, 0x1]
- ldrh r1, [r4, 0x4]
- lsls r1, 22
- lsrs r1, 22
- ldrh r2, [r5, 0x4]
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0x4]
- movs r0, 0x1C
- add r9, r0
- ldr r3, [sp]
- add r3, r9
- mov r0, r10
- str r0, [r3]
- mov r0, r8
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A89C8
-
- thumb_func_start sub_80A8A6C
-sub_80A8A6C: @ 80A8A6C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A6838
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A8AAC
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r4, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x6]
- negs r0, r0
- strh r0, [r2, 0x6]
- adds r3, r4, 0
- adds r3, 0x3F
- ldrb r0, [r3]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r3]
- adds r1, r2, 0
- b _080A8AB6
- .pool
-_080A8AAC:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
-_080A8AB6:
- ldrh r0, [r1, 0x2]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x34]
- ldrh r0, [r1, 0xA]
- strh r0, [r4, 0x38]
- ldr r1, =move_anim_8074EE0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A66DC
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A8A6C
-
- thumb_func_start sub_80A8AEC
-sub_80A8AEC: @ 80A8AEC
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A8B1C
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r4, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r4, 0x20]
- movs r1, 0x6
- ldrsh r0, [r2, r1]
- negs r0, r0
- strh r0, [r2, 0x6]
- adds r1, r2, 0
- b _080A8B26
- .pool
-_080A8B1C:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
-_080A8B26:
- ldrh r0, [r1, 0x2]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x34]
- ldrh r0, [r1, 0xA]
- strh r0, [r4, 0x38]
- ldrb r1, [r1, 0xC]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r1, =move_anim_8074EE0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A66DC
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A8AEC
-
- thumb_func_start sub_80A8B64
-sub_80A8B64: @ 80A8B64
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A6838
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A8B90
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r4, 0x20]
- ldrh r2, [r0]
- subs r1, r2
- strh r1, [r4, 0x20]
- b _080A8B9C
- .pool
-_080A8B90:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- adds r0, r1, 0
-_080A8B9C:
- ldrh r0, [r0, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldr r0, =sub_80A67D8
- str r0, [r4, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A8B64
-
- thumb_func_start sub_80A8BC4
-sub_80A8BC4: @ 80A8BC4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r5, r1, r0
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0
- strh r0, [r5, 0x8]
- ldr r7, =gBattleAnimAttacker
- ldrb r0, [r7]
- bl GetBattlerSide
- lsls r0, 24
- movs r1, 0x8
- cmp r0, 0
- beq _080A8BF8
- movs r0, 0x8
- negs r0, r0
- adds r1, r0, 0
-_080A8BF8:
- strh r1, [r5, 0xA]
- strh r6, [r5, 0xC]
- strh r6, [r5, 0xE]
- ldr r4, =gSprites
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x24]
- ldrh r2, [r5, 0x8]
- subs r1, r2
- strh r1, [r0, 0x24]
- ldr r0, =0x00002771
- bl AllocSpritePalette
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x10]
- strh r6, [r5, 0x12]
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- adds r0, 0x10
- lsls r0, 20
- lsrs r6, r0, 16
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- lsls r4, r0, 4
- ldrb r0, [r7]
- bl sub_80A82E4
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x14]
- cmp r0, 0x14
- beq _080A8C54
- cmp r0, 0x28
- bne _080A8C68
-_080A8C54:
- movs r0, 0x2
- b _080A8C6A
- .pool
-_080A8C68:
- movs r0, 0x3
-_080A8C6A:
- strh r0, [r5, 0x14]
- lsls r0, r4, 1
- ldr r1, =gPlttBufferUnfaded
- adds r0, r1
- lsls r1, r6, 1
- ldr r2, =gPlttBufferFaded
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
- ldr r0, =gBattleAnimArgs
- ldrb r2, [r0, 0x2]
- ldrh r3, [r0]
- adds r0, r6, 0
- movs r1, 0x10
- bl BlendPalette
- ldr r0, =sub_80A8CAC
- str r0, [r5]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A8BC4
-
- thumb_func_start sub_80A8CAC
-sub_80A8CAC: @ 80A8CAC
- 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, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080A8D10
- cmp r0, 0x1
- bgt _080A8CD4
- cmp r0, 0
- beq _080A8CDA
- b _080A8D6C
- .pool
-_080A8CD4:
- cmp r0, 0x2
- beq _080A8D58
- b _080A8D6C
-_080A8CDA:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80A8D78
- ldr r2, =gSprites
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r4, 0xA]
- ldrh r2, [r0, 0x24]
- adds r1, r2
- strh r1, [r0, 0x24]
- ldrh r1, [r4, 0xE]
- adds r0, r1, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _080A8D6C
- strh r1, [r4, 0xE]
- b _080A8D4A
- .pool
-_080A8D10:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80A8D78
- ldr r3, =gSprites
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x24]
- ldrh r2, [r4, 0xA]
- subs r1, r2
- strh r1, [r0, 0x24]
- ldrh r0, [r4, 0xE]
- subs r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- bne _080A8D6C
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- strh r2, [r1, 0x24]
-_080A8D4A:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- b _080A8D6C
- .pool
-_080A8D58:
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080A8D6C
- ldr r0, =0x00002771
- bl FreeSpritePaletteByTag
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080A8D6C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A8CAC
-
- thumb_func_start sub_80A8D78
-sub_80A8D78: @ 80A8D78
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- movs r0, 0
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
- lsls r0, 16
- lsrs r7, r0, 16
- asrs r0, 16
- cmp r0, 0
- blt _080A8DE8
- ldr r5, =gSprites
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r3, r4, r5
- movs r0, 0x3
- ldrb r1, [r6, 0x14]
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldrb r1, [r6, 0x10]
- lsls r1, 4
- movs r2, 0xF
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x5]
- movs r0, 0x8
- strh r0, [r3, 0x2E]
- mov r0, r8
- strh r0, [r3, 0x30]
- strh r7, [r3, 0x32]
- movs r0, 0x8
- ldrsh r1, [r6, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r0, [r0, 0x24]
- strh r0, [r3, 0x24]
- adds r5, 0x1C
- adds r4, r5
- ldr r0, =sub_80A8DFC
- str r0, [r4]
- ldrh r0, [r6, 0x12]
- adds r0, 0x1
- strh r0, [r6, 0x12]
-_080A8DE8:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A8D78
-
- thumb_func_start sub_80A8DFC
-sub_80A8DFC: @ 80A8DFC
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x2E]
- subs r0, 0x1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bne _080A8E26
- ldr r2, =gTasks
- movs r0, 0x30
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0x12]
- subs r1, 0x1
- strh r1, [r0, 0x12]
- adds r0, r3, 0
- bl obj_delete_but_dont_free_vram
-_080A8E26:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A8DFC
-
- thumb_func_start sub_80A8E30
-sub_80A8E30: @ 80A8E30
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080A8E68
- movs r0, 0x5
- b _080A8E6A
- .pool
-_080A8E68:
- ldr r0, =0x0000fff6
-_080A8E6A:
- strh r0, [r5, 0x2E]
- ldr r0, =0x0000ffd8
- strh r0, [r5, 0x30]
- ldr r0, =sub_80A8E88
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A8E30
-
- thumb_func_start sub_80A8E88
-sub_80A8E88: @ 80A8E88
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x32]
- adds r0, r1
- strh r0, [r4, 0x32]
- ldrh r5, [r4, 0x30]
- ldrh r2, [r4, 0x34]
- adds r0, r5, r2
- strh r0, [r4, 0x34]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl __divsi3
- strh r0, [r4, 0x24]
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- movs r1, 0xA
- bl __divsi3
- strh r0, [r4, 0x26]
- lsls r0, r5, 16
- asrs r0, 16
- movs r1, 0x14
- negs r1, r1
- cmp r0, r1
- bge _080A8EC4
- adds r0, r5, 0x1
- strh r0, [r4, 0x30]
-_080A8EC4:
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- bge _080A8EDC
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080A8EDC:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A8E88
-
- thumb_func_start sub_80A8EE4
-sub_80A8EE4: @ 80A8EE4
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gBattleAnimArgs
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x8]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x32]
- ldrh r0, [r5, 0xA]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x36]
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080A8F24
- ldrh r0, [r5, 0x8]
- adds r0, 0x1E
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0xA]
- subs r0, 0x14
- b _080A8F32
- .pool
-_080A8F24:
- ldrh r0, [r5, 0x8]
- subs r0, 0x1E
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0xA]
- subs r0, 0x50
-_080A8F32:
- strh r0, [r4, 0x22]
- ldr r0, =sub_80A6EEC
- str r0, [r4, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A8EE4
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_anim_80A9C70.s b/asm/battle_anim_80A9C70.s
deleted file mode 100644
index 3515b973e..000000000
--- a/asm/battle_anim_80A9C70.s
+++ /dev/null
@@ -1,930 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start sub_80A9C70
-sub_80A9C70: @ 80A9C70
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gBattlerSpriteIds
- adds r0, r4, r0
- ldrb r6, [r0]
- ldr r0, =sub_80A9DB4
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, =gBattleAnimPicTable + 0x440
- bl LoadCompressedObjectPicUsingHeap
- ldr r0, =gBattleAnimPaletteTable + 0x440
- bl LoadCompressedObjectPaletteUsingHeap
- ldr r1, =gTasks
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r1, r0, r1
- strh r4, [r1, 0x8]
- cmp r5, 0
- beq _080A9D30
- movs r0, 0x1F
- strh r0, [r1, 0xA]
- movs r5, 0
- lsls r0, r6, 4
- ldr r7, =gSprites
- adds r0, r6
- lsls r0, 2
- adds r6, r0, r7
-_080A9CC4:
- movs r0, 0x20
- ldrsh r1, [r6, r0]
- ldrh r2, [r6, 0x22]
- adds r2, 0x20
- lsls r2, 16
- asrs r2, 16
- ldr r0, =gUnknown_0853EF60
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r3, r0, r7
- lsls r0, r5, 1
- adds r0, r5
- lsls r1, r0, 4
- adds r0, r1
- strh r0, [r3, 0x2E]
- movs r0, 0xFF
- lsls r0, 8
- strh r0, [r3, 0x30]
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- cmp r5, 0x4
- bls _080A9D08
- movs r0, 0x15
- strh r0, [r3, 0x3A]
-_080A9D08:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x9
- bls _080A9CC4
- b _080A9D90
- .pool
-_080A9D30:
- movs r0, 0xF8
- lsls r0, 7
- strh r0, [r1, 0xA]
- movs r5, 0
- lsls r0, r6, 4
- ldr r7, =gSprites
- adds r0, r6
- lsls r0, 2
- adds r6, r0, r7
-_080A9D42:
- movs r2, 0x20
- ldrsh r1, [r6, r2]
- ldrh r2, [r6, 0x22]
- subs r2, 0x20
- lsls r2, 16
- asrs r2, 16
- ldr r0, =gUnknown_0853EF60
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r3, r0, r7
- lsls r0, r5, 1
- adds r0, r5
- lsls r1, r0, 4
- adds r0, r1
- strh r0, [r3, 0x2E]
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r3, 0x30]
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- cmp r5, 0x4
- bls _080A9D86
- movs r0, 0x15
- strh r0, [r3, 0x3A]
-_080A9D86:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x9
- bls _080A9D42
-_080A9D90:
- ldr r0, =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x3C]
- mov r0, r8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A9C70
-
- thumb_func_start sub_80A9DB4
-sub_80A9DB4: @ 80A9DB4
- 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 r1, [r4, 0xC]
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0x2
- bne _080A9E3A
- movs r0, 0
- strh r0, [r4, 0xC]
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 20
- movs r2, 0x80
- lsls r2, 17
- adds r0, r2
- lsrs r0, 16
- ldrb r2, [r4, 0x10]
- ldrh r3, [r4, 0xA]
- movs r1, 0x10
- bl BlendPalette
- ldrh r2, [r4, 0x12]
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080A9E10
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _080A9E3E
- movs r0, 0x1
- eors r0, r2
- strh r0, [r4, 0x12]
- b _080A9E3E
- .pool
-_080A9E10:
- ldrh r1, [r4, 0x10]
- subs r0, r1, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- cmp r0, 0
- bge _080A9E3E
- strh r1, [r4, 0x10]
- movs r0, 0x1
- eors r0, r2
- strh r0, [r4, 0x12]
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _080A9E3E
- adds r0, r5, 0
- bl DestroyTask
- b _080A9E3E
-_080A9E3A:
- adds r0, r1, 0x1
- strh r0, [r4, 0xC]
-_080A9E3E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A9DB4
-
- thumb_func_start sub_80A9E44
-sub_80A9E44: @ 80A9E44
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x3A]
- movs r3, 0x3A
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _080A9E70
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r3]
- ldr r1, =sub_80A9E78
- str r1, [r2, 0x1C]
- adds r0, r2, 0
- bl _call_via_r1
- b _080A9E74
- .pool
-_080A9E70:
- subs r0, r1, 0x1
- strh r0, [r2, 0x3A]
-_080A9E74:
- pop {r0}
- bx r0
- thumb_func_end sub_80A9E44
-
- thumb_func_start sub_80A9E78
-sub_80A9E78: @ 80A9E78
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x20
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Sin
- strh r0, [r4, 0x26]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x7F
- bgt _080A9EA4
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x1D
- b _080A9EAA
-_080A9EA4:
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x1F
-_080A9EAA:
- strb r0, [r1]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x8
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x38]
- adds r0, r1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x34
- bne _080A9EEC
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080A9EE6
- adds r0, r4, 0
- bl DestroySpriteAndFreeResources
- b _080A9EEC
-_080A9EE6:
- adds r0, r4, 0
- bl DestroySprite
-_080A9EEC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A9E78
-
- thumb_func_start sub_80A9EF4
-sub_80A9EF4: @ 80A9EF4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 8
- ldr r1, =0xffe00000
- adds r0, r1
- lsrs r5, r0, 16
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 8
- ldr r1, =0xffdc0000
- adds r0, r1
- lsrs r4, r0, 16
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A9F32
- lsls r0, r5, 16
- ldr r1, =0xfffa0000
- adds r0, r1
- lsrs r5, r0, 16
-_080A9F32:
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- ldr r0, =gUnknown_0853EF48
- lsls r1, r5, 16
- asrs r1, 16
- lsls r2, r4, 16
- asrs r2, 16
- movs r3, 0x4
- bl CreateSprite
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =0x0000271a
- bl GetSpriteTileStartByTag
- lsls r0, 16
- ldr r1, =0xffff0000
- cmp r0, r1
- bne _080A9F7C
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080A9F7C:
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- ldr r1, =gUnknown_0853EF40
- bl SetSubspriteTables
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- strh r4, [r0, 0x26]
- ldr r1, =sub_80A9FD0
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A9EF4
-
- thumb_func_start sub_80A9FD0
-sub_80A9FD0: @ 80A9FD0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- adds r2, r0, 0
- strh r0, [r1, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _080AA004
- ldr r0, =sub_80AA020
- str r0, [r1]
- movs r0, 0
- strh r0, [r1, 0xA]
- b _080AA01A
- .pool
-_080AA004:
- lsls r0, r2, 24
- lsrs r0, 24
- movs r1, 0x10
- subs r1, r0
- lsls r1, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
-_080AA01A:
- pop {r0}
- bx r0
- thumb_func_end sub_80A9FD0
-
- thumb_func_start sub_80AA020
-sub_80AA020: @ 80AA020
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =0x0000271a
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- ldrh r0, [r5, 0xA]
- adds r1, r0, 0x1
- strh r1, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD
- ble _080AA0B0
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- movs r6, 0
- strh r0, [r5, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _080AA0B0
- ldr r3, =gPlttBufferFaded
- lsls r2, 4
- mov r12, r2
- ldr r1, =0x0000010d
- add r1, r12
- lsls r1, 1
- adds r1, r3
- ldrh r4, [r1]
- movs r2, 0x87
- lsls r2, 1
- add r2, r12
- lsls r2, 1
- adds r2, r3
- ldrh r0, [r2]
- strh r0, [r1]
- ldr r0, =0x0000010f
- add r0, r12
- lsls r0, 1
- adds r0, r3
- ldrh r1, [r0]
- strh r1, [r2]
- strh r4, [r0]
- strh r6, [r5, 0xC]
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- strh r0, [r5, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _080AA0B0
- strh r6, [r5, 0xE]
- strh r6, [r5, 0xA]
- ldrh r0, [r5, 0x10]
- adds r0, 0x1
- strh r0, [r5, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _080AA0B0
- movs r0, 0x9
- strh r0, [r5, 0xA]
- ldr r0, =sub_80AA0D0
- str r0, [r5]
-_080AA0B0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AA020
-
- thumb_func_start sub_80AA0D0
-sub_80AA0D0: @ 80AA0D0
- 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 r0, [r2, 0xA]
- subs r0, 0x1
- adds r3, r0, 0
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080AA108
- ldr r0, =sub_80AA124
- str r0, [r2]
- movs r0, 0
- strh r0, [r2, 0xA]
- b _080AA11E
- .pool
-_080AA108:
- lsls r0, r3, 24
- lsrs r0, 24
- movs r1, 0x10
- subs r1, r0
- lsls r1, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
-_080AA11E:
- pop {r0}
- bx r0
- thumb_func_end sub_80AA0D0
-
- thumb_func_start sub_80AA124
-sub_80AA124: @ 80AA124
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r1
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x25
- bne _080AA16C
- ldrh r0, [r1, 0x26]
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- adds r0, r4, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroySprite
- b _080AA186
- .pool
-_080AA16C:
- cmp r0, 0x27
- bne _080AA186
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_080AA186:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AA124
-
- thumb_func_start AnimTask_StatsChange
-AnimTask_StatsChange: @ 80AA18C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r3, 0
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- ldrh r0, [r0]
- subs r0, 0xF
- cmp r0, 0x2B
- bls _080AA1A4
- b _080AA328
-_080AA1A4:
- lsls r0, 2
- ldr r1, =_080AA1B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080AA1B8:
- .4byte _080AA268
- .4byte _080AA26E
- .4byte _080AA274
- .4byte _080AA27A
- .4byte _080AA280
- .4byte _080AA286
- .4byte _080AA28C
- .4byte _080AA292
- .4byte _080AA298
- .4byte _080AA29E
- .4byte _080AA2A4
- .4byte _080AA2AA
- .4byte _080AA2B0
- .4byte _080AA2B6
- .4byte _080AA328
- .4byte _080AA328
- .4byte _080AA328
- .4byte _080AA328
- .4byte _080AA328
- .4byte _080AA328
- .4byte _080AA328
- .4byte _080AA328
- .4byte _080AA328
- .4byte _080AA328
- .4byte _080AA2BC
- .4byte _080AA2C0
- .4byte _080AA2C4
- .4byte _080AA2C8
- .4byte _080AA2CC
- .4byte _080AA2D0
- .4byte _080AA2D4
- .4byte _080AA2D8
- .4byte _080AA2E0
- .4byte _080AA2E8
- .4byte _080AA2F0
- .4byte _080AA2F8
- .4byte _080AA300
- .4byte _080AA308
- .4byte _080AA328
- .4byte _080AA328
- .4byte _080AA310
- .4byte _080AA314
- .4byte _080AA318
- .4byte _080AA320
-_080AA268:
- movs r5, 0
- movs r2, 0
- b _080AA330
-_080AA26E:
- movs r5, 0
- movs r2, 0x1
- b _080AA330
-_080AA274:
- movs r5, 0
- movs r2, 0x3
- b _080AA330
-_080AA27A:
- movs r5, 0
- movs r2, 0x5
- b _080AA330
-_080AA280:
- movs r5, 0
- movs r2, 0x6
- b _080AA330
-_080AA286:
- movs r5, 0
- movs r2, 0x2
- b _080AA330
-_080AA28C:
- movs r5, 0
- movs r2, 0x4
- b _080AA330
-_080AA292:
- movs r5, 0x1
- movs r2, 0
- b _080AA330
-_080AA298:
- movs r5, 0x1
- movs r2, 0x1
- b _080AA330
-_080AA29E:
- movs r5, 0x1
- movs r2, 0x3
- b _080AA330
-_080AA2A4:
- movs r5, 0x1
- movs r2, 0x5
- b _080AA330
-_080AA2AA:
- movs r5, 0x1
- movs r2, 0x6
- b _080AA330
-_080AA2B0:
- movs r5, 0x1
- movs r2, 0x2
- b _080AA330
-_080AA2B6:
- movs r5, 0x1
- movs r2, 0x4
- b _080AA330
-_080AA2BC:
- movs r5, 0
- b _080AA2DA
-_080AA2C0:
- movs r5, 0
- b _080AA2E2
-_080AA2C4:
- movs r5, 0
- b _080AA2EA
-_080AA2C8:
- movs r5, 0
- b _080AA2F2
-_080AA2CC:
- movs r5, 0
- b _080AA2FA
-_080AA2D0:
- movs r5, 0
- b _080AA302
-_080AA2D4:
- movs r5, 0
- b _080AA30A
-_080AA2D8:
- movs r5, 0x1
-_080AA2DA:
- movs r2, 0
- movs r3, 0x1
- b _080AA330
-_080AA2E0:
- movs r5, 0x1
-_080AA2E2:
- movs r2, 0x1
- movs r3, 0x1
- b _080AA330
-_080AA2E8:
- movs r5, 0x1
-_080AA2EA:
- movs r2, 0x3
- movs r3, 0x1
- b _080AA330
-_080AA2F0:
- movs r5, 0x1
-_080AA2F2:
- movs r2, 0x5
- movs r3, 0x1
- b _080AA330
-_080AA2F8:
- movs r5, 0x1
-_080AA2FA:
- movs r2, 0x6
- movs r3, 0x1
- b _080AA330
-_080AA300:
- movs r5, 0x1
-_080AA302:
- movs r2, 0x2
- movs r3, 0x1
- b _080AA330
-_080AA308:
- movs r5, 0x1
-_080AA30A:
- movs r2, 0x4
- movs r3, 0x1
- b _080AA330
-_080AA310:
- movs r5, 0
- b _080AA31A
-_080AA314:
- movs r5, 0
- b _080AA322
-_080AA318:
- movs r5, 0x1
-_080AA31A:
- movs r2, 0xFF
- movs r3, 0
- b _080AA330
-_080AA320:
- movs r5, 0x1
-_080AA322:
- movs r2, 0xFF
- movs r3, 0x1
- b _080AA330
-_080AA328:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _080AA352
-_080AA330:
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- strh r5, [r0]
- strh r2, [r0, 0x2]
- strh r1, [r0, 0x4]
- strh r1, [r0, 0x6]
- strh r3, [r0, 0x8]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_8116EB4
- str r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
-_080AA352:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_StatsChange
-
- thumb_func_start LaunchStatusAnimation
-LaunchStatusAnimation: @ 80AA364
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =gBattleAnimAttacker
- strb r4, [r0]
- ldr r0, =gBattleAnimTarget
- strb r4, [r0]
- ldr r0, =gBattleAnims_Statuses
- movs r2, 0
- bl LaunchBattleAnimation
- ldr r0, =task0A_80788BC
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end LaunchStatusAnimation
-
- thumb_func_start task0A_80788BC
-task0A_80788BC: @ 80AA3B4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gAnimScriptCallback
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, =gAnimScriptActive
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AA3F6
- ldr r0, =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- ldr r2, [r2, 0x4]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- adds r0, r4, 0
- bl DestroyTask
-_080AA3F6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task0A_80788BC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_anim_80D51AC.s b/asm/battle_anim_80D51AC.s
deleted file mode 100644
index 3f36bb4a2..000000000
--- a/asm/battle_anim_80D51AC.s
+++ /dev/null
@@ -1,2446 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80D51AC
-sub_80D51AC: @ 80D51AC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gBattleAnimArgs
- ldrb r0, [r4]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- bne _080D51D0
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- b _080D520C
- .pool
-_080D51D0:
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r4, 0x2]
- strh r1, [r0, 0x24]
- ldrh r1, [r4, 0x4]
- strh r1, [r0, 0x26]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0x8]
- ldrh r1, [r4, 0x6]
- strh r1, [r0, 0xA]
- ldrh r1, [r4, 0x8]
- strh r1, [r0, 0xC]
- ldrh r1, [r4, 0x8]
- strh r1, [r0, 0xE]
- ldrh r1, [r4, 0x2]
- strh r1, [r0, 0x10]
- ldrh r1, [r4, 0x4]
- strh r1, [r0, 0x12]
- ldr r1, =sub_80D5220
- str r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
-_080D520C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D51AC
-
- thumb_func_start sub_80D5220
-sub_80D5220: @ 80D5220
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r3, r0, r1
- ldrh r0, [r3, 0xE]
- movs r2, 0xE
- ldrsh r5, [r3, r2]
- adds r7, r1, 0
- cmp r5, 0
- bne _080D52C6
- ldr r2, =gSprites
- movs r6, 0x8
- ldrsh r1, [r3, r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- movs r6, 0x24
- ldrsh r0, [r1, r6]
- adds r6, r2, 0
- cmp r0, 0
- bne _080D5264
- ldrh r0, [r3, 0x10]
- strh r0, [r1, 0x24]
- b _080D5266
- .pool
-_080D5264:
- strh r5, [r1, 0x24]
-_080D5266:
- lsls r2, r4, 2
- adds r0, r2, r4
- lsls r0, 3
- adds r3, r0, r7
- movs r0, 0x8
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r6
- movs r5, 0x26
- ldrsh r0, [r1, r5]
- cmp r0, 0
- bne _080D5286
- ldrh r0, [r3, 0x12]
- b _080D5288
-_080D5286:
- movs r0, 0
-_080D5288:
- strh r0, [r1, 0x26]
- adds r0, r2, r4
- lsls r0, 3
- adds r2, r0, r7
- ldrh r0, [r2, 0xC]
- strh r0, [r2, 0xE]
- ldrh r0, [r2, 0xA]
- subs r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r3, r0, 16
- cmp r3, 0
- bne _080D52CA
- movs r0, 0x8
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r3, [r0, 0x24]
- movs r5, 0x8
- ldrsh r1, [r2, r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r3, [r0, 0x26]
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _080D52CA
-_080D52C6:
- subs r0, 0x1
- strh r0, [r3, 0xE]
-_080D52CA:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80D5220
-
- thumb_func_start sub_80D52D0
-sub_80D52D0: @ 80D52D0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r2]
- movs r3, 0
- ldrsh r1, [r2, r3]
- cmp r1, 0x3
- bgt _080D52FC
- lsls r0, 24
- lsrs r0, 24
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xFF
- bne _080D5352
- b _080D5356
- .pool
-_080D52FC:
- cmp r1, 0x8
- beq _080D5348
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, 0x5
- beq _080D531C
- cmp r0, 0x5
- bgt _080D5312
- cmp r0, 0x4
- beq _080D5318
- b _080D5324
-_080D5312:
- cmp r0, 0x6
- beq _080D5320
- b _080D5324
-_080D5318:
- movs r0, 0
- b _080D5326
-_080D531C:
- movs r0, 0x2
- b _080D5326
-_080D5320:
- movs r0, 0x1
- b _080D5326
-_080D5324:
- movs r0, 0x3
-_080D5326:
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- bne _080D533C
- movs r6, 0x1
-_080D533C:
- ldr r0, =gBattlerSpriteIds
- adds r0, r4, r0
- b _080D5350
- .pool
-_080D5348:
- ldr r1, =gBattlerSpriteIds
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r0, r1
-_080D5350:
- ldrb r3, [r0]
-_080D5352:
- cmp r6, 0
- beq _080D5368
-_080D5356:
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- b _080D53A6
- .pool
-_080D5368:
- ldr r1, =gSprites
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- ldr r2, =gBattleAnimArgs
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0x24]
- ldrh r1, [r2, 0x4]
- strh r1, [r0, 0x26]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r3, [r0, 0x8]
- ldrh r1, [r2, 0x6]
- strh r1, [r0, 0xA]
- ldrh r1, [r2, 0x8]
- strh r1, [r0, 0xC]
- ldrh r1, [r2, 0x8]
- strh r1, [r0, 0xE]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0x10]
- ldrh r1, [r2, 0x4]
- strh r1, [r0, 0x12]
- ldr r1, =sub_80D53BC
- str r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
-_080D53A6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D52D0
-
- thumb_func_start sub_80D53BC
-sub_80D53BC: @ 80D53BC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r3, r0, r1
- ldrh r2, [r3, 0xE]
- movs r4, 0xE
- ldrsh r0, [r3, r4]
- mov r12, r1
- cmp r0, 0
- bne _080D5474
- ldr r2, =gSprites
- movs r7, 0x8
- ldrsh r1, [r3, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r0, r2
- movs r0, 0x24
- ldrsh r1, [r4, r0]
- ldrh r5, [r3, 0x10]
- movs r7, 0x10
- ldrsh r0, [r3, r7]
- adds r7, r2, 0
- cmp r1, r0
- bne _080D5408
- negs r0, r5
- strh r0, [r4, 0x24]
- b _080D540A
- .pool
-_080D5408:
- strh r5, [r4, 0x24]
-_080D540A:
- lsls r3, r6, 2
- adds r1, r3, r6
- lsls r1, 3
- add r1, r12
- movs r0, 0x8
- ldrsh r2, [r1, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r4, r0, r7
- movs r0, 0x26
- ldrsh r2, [r4, r0]
- mov r8, r2
- ldrh r5, [r1, 0x12]
- movs r2, 0x12
- ldrsh r0, [r1, r2]
- cmp r8, r0
- bne _080D5434
- negs r0, r5
- strh r0, [r4, 0x26]
- b _080D5436
-_080D5434:
- strh r5, [r4, 0x26]
-_080D5436:
- adds r0, r3, r6
- lsls r0, 3
- mov r4, r12
- adds r3, r0, r4
- ldrh r0, [r3, 0xC]
- strh r0, [r3, 0xE]
- ldrh r0, [r3, 0xA]
- subs r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- bne _080D5478
- movs r0, 0x8
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x24]
- movs r4, 0x8
- ldrsh r1, [r3, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- adds r0, r6, 0
- bl DestroyAnimVisualTask
- b _080D5478
-_080D5474:
- subs r0, r2, 0x1
- strh r0, [r3, 0xE]
-_080D5478:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80D53BC
-
- thumb_func_start sub_80D5484
-sub_80D5484: @ 80D5484
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gBattleAnimArgs
- ldrb r0, [r4]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xFF
- bne _080D54A8
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- b _080D54F6
- .pool
-_080D54A8:
- ldr r0, =gSprites
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r4, 0x2]
- ldrh r2, [r1, 0x24]
- adds r0, r2
- movs r2, 0
- strh r0, [r1, 0x24]
- ldrh r0, [r4, 0x4]
- ldrh r6, [r1, 0x26]
- adds r0, r6
- strh r0, [r1, 0x26]
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- strh r3, [r1, 0x8]
- strh r2, [r1, 0xA]
- ldrh r0, [r4, 0x6]
- strh r0, [r1, 0xC]
- strh r2, [r1, 0xE]
- ldrh r0, [r4, 0x8]
- strh r0, [r1, 0x10]
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- lsls r0, 1
- strh r0, [r1, 0x12]
- movs r6, 0x4
- ldrsh r0, [r4, r6]
- lsls r0, 1
- strh r0, [r1, 0x14]
- ldr r2, =sub_80D5508
- str r2, [r1]
- adds r0, r5, 0
- bl _call_via_r2
-_080D54F6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5484
-
- thumb_func_start sub_80D5508
-sub_80D5508: @ 80D5508
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r2, [r4, 0xE]
- movs r3, 0xE
- ldrsh r0, [r4, r3]
- adds r6, r1, 0
- cmp r0, 0
- beq _080D5526
- b _080D5638
-_080D5526:
- ldrh r1, [r4, 0xA]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D5568
- ldr r2, =gSprites
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r4, 0x12]
- ldrh r3, [r0, 0x24]
- adds r1, r3
- strh r1, [r0, 0x24]
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r4, 0x14]
- ldrh r3, [r0, 0x26]
- adds r1, r3
- strh r1, [r0, 0x26]
- adds r3, r2, 0
- b _080D5592
- .pool
-_080D5568:
- ldr r3, =gSprites
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x24]
- ldrh r2, [r4, 0x12]
- subs r1, r2
- strh r1, [r0, 0x24]
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x26]
- ldrh r2, [r4, 0x14]
- subs r1, r2
- strh r1, [r0, 0x26]
-_080D5592:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r6
- ldrh r0, [r4, 0x10]
- strh r0, [r4, 0xE]
- ldrh r0, [r4, 0xA]
- adds r2, r0, 0x1
- strh r2, [r4, 0xA]
- lsls r0, r2, 16
- asrs r0, 16
- movs r6, 0xC
- ldrsh r1, [r4, r6]
- cmp r0, r1
- blt _080D563C
- movs r0, 0x1
- ands r2, r0
- cmp r2, 0
- beq _080D55F8
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- lsrs r2, r0, 31
- adds r0, r2
- asrs r0, 1
- ldrh r6, [r1, 0x24]
- adds r0, r6
- strh r0, [r1, 0x24]
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- lsrs r2, r0, 31
- adds r0, r2
- asrs r0, 1
- ldrh r3, [r1, 0x26]
- adds r0, r3
- strh r0, [r1, 0x26]
- b _080D5630
- .pool
-_080D55F8:
- movs r6, 0x8
- ldrsh r0, [r4, r6]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- ldrh r0, [r2, 0x24]
- subs r0, r1
- strh r0, [r2, 0x24]
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- movs r3, 0x14
- ldrsh r1, [r4, r3]
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- ldrh r0, [r2, 0x26]
- subs r0, r1
- strh r0, [r2, 0x26]
-_080D5630:
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- b _080D563C
-_080D5638:
- subs r0, r2, 0x1
- strh r0, [r4, 0xE]
-_080D563C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D5508
-
- thumb_func_start sub_80D5644
-sub_80D5644: @ 80D5644
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =gBattleAnimArgs
- ldrb r0, [r5]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r2, [r5, 0x2]
- strh r2, [r1, 0x24]
- ldr r2, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- strh r0, [r1, 0x8]
- ldrh r0, [r5, 0x2]
- strh r0, [r1, 0xA]
- ldrh r0, [r5, 0x4]
- strh r0, [r1, 0xC]
- ldrh r0, [r5, 0x6]
- strh r0, [r1, 0xE]
- ldrh r0, [r5, 0x8]
- strh r0, [r1, 0x10]
- ldr r2, =sub_80D56A4
- str r2, [r1]
- adds r0, r4, 0
- bl _call_via_r2
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5644
-
- thumb_func_start sub_80D56A4
-sub_80D56A4: @ 80D56A4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r3, r0, r2
- ldrb r5, [r3, 0x8]
- ldrh r4, [r3, 0xA]
- ldrh r1, [r3, 0x18]
- adds r0, r1, 0x1
- strh r0, [r3, 0x18]
- movs r7, 0xC
- ldrsh r0, [r3, r7]
- lsls r1, 16
- asrs r1, 16
- mov r12, r2
- ldr r7, =gSprites
- cmp r0, r1
- bne _080D56F6
- movs r0, 0
- strh r0, [r3, 0x18]
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r1, r0, r7
- ldrh r3, [r1, 0x24]
- movs r0, 0x24
- ldrsh r2, [r1, r0]
- lsls r0, r4, 16
- asrs r0, 16
- cmp r2, r0
- bne _080D56EE
- negs r0, r2
- lsls r0, 16
- lsrs r4, r0, 16
-_080D56EE:
- lsls r0, r4, 16
- asrs r0, 16
- adds r0, r3
- strh r0, [r1, 0x24]
-_080D56F6:
- lsls r2, r6, 2
- adds r2, r6
- lsls r2, 3
- add r2, r12
- strh r4, [r2, 0xA]
- ldrh r1, [r2, 0xE]
- ldrh r0, [r2, 0x1A]
- adds r1, r0
- strh r1, [r2, 0x1A]
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r0, r7
- lsls r1, 16
- asrs r1, 24
- strh r1, [r0, 0x26]
- ldrh r0, [r2, 0x10]
- subs r0, 0x1
- strh r0, [r2, 0x10]
- lsls r0, 16
- cmp r0, 0
- bne _080D5728
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_080D5728:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D56A4
-
- thumb_func_start sub_80D5738
-sub_80D5738: @ 80D5738
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0x1
- ldr r4, =gBattleAnimArgs
- ldrb r0, [r4]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r7, r0, 24
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- ble _080D575C
- movs r0, 0x5
- strh r0, [r4, 0x8]
-_080D575C:
- movs r1, 0
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- adds r3, r4, 0
- ldr r2, =gTasks
- mov r12, r2
- lsls r4, r5, 2
- ldr r2, =sub_80D57B8
- mov r8, r2
- cmp r1, r0
- bge _080D5782
- adds r2, r0, 0
-_080D5774:
- lsls r0, r6, 25
- lsrs r6, r0, 24
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r2
- blt _080D5774
-_080D5782:
- adds r0, r4, r5
- lsls r0, 3
- add r0, r12
- strh r7, [r0, 0x8]
- ldrh r1, [r3, 0x2]
- strh r1, [r0, 0xA]
- ldrh r1, [r3, 0x4]
- strh r1, [r0, 0xC]
- ldrh r1, [r3, 0x6]
- strh r1, [r0, 0xE]
- strh r6, [r0, 0x10]
- mov r1, r8
- str r1, [r0]
- adds r0, r5, 0
- bl _call_via_r8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5738
-
- thumb_func_start sub_80D57B8
-sub_80D57B8: @ 80D57B8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- ldrb r4, [r5, 0x8]
- movs r1, 0x12
- ldrsh r0, [r5, r1]
- movs r2, 0xA
- ldrsh r1, [r5, r2]
- bl Sin
- ldr r2, =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r4, r1, r2
- strh r0, [r4, 0x24]
- movs r1, 0x12
- ldrsh r0, [r5, r1]
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- bl Cos
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r1, [r5, 0xC]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r5, 0x10]
- ldrh r1, [r5, 0x12]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x12]
- cmp r0, 0
- bne _080D5810
- ldrh r0, [r5, 0xE]
- subs r0, 0x1
- strh r0, [r5, 0xE]
-_080D5810:
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bne _080D5822
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_080D5822:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D57B8
-
- thumb_func_start sub_80D5830
-sub_80D5830: @ 80D5830
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080D584C
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
-_080D584C:
- adds r0, r4, 0
- bl sub_80D5738
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5830
-
- thumb_func_start sub_80D5860
-sub_80D5860: @ 80D5860
- push {r4,lr}
- adds r4, r0, 0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080D5890
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- negs r0, r0
- b _080D5894
- .pool
-_080D5890:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
-_080D5894:
- strh r0, [r4, 0x30]
- ldrh r2, [r1]
- movs r0, 0
- strh r2, [r4, 0x2E]
- strh r0, [r4, 0x32]
- ldr r1, =gBattlerSpriteIds
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r4, 0x34]
- strh r2, [r4, 0x36]
- ldr r1, =sub_80D58D4
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A6630
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5860
-
- thumb_func_start sub_80D58D4
-sub_80D58D4: @ 80D58D4
- push {lr}
- ldrh r1, [r0, 0x36]
- strh r1, [r0, 0x2E]
- ldrh r1, [r0, 0x30]
- negs r1, r1
- strh r1, [r0, 0x30]
- ldr r1, =sub_80A6630
- str r1, [r0, 0x1C]
- ldr r1, =DestroyAnimSprite
- bl StoreSpriteCallbackInData6
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D58D4
-
- thumb_func_start sub_80D58F8
-sub_80D58F8: @ 80D58F8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r5, =gBattleAnimArgs
- ldrb r0, [r5, 0x4]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- ldrh r2, [r5]
- movs r1, 0
- strh r2, [r4, 0x2E]
- strh r1, [r4, 0x30]
- ldrh r1, [r5, 0x2]
- strh r1, [r4, 0x32]
- strh r0, [r4, 0x34]
- strh r2, [r4, 0x36]
- ldr r1, =sub_80D5944
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A6630
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D58F8
-
- thumb_func_start sub_80D5944
-sub_80D5944: @ 80D5944
- push {lr}
- ldrh r1, [r0, 0x36]
- strh r1, [r0, 0x2E]
- ldrh r1, [r0, 0x32]
- negs r1, r1
- strh r1, [r0, 0x32]
- ldr r1, =sub_80A6630
- str r1, [r0, 0x1C]
- ldr r1, =DestroyAnimSprite
- bl StoreSpriteCallbackInData6
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5944
-
- thumb_func_start sub_80D5968
-sub_80D5968: @ 80D5968
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080D598C
- ldr r1, =gBattlerSpriteIds
- ldr r0, =gBattleAnimAttacker
- b _080D5990
- .pool
-_080D598C:
- ldr r1, =gBattlerSpriteIds
- ldr r0, =gBattleAnimTarget
-_080D5990:
- ldrb r0, [r0]
- adds r0, r1
- ldrb r7, [r0]
- ldr r5, =gBattleAnimArgs
- ldrh r0, [r5, 0x4]
- movs r3, 0
- strh r0, [r6, 0x2E]
- ldr r0, =gSprites
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- adds r4, r0
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r6, 0x30]
- ldrh r0, [r4, 0x20]
- strh r0, [r6, 0x32]
- ldrh r0, [r4, 0x26]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r6, 0x34]
- ldrh r0, [r4, 0x22]
- strh r0, [r6, 0x36]
- adds r0, r6, 0
- str r3, [sp]
- bl sub_80A6E14
- ldr r3, [sp]
- strh r3, [r6, 0x34]
- strh r3, [r6, 0x36]
- ldrh r0, [r4, 0x24]
- strh r0, [r6, 0x38]
- ldrh r0, [r4, 0x26]
- strh r0, [r6, 0x3A]
- adds r2, r6, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _080D5A00
- strh r3, [r6, 0x32]
- b _080D5A06
- .pool
-_080D5A00:
- cmp r0, 0x2
- bne _080D5A06
- strh r3, [r6, 0x30]
-_080D5A06:
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0, 0x2]
- lsls r0, r7, 8
- orrs r0, r1
- strh r0, [r6, 0x3C]
- ldr r0, =sub_80D5A24
- str r0, [r6, 0x1C]
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5968
-
- thumb_func_start sub_80D5A24
-sub_80D5A24: @ 80D5A24
- push {r4-r6,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x3C]
- lsls r1, r0, 24
- lsrs r4, r1, 24
- adds r5, r4, 0
- lsls r0, 16
- asrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r3, r1, r0
- ldrh r0, [r2, 0x2E]
- movs r6, 0x2E
- ldrsh r1, [r2, r6]
- cmp r1, 0
- bne _080D5A64
- cmp r4, 0x1
- bhi _080D5A4E
- strh r1, [r3, 0x24]
-_080D5A4E:
- cmp r5, 0x2
- beq _080D5A56
- cmp r5, 0
- bne _080D5A58
-_080D5A56:
- strh r1, [r3, 0x26]
-_080D5A58:
- adds r0, r2, 0
- bl DestroyAnimSprite
- b _080D5A8E
- .pool
-_080D5A64:
- subs r0, 0x1
- strh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x30]
- ldrh r0, [r2, 0x34]
- adds r1, r0
- strh r1, [r2, 0x34]
- ldrh r0, [r2, 0x32]
- ldrh r4, [r2, 0x36]
- adds r0, r4
- strh r0, [r2, 0x36]
- lsls r1, 16
- asrs r1, 24
- ldrh r6, [r2, 0x38]
- adds r1, r6
- strh r1, [r3, 0x24]
- ldrh r0, [r2, 0x36]
- lsls r0, 16
- asrs r0, 24
- ldrh r2, [r2, 0x3A]
- adds r0, r2
- strh r0, [r3, 0x26]
-_080D5A8E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D5A24
-
- thumb_func_start sub_80D5A94
-sub_80D5A94: @ 80D5A94
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080D5AB0
- ldr r0, =gBattleAnimAttacker
- b _080D5AB2
- .pool
-_080D5AB0:
- ldr r0, =gBattleAnimTarget
-_080D5AB2:
- ldrb r2, [r0]
- ldr r0, =gBattlerSpriteIds
- adds r0, r2, r0
- ldrb r6, [r0]
- adds r0, r2, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080D5ADC
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
- movs r2, 0x6
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _080D5ADC
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080D5ADC:
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r2, 0x8]
- movs r4, 0
- strh r0, [r5, 0x2E]
- ldr r0, =gSprites
- lsls r1, r6, 4
- adds r1, r6
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x20]
- strh r0, [r5, 0x30]
- ldrh r0, [r2, 0x2]
- ldrh r3, [r1, 0x20]
- adds r0, r3
- strh r0, [r5, 0x32]
- ldrh r0, [r1, 0x22]
- strh r0, [r5, 0x34]
- ldrh r0, [r2, 0x4]
- ldrh r1, [r1, 0x22]
- adds r0, r1
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl sub_80A6E14
- strh r4, [r5, 0x34]
- strh r4, [r5, 0x36]
- strh r6, [r5, 0x38]
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A6680
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5A94
-
- thumb_func_start sub_80D5B48
-sub_80D5B48: @ 80D5B48
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r2, r6, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080D5B70
- ldr r0, =gBattleAnimAttacker
- b _080D5B72
- .pool
-_080D5B70:
- ldr r0, =gBattleAnimTarget
-_080D5B72:
- ldrb r1, [r0]
- ldr r0, =gBattlerSpriteIds
- adds r0, r1, r0
- ldrb r7, [r0]
- adds r0, r1, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080D5B9C
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
- movs r2, 0x6
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _080D5B9C
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080D5B9C:
- ldr r5, =gBattleAnimArgs
- ldrh r0, [r5, 0x8]
- strh r0, [r6, 0x2E]
- ldr r0, =gSprites
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- adds r4, r0
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r6, 0x30]
- ldrh r1, [r5, 0x2]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r6, 0x34]
- ldrh r1, [r5, 0x4]
- adds r0, r1
- strh r0, [r6, 0x36]
- adds r0, r6, 0
- bl sub_80A6E14
- ldrh r0, [r4, 0x24]
- lsls r0, 8
- strh r0, [r6, 0x34]
- ldrh r0, [r4, 0x26]
- lsls r0, 8
- strh r0, [r6, 0x36]
- strh r7, [r6, 0x38]
- ldrh r0, [r5, 0xA]
- strh r0, [r6, 0x3A]
- lsls r0, 16
- cmp r0, 0
- bne _080D5C04
- ldr r1, =DestroyAnimSprite
- adds r0, r6, 0
- bl StoreSpriteCallbackInData6
- b _080D5C0C
- .pool
-_080D5C04:
- ldr r1, =sub_80D5C20
- adds r0, r6, 0
- bl StoreSpriteCallbackInData6
-_080D5C0C:
- ldr r0, =sub_80A6680
- str r0, [r6, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5B48
-
- thumb_func_start sub_80D5C20
-sub_80D5C20: @ 80D5C20
- push {r4,lr}
- ldr r4, =gSprites
- movs r1, 0x38
- ldrsh r2, [r0, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- movs r3, 0
- strh r3, [r1, 0x24]
- movs r1, 0x38
- ldrsh r2, [r0, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- strh r3, [r1, 0x26]
- bl DestroyAnimSprite
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5C20
-
- thumb_func_start sub_80D5C50
-sub_80D5C50: @ 80D5C50
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, =gBattleAnimArgs
- movs r0, 0x6
- ldrsh r1, [r5, r0]
- movs r0, 0x80
- lsls r0, 8
- bl __divsi3
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080D5C82
- ldrh r0, [r5, 0x2]
- negs r0, r0
- strh r0, [r5, 0x2]
- ldrh r0, [r5, 0xA]
- negs r0, r0
- strh r0, [r5, 0xA]
-_080D5C82:
- ldrb r0, [r5]
- bl GetAnimBattlerSpriteId
- ldr r1, =gTasks
- lsls r4, r6, 2
- adds r4, r6
- lsls r4, 3
- adds r4, r1
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x8]
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- lsls r0, 8
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r4, 0xA]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0xC]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0xE]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x10]
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- lsls r0, 8
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r4, 0x12]
- ldrh r0, [r5, 0xC]
- strh r0, [r4, 0x14]
- strh r7, [r4, 0x16]
- ldr r0, =sub_80D5CE4
- str r0, [r4]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5C50
-
- thumb_func_start sub_80D5CE4
-sub_80D5CE4: @ 80D5CE4
- 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
- ldrb r1, [r5, 0x8]
- ldrh r0, [r5, 0xA]
- ldrh r2, [r5, 0x1E]
- adds r0, r2
- strh r0, [r5, 0x1E]
- ldr r2, =gSprites
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- adds r4, r2
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- ldrh r0, [r5, 0x1C]
- lsrs r0, 8
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r5, 0x16]
- ldrh r1, [r5, 0x1C]
- adds r0, r1
- strh r0, [r5, 0x1C]
- ldrh r0, [r5, 0xE]
- subs r0, 0x1
- strh r0, [r5, 0xE]
- lsls r0, 16
- cmp r0, 0
- bne _080D5D34
- ldr r0, =sub_80D5D48
- str r0, [r5]
-_080D5D34:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5CE4
-
- thumb_func_start sub_80D5D48
-sub_80D5D48: @ 80D5D48
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r1, [r4, 0x10]
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080D5D70
- subs r0, r1, 0x1
- strh r0, [r4, 0x10]
- b _080D5DA4
- .pool
-_080D5D70:
- ldrb r0, [r4, 0x8]
- ldrh r2, [r4, 0x12]
- ldrh r1, [r4, 0x20]
- adds r2, r1
- strh r2, [r4, 0x20]
- ldr r3, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- lsls r2, 16
- asrs r2, 24
- ldrh r0, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 24
- adds r2, r0
- strh r2, [r1, 0x24]
- ldrh r0, [r4, 0x14]
- subs r0, 0x1
- strh r0, [r4, 0x14]
- lsls r0, 16
- cmp r0, 0
- bne _080D5DA4
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080D5DA4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5D48
-
- thumb_func_start sub_80D5DB0
-sub_80D5DB0: @ 80D5DB0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gBattleAnimArgs
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x2
- beq _080D5DDE
- cmp r0, 0x2
- bgt _080D5DD8
- cmp r0, 0
- blt _080D5E10
- ldrb r0, [r1]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r2, r0, 24
- b _080D5E18
- .pool
-_080D5DD8:
- cmp r0, 0x3
- beq _080D5DE8
- b _080D5E10
-_080D5DDE:
- ldr r5, =gBattleAnimAttacker
- b _080D5DEA
- .pool
-_080D5DE8:
- ldr r5, =gBattleAnimTarget
-_080D5DEA:
- ldrb r0, [r5]
- movs r4, 0x2
- eors r0, r4
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080D5E10
- ldr r1, =gBattlerSpriteIds
- ldrb r0, [r5]
- eors r0, r4
- adds r0, r1
- ldrb r2, [r0]
- b _080D5E18
- .pool
-_080D5E10:
- adds r0, r6, 0
- bl DestroyAnimVisualTask
- b _080D5E58
-_080D5E18:
- ldr r1, =gTasks
- lsls r4, r6, 2
- adds r0, r4, r6
- lsls r0, 3
- adds r5, r0, r1
- strh r2, [r5, 0x8]
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080D5E44
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x2]
- b _080D5E4A
- .pool
-_080D5E44:
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x2]
- negs r0, r0
-_080D5E4A:
- strh r0, [r5, 0xA]
- ldr r0, =gTasks
- adds r1, r4, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80D5E6C
- str r0, [r1]
-_080D5E58:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5DB0
-
- thumb_func_start sub_80D5E6C
-sub_80D5E6C: @ 80D5E6C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrb r2, [r1, 0x8]
- ldr r3, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r1, 0xA]
- ldrh r2, [r0, 0x24]
- adds r1, r2
- strh r1, [r0, 0x24]
- movs r2, 0x24
- ldrsh r1, [r0, r2]
- movs r2, 0x20
- ldrsh r0, [r0, r2]
- adds r1, r0
- adds r1, 0x20
- movs r0, 0x98
- lsls r0, 1
- cmp r1, r0
- bls _080D5EAA
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_080D5EAA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5E6C
-
- thumb_func_start sub_80D5EB8
-sub_80D5EB8: @ 80D5EB8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r6, =gBattleAnimAttacker
- ldrb r0, [r6]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080D5ED4
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
-_080D5ED4:
- ldr r4, =gBattleAnimArgs
- ldrb r0, [r4, 0x8]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r3, r5, 2
- adds r1, r3, r5
- lsls r1, 3
- adds r2, r1, r2
- ldrh r1, [r4]
- strh r1, [r2, 0x8]
- ldrh r1, [r4, 0x2]
- strh r1, [r2, 0xA]
- ldrh r1, [r4, 0x4]
- strh r1, [r2, 0xC]
- ldrh r1, [r4, 0x6]
- strh r1, [r2, 0xE]
- strh r0, [r2, 0x10]
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D5F14
- ldrb r0, [r6]
- b _080D5F18
- .pool
-_080D5F14:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
-_080D5F18:
- strh r0, [r2, 0x12]
- ldr r1, =gTasks
- adds r0, r3, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0x20]
- ldr r1, =sub_80D5F3C
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5EB8
-
- thumb_func_start sub_80D5F3C
-sub_80D5F3C: @ 80D5F3C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r1
- ldrb r7, [r4, 0x10]
- ldrh r0, [r4, 0xC]
- ldrh r1, [r4, 0x1C]
- adds r0, r1
- lsls r1, r0, 16
- strh r0, [r4, 0x1C]
- lsrs r1, 24
- mov r8, r1
- mov r0, r8
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- bl Sin
- lsls r0, 16
- lsrs r5, r0, 16
- mov r9, r5
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D5F94
- ldr r0, =gSprites
- lsls r2, r7, 4
- adds r1, r2, r7
- lsls r1, 2
- adds r1, r0
- strh r5, [r1, 0x24]
- mov r9, r0
- adds r4, r2, 0
- b _080D5FDA
- .pool
-_080D5F94:
- ldrb r0, [r4, 0x12]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080D5FBC
- ldr r1, =gSprites
- lsls r2, r7, 4
- adds r0, r2, r7
- lsls r0, 2
- adds r3, r0, r1
- lsls r0, r5, 16
- asrs r0, 16
- mov r9, r1
- adds r4, r2, 0
- cmp r0, 0
- bge _080D5FD8
- b _080D5FD6
- .pool
-_080D5FBC:
- ldr r1, =gSprites
- lsls r2, r7, 4
- adds r0, r2, r7
- lsls r0, 2
- adds r3, r0, r1
- mov r4, r9
- lsls r0, r4, 16
- asrs r0, 16
- mov r9, r1
- adds r4, r2, 0
- cmp r0, 0
- bge _080D5FD6
- negs r0, r0
-_080D5FD6:
- negs r0, r0
-_080D5FD8:
- strh r0, [r3, 0x26]
-_080D5FDA:
- mov r5, r8
- cmp r5, 0x7F
- bls _080D5FFC
- ldr r1, =gTasks
- lsls r2, r6, 2
- adds r0, r2, r6
- lsls r0, 3
- adds r3, r0, r1
- movs r5, 0x1E
- ldrsh r0, [r3, r5]
- adds r5, r1, 0
- cmp r0, 0
- bne _080D5FFC
- movs r1, 0x20
- ldrsh r0, [r3, r1]
- cmp r0, 0x1
- beq _080D601E
-_080D5FFC:
- mov r2, r8
- cmp r2, 0x7E
- bhi _080D6050
- ldr r1, =gTasks
- lsls r2, r6, 2
- adds r0, r2, r6
- lsls r0, 3
- adds r3, r0, r1
- movs r5, 0x1E
- ldrsh r0, [r3, r5]
- adds r5, r1, 0
- cmp r0, 0x1
- bne _080D6050
- movs r1, 0x20
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080D6050
-_080D601E:
- adds r1, r2, r6
- lsls r1, 3
- adds r1, r5
- ldrh r0, [r1, 0x1E]
- movs r2, 0x1
- eors r0, r2
- strh r0, [r1, 0x1E]
- ldrh r0, [r1, 0x20]
- eors r0, r2
- strh r0, [r1, 0x20]
- ldrh r0, [r1, 0xE]
- subs r0, 0x1
- strh r0, [r1, 0xE]
- lsls r0, 16
- asrs r3, r0, 16
- cmp r3, 0
- bne _080D6050
- adds r0, r4, r7
- lsls r0, 2
- add r0, r9
- strh r3, [r0, 0x24]
- strh r3, [r0, 0x26]
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_080D6050:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5F3C
-
- thumb_func_start sub_80D6064
-sub_80D6064: @ 80D6064
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r6, =gBattleAnimArgs
- ldrb r0, [r6, 0x6]
- bl GetAnimBattlerSpriteId
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldrb r1, [r6, 0x8]
- adds r0, r5, 0
- bl sub_80A7270
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r6]
- strh r1, [r0, 0x8]
- ldrh r1, [r6, 0x2]
- strh r1, [r0, 0xA]
- ldrh r1, [r6, 0x4]
- strh r1, [r0, 0xC]
- ldrh r1, [r6, 0x4]
- strh r1, [r0, 0xE]
- strh r5, [r0, 0x10]
- movs r1, 0x80
- lsls r1, 1
- strh r1, [r0, 0x1C]
- strh r1, [r0, 0x1E]
- ldr r1, =sub_80D60BC
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D6064
-
- thumb_func_start sub_80D60BC
-sub_80D60BC: @ 80D60BC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x8]
- ldrh r1, [r4, 0x1C]
- adds r0, r1
- strh r0, [r4, 0x1C]
- ldrh r0, [r4, 0xA]
- ldrh r3, [r4, 0x1E]
- adds r0, r3
- strh r0, [r4, 0x1E]
- ldrb r0, [r4, 0x10]
- adds r6, r0, 0
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- movs r3, 0x1E
- ldrsh r2, [r4, r3]
- adds r0, r6, 0
- movs r3, 0
- bl obj_id_set_rotscale
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- bne _080D612C
- ldrh r2, [r4, 0xE]
- movs r3, 0xE
- ldrsh r0, [r4, r3]
- cmp r0, 0
- ble _080D6120
- ldrh r0, [r4, 0x8]
- negs r0, r0
- strh r0, [r4, 0x8]
- ldrh r0, [r4, 0xA]
- negs r0, r0
- strh r0, [r4, 0xA]
- strh r2, [r4, 0xC]
- strh r1, [r4, 0xE]
- b _080D612C
- .pool
-_080D6120:
- adds r0, r6, 0
- bl sub_80A7344
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080D612C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D60BC
-
- thumb_func_start sub_80D6134
-sub_80D6134: @ 80D6134
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, =gBattleAnimArgs
- ldrb r0, [r4, 0x4]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r1, 0
- bl sub_80A7270
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2, 0xA]
- ldrh r0, [r4]
- strh r0, [r2, 0xC]
- movs r3, 0x6
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- beq _080D6178
- strh r1, [r2, 0xE]
- b _080D6184
- .pool
-_080D6178:
- ldrh r0, [r4]
- ldrh r1, [r4, 0x2]
- adds r3, r0, 0
- muls r3, r1
- adds r0, r3, 0
- strh r0, [r2, 0xE]
-_080D6184:
- ldr r1, =gTasks
- lsls r4, r7, 2
- adds r0, r4, r7
- lsls r0, 3
- adds r5, r0, r1
- ldr r6, =gBattleAnimArgs
- ldrh r0, [r6, 0x2]
- strh r0, [r5, 0x10]
- mov r0, r8
- strh r0, [r5, 0x12]
- ldrh r0, [r6, 0x6]
- strh r0, [r5, 0x14]
- bl IsContest
- lsls r0, 24
- mov r8, r4
- cmp r0, 0
- beq _080D61B8
- movs r0, 0x1
- strh r0, [r5, 0x16]
- b _080D61DC
- .pool
-_080D61B8:
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080D61C8
- ldr r0, =gBattleAnimAttacker
- b _080D61CA
- .pool
-_080D61C8:
- ldr r0, =gBattleAnimTarget
-_080D61CA:
- ldrb r0, [r0]
- bl GetBattlerSide
- movs r1, 0
- lsls r0, 24
- cmp r0, 0
- bne _080D61DA
- movs r1, 0x1
-_080D61DA:
- strh r1, [r5, 0x16]
-_080D61DC:
- ldr r0, =gTasks
- mov r2, r8
- adds r1, r2, r7
- lsls r1, 3
- adds r4, r1, r0
- movs r3, 0x16
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _080D6208
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080D6208
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- negs r0, r0
- strh r0, [r4, 0xE]
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- negs r0, r0
- strh r0, [r4, 0x10]
-_080D6208:
- ldr r0, =gTasks
- mov r3, r8
- adds r1, r3, r7
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80D6308
- str r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D6134
-
- thumb_func_start sub_80D622C
-sub_80D622C: @ 80D622C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gBattleAnimArgs
- ldrb r0, [r4, 0x4]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r1, 0
- bl sub_80A7270
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xA]
- ldrh r1, [r4]
- strh r1, [r0, 0xC]
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D6274
- ldr r0, =gBattleAnimAttacker
- b _080D6276
- .pool
-_080D6274:
- ldr r0, =gBattleAnimTarget
-_080D6276:
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080D6288
- ldrh r0, [r4, 0x2]
- negs r0, r0
- strh r0, [r4, 0x2]
-_080D6288:
- ldr r0, =gBattleAnimArgs
- movs r2, 0x6
- ldrsh r1, [r0, r2]
- adds r6, r0, 0
- cmp r1, 0x1
- beq _080D62B0
- ldr r2, =gTasks
- lsls r3, r5, 2
- adds r0, r3, r5
- lsls r0, 3
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0xE]
- b _080D62CA
- .pool
-_080D62B0:
- ldr r3, =gTasks
- lsls r4, r5, 2
- adds r0, r4, r5
- lsls r0, 3
- adds r0, r3
- ldrh r2, [r6]
- ldrh r1, [r6, 0x2]
- adds r7, r2, 0
- muls r7, r1
- adds r1, r7, 0
- strh r1, [r0, 0xE]
- adds r2, r3, 0
- adds r3, r4, 0
-_080D62CA:
- adds r1, r3, r5
- lsls r1, 3
- adds r1, r2
- ldrh r0, [r6, 0x2]
- strh r0, [r1, 0x10]
- mov r0, r8
- strh r0, [r1, 0x12]
- ldrh r0, [r6, 0x6]
- strh r0, [r1, 0x14]
- movs r0, 0x1
- strh r0, [r1, 0x16]
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- negs r0, r0
- strh r0, [r1, 0xE]
- movs r7, 0x10
- ldrsh r0, [r1, r7]
- negs r0, r0
- strh r0, [r1, 0x10]
- ldr r0, =sub_80D6308
- str r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D622C
-
- thumb_func_start sub_80D6308
-sub_80D6308: @ 80D6308
- 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, 0x10]
- ldrh r1, [r4, 0xE]
- adds r0, r1
- strh r0, [r4, 0xE]
- ldrb r0, [r4, 0x12]
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0xE]
- adds r1, r2, 0
- bl obj_id_set_rotscale
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080D633C
- ldrb r0, [r4, 0x12]
- bl sub_80A73A0
-_080D633C:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0xC
- ldrsh r1, [r4, r2]
- cmp r0, r1
- blt _080D6382
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080D6364
- cmp r0, 0x1
- ble _080D636A
- cmp r0, 0x2
- beq _080D6372
- b _080D636A
- .pool
-_080D6364:
- ldrb r0, [r4, 0x12]
- bl sub_80A7344
-_080D636A:
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- b _080D6382
-_080D6372:
- movs r0, 0
- strh r0, [r4, 0xA]
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- negs r0, r0
- strh r0, [r4, 0x10]
- movs r0, 0x1
- strh r0, [r4, 0x14]
-_080D6382:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80D6308
-
- thumb_func_start sub_80D6388
-sub_80D6388: @ 80D6388
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gBattleAnimArgs
- movs r2, 0
- ldrsh r1, [r0, r2]
- mov r8, r0
- cmp r1, 0
- bne _080D63C0
- ldr r4, =gTasks
- lsls r5, r7, 2
- adds r0, r5, r7
- lsls r0, 3
- adds r6, r0, r4
- ldr r0, =gAnimMovePower
- ldrh r0, [r0]
- movs r1, 0xC
- bl __udivsi3
- b _080D63D4
- .pool
-_080D63C0:
- ldr r4, =gTasks
- lsls r5, r7, 2
- adds r0, r5, r7
- lsls r0, 3
- adds r6, r0, r4
- ldr r0, =gAnimMoveDmg
- ldr r0, [r0]
- movs r1, 0xC
- bl __divsi3
-_080D63D4:
- strh r0, [r6, 0x26]
- lsls r0, 16
- adds r1, r4, 0
- cmp r0, 0
- bgt _080D63E2
- movs r0, 0x1
- strh r0, [r6, 0x26]
-_080D63E2:
- movs r2, 0x26
- ldrsh r0, [r6, r2]
- cmp r0, 0x10
- ble _080D63EE
- movs r0, 0x10
- strh r0, [r6, 0x26]
-_080D63EE:
- adds r4, r5, r7
- lsls r4, 3
- adds r4, r1
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- movs r5, 0
- strh r1, [r4, 0x24]
- ldrh r2, [r4, 0x26]
- movs r0, 0x1
- ands r0, r2
- adds r1, r0
- strh r1, [r4, 0x22]
- strh r5, [r4, 0x20]
- mov r1, r8
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x1C]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x1E]
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x16]
- ldr r2, =gSprites
- movs r0, 0x16
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x24]
- strh r0, [r4, 0x18]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x26]
- strh r0, [r4, 0x1A]
- strh r5, [r4, 0x8]
- mov r1, r8
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0xA]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0xC]
- ldr r0, =sub_80D646C
- str r0, [r4]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D6388
-
- thumb_func_start sub_80D646C
-sub_80D646C: @ 80D646C
- 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 r3, r0, r1
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0xA
- ldrsh r1, [r3, r2]
- cmp r0, r1
- ble _080D654A
- movs r0, 0
- strh r0, [r3, 0x8]
- ldrh r0, [r3, 0x20]
- adds r1, r0, 0x1
- movs r0, 0x1
- ands r1, r0
- strh r1, [r3, 0x20]
- movs r2, 0x1C
- ldrsh r0, [r3, r2]
- cmp r0, 0
- beq _080D64DE
- cmp r1, 0
- beq _080D64C8
- ldr r2, =gSprites
- movs r0, 0x16
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x22]
- ldrh r2, [r3, 0x18]
- adds r1, r2
- b _080D64DC
- .pool
-_080D64C8:
- ldr r2, =gSprites
- movs r0, 0x16
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x18]
- ldrh r2, [r3, 0x24]
- subs r1, r2
-_080D64DC:
- strh r1, [r0, 0x24]
-_080D64DE:
- movs r1, 0x1E
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _080D6518
- movs r2, 0x20
- ldrsh r4, [r3, r2]
- cmp r4, 0
- beq _080D6508
- ldr r2, =gSprites
- movs r0, 0x16
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x26]
- strh r1, [r0, 0x26]
- b _080D6518
- .pool
-_080D6508:
- ldr r2, =gSprites
- movs r0, 0x16
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r4, [r0, 0x26]
-_080D6518:
- ldrh r0, [r3, 0xC]
- subs r0, 0x1
- strh r0, [r3, 0xC]
- lsls r0, 16
- asrs r4, r0, 16
- cmp r4, 0
- bne _080D654A
- ldr r2, =gSprites
- movs r0, 0x16
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r4, [r0, 0x24]
- movs r0, 0x16
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r4, [r0, 0x26]
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080D654A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D646C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_anim_80FE840.s b/asm/battle_anim_80FE840.s
index f5b9697af..620940730 100644
--- a/asm/battle_anim_80FE840.s
+++ b/asm/battle_anim_80FE840.s
@@ -183,7 +183,7 @@ sub_80FE988: @ 80FE988
lsrs r0, 24
strh r0, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldrh r0, [r6, 0x6]
strh r0, [r4, 0x38]
ldr r1, =sub_80FE9E4
@@ -200,7 +200,7 @@ sub_80FE988: @ 80FE988
sub_80FE9E4: @ 80FE9E4
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _080FE9FA
@@ -350,7 +350,7 @@ sub_80FEAD8: @ 80FEAD8
sub_80FEB28: @ 80FEB28
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _080FEB3C
@@ -541,7 +541,7 @@ _080FEC68:
sub_80FECB8: @ 80FECB8
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _080FECE2
@@ -781,7 +781,7 @@ sub_80FEE78: @ 80FEE78
adds r0, r5
strh r0, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
movs r0, 0x40
strh r0, [r4, 0x38]
ldr r1, =sub_80FEECC
@@ -798,7 +798,7 @@ sub_80FEE78: @ 80FEE78
sub_80FEECC: @ 80FEECC
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
bne _080FEF38
@@ -878,7 +878,7 @@ sub_80FEF44: @ 80FEF44
adds r0, r5
strh r0, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
movs r0, 0x40
strh r0, [r4, 0x38]
ldr r1, =sub_80FEF98
@@ -895,7 +895,7 @@ sub_80FEF44: @ 80FEF44
sub_80FEF98: @ 80FEF98
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
bne _080FEFF0
@@ -1124,7 +1124,7 @@ _080FF154:
adds r3, r5, 0
adds r3, 0x36
movs r1, 0x1
- bl sub_80A8924
+ bl SetAverageBattlerPositions
ldrh r0, [r6, 0x4]
ldrh r1, [r5, 0x32]
adds r0, r1
@@ -1175,7 +1175,7 @@ sub_80FF1C0: @ 80FF1C0
movs r0, 0x1
strh r0, [r6, 0x2E]
adds r0, r6, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
ldrh r0, [r6, 0x3C]
strh r5, [r6, 0x2E]
lsls r4, 16
@@ -1272,7 +1272,7 @@ sub_80FF268: @ 80FF268
adds r3, r4, 0
adds r3, 0x22
movs r1, 0x1
- bl sub_80A8924
+ bl SetAverageBattlerPositions
_080FF28A:
ldrh r0, [r4, 0x22]
adds r0, 0x20
@@ -3161,7 +3161,7 @@ _08100180:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
bne _08100196
@@ -3190,7 +3190,7 @@ _081001B4:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
bne _081001CA
@@ -3219,7 +3219,7 @@ _081001E6:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
bne _081001FC
@@ -3272,7 +3272,7 @@ _08100254:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
bne _0810026A
@@ -3403,7 +3403,7 @@ _08100362:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
bne _08100378
@@ -3514,7 +3514,7 @@ _08100448:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _081004FC
@@ -3566,7 +3566,7 @@ _081004B6:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _081004FC
@@ -4152,7 +4152,7 @@ _08100918:
subs r1, r5
lsls r1, 16
asrs r1, 16
- bl sub_80A74F4
+ bl ArcTan2Neg
lsls r0, 16
lsrs r4, r0, 16
bl IsContest
@@ -4869,7 +4869,7 @@ _08100F06:
ldr r6, =gBattleAnimAttacker
ldrb r0, [r6]
movs r1, 0
- bl sub_80A60AC
+ bl GetBattlerSpriteCoord2
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -4878,7 +4878,7 @@ _08100F06:
strh r0, [r5, 0x20]
ldrb r0, [r6]
movs r1, 0x1
- bl sub_80A60AC
+ bl GetBattlerSpriteCoord2
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x2]
@@ -5451,7 +5451,7 @@ _0810137A:
adds r3, r5, 0
adds r3, 0x22
adds r0, r6, 0
- bl sub_80A8924
+ bl SetAverageBattlerPositions
movs r2, 0
ldrsh r1, [r4, r2]
adds r0, r5, 0
@@ -7975,7 +7975,7 @@ _08102794:
mov r12, r5
ldr r7, =gUnknown_08592EBC
mov r8, r7
- ldr r6, =gUnknown_08592EEC
+ ldr r6, =gBattleAnimSpriteTemplate_8592EEC
movs r5, 0x1
_081027B2:
lsls r0, r2, 4
@@ -9082,7 +9082,7 @@ _08103074:
subs r0, 0x28
strh r0, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldrh r0, [r5, 0x6]
strh r0, [r4, 0x38]
ldr r0, =sub_81030B0
@@ -9097,7 +9097,7 @@ _08103074:
sub_81030B0: @ 81030B0
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
bne _08103100
@@ -10172,7 +10172,7 @@ _0810390E:
subs r1, r2
lsls r1, 16
asrs r1, 16
- bl sub_80A74F4
+ bl ArcTan2Neg
lsls r0, 16
movs r1, 0xF0
lsls r1, 24
@@ -10754,7 +10754,7 @@ _08103DB6:
movs r1, 0
mov r2, sp
mov r3, r10
- bl sub_80A8924
+ bl SetAverageBattlerPositions
b _08103E42
.pool
_08103E20:
@@ -11093,7 +11093,7 @@ _081040CC:
subs r1, r2
lsls r1, 16
asrs r1, 16
- bl sub_80A74F4
+ bl ArcTan2Neg
lsls r0, 16
movs r1, 0xC0
lsls r1, 24
@@ -11528,7 +11528,7 @@ _08104448:
adds r0, r6
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldrh r0, [r7]
strh r0, [r5, 0x38]
ldrh r0, [r5, 0x2E]
@@ -11548,7 +11548,7 @@ _08104448:
sub_81044BC: @ 81044BC
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _08104520
@@ -11659,7 +11659,7 @@ _0810458A:
sub_8104594: @ 8104594
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _081045A8
@@ -12761,7 +12761,7 @@ sub_8104E74: @ 8104E74
adds r5, r1, r0
ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
- bl sub_80A6190
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r0, 24
adds r0, 0x20
@@ -12969,7 +12969,7 @@ sub_810501C: @ 810501C
movs r5, 0
strh r0, [r4, 0x20]
ldrb r0, [r6]
- bl sub_80A6190
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r0, 24
adds r0, 0x10
@@ -13220,7 +13220,7 @@ _081051F2:
adds r1, r4, 0
mov r2, sp
adds r3, r7, 0
- bl sub_80A8924
+ bl SetAverageBattlerPositions
cmp r4, 0
bne _08105230
adds r0, r5, 0
@@ -13271,7 +13271,7 @@ _0810526A:
sub_8105284: @ 8105284
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _0810529E
@@ -13466,7 +13466,7 @@ _081053FA:
mov r2, sp
mov r3, sp
adds r3, 0x2
- bl sub_80A8924
+ bl SetAverageBattlerPositions
b _0810546C
.pool
_0810544C:
@@ -13526,7 +13526,7 @@ _0810549E:
ldrh r0, [r2]
strh r0, [r5, 0x2E]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r1, =sub_8105284
str r1, [r5, 0x1C]
adds r0, r5, 0
@@ -15088,7 +15088,7 @@ sub_8106140: @ 8106140
lsrs r0, 24
strh r0, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r0, =sub_810618C
str r0, [r4, 0x1C]
pop {r4,r5}
@@ -15101,7 +15101,7 @@ sub_8106140: @ 8106140
sub_810618C: @ 810618C
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
bne _081061B6
@@ -17006,7 +17006,7 @@ sub_81070AC: @ 81070AC
adds r3, r5, 0
adds r3, 0x22
movs r1, 0
- bl sub_80A8924
+ bl SetAverageBattlerPositions
ldrh r0, [r5, 0x22]
adds r0, 0x28
strh r0, [r5, 0x22]
@@ -17049,8 +17049,8 @@ _08107118:
.pool
thumb_func_end sub_81070AC
- thumb_func_start sub_8107144
-sub_8107144: @ 8107144
+ thumb_func_start AnimTask_IsFuryCutterHitRight
+AnimTask_IsFuryCutterHitRight: @ 8107144
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -17065,10 +17065,10 @@ sub_8107144: @ 8107144
pop {r0}
bx r0
.pool
- thumb_func_end sub_8107144
+ thumb_func_end AnimTask_IsFuryCutterHitRight
- thumb_func_start sub_8107168
-sub_8107168: @ 8107168
+ thumb_func_start AnimTask_GetFuryCutterHitCount
+AnimTask_GetFuryCutterHitCount: @ 8107168
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -17081,10 +17081,10 @@ sub_8107168: @ 8107168
pop {r0}
bx r0
.pool
- thumb_func_end sub_8107168
+ thumb_func_end AnimTask_GetFuryCutterHitCount
- thumb_func_start sub_8107188
-sub_8107188: @ 8107188
+ thumb_func_start AnimTask_CreateRaindrops
+AnimTask_CreateRaindrops: @ 8107188
push {r4-r6,lr}
lsls r0, 24
lsrs r0, 24
@@ -17150,7 +17150,7 @@ _0810720A:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8107188
+ thumb_func_end AnimTask_CreateRaindrops
thumb_func_start sub_810721C
sub_810721C: @ 810721C
@@ -17269,7 +17269,7 @@ _081072D8:
lsrs r0, 24
strh r0, [r6, 0x36]
adds r0, r6, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r0, =SpriteCallbackDummy
bl CreateInvisibleSpriteWithCallback
adds r4, r0, 0
@@ -17339,7 +17339,7 @@ sub_8107380: @ 8107380
movs r0, 0x1
strh r0, [r5, 0x2E]
adds r0, r5, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
mov r1, r8
lsrs r6, r1, 8
movs r0, 0x2E
@@ -17464,7 +17464,7 @@ _08107482:
adds r0, r7
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r0, =sub_81074E4
str r0, [r5, 0x1C]
adds r2, r5, 0
@@ -17502,7 +17502,7 @@ sub_81074E4: @ 81074E4
strb r0, [r2]
_08107506:
adds r0, r4, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _08107518
@@ -17637,7 +17637,7 @@ sub_81075EC: @ 81075EC
lsrs r0, 24
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
movs r0, 0x2E
ldrsh r1, [r5, r0]
movs r0, 0xD2
@@ -17678,7 +17678,7 @@ _08107660:
sub_8107674: @ 8107674
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _08107688
@@ -18033,8 +18033,8 @@ _0810794C:
bx r0
thumb_func_end sub_810790C
- thumb_func_start sub_8107954
-sub_8107954: @ 8107954
+ thumb_func_start AnimTask_CreateSurfWave
+AnimTask_CreateSurfWave: @ 8107954
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -18256,7 +18256,7 @@ _08107B58:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8107954
+ thumb_func_end AnimTask_CreateSurfWave
thumb_func_start sub_8107B84
sub_8107B84: @ 8107B84
@@ -20234,7 +20234,7 @@ _08108B1A:
sub_8108B2C: @ 8108B2C
push {r4-r6,lr}
adds r6, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _08108B86
@@ -20283,7 +20283,7 @@ _08108B86:
sub_8108B94: @ 8108B94
push {r4-r6,lr}
adds r5, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _08108BD0
@@ -21144,7 +21144,7 @@ sub_8109244: @ 8109244
lsrs r0, 24
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r0, =sub_810929C
str r0, [r5, 0x1C]
_0810928E:
@@ -21158,7 +21158,7 @@ _0810928E:
sub_810929C: @ 810929C
push {r4-r6,lr}
adds r6, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _081092E4
@@ -22386,7 +22386,7 @@ _08109C3E:
sub_8109C4C: @ 8109C4C
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
bne _08109CA4
@@ -22914,8 +22914,8 @@ _0810A054:
.pool
thumb_func_end sub_8109E2C
- thumb_func_start sub_810A060
-sub_810A060: @ 810A060
+ thumb_func_start AnimTask_BlendBackground
+AnimTask_BlendBackground: @ 810A060
push {r4,lr}
sub sp, 0x10
adds r4, r0, 0
@@ -22938,7 +22938,7 @@ sub_810A060: @ 810A060
pop {r0}
bx r0
.pool
- thumb_func_end sub_810A060
+ thumb_func_end AnimTask_BlendBackground
thumb_func_start sub_810A094
sub_810A094: @ 810A094
@@ -23433,7 +23433,7 @@ sub_810A46C: @ 810A46C
lsrs r0, 24
strh r0, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldrh r0, [r5, 0x4]
strh r0, [r4, 0x38]
ldrh r0, [r5, 0xA]
@@ -23468,7 +23468,7 @@ sub_810A46C: @ 810A46C
sub_810A4F4: @ 810A4F4
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
bne _0810A55E
@@ -24336,7 +24336,7 @@ sub_810AB78: @ 810AB78
strh r0, [r4, 0x36]
strh r6, [r4, 0x38]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r1, =sub_810ACC0
adds r0, r4, 0
bl StoreSpriteCallbackInData6
@@ -24394,7 +24394,7 @@ _0810AC86:
sub_810AC8C: @ 810AC8C
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _0810ACB4
@@ -26048,7 +26048,7 @@ _0810B990:
adds r3, r4, 0
adds r3, 0x22
movs r1, 0x1
- bl sub_80A8924
+ bl SetAverageBattlerPositions
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -26155,7 +26155,7 @@ _0810BA74:
adds r3, r5, 0
adds r3, 0x36
movs r1, 0x1
- bl sub_80A8924
+ bl SetAverageBattlerPositions
_0810BA86:
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
@@ -26454,7 +26454,7 @@ _0810BCE0:
adds r3, r5, 0
adds r3, 0x36
movs r1, 0x1
- bl sub_80A8924
+ bl SetAverageBattlerPositions
_0810BCF2:
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
@@ -26652,7 +26652,7 @@ _0810BE6C:
adds r3, r4, 0
adds r3, 0x22
movs r1, 0
- bl sub_80A8924
+ bl SetAverageBattlerPositions
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -26719,7 +26719,7 @@ _0810BEF4:
adds r3, r5, 0
adds r3, 0x22
movs r1, 0
- bl sub_80A8924
+ bl SetAverageBattlerPositions
ldrb r0, [r4]
bl GetBattlerSide
lsls r0, 24
@@ -26762,7 +26762,7 @@ _0810BF52:
adds r3, r5, 0
adds r3, 0x22
movs r1, 0
- bl sub_80A8924
+ bl SetAverageBattlerPositions
ldrb r0, [r4]
bl GetBattlerSide
lsls r0, 24
@@ -26828,7 +26828,7 @@ _0810BFCC:
adds r0, r1
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
movs r0, 0x40
strh r0, [r5, 0x38]
ldr r1, =sub_810C008
@@ -26845,7 +26845,7 @@ _0810BFCC:
sub_810C008: @ 810C008
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
bne _0810C092
@@ -27192,7 +27192,7 @@ sub_810C2F0: @ 810C2F0
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
- ldr r0, =sub_80A7820
+ ldr r0, =TranslateAnimSpriteToTargetMonLocation
str r0, [r4, 0x1C]
pop {r4,r5}
pop {r0}
@@ -27608,7 +27608,7 @@ _0810C684:
strb r0, [r1]
_0810C6B8:
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r0, =sub_810C6D4
str r0, [r5, 0x1C]
pop {r3}
@@ -27642,7 +27642,7 @@ _0810C6F4:
b _0810C90C
_0810C6F6:
adds r0, r4, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
ldr r1, =gSineTable
movs r2, 0x38
ldrsh r0, [r4, r2]
@@ -27731,12 +27731,12 @@ _0810C78E:
ands r0, r1
strh r0, [r4, 0x38]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
b _0810C90C
.pool
_0810C7BC:
adds r0, r4, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
ldr r1, =gSineTable
movs r2, 0x38
ldrsh r0, [r4, r2]
@@ -27872,7 +27872,7 @@ _0810C8B6:
.pool
_0810C8D0:
adds r0, r4, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _0810C90C
@@ -28414,7 +28414,7 @@ _0810CCCE:
sub_810CD1C: @ 810CD1C
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _0810CD3E
@@ -28522,8 +28522,8 @@ _0810CDF6:
bx r0
thumb_func_end sub_810CDB0
- thumb_func_start sub_810CDFC
-sub_810CDFC: @ 810CDFC
+ thumb_func_start AnimTask_GetRolloutCounter
+AnimTask_GetRolloutCounter: @ 810CDFC
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -28544,7 +28544,7 @@ sub_810CDFC: @ 810CDFC
pop {r0}
bx r0
.pool
- thumb_func_end sub_810CDFC
+ thumb_func_end AnimTask_GetRolloutCounter
thumb_func_start unc_080B08A0
unc_080B08A0: @ 810CE2C
@@ -28796,7 +28796,7 @@ _0810D028:
mov r1, r9
ldrh r0, [r1, 0x2]
strh r0, [r5, 0x2E]
- ldr r0, =gUnknown_08597358
+ ldr r0, =gBasicHitSplatSpriteTemplate
movs r2, 0x20
ldrsh r1, [r5, r2]
movs r3, 0x22
@@ -29021,7 +29021,7 @@ _0810D1FE:
strh r0, [r6, 0x34]
strh r0, [r6, 0x36]
adds r0, r6, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldrh r0, [r4, 0xA]
strh r0, [r6, 0x38]
ldrh r0, [r4, 0x8]
@@ -29039,7 +29039,7 @@ _0810D1FE:
sub_810D240: @ 810D240
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
bne _0810D26C
@@ -29616,7 +29616,7 @@ sub_810D6A8: @ 810D6A8
lsrs r0, 24
strh r0, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r1, =move_anim_8074EE0
adds r0, r4, 0
bl StoreSpriteCallbackInData6
@@ -29892,7 +29892,7 @@ _0810D918:
lsrs r0, 24
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r1, =DestroyAnimSprite
adds r0, r5, 0
bl StoreSpriteCallbackInData6
@@ -30234,7 +30234,7 @@ _0810DBC2:
sub_810DC10: @ 810DC10
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _0810DC24
@@ -30270,7 +30270,7 @@ _0810DC44:
movs r1, 0x1
mov r2, sp
adds r3, r6, 0
- bl sub_80A8924
+ bl SetAverageBattlerPositions
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -30309,7 +30309,7 @@ _0810DC72:
sub_810DCB4: @ 810DCB4
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _0810DCC8
@@ -30396,7 +30396,7 @@ sub_810DD50: @ 810DD50
adds r3, r4, 0
adds r3, 0x22
movs r1, 0x1
- bl sub_80A8924
+ bl SetAverageBattlerPositions
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -30457,7 +30457,7 @@ _0810DDE0:
adds r3, r4, 0
adds r3, 0x22
movs r1, 0x1
- bl sub_80A8924
+ bl SetAverageBattlerPositions
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -30716,7 +30716,7 @@ _0810DFC8:
adds r0, r4
strh r0, [r6, 0x36]
adds r0, r6, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r0, =sub_80A67BC
str r0, [r6, 0x1C]
ldr r1, =sub_810E028
@@ -30732,7 +30732,7 @@ _0810DFC8:
sub_810E028: @ 810E028
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _0810E03C
@@ -30828,7 +30828,7 @@ _0810E0EC:
adds r3, r5, 0
adds r3, 0x36
movs r1, 0x1
- bl sub_80A8924
+ bl SetAverageBattlerPositions
_0810E0FE:
ldr r4, =gBattleAnimArgs
ldrh r0, [r4, 0x4]
@@ -30971,7 +30971,7 @@ _0810E1FE:
lsrs r0, 24
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r0, =sub_810E24C
str r0, [r5, 0x1C]
pop {r4,r5}
@@ -30987,7 +30987,7 @@ sub_810E24C: @ 810E24C
movs r0, 0x1
strh r0, [r4, 0x2E]
adds r0, r4, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
ldrh r1, [r4, 0x34]
lsrs r0, r1, 8
cmp r0, 0xC8
@@ -32074,7 +32074,7 @@ sub_810EA4C: @ 810EA4C
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
- ldr r0, =sub_80A7820
+ ldr r0, =TranslateAnimSpriteToTargetMonLocation
str r0, [r4, 0x1C]
pop {r4,r5}
pop {r0}
@@ -32913,7 +32913,7 @@ sub_810F084: @ 810F084
asrs r5, 16
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80A74F4
+ bl ArcTan2Neg
lsls r0, 16
movs r1, 0xC0
lsls r1, 24
@@ -34508,7 +34508,7 @@ _0810FDE8:
sub_810FDF0: @ 810FDF0
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _0810FE0E
@@ -34537,7 +34537,7 @@ sub_810FE14: @ 810FE14
adds r4, r1, r0
ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl sub_80A6190
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r1, r0, 24
adds r0, r1, 0
@@ -35235,7 +35235,7 @@ _081103C4:
ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A60AC
+ bl GetBattlerSpriteCoord2
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -35244,7 +35244,7 @@ _081103C4:
strh r0, [r6, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A60AC
+ bl GetBattlerSpriteCoord2
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x2]
@@ -35314,7 +35314,7 @@ _08110478:
ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A60AC
+ bl GetBattlerSpriteCoord2
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -35323,7 +35323,7 @@ _08110478:
strh r0, [r6, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A60AC
+ bl GetBattlerSpriteCoord2
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x2]
@@ -35407,7 +35407,7 @@ _08110548:
adds r3, r5, 0
adds r3, 0x36
movs r1, 0x1
- bl sub_80A8924
+ bl SetAverageBattlerPositions
_0811055A:
adds r0, r5, 0
bl sub_80A6FD4
@@ -35426,7 +35426,7 @@ _0811055A:
sub_811057C: @ 811057C
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _08110592
@@ -35464,7 +35464,7 @@ sub_81105B4: @ 81105B4
adds r3, r4, 0
adds r3, 0x22
movs r1, 0
- bl sub_80A8924
+ bl SetAverageBattlerPositions
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -35745,7 +35745,7 @@ _081107B2:
subs r1, r2
lsls r1, 16
asrs r1, 16
- bl sub_80A74F4
+ bl ArcTan2Neg
lsls r0, 16
movs r1, 0xC0
lsls r1, 24
@@ -35844,7 +35844,7 @@ sub_81108CC: @ 81108CC
ands r1, r0
strb r1, [r2]
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _081108F8
@@ -35879,7 +35879,7 @@ _0811090E:
lsls r0, 16
lsrs r6, r0, 16
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
bne _08110988
@@ -35899,7 +35899,7 @@ _0811090E:
subs r1, r2
lsls r1, 16
asrs r1, 16
- bl sub_80A74F4
+ bl ArcTan2Neg
lsls r0, 16
movs r1, 0xC0
lsls r1, 24
@@ -35987,7 +35987,7 @@ sub_81109F0: @ 81109F0
adds r3, r5, 0
adds r3, 0x22
movs r1, 0
- bl sub_80A8924
+ bl SetAverageBattlerPositions
_08110A10:
ldrh r0, [r6]
ldrh r1, [r5, 0x20]
@@ -36190,8 +36190,8 @@ _08110BC6:
bx r0
thumb_func_end sub_8110B80
- thumb_func_start sub_8110BCC
-sub_8110BCC: @ 8110BCC
+ thumb_func_start AnimTask_LoadSandstormBackground
+AnimTask_LoadSandstormBackground: @ 8110BCC
push {r4-r6,lr}
sub sp, 0x10
lsls r0, 24
@@ -36275,7 +36275,7 @@ _08110C6E:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8110BCC
+ thumb_func_end AnimTask_LoadSandstormBackground
thumb_func_start sub_8110CB0
sub_8110CB0: @ 8110CB0
@@ -37059,7 +37059,7 @@ _08111304:
sub_811131C: @ 811131C
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _0811134E
@@ -37205,7 +37205,7 @@ sub_8111418: @ 8111418
bl StartSpriteAffineAnim
_08111434:
adds r0, r4, 0
- bl sub_80A7820
+ bl TranslateAnimSpriteToTargetMonLocation
pop {r4}
pop {r0}
bx r0
@@ -37293,8 +37293,8 @@ _081114E6:
bx r0
thumb_func_end sub_811149C
- thumb_func_start sub_81114EC
-sub_81114EC: @ 81114EC
+ thumb_func_start AnimTask_GetSeismicTossDamageLevel
+AnimTask_GetSeismicTossDamageLevel: @ 81114EC
push {lr}
lsls r0, 24
lsrs r3, r0, 24
@@ -37326,7 +37326,7 @@ _0811151A:
pop {r0}
bx r0
.pool
- thumb_func_end sub_81114EC
+ thumb_func_end AnimTask_GetSeismicTossDamageLevel
thumb_func_start sub_811152C
sub_811152C: @ 811152C
@@ -37483,7 +37483,7 @@ sub_8111674: @ 8111674
adds r4, r0, 0
bl sub_8111764
adds r0, r4, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _08111694
@@ -37541,7 +37541,7 @@ sub_81116E8: @ 81116E8
movs r0, 0x1
strh r0, [r4, 0x2E]
adds r0, r4, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
movs r1, 0x38
ldrsh r0, [r4, r1]
movs r1, 0xA
@@ -40203,7 +40203,7 @@ sub_8112C6C: @ 8112C6C
lsrs r0, 24
strh r0, [r4, 0x1A]
ldrb r0, [r5]
- bl sub_80A6190
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x1C]
@@ -41135,7 +41135,7 @@ _0811342A:
strb r5, [r0, 0x9]
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl sub_80A6190
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
@@ -42031,7 +42031,7 @@ _08113B60:
sub_8113B90: @ 8113B90
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _08113BA4
@@ -43699,7 +43699,7 @@ sub_8114994: @ 8114994
sub_81149FC: @ 81149FC
push {r4,r5,lr}
adds r5, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _08114A50
@@ -43746,7 +43746,7 @@ _08114A50:
sub_8114A60: @ 8114A60
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _08114A74
@@ -43817,13 +43817,13 @@ sub_8114AF0: @ 8114AF0
ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A60AC
+ bl GetBattlerSpriteCoord2
lsls r0, 24
lsrs r0, 24
mov r8, r0
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A60AC
+ bl GetBattlerSpriteCoord2
lsls r0, 24
lsrs r7, r0, 24
bl Random2
@@ -44120,7 +44120,7 @@ _08114D78:
strh r0, [r4, 0x22]
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl sub_80A6190
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
@@ -44460,7 +44460,7 @@ _08115046:
strh r0, [r4, 0x20]
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl sub_80A6190
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
@@ -44663,7 +44663,7 @@ _081151DA:
adds r0, r6
strh r0, [r5, 0x20]
adds r0, r4, 0
- bl sub_80A6190
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r0, 24
adds r0, 0x1E
@@ -44693,7 +44693,7 @@ _081151DA:
sub_8115228: @ 8115228
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _0811523C
@@ -44735,7 +44735,7 @@ _08115262:
adds r0, r1
strh r0, [r6, 0x20]
adds r0, r5, 0
- bl sub_80A6190
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r0, 24
adds r0, 0x20
@@ -45184,8 +45184,8 @@ _081155F4:
.pool
thumb_func_end sub_8115588
- thumb_func_start sub_8115600
-sub_8115600: @ 8115600
+ thumb_func_start AnimTask_IsPowerOver99
+AnimTask_IsPowerOver99: @ 8115600
push {lr}
lsls r0, 24
lsrs r1, r0, 24
@@ -45203,7 +45203,7 @@ _08115614:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8115600
+ thumb_func_end AnimTask_IsPowerOver99
thumb_func_start sub_8115628
sub_8115628: @ 8115628
@@ -47427,8 +47427,8 @@ _08116832:
.pool
thumb_func_end sub_811675C
- thumb_func_start sub_8116848
-sub_8116848: @ 8116848
+ thumb_func_start AnimTask_BlendParticle
+AnimTask_BlendParticle: @ 8116848
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
@@ -47447,7 +47447,7 @@ sub_8116848: @ 8116848
pop {r0}
bx r0
.pool
- thumb_func_end sub_8116848
+ thumb_func_end AnimTask_BlendParticle
thumb_func_start sub_8116874
sub_8116874: @ 8116874
@@ -49190,8 +49190,8 @@ _0811773E:
.pool
thumb_func_end sub_81176D8
- thumb_func_start sub_8117754
-sub_8117754: @ 8117754
+ thumb_func_start AnimTask_IsAttackerOpponentSide
+AnimTask_IsAttackerOpponentSide: @ 8117754
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
@@ -49209,10 +49209,10 @@ sub_8117754: @ 8117754
pop {r0}
bx r0
.pool
- thumb_func_end sub_8117754
+ thumb_func_end AnimTask_IsAttackerOpponentSide
- thumb_func_start sub_8117780
-sub_8117780: @ 8117780
+ thumb_func_start AnimTask_IsTargetOpponentSide
+AnimTask_IsTargetOpponentSide: @ 8117780
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
@@ -49230,10 +49230,10 @@ sub_8117780: @ 8117780
pop {r0}
bx r0
.pool
- thumb_func_end sub_8117780
+ thumb_func_end AnimTask_IsTargetOpponentSide
- thumb_func_start sub_81177AC
-sub_81177AC: @ 81177AC
+ thumb_func_start AnimTask_IsTargetPartner
+AnimTask_IsTargetPartner: @ 81177AC
push {r4,r5,lr}
lsls r0, 24
lsrs r3, r0, 24
@@ -49256,7 +49256,7 @@ _081177C8:
pop {r0}
bx r0
.pool
- thumb_func_end sub_81177AC
+ thumb_func_end AnimTask_IsTargetPartner
thumb_func_start sub_81177E4
sub_81177E4: @ 81177E4
@@ -49753,8 +49753,8 @@ _08117C0C:
.pool
thumb_func_end sub_8117A60
- thumb_func_start sub_8117C24
-sub_8117C24: @ 8117C24
+ thumb_func_start AnimTask_GetBattleTerrain
+AnimTask_GetBattleTerrain: @ 8117C24
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -49766,7 +49766,7 @@ sub_8117C24: @ 8117C24
pop {r0}
bx r0
.pool
- thumb_func_end sub_8117C24
+ thumb_func_end AnimTask_GetBattleTerrain
thumb_func_start sub_8117C44
sub_8117C44: @ 8117C44
@@ -50032,8 +50032,8 @@ _08117E34:
.pool
thumb_func_end sub_8117DD8
- thumb_func_start sub_8117E60
-sub_8117E60: @ 8117E60
+ thumb_func_start AnimTask_IsContest
+AnimTask_IsContest: @ 8117E60
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
@@ -50057,7 +50057,7 @@ _08117E84:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8117E60
+ thumb_func_end AnimTask_IsContest
thumb_func_start sub_8117E94
sub_8117E94: @ 8117E94
@@ -50078,8 +50078,8 @@ sub_8117E94: @ 8117E94
.pool
thumb_func_end sub_8117E94
- thumb_func_start sub_8117EC4
-sub_8117EC4: @ 8117EC4
+ thumb_func_start AnimTask_IsTargetSameSide
+AnimTask_IsTargetSameSide: @ 8117EC4
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
@@ -50109,7 +50109,7 @@ _08117EFC:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8117EC4
+ thumb_func_end AnimTask_IsTargetSameSide
thumb_func_start sub_8117F10
sub_8117F10: @ 8117F10
@@ -50366,8 +50366,8 @@ _08118132:
.pool
thumb_func_end SetAnimBgAttribute
- thumb_func_start sub_8118140
-sub_8118140: @ 8118140
+ thumb_func_start GetAnimBgAttribute
+GetAnimBgAttribute: @ 8118140
push {r4,lr}
sub sp, 0x4
lsls r0, 24
@@ -50441,7 +50441,7 @@ _081181CA:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8118140
+ thumb_func_end GetAnimBgAttribute
thumb_func_start HandleIntroSlide
HandleIntroSlide: @ 81181D4
diff --git a/asm/battle_anim_815A0D4.s b/asm/battle_anim_815A0D4.s
index 6b894a0f1..b31af7d1e 100644
--- a/asm/battle_anim_815A0D4.s
+++ b/asm/battle_anim_815A0D4.s
@@ -231,7 +231,7 @@ sub_815A254: @ 815A254
subs r1, r6
lsls r1, 16
asrs r1, 16
- bl sub_80A74F4
+ bl ArcTan2Neg
lsls r0, 16
movs r1, 0xC0
lsls r1, 23
@@ -775,7 +775,7 @@ sub_815A6C4: @ 815A6C4
movs r1, 0
mov r2, sp
adds r3, r5, 0
- bl sub_80A8924
+ bl SetAverageBattlerPositions
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -816,7 +816,7 @@ _0815A6F8:
sub_815A73C: @ 815A73C
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _0815A75E
@@ -1012,8 +1012,8 @@ _0815A8C2:
bx r0
thumb_func_end sub_815A8AC
- thumb_func_start sub_815A8C8
-sub_815A8C8: @ 815A8C8
+ thumb_func_start AnimTask_IsTargetPlayerSide
+AnimTask_IsTargetPlayerSide: @ 815A8C8
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
@@ -1039,10 +1039,10 @@ _0815A8F0:
pop {r0}
bx r0
.pool
- thumb_func_end sub_815A8C8
+ thumb_func_end AnimTask_IsTargetPlayerSide
- thumb_func_start sub_815A904
-sub_815A904: @ 815A904
+ thumb_func_start AnimTask_IsHealingMove
+AnimTask_IsHealingMove: @ 815A904
push {lr}
lsls r0, 24
lsrs r2, r0, 24
@@ -1064,7 +1064,7 @@ _0815A924:
pop {r0}
bx r0
.pool
- thumb_func_end sub_815A904
+ thumb_func_end AnimTask_IsHealingMove
thumb_func_start sub_815A934
sub_815A934: @ 815A934
@@ -1625,7 +1625,7 @@ _0815ADDC:
ldr r4, =gBattleAnimTarget
_0815ADDE:
ldrb r0, [r4]
- bl sub_80A6190
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
@@ -6104,7 +6104,7 @@ _0815D26E:
strh r0, [r4, 0x18]
_0815D2A0:
adds r0, r5, 0
- bl sub_80A6190
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r0, 24
subs r0, 0x22
@@ -8524,7 +8524,7 @@ _0815E5FE:
lsls r0, 2
ldr r1, =gSprites
adds r0, r1
- bl AnimateBallThrow
+ bl TranslateAnimArc
ldrh r0, [r4, 0xC]
adds r0, 0x1
strh r0, [r4, 0xC]
@@ -8542,7 +8542,7 @@ _0815E634:
lsls r0, 2
ldr r1, =gSprites
adds r0, r1
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _0815E6D2
@@ -9804,11 +9804,11 @@ _0815F022:
strh r0, [r4, 0x34]
strh r1, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
b _0815F0F8
_0815F038:
adds r0, r4, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _0815F106
@@ -10048,8 +10048,8 @@ _0815F1DE:
.pool
thumb_func_end sub_815F18C
- thumb_func_start sub_815F20C
-sub_815F20C: @ 815F20C
+ thumb_func_start AnimTask_MonToSubstitute
+AnimTask_MonToSubstitute: @ 815F20C
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@@ -10183,7 +10183,7 @@ _0815F310:
pop {r0}
bx r0
.pool
- thumb_func_end sub_815F20C
+ thumb_func_end AnimTask_MonToSubstitute
thumb_func_start sub_815F330
sub_815F330: @ 815F330
@@ -10861,8 +10861,8 @@ _0815F896:
.pool
thumb_func_end sub_815F7C4
- thumb_func_start sub_815F8A0
-sub_815F8A0: @ 815F8A0
+ thumb_func_start AnimTask_GetReturnPowerLevel
+AnimTask_GetReturnPowerLevel: @ 815F8A0
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
@@ -10904,7 +10904,7 @@ _0815F8E0:
pop {r0}
bx r0
.pool
- thumb_func_end sub_815F8A0
+ thumb_func_end AnimTask_GetReturnPowerLevel
thumb_func_start sub_815F8F4
sub_815F8F4: @ 815F8F4
@@ -12336,8 +12336,8 @@ _081604E8:
bx r0
thumb_func_end sub_81603F4
- thumb_func_start sub_81604F0
-sub_81604F0: @ 81604F0
+ thumb_func_start AnimTask_GetWeather
+AnimTask_GetWeather: @ 81604F0
push {lr}
lsls r0, 24
lsrs r3, r0, 24
@@ -12380,7 +12380,7 @@ _08160538:
bl DestroyAnimVisualTask
pop {r0}
bx r0
- thumb_func_end sub_81604F0
+ thumb_func_end AnimTask_GetWeather
thumb_func_start sub_8160544
sub_8160544: @ 8160544
diff --git a/asm/battle_anim_8170478.s b/asm/battle_anim_8170478.s
index ef7e609d9..ab3f27799 100644
--- a/asm/battle_anim_8170478.s
+++ b/asm/battle_anim_8170478.s
@@ -1030,8 +1030,8 @@ sub_8170D24: @ 8170D24
.pool
thumb_func_end sub_8170D24
- thumb_func_start sub_8170D4C
-sub_8170D4C: @ 8170D4C
+ thumb_func_start AnimTask_IsBallBlockedByTrainer
+AnimTask_IsBallBlockedByTrainer: @ 8170D4C
push {lr}
lsls r0, 24
lsrs r2, r0, 24
@@ -1055,7 +1055,7 @@ _08170D74:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8170D4C
+ thumb_func_end AnimTask_IsBallBlockedByTrainer
thumb_func_start ItemIdToBallId
ItemIdToBallId: @ 8170D84
@@ -1487,7 +1487,7 @@ sub_8171134: @ 8171134
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _081711D2
@@ -2671,7 +2671,7 @@ sub_8171AAC: @ 8171AAC
orrs r0, r1
strb r0, [r3]
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _08171ADC
@@ -5652,7 +5652,7 @@ _081733C0:
sub_81733D4: @ 81733D4
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _081733F6
@@ -5757,8 +5757,8 @@ _081734A0:
.pool
thumb_func_end sub_817345C
- thumb_func_start sub_81734B4
-sub_81734B4: @ 81734B4
+ thumb_func_start AnimTask_GetTrappedMoveAnimId
+AnimTask_GetTrappedMoveAnimId: @ 81734B4
push {lr}
lsls r0, 24
lsrs r2, r0, 24
@@ -5805,7 +5805,7 @@ _0817350C:
pop {r0}
bx r0
.pool
- thumb_func_end sub_81734B4
+ thumb_func_end AnimTask_GetTrappedMoveAnimId
thumb_func_start sub_817351C
sub_817351C: @ 817351C
diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s
index 1a2233a97..4df690e59 100644
--- a/asm/battle_frontier_2.s
+++ b/asm/battle_frontier_2.s
@@ -4,10033 +4,7 @@
.syntax unified
.text
-
- thumb_func_start sub_819A44C
-sub_819A44C: @ 819A44C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrb r4, [r5, 0x5]
- lsrs r4, 4
- movs r0, 0x65
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsls r4, 16
- lsrs r4, 16
- lsrs r0, 24
- cmp r4, r0
- bne _0819A4BA
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0819A4B0
- ldrh r1, [r5, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _0819A484
- subs r0, r1, 0x1
- strh r0, [r5, 0x2E]
- b _0819A4C2
-_0819A484:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x5
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- bne _0819A4A6
- adds r0, r5, 0
- movs r1, 0
- bl StartSpriteAnim
- movs r0, 0x20
- strh r0, [r5, 0x2E]
- b _0819A4C2
-_0819A4A6:
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnim
- b _0819A4C2
-_0819A4B0:
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnimIfDifferent
- b _0819A4C2
-_0819A4BA:
- adds r0, r5, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
-_0819A4C2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_819A44C
-
- thumb_func_start sub_819A4C8
-sub_819A4C8: @ 819A4C8
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTextPrinters
- bl UpdatePaletteFade
- bl RunTasks
- pop {r0}
- bx r0
- thumb_func_end sub_819A4C8
-
- thumb_func_start sub_819A4E4
-sub_819A4E4: @ 819A4E4
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_819A4E4
-
- thumb_func_start sub_819A4F8
-sub_819A4F8: @ 819A4F8
- push {lr}
- ldr r0, =gUnknown_0300127C
- movs r1, 0
- str r1, [r0]
- ldr r0, =sub_819A514
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819A4F8
-
- thumb_func_start sub_819A514
-sub_819A514: @ 819A514
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xA
- bls _0819A528
- b _0819A98E
-_0819A528:
- lsls r0, 2
- ldr r1, =_0819A53C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0819A53C:
- .4byte _0819A568
- .4byte _0819A5C0
- .4byte _0819A69C
- .4byte _0819A77C
- .4byte _0819A7CC
- .4byte _0819A868
- .4byte _0819A8A4
- .4byte _0819A8AC
- .4byte _0819A8C4
- .4byte _0819A8DC
- .4byte _0819A8FC
-_0819A568:
- ldr r4, =gUnknown_0203CE3C
- ldr r0, [r4]
- cmp r0, 0
- beq _0819A578
- bl Free
- movs r0, 0
- str r0, [r4]
-_0819A578:
- movs r0, 0
- bl SetHBlankCallback
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- str r0, [sp, 0x8]
- movs r1, 0xC0
- lsls r1, 19
- ldr r2, =0x05006000
- add r0, sp, 0x8
- bl CpuSet
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_08610428
- movs r0, 0
- movs r2, 0x3
- bl InitBgsFromTemplates
- ldr r0, =gUnknown_08610434
- bl InitWindows
- bl DeactivateAllTextPrinters
- b _0819A8E6
- .pool
-_0819A5C0:
- ldr r5, =gUnknown_0203CE2C
- movs r4, 0x88
- lsls r4, 3
- adds r0, r4, 0
- bl Alloc
- str r0, [r5]
- ldr r5, =gUnknown_0203CE30
- adds r0, r4, 0
- bl AllocZeroed
- str r0, [r5]
- ldr r5, =gUnknown_0203CE34
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- bl Alloc
- str r0, [r5]
- ldr r5, =gUnknown_0203CE38
- adds r0, r4, 0
- bl AllocZeroed
- str r0, [r5]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x4C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x42
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x46
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _0819A8EE
- .pool
-_0819A69C:
- bl ResetPaletteFade
- bl ResetSpriteData
- bl ResetTasks
- bl FreeAllSpritePalettes
- ldr r0, =gFrontierFactorySelectMenu_Gfx
- ldr r5, =gUnknown_0203CE2C
- ldr r1, [r5]
- movs r2, 0x88
- lsls r2, 2
- bl CpuSet
- ldr r0, =gUnknown_0861033C
- ldr r4, =gUnknown_0203CE30
- ldr r1, [r4]
- movs r2, 0x30
- bl CpuSet
- ldr r1, [r5]
- movs r2, 0x88
- lsls r2, 3
- movs r0, 0x1
- movs r3, 0
- bl LoadBgTiles
- ldr r1, [r4]
- movs r0, 0x3
- movs r2, 0x60
- movs r3, 0
- bl LoadBgTiles
- ldr r0, =gFrontierFactorySelectMenu_Tilemap
- ldr r4, =gUnknown_0203CE34
- ldr r1, [r4]
- movs r2, 0x80
- lsls r2, 3
- bl CpuSet
- ldr r1, [r4]
- movs r2, 0x80
- lsls r2, 4
- movs r0, 0x1
- movs r3, 0
- bl LoadBgTilemap
- ldr r0, =gFrontierFactorySelectMenu_Pal
- movs r1, 0
- movs r2, 0x40
- bl LoadPalette
- ldr r4, =gUnknown_0861046C
- adds r0, r4, 0
- movs r1, 0xF0
- movs r2, 0x8
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0xE0
- movs r2, 0xA
- bl LoadPalette
- ldr r0, =gUnknown_0300127C
- ldr r1, [r0]
- ldrb r0, [r1, 0x6]
- cmp r0, 0x1
- bne _0819A738
- ldr r0, =gPlttBufferUnfaded
- movs r2, 0xA9
- lsls r2, 2
- adds r1, r2
- ldrh r1, [r1]
- movs r3, 0xE4
- lsls r3, 1
- adds r0, r3
- strh r1, [r0]
-_0819A738:
- ldr r0, =gUnknown_0861039C
- movs r1, 0x20
- movs r2, 0x4
- bl LoadPalette
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _0819A8EE
- .pool
-_0819A77C:
- ldr r0, =gUnknown_0203CE38
- ldr r1, [r0]
- movs r0, 0x3
- bl SetBgTilemapBuffer
- ldr r5, =gUnknown_0861023C
- movs r4, 0x8
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x3
- adds r1, r5, 0
- movs r2, 0xB
- movs r3, 0x4
- bl CopyToBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x3
- adds r1, r5, 0
- movs r2, 0x2
- movs r3, 0x4
- bl CopyToBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x3
- adds r1, r5, 0
- movs r2, 0x14
- movs r3, 0x4
- bl CopyToBgTilemapBufferRect
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _0819A8E6
- .pool
-_0819A7CC:
- ldr r0, =gUnknown_086103F4
- bl LoadSpritePalettes
- ldr r0, =gUnknown_086103BC
- bl LoadSpriteSheets
- ldr r0, =gUnknown_086103E4
- bl LoadCompressedObjectPic
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- ldr r0, =sub_819A4E4
- bl SetVBlankCallback
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r1, 0x9A
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r0, =gUnknown_0300127C
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- cmp r0, 0x1
- bne _0819A854
- movs r0, 0x58
- movs r1, 0x98
- movs r2, 0x20
- movs r3, 0x60
- bl sub_819C5D0
- movs r0, 0x3
- bl ShowBg
- ldr r1, =0x00001248
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x0000040b
- movs r0, 0x52
- bl SetGpuReg
- b _0819A85A
- .pool
-_0819A854:
- movs r0, 0x3
- bl HideBg
-_0819A85A:
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _0819A8EE
- .pool
-_0819A868:
- ldr r4, =gUnknown_0300127C
- ldr r1, [r4]
- ldrb r0, [r1, 0x6]
- cmp r0, 0x1
- bne _0819A878
- ldr r0, =gUnknown_0203CF20
- ldrb r0, [r0]
- strb r0, [r1, 0x3]
-_0819A878:
- bl sub_819A9AC
- bl sub_819AA18
- ldr r0, [r4]
- ldrb r0, [r0, 0x6]
- cmp r0, 0x1
- bne _0819A88C
- bl sub_819BE34
-_0819A88C:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _0819A8EE
- .pool
-_0819A8A4:
- bl sub_819BA64
- movs r0, 0x2
- b _0819A8E2
-_0819A8AC:
- bl sub_819BCF8
- movs r0, 0x5
- bl PutWindowTilemap
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _0819A8EE
- .pool
-_0819A8C4:
- bl sub_819B9E8
- movs r0, 0x1
- bl PutWindowTilemap
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _0819A8EE
- .pool
-_0819A8DC:
- bl sub_819B9B4
- movs r0, 0
-_0819A8E2:
- bl PutWindowTilemap
-_0819A8E6:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
-_0819A8EE:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0819A98E
- .pool
-_0819A8FC:
- ldr r0, =sub_819C69C
- movs r1, 0
- bl CreateTask
- ldr r2, =gUnknown_0300127C
- ldr r1, [r2]
- ldr r3, =0x000002a1
- adds r1, r3
- strb r0, [r1]
- ldr r3, [r2]
- ldrb r5, [r3, 0x6]
- cmp r5, 0
- bne _0819A954
- ldr r4, =gTasks
- ldr r1, =0x000002a1
- adds r0, r3, r1
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- strh r5, [r0, 0x8]
- ldr r0, =sub_819B378
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- strh r5, [r0, 0x8]
- b _0819A988
- .pool
-_0819A954:
- ldr r4, =gTasks
- ldr r2, =0x000002a1
- adds r0, r3, r2
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r2, 0
- movs r1, 0x1
- strh r1, [r0, 0x8]
- ldr r1, =0x000002a2
- adds r0, r3, r1
- strb r2, [r0]
- ldr r0, =sub_819B124
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r1, 0xD
- strh r1, [r0, 0x8]
-_0819A988:
- ldr r0, =sub_819A4C8
- bl SetMainCallback2
-_0819A98E:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819A514
-
- thumb_func_start sub_819A9AC
-sub_819A9AC: @ 819A9AC
- push {r4,r5,lr}
- ldr r5, =gUnknown_0300127C
- ldr r4, [r5]
- cmp r4, 0
- bne _0819AA12
- movs r0, 0xAB
- lsls r0, 2
- bl AllocZeroed
- str r0, [r5]
- strb r4, [r0, 0x3]
- ldr r1, [r5]
- movs r0, 0x1
- strb r0, [r1, 0x5]
- ldr r0, [r5]
- strb r4, [r0, 0x6]
- movs r2, 0
- movs r4, 0x6C
- movs r3, 0
-_0819A9D2:
- ldr r0, [r5]
- adds r1, r2, 0
- muls r1, r4
- adds r0, r1
- strb r3, [r0, 0x10]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x5
- bls _0819A9D2
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- beq _0819AA0C
- movs r0, 0
- bl sub_819B484
- b _0819AA12
- .pool
-_0819AA0C:
- movs r0, 0
- bl sub_819B63C
-_0819AA12:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_819A9AC
-
- thumb_func_start sub_819AA18
-sub_819AA18: @ 819AA18
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r4, 0
- mov r8, r4
- ldr r7, =gSprites
-_0819AA24:
- lsls r1, r4, 3
- adds r1, r4
- lsls r1, 2
- subs r1, r4
- adds r1, 0x20
- lsls r1, 16
- asrs r1, 16
- ldr r0, =gUnknown_086105D8
- movs r2, 0x40
- movs r3, 0x1
- bl CreateSprite
- ldr r6, =gUnknown_0300127C
- ldr r2, [r6]
- movs r5, 0x6C
- adds r1, r4, 0
- muls r1, r5
- adds r2, r1
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r2, 0xE]
- ldrh r1, [r2, 0xE]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- mov r1, r8
- strh r1, [r0, 0x2E]
- adds r0, r4, 0
- bl sub_819ADAC
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0819AA24
- ldr r0, [r6]
- ldrb r1, [r0, 0x3]
- ldr r4, =gSprites
- muls r1, r5
- adds r0, r1
- ldrh r0, [r0, 0xE]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldr r0, =gUnknown_086105F0
- movs r2, 0x20
- ldrsh r1, [r1, r2]
- movs r2, 0x58
- movs r3, 0
- bl CreateSprite
- ldr r1, [r6]
- movs r5, 0
- strb r0, [r1, 0x4]
- ldr r0, =gUnknown_08610608
- movs r1, 0xB0
- movs r2, 0x70
- movs r3, 0
- bl CreateSprite
- ldr r1, [r6]
- strb r0, [r1, 0x1]
- ldr r0, =gUnknown_08610620
- movs r1, 0xB0
- movs r2, 0x90
- movs r3, 0
- bl CreateSprite
- ldr r1, [r6]
- strb r0, [r1, 0x2]
- ldr r0, [r6]
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r6]
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r6]
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x28
- strb r5, [r0]
- ldr r0, [r6]
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x29
- strb r5, [r0]
- ldr r0, [r6]
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x28
- strb r5, [r0]
- ldr r0, [r6]
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x29
- strb r5, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819AA18
-
- thumb_func_start sub_819AB40
-sub_819AB40: @ 819AB40
- push {r4-r6,lr}
- movs r4, 0
-_0819AB44:
- ldr r6, =gUnknown_0300127C
- ldr r1, [r6]
- movs r0, 0x6C
- muls r0, r4
- adds r1, r0
- ldrh r1, [r1, 0xE]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, =gSprites
- adds r0, r5
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0819AB44
- ldr r0, [r6]
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
- ldr r0, [r6]
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
- ldr r0, [r6]
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819AB40
-
- thumb_func_start sub_819ABA8
-sub_819ABA8: @ 819ABA8
- push {r4,lr}
- lsls r0, 24
- cmp r0, 0
- ble _0819ABC8
- ldr r0, =gUnknown_0300127C
- ldr r1, [r0]
- ldrb r3, [r1, 0x3]
- adds r2, r0, 0
- cmp r3, 0x5
- beq _0819ABC4
- adds r0, r3, 0x1
- b _0819ABDE
- .pool
-_0819ABC4:
- movs r0, 0
- b _0819ABDE
-_0819ABC8:
- ldr r0, =gUnknown_0300127C
- ldr r1, [r0]
- ldrb r3, [r1, 0x3]
- adds r2, r0, 0
- cmp r3, 0
- beq _0819ABDC
- subs r0, r3, 0x1
- b _0819ABDE
- .pool
-_0819ABDC:
- movs r0, 0x5
-_0819ABDE:
- strb r0, [r1, 0x3]
- ldr r2, [r2]
- ldrb r3, [r2, 0x3]
- ldr r4, =gSprites
- ldrb r0, [r2, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- movs r0, 0x6C
- muls r0, r3
- adds r2, r0
- ldrh r2, [r2, 0xE]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x20]
- strh r0, [r1, 0x20]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819ABA8
-
- thumb_func_start sub_819AC10
-sub_819AC10: @ 819AC10
- push {lr}
- lsls r0, 24
- cmp r0, 0
- ble _0819AC30
- ldr r0, =gUnknown_0300127C
- ldr r1, [r0]
- ldrb r3, [r1]
- adds r2, r0, 0
- cmp r3, 0x2
- beq _0819AC2C
- adds r0, r3, 0x1
- b _0819AC46
- .pool
-_0819AC2C:
- movs r0, 0
- b _0819AC46
-_0819AC30:
- ldr r0, =gUnknown_0300127C
- ldr r1, [r0]
- ldrb r3, [r1]
- adds r2, r0, 0
- cmp r3, 0
- beq _0819AC44
- subs r0, r3, 0x1
- b _0819AC46
- .pool
-_0819AC44:
- movs r0, 0x2
-_0819AC46:
- strb r0, [r1]
- ldr r3, =gSprites
- ldr r2, [r2]
- ldrb r0, [r2, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r0, [r2]
- lsls r0, 4
- adds r0, 0x70
- strh r0, [r1, 0x22]
- ldrb r0, [r2, 0x2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r0, [r2]
- lsls r0, 4
- adds r0, 0x70
- strh r0, [r1, 0x22]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819AC10
-
- thumb_func_start sub_819AC78
-sub_819AC78: @ 819AC78
- push {lr}
- lsls r0, 24
- cmp r0, 0
- ble _0819AC98
- ldr r0, =gUnknown_0300127C
- ldr r1, [r0]
- ldrb r3, [r1, 0x7]
- adds r2, r0, 0
- cmp r3, 0x1
- beq _0819AC94
- adds r0, r3, 0x1
- b _0819ACAE
- .pool
-_0819AC94:
- movs r0, 0
- b _0819ACAE
-_0819AC98:
- ldr r0, =gUnknown_0300127C
- ldr r1, [r0]
- ldrb r3, [r1, 0x7]
- adds r2, r0, 0
- cmp r3, 0
- beq _0819ACAC
- subs r0, r3, 0x1
- b _0819ACAE
- .pool
-_0819ACAC:
- movs r0, 0x1
-_0819ACAE:
- strb r0, [r1, 0x7]
- ldr r3, =gSprites
- ldr r2, [r2]
- ldrb r0, [r2, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r0, [r2, 0x7]
- lsls r0, 4
- adds r0, 0x70
- strh r0, [r1, 0x22]
- ldrb r0, [r2, 0x2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r0, [r2, 0x7]
- lsls r0, 4
- adds r0, 0x70
- strh r0, [r1, 0x22]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819AC78
-
- thumb_func_start sub_819ACE0
-sub_819ACE0: @ 819ACE0
- push {r4-r6,lr}
- ldr r5, =gUnknown_0300127C
- ldr r0, [r5]
- ldrb r6, [r0, 0x3]
- movs r1, 0x6C
- adds r4, r6, 0
- muls r4, r1
- adds r0, r4
- ldrb r0, [r0, 0x10]
- cmp r0, 0
- beq _0819AD60
- movs r0, 0x64
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r1, [r5]
- ldrb r0, [r1, 0x5]
- cmp r0, 0x3
- bne _0819AD44
- adds r0, r1, r4
- ldrb r0, [r0, 0x10]
- cmp r0, 0x1
- bne _0819AD44
- movs r2, 0
- ldrb r0, [r1, 0x10]
- cmp r0, 0x2
- beq _0819AD32
- movs r4, 0x6C
-_0819AD1A:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x5
- bhi _0819AD32
- ldr r0, [r5]
- adds r1, r2, 0
- muls r1, r4
- adds r0, r1
- ldrb r0, [r0, 0x10]
- cmp r0, 0x2
- bne _0819AD1A
-_0819AD32:
- cmp r2, 0x6
- beq _0819AD9C
- ldr r0, =gUnknown_0300127C
- ldr r1, [r0]
- movs r0, 0x6C
- muls r0, r2
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1, 0x10]
-_0819AD44:
- ldr r2, =gUnknown_0300127C
- ldr r1, [r2]
- movs r0, 0x6C
- muls r0, r6
- adds r1, r0
- movs r0, 0
- strb r0, [r1, 0x10]
- ldr r1, [r2]
- ldrb r0, [r1, 0x5]
- subs r0, 0x1
- b _0819AD78
- .pool
-_0819AD60:
- movs r0, 0x65
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, [r5]
- adds r1, r0, r4
- ldrb r0, [r0, 0x5]
- strb r0, [r1, 0x10]
- ldr r1, [r5]
- ldrb r0, [r1, 0x5]
- adds r0, 0x1
-_0819AD78:
- strb r0, [r1, 0x5]
- ldr r2, =gSprites
- ldr r0, =gUnknown_0300127C
- ldr r0, [r0]
- movs r1, 0x6C
- muls r1, r6
- adds r0, r1
- ldrh r0, [r0, 0xE]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- lsls r3, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
-_0819AD9C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819ACE0
-
- thumb_func_start sub_819ADAC
-sub_819ADAC: @ 819ADAC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_0300127C
- ldr r0, [r0]
- movs r1, 0x6C
- muls r1, r4
- adds r0, r1
- ldrb r0, [r0, 0x10]
- cmp r0, 0
- beq _0819ADCC
- movs r0, 0x65
- b _0819ADCE
- .pool
-_0819ADCC:
- movs r0, 0x64
-_0819ADCE:
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, =gSprites
- ldr r0, =gUnknown_0300127C
- ldr r0, [r0]
- movs r1, 0x6C
- muls r1, r4
- adds r0, r1
- ldrh r0, [r0, 0xE]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- lsls r3, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819ADAC
-
- thumb_func_start sub_819AE08
-sub_819AE08: @ 819AE08
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r6, r0, r1
- movs r1, 0x8
- ldrsh r0, [r6, r1]
- cmp r0, 0x7
- beq _0819AE64
- cmp r0, 0x7
- bgt _0819AE30
- cmp r0, 0x6
- beq _0819AE36
- b _0819AF50
- .pool
-_0819AE30:
- cmp r0, 0x8
- beq _0819AEE8
- b _0819AF50
-_0819AE36:
- ldr r1, =gPlttBufferUnfaded
- ldr r0, =gPlttBufferFaded
- movs r2, 0xE4
- lsls r2, 1
- adds r0, r2
- ldrh r0, [r0]
- adds r1, r2
- movs r2, 0
- strh r0, [r1]
- movs r0, 0x1
- negs r0, r0
- str r2, [sp]
- movs r1, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r0, 0x7
- strh r0, [r6, 0x8]
- b _0819AF50
- .pool
-_0819AE64:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0819AF50
- ldr r4, =gUnknown_0300127C
- ldr r0, [r4]
- ldr r2, =0x000002a1
- adds r0, r2
- ldrb r0, [r0]
- bl DestroyTask
- ldr r1, [r4]
- movs r3, 0xA6
- lsls r3, 2
- adds r0, r1, r3
- ldr r0, [r0]
- movs r2, 0xA8
- lsls r2, 2
- adds r1, r2
- bl sub_819F444
- bl sub_819AB40
- ldr r4, =gUnknown_0203CE2C
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_0203CE30
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_0203CE34
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_0203CE38
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- bl FreeAllWindowBuffers
- movs r0, 0x8
- strh r0, [r6, 0x8]
- b _0819AF50
- .pool
-_0819AEE8:
- ldr r4, =gUnknown_0300127C
- ldr r1, [r4]
- ldr r0, =gPlttBufferUnfaded
- movs r3, 0xE4
- lsls r3, 1
- adds r0, r3
- ldrh r0, [r0]
- adds r3, 0xDC
- adds r1, r3
- strh r0, [r1]
- adds r0, r2, 0
- bl DestroyTask
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0x6]
- ldr r0, [r4]
- ldrb r6, [r0, 0x3]
- ldr r4, =gUnknown_0203CE3C
- movs r0, 0x96
- lsls r0, 2
- bl AllocZeroed
- str r0, [r4]
- movs r4, 0
-_0819AF1A:
- ldr r5, =gUnknown_0203CE3C
- ldr r1, [r5]
- movs r0, 0x64
- muls r0, r4
- adds r0, r1
- ldr r1, =gUnknown_0300127C
- ldr r1, [r1]
- movs r2, 0x6C
- muls r2, r4
- adds r1, r2
- adds r1, 0x14
- movs r2, 0x64
- bl memcpy
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0819AF1A
- ldr r1, [r5]
- ldr r0, =sub_819A514
- str r0, [sp]
- movs r0, 0x1
- adds r2, r6, 0
- movs r3, 0x5
- bl ShowPokemonSummaryScreen
-_0819AF50:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819AE08
-
- thumb_func_start bc_exit_to_overworld
-bc_exit_to_overworld: @ 819AF68
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r7, =gUnknown_0300127C
- ldr r0, [r7]
- movs r1, 0xA8
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0819B00E
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- cmp r1, 0
- beq _0819AFA0
- cmp r1, 0x1
- beq _0819AFB8
- b _0819B00E
- .pool
-_0819AFA0:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0819B00E
-_0819AFB8:
- bl UpdatePaletteFade
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0819B00E
- bl sub_819B764
- ldr r0, [r7]
- ldr r1, =0x000002a1
- adds r0, r1
- ldrb r0, [r0]
- bl DestroyTask
- bl sub_819AB40
- ldr r4, =gUnknown_0203CE2C
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_0203CE34
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_0203CE38
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r0, [r7]
- bl Free
- str r5, [r7]
- bl FreeAllWindowBuffers
- ldr r0, =CB2_ReturnToFieldContinueScript
- bl SetMainCallback2
- adds r0, r6, 0
- bl DestroyTask
-_0819B00E:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bc_exit_to_overworld
-
- thumb_func_start sub_819B02C
-sub_819B02C: @ 819B02C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r7, =gUnknown_0300127C
- ldr r0, [r7]
- movs r1, 0xA8
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0819B11A
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x5
- beq _0819B084
- cmp r0, 0x5
- bgt _0819B06C
- cmp r0, 0x4
- beq _0819B07A
- b _0819B11A
- .pool
-_0819B06C:
- cmp r0, 0xA
- bne _0819B11A
- bl sub_819C4B4
- movs r0, 0x4
- strh r0, [r5, 0x8]
- b _0819B11A
-_0819B07A:
- bl sub_819B8D4
- movs r0, 0x5
- strh r0, [r5, 0x8]
- b _0819B11A
-_0819B084:
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- mov r8, r0
- movs r6, 0x1
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0819B0B8
- movs r0, 0x5
- bl PlaySE
- ldr r0, [r7]
- ldrb r4, [r0, 0x7]
- cmp r4, 0
- bne _0819B0C6
- bl sub_819C568
- strh r4, [r5, 0x8]
- ldr r0, =bc_exit_to_overworld
- str r0, [r5]
- b _0819B11A
- .pool
-_0819B0B8:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0819B0EC
- movs r0, 0x5
- bl PlaySE
-_0819B0C6:
- movs r0, 0x4
- bl sub_819B958
- bl sub_819BC9C
- ldr r0, [r7]
- ldr r1, =0x000002a2
- adds r0, r1
- mov r1, r8
- strb r1, [r0]
- strh r6, [r5, 0x8]
- ldr r0, =sub_819B378
- str r0, [r5]
- b _0819B11A
- .pool
-_0819B0EC:
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0819B106
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl sub_819AC78
- b _0819B11A
-_0819B106:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0819B11A
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl sub_819AC78
-_0819B11A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_819B02C
-
- thumb_func_start sub_819B124
-sub_819B124: @ 819B124
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x8]
- subs r0, 0x2
- lsls r0, 16
- asrs r0, 16
- adds r6, r1, 0
- cmp r0, 0xB
- bls _0819B144
- b _0819B36E
-_0819B144:
- lsls r0, 2
- ldr r1, =_0819B158
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0819B158:
- .4byte _0819B188
- .4byte _0819B1EC
- .4byte _0819B36E
- .4byte _0819B36E
- .4byte _0819B36E
- .4byte _0819B36E
- .4byte _0819B36E
- .4byte _0819B1BC
- .4byte _0819B36E
- .4byte _0819B36E
- .4byte _0819B300
- .4byte _0819B35C
-_0819B188:
- ldr r0, =gUnknown_0300127C
- ldr r1, [r0]
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- bne _0819B1A2
- ldr r2, =0x00000299
- adds r0, r1, r2
- movs r7, 0xA8
- lsls r7, 2
- adds r1, r7
- movs r2, 0
- bl sub_819F2B4
-_0819B1A2:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r0, 0x9
- b _0819B36C
- .pool
-_0819B1BC:
- ldr r4, =gUnknown_0300127C
- ldr r0, [r4]
- movs r1, 0xA8
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0819B1CE
- b _0819B36E
-_0819B1CE:
- bl sub_819B844
- ldr r1, [r4]
- movs r0, 0
- strb r0, [r1, 0x6]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- b _0819B344
- .pool
-_0819B1EC:
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r7, 0x1
- movs r6, 0x1
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0819B27C
- movs r0, 0x5
- bl PlaySE
- bl sub_819BC04
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x1
- bne _0819B228
- ldr r0, =gUnknown_0300127C
- ldr r0, [r0]
- ldr r2, =0x000002a2
- adds r0, r2
- b _0819B2AC
- .pool
-_0819B228:
- cmp r0, 0x2
- bne _0819B248
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0xA
- strh r1, [r0, 0x8]
- ldr r1, =sub_819B02C
- str r1, [r0]
- b _0819B36E
- .pool
-_0819B248:
- cmp r1, 0x3
- bne _0819B260
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0xB
- strh r1, [r0, 0x8]
- b _0819B2BA
- .pool
-_0819B260:
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x6
- strh r1, [r0, 0x8]
- ldr r1, =sub_819AE08
- str r1, [r0]
- b _0819B36E
- .pool
-_0819B27C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0819B2D0
- movs r0, 0x5
- bl PlaySE
- ldr r4, =gUnknown_0300127C
- ldr r1, [r4]
- movs r2, 0xA6
- lsls r2, 2
- adds r0, r1, r2
- ldr r0, [r0]
- adds r2, 0x8
- adds r1, r2
- movs r2, 0
- bl sub_819F3F8
- movs r0, 0x3
- bl sub_819B958
- ldr r0, [r4]
- ldr r1, =0x000002a2
- adds r0, r1
-_0819B2AC:
- strb r7, [r0]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r6, [r0, 0x8]
-_0819B2BA:
- ldr r1, =sub_819B378
- str r1, [r0]
- b _0819B36E
- .pool
-_0819B2D0:
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0819B2EA
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl sub_819AC10
- b _0819B36E
-_0819B2EA:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0819B36E
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl sub_819AC10
- b _0819B36E
-_0819B300:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- bne _0819B36E
- ldr r4, =gUnknown_0300127C
- ldr r2, [r4]
- ldrb r0, [r2, 0x6]
- cmp r0, 0x1
- bne _0819B338
- ldr r1, =gPlttBufferFaded
- movs r7, 0xA9
- lsls r7, 2
- adds r0, r2, r7
- ldrh r0, [r0]
- movs r2, 0xE4
- lsls r2, 1
- adds r1, r2
- strh r0, [r1]
- ldr r0, =gPlttBufferUnfaded
- subs r7, 0xBC
- adds r1, r0, r7
- ldrh r1, [r1]
- adds r0, r2
- strh r1, [r0]
-_0819B338:
- ldr r0, [r4]
- strb r3, [r0, 0x6]
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r6
-_0819B344:
- movs r1, 0x3
- strh r1, [r0, 0x8]
- b _0819B36E
- .pool
-_0819B35C:
- bl sub_819B844
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r0, 0xC
-_0819B36C:
- strh r0, [r1, 0x8]
-_0819B36E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819B124
-
- thumb_func_start sub_819B378
-sub_819B378: @ 819B378
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r5, =gUnknown_0300127C
- ldr r3, [r5]
- movs r7, 0xA8
- lsls r7, 2
- adds r0, r3, r7
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0819B476
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _0819B3DC
- cmp r1, 0x1
- bgt _0819B3B4
- cmp r1, 0
- beq _0819B3BA
- b _0819B476
- .pool
-_0819B3B4:
- cmp r1, 0xB
- beq _0819B440
- b _0819B476
-_0819B3BA:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0819B476
- movs r0, 0x1
- movs r1, 0x1
- strh r1, [r4, 0x8]
- ldr r2, =0x000002a2
- adds r1, r3, r2
- strb r0, [r1]
- b _0819B476
- .pool
-_0819B3DC:
- ldr r2, =gMain
- ldrh r0, [r2, 0x2E]
- ands r1, r0
- cmp r1, 0
- beq _0819B40C
- movs r0, 0x5
- bl PlaySE
- ldr r0, [r5]
- ldr r1, =0x000002a2
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x2
- strh r0, [r4, 0x8]
- ldr r0, =sub_819B124
- str r0, [r4]
- b _0819B476
- .pool
-_0819B40C:
- ldrh r1, [r2, 0x30]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0819B422
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _0819B432
-_0819B422:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0819B476
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_0819B432:
- bl sub_819ABA8
- bl sub_819BCF8
- bl sub_819B9E8
- b _0819B476
-_0819B440:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r6, 0x1
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0819B476
- movs r0, 0x5
- bl PlaySE
- ldr r1, [r5]
- movs r2, 0xA6
- lsls r2, 2
- adds r0, r1, r2
- ldr r0, [r0]
- adds r1, r7
- movs r2, 0
- bl sub_819F3F8
- bl sub_819BA64
- ldr r0, [r5]
- ldr r1, =0x000002a2
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- strh r6, [r4, 0x8]
-_0819B476:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819B378
-
- thumb_func_start sub_819B484
-sub_819B484: @ 819B484
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x10]
- movs r6, 0
- add r0, sp, 0xC
- strb r6, [r0]
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r7, =gSaveBlock2Ptr
- ldr r2, [r7]
- ldr r0, =0x00000ca9
- adds r4, r2, r0
- ldrb r0, [r4]
- lsls r0, 30
- lsrs r0, 30
- adds r5, r0, 0
- lsls r0, r5, 1
- lsls r1, r6, 2
- adds r0, r1
- ldr r1, =0x00000de2
- adds r2, r1
- adds r2, r0
- ldrh r0, [r2]
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x18]
- ldr r1, =gFacilityTrainerMons
- ldr r0, =gBattleFrontierMons
- str r0, [r1]
- ldrb r1, [r4]
- movs r0, 0x3
- ands r0, r1
- movs r2, 0x32
- str r2, [sp, 0x14]
- cmp r0, 0
- beq _0819B4EA
- movs r3, 0x64
- str r3, [sp, 0x14]
-_0819B4EA:
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_81A6F70
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x1C]
- ldr r1, [r7]
- ldrb r0, [r1, 0xA]
- mov r9, r0
- ldrb r0, [r1, 0xB]
- lsls r0, 8
- mov r2, r9
- orrs r2, r0
- ldrb r0, [r1, 0xC]
- lsls r0, 16
- orrs r2, r0
- ldrb r0, [r1, 0xD]
- lsls r0, 24
- orrs r2, r0
- mov r9, r2
- movs r3, 0
- mov r8, r3
-_0819B518:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- mov r2, r8
- lsls r0, r2, 1
- add r0, r8
- lsls r0, 2
- adds r1, r0
- movs r3, 0xE7
- lsls r3, 4
- adds r1, r3
- ldrh r5, [r1]
- ldr r0, =gUnknown_0300127C
- ldr r1, [r0]
- ldr r2, [sp, 0x10]
- add r2, r8
- movs r3, 0x6C
- adds r0, r2, 0
- muls r0, r3
- adds r1, r0
- strh r5, [r1, 0xC]
- mov r10, r2
- ldr r0, [sp, 0x1C]
- cmp r8, r0
- bcs _0819B570
- ldr r0, [sp, 0x18]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- b _0819B572
- .pool
-_0819B570:
- ldr r0, [sp, 0x18]
-_0819B572:
- movs r1, 0
- bl sub_81A6CA8
- lsls r0, 24
- lsrs r6, r0, 24
- movs r1, 0x6C
- mov r4, r10
- muls r4, r1
- adds r4, 0xC
- ldr r2, =gUnknown_0300127C
- ldr r0, [r2]
- adds r0, r4
- adds r0, 0x8
- ldr r1, =gFacilityTrainerMons
- ldr r2, [r1]
- lsls r5, 4
- adds r2, r5, r2
- ldrh r1, [r2]
- ldrb r3, [r2, 0xC]
- str r6, [sp]
- ldrb r2, [r2, 0xB]
- str r2, [sp, 0x4]
- mov r2, r9
- str r2, [sp, 0x8]
- ldr r2, [sp, 0x14]
- bl CreateMonWithEVSpreadPersonalityOTID
- movs r1, 0
- add r0, sp, 0xC
- strb r1, [r0]
- movs r6, 0
- adds r7, r5, 0
- movs r3, 0x1
- add r8, r3
- ldr r3, =gUnknown_0300127C
-_0819B5B8:
- ldr r0, [r3]
- adds r0, r4
- adds r0, 0x8
- ldr r5, =gFacilityTrainerMons
- ldr r1, [r5]
- adds r1, r7, r1
- lsls r2, r6, 1
- adds r1, 0x2
- adds r1, r2
- ldrh r1, [r1]
- adds r2, r6, 0
- str r3, [sp, 0x20]
- bl sub_81A7024
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r3, [sp, 0x20]
- cmp r6, 0x3
- bls _0819B5B8
- movs r0, 0x6C
- mov r4, r10
- muls r4, r0
- adds r4, 0xC
- ldr r1, =gUnknown_0300127C
- ldr r0, [r1]
- adds r0, r4
- adds r0, 0x8
- movs r1, 0x20
- add r2, sp, 0xC
- bl SetMonData
- ldr r2, =gUnknown_0300127C
- ldr r0, [r2]
- adds r0, r4
- adds r0, 0x8
- ldr r1, [r5]
- adds r1, r7, r1
- ldrb r2, [r1, 0xA]
- lsls r2, 1
- ldr r1, =gBattleFrontierHeldItems
- adds r2, r1
- movs r1, 0xC
- bl SetMonData
- mov r3, r8
- lsls r0, r3, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x5
- bhi _0819B620
- b _0819B518
-_0819B620:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819B484
-
- thumb_func_start sub_819B63C
-sub_819B63C: @ 819B63C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x10]
- add r0, sp, 0xC
- movs r1, 0
- strb r1, [r0]
- ldr r2, =gFacilityTrainerMons
- ldr r0, =gSlateportBattleTentMons
- str r0, [r2]
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldrb r3, [r1, 0xA]
- ldrb r0, [r1, 0xB]
- lsls r0, 8
- orrs r3, r0
- ldrb r0, [r1, 0xC]
- lsls r0, 16
- orrs r3, r0
- ldrb r0, [r1, 0xD]
- lsls r0, 24
- orrs r3, r0
- mov r10, r3
- movs r7, 0
- mov r9, r7
-_0819B678:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- mov r2, r9
- lsls r0, r2, 1
- add r0, r9
- lsls r0, 2
- adds r1, r0
- movs r3, 0xE7
- lsls r3, 4
- adds r1, r3
- ldrh r1, [r1]
- mov r8, r1
- ldr r7, =gUnknown_0300127C
- ldr r0, [r7]
- ldr r6, [sp, 0x10]
- add r6, r9
- movs r1, 0x6C
- adds r4, r6, 0
- muls r4, r1
- adds r1, r0, r4
- mov r2, r8
- strh r2, [r1, 0xC]
- adds r4, 0xC
- adds r0, r4
- adds r0, 0x8
- ldr r3, =gFacilityTrainerMons
- ldr r2, [r3]
- mov r7, r8
- lsls r5, r7, 4
- adds r2, r5, r2
- ldrh r1, [r2]
- ldrb r3, [r2, 0xC]
- movs r7, 0
- str r7, [sp]
- ldrb r2, [r2, 0xB]
- str r2, [sp, 0x4]
- mov r2, r10
- str r2, [sp, 0x8]
- movs r2, 0x1E
- bl CreateMonWithEVSpreadPersonalityOTID
- add r0, sp, 0xC
- movs r3, 0
- strb r3, [r0]
- movs r0, 0x1
- add r9, r0
-_0819B6D4:
- ldr r1, =gUnknown_0300127C
- ldr r0, [r1]
- adds r0, r4
- adds r0, 0x8
- ldr r3, =gFacilityTrainerMons
- ldr r2, [r3]
- mov r3, r8
- lsls r1, r3, 4
- adds r1, r2
- lsls r2, r7, 1
- adds r1, 0x2
- adds r1, r2
- ldrh r1, [r1]
- adds r2, r7, 0
- bl sub_81A7024
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x3
- bls _0819B6D4
- movs r7, 0x6C
- adds r4, r6, 0
- muls r4, r7
- adds r4, 0xC
- ldr r1, =gUnknown_0300127C
- ldr r0, [r1]
- adds r0, r4
- adds r0, 0x8
- movs r1, 0x20
- add r2, sp, 0xC
- bl SetMonData
- ldr r2, =gUnknown_0300127C
- ldr r0, [r2]
- adds r0, r4
- adds r0, 0x8
- ldr r3, =gFacilityTrainerMons
- ldr r1, [r3]
- adds r1, r5, r1
- ldrb r2, [r1, 0xA]
- lsls r2, 1
- ldr r1, =gBattleFrontierHeldItems
- adds r2, r1
- movs r1, 0xC
- bl SetMonData
- mov r7, r9
- lsls r0, r7, 24
- lsrs r0, 24
- mov r9, r0
- cmp r0, 0x5
- bls _0819B678
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819B63C
-
- thumb_func_start sub_819B764
-sub_819B764: @ 819B764
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r7, 0
- ldr r0, =gUnknown_0300127C
- mov r10, r0
- ldr r1, =gSaveBlock2Ptr
- mov r8, r1
-_0819B778:
- movs r2, 0
- adds r0, r7, 0x1
- mov r9, r0
-_0819B77E:
- mov r1, r10
- ldr r0, [r1]
- movs r1, 0x6C
- adds r6, r2, 0
- muls r6, r1
- adds r1, r0, r6
- ldrb r0, [r1, 0x10]
- cmp r0, r9
- bne _0819B81C
- movs r0, 0x64
- adds r5, r7, 0
- muls r5, r0
- ldr r2, =gPlayerParty
- adds r5, r2
- adds r1, 0x14
- adds r0, r5, 0
- movs r2, 0x64
- bl memcpy
- mov r0, r8
- ldr r1, [r0]
- lsls r4, r7, 1
- adds r4, r7
- lsls r4, 2
- adds r1, r4
- mov r2, r10
- ldr r0, [r2]
- adds r0, r6
- ldrh r0, [r0, 0xC]
- movs r2, 0xE7
- lsls r2, 4
- adds r1, r2
- strh r0, [r1]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- bl GetMonData
- mov r2, r8
- ldr r1, [r2]
- ldr r2, =0x00000e74
- adds r1, r2
- adds r1, r4
- str r0, [r1]
- adds r0, r5, 0
- movs r1, 0x2E
- movs r2, 0
- bl GetBoxMonData
- mov r2, r8
- ldr r1, [r2]
- adds r1, r4
- ldr r2, =0x00000e79
- adds r1, r2
- strb r0, [r1]
- adds r0, r5, 0
- movs r1, 0x28
- movs r2, 0
- bl GetBoxMonData
- mov r2, r8
- ldr r1, [r2]
- adds r1, r4
- ldr r2, =0x00000e78
- adds r1, r2
- strb r0, [r1]
- b _0819B826
- .pool
-_0819B81C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x5
- bls _0819B77E
-_0819B826:
- mov r1, r9
- lsls r0, r1, 24
- lsrs r7, r0, 24
- cmp r7, 0x2
- bls _0819B778
- bl CalculatePlayerPartyCount
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_819B764
-
- thumb_func_start sub_819B844
-sub_819B844: @ 819B844
- push {r4,r5,lr}
- ldr r5, =gUnknown_0300127C
- ldr r1, [r5]
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- bne _0819B852
- strb r0, [r1]
-_0819B852:
- ldr r4, =gSprites
- ldr r2, [r5]
- ldrb r1, [r2, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xB0
- strh r1, [r0, 0x20]
- ldrb r0, [r2, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r0, [r2]
- lsls r0, 4
- adds r0, 0x70
- strh r0, [r1, 0x22]
- ldrb r1, [r2, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xD0
- strh r1, [r0, 0x20]
- ldrb r0, [r2, 0x2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r0, [r2]
- lsls r0, 4
- adds r0, 0x70
- strh r0, [r1, 0x22]
- ldrb r0, [r2, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- ldr r0, [r5]
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- bl sub_819BAFC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819B844
-
- thumb_func_start sub_819B8D4
-sub_819B8D4: @ 819B8D4
- push {r4,r5,lr}
- ldr r5, =gUnknown_0300127C
- ldr r1, [r5]
- movs r0, 0
- strb r0, [r1, 0x7]
- ldr r4, =gSprites
- ldr r2, [r5]
- ldrb r1, [r2, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xB0
- strh r1, [r0, 0x20]
- ldrb r1, [r2, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r3, 0x70
- strh r3, [r0, 0x22]
- ldrb r1, [r2, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xD0
- strh r1, [r0, 0x20]
- ldrb r1, [r2, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r3, [r0, 0x22]
- ldrb r0, [r2, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- ldr r0, [r5]
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- bl sub_819BBA8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819B8D4
-
- thumb_func_start sub_819B958
-sub_819B958: @ 819B958
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =gSprites
- ldr r3, =gUnknown_0300127C
- ldr r0, [r3]
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r3]
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r0, r4, 0
- movs r1, 0x2
- bl CopyWindowToVram
- adds r0, r4, 0
- bl ClearWindowTilemap
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819B958
-
- thumb_func_start sub_819B9B4
-sub_819B9B4: @ 819B9B4
- push {lr}
- sub sp, 0xC
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r2, =gText_RentalPkmn2
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x2
- bl PrintTextOnWindow
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819B9B4
-
- thumb_func_start sub_819B9E8
-sub_819B9E8: @ 819B9E8
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r5, =gUnknown_0300127C
- ldr r0, [r5]
- ldrb r4, [r0, 0x3]
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x6C
- muls r0, r4
- ldr r1, [r5]
- adds r0, r1
- adds r0, 0x14
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gStringVar4
- movs r1, 0xB
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0x56
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_08610479
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0x1
- bl box_print
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819B9E8
-
- thumb_func_start sub_819BA64
-sub_819BA64: @ 819BA64
- push {lr}
- sub sp, 0xC
- movs r0, 0x2
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r0, =gUnknown_0300127C
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- cmp r0, 0x1
- bne _0819BA88
- ldr r2, =gText_SelectFirstPkmn
- b _0819BA9C
- .pool
-_0819BA88:
- cmp r0, 0x2
- bne _0819BA94
- ldr r2, =gText_SelectSecondPkmn
- b _0819BA9C
- .pool
-_0819BA94:
- ldr r2, =gText_TheseThreePkmnOkay
- cmp r0, 0x3
- bne _0819BA9C
- ldr r2, =gText_SelectThirdPkmn
-_0819BA9C:
- movs r0, 0x5
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- movs r3, 0x2
- bl PrintTextOnWindow
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819BA64
-
- thumb_func_start sub_819BAC8
-sub_819BAC8: @ 819BAC8
- push {lr}
- sub sp, 0xC
- movs r0, 0x2
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r2, =gText_CantSelectSamePkmn
- movs r0, 0x5
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- movs r3, 0x2
- bl PrintTextOnWindow
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819BAC8
-
- thumb_func_start sub_819BAFC
-sub_819BAFC: @ 819BAFC
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r0, =gUnknown_0300127C
- ldr r0, [r0]
- ldrb r2, [r0, 0x3]
- movs r1, 0x6C
- muls r1, r2
- adds r0, r1
- ldrb r5, [r0, 0x10]
- movs r0, 0x3
- bl PutWindowTilemap
- movs r0, 0x3
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r4, =gUnknown_08610476
- str r4, [sp]
- movs r6, 0
- str r6, [sp, 0x4]
- ldr r0, =gText_Summary
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0x7
- movs r3, 0x1
- bl box_print
- cmp r5, 0
- beq _0819BB60
- str r4, [sp]
- str r6, [sp, 0x4]
- ldr r0, =gText_Deselect
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0x7
- movs r3, 0x11
- bl box_print
- b _0819BB74
- .pool
-_0819BB60:
- str r4, [sp]
- str r5, [sp, 0x4]
- ldr r0, =gText_Rent
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0x7
- movs r3, 0x11
- bl box_print
-_0819BB74:
- ldr r0, =gUnknown_08610476
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- ldr r0, =gText_Others2
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0x7
- movs r3, 0x21
- bl box_print
- movs r0, 0x3
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819BAFC
-
- thumb_func_start sub_819BBA8
-sub_819BBA8: @ 819BBA8
- push {r4,r5,lr}
- sub sp, 0xC
- movs r0, 0x4
- bl PutWindowTilemap
- movs r0, 0x4
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r5, =gUnknown_08610476
- str r5, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r0, =gText_Yes2
- str r0, [sp, 0x8]
- movs r0, 0x4
- movs r1, 0x1
- movs r2, 0x7
- movs r3, 0x1
- bl box_print
- str r5, [sp]
- str r4, [sp, 0x4]
- ldr r0, =gText_No2
- str r0, [sp, 0x8]
- movs r0, 0x4
- movs r1, 0x1
- movs r2, 0x7
- movs r3, 0x11
- bl box_print
- movs r0, 0x4
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819BBA8
-
- thumb_func_start sub_819BC04
-sub_819BC04: @ 819BC04
- push {lr}
- ldr r2, =gUnknown_030062E8
- ldr r1, =gUnknown_0861041C
- ldr r0, =gUnknown_0300127C
- ldr r0, [r0]
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [r2]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_819BC04
-
- thumb_func_start sub_819BC30
-sub_819BC30: @ 819BC30
- push {r4,lr}
- ldr r0, =gUnknown_0300127C
- ldr r0, [r0]
- ldrb r2, [r0, 0x3]
- movs r1, 0x6C
- muls r1, r2
- adds r0, r1
- ldrb r1, [r0, 0x10]
- ldrh r0, [r0, 0xC]
- cmp r1, 0
- bne _0819BC60
- bl sub_819C634
- cmp r0, 0
- bne _0819BC60
- bl sub_819BAC8
- movs r0, 0x3
- bl sub_819B958
- movs r0, 0x3
- b _0819BC96
- .pool
-_0819BC60:
- ldr r4, =gUnknown_0300127C
- ldr r1, [r4]
- movs r2, 0xA6
- lsls r2, 2
- adds r0, r1, r2
- ldr r0, [r0]
- adds r2, 0x8
- adds r1, r2
- movs r2, 0
- bl sub_819F3F8
- bl sub_819ACE0
- bl sub_819BA64
- movs r0, 0x3
- bl sub_819B958
- ldr r0, [r4]
- ldrb r0, [r0, 0x5]
- cmp r0, 0x3
- bhi _0819BC94
- movs r0, 0x1
- b _0819BC96
- .pool
-_0819BC94:
- movs r0, 0x2
-_0819BC96:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_819BC30
-
- thumb_func_start sub_819BC9C
-sub_819BC9C: @ 819BC9C
- push {lr}
- bl sub_819C568
- bl sub_819ACE0
- bl sub_819BA64
- movs r0, 0x3
- bl sub_819B958
- ldr r0, =gUnknown_0300127C
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- cmp r0, 0x3
- bhi _0819BCC4
- movs r0, 0x1
- b _0819BCC6
- .pool
-_0819BCC4:
- movs r0, 0x2
-_0819BCC6:
- pop {r1}
- bx r1
- thumb_func_end sub_819BC9C
-
- thumb_func_start sub_819BCCC
-sub_819BCCC: @ 819BCCC
- movs r0, 0
- bx lr
- thumb_func_end sub_819BCCC
-
- thumb_func_start sub_819BCD0
-sub_819BCD0: @ 819BCD0
- push {lr}
- ldr r0, =gUnknown_0300127C
- ldr r1, [r0]
- movs r2, 0xA6
- lsls r2, 2
- adds r0, r1, r2
- ldr r0, [r0]
- adds r2, 0x8
- adds r1, r2
- movs r2, 0
- bl sub_819F3F8
- movs r0, 0x3
- bl sub_819B958
- movs r0, 0x1
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_819BCD0
-
- thumb_func_start sub_819BCF8
-sub_819BCF8: @ 819BCF8
- push {r4,r5,lr}
- sub sp, 0x2C
- ldr r5, =gUnknown_0300127C
- ldr r0, [r5]
- ldrb r4, [r0, 0x3]
- cmp r4, 0x5
- bhi _0819BD64
- movs r0, 0x5
- bl PutWindowTilemap
- movs r0, 0x5
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x6C
- muls r0, r4
- ldr r1, [r5]
- adds r0, r1
- adds r0, 0x14
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- add r1, sp, 0xC
- bl CopyMonCategoryText
- movs r0, 0x1
- add r1, sp, 0xC
- movs r2, 0x76
- bl GetStringRightAlignXOffset
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x5
- movs r1, 0x1
- add r2, sp, 0xC
- bl PrintTextOnWindow
- movs r0, 0x5
- movs r1, 0x2
- bl CopyWindowToVram
-_0819BD64:
- add sp, 0x2C
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819BCF8
-
- thumb_func_start sub_819BD70
-sub_819BD70: @ 819BD70
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x10
- ldr r6, =gUnknown_0300127C
- ldr r2, [r6]
- ldrb r1, [r2, 0x3]
- movs r0, 0x6C
- adds r4, r1, 0
- muls r4, r0
- adds r4, r2
- adds r4, 0x14
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- bl GetMonData
- mov r8, r0
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- movs r0, 0x58
- str r0, [sp]
- movs r0, 0x20
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- ldr r0, =0x0000ffff
- str r0, [sp, 0xC]
- adds r0, r5, 0
- mov r2, r8
- movs r3, 0x1
- bl CreateMonPicSprite_HandleDeoxys
- ldr r1, [r6]
- movs r2, 0xA6
- lsls r2, 2
- adds r1, r2
- movs r3, 0
- strb r0, [r1]
- ldr r4, =gSprites
- ldr r0, [r6]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x28
- strb r3, [r0]
- ldr r0, [r6]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x29
- strb r3, [r0]
- ldr r0, [r6]
- movs r1, 0xA8
- lsls r1, 2
- adds r0, r1
- strb r3, [r0]
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819BD70
-
- thumb_func_start sub_819BE20
-sub_819BE20: @ 819BE20
- ldr r1, =gUnknown_0300127C
- ldr r1, [r1]
- movs r2, 0xA8
- lsls r2, 2
- adds r1, r2
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_819BE20
-
- thumb_func_start sub_819BE34
-sub_819BE34: @ 819BE34
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r0, =gUnknown_08610638
- movs r1, 0x78
- movs r2, 0x40
- movs r3, 0x1
- bl CreateSprite
- ldr r6, =gUnknown_0300127C
- ldr r1, [r6]
- ldr r2, =0x00000299
- mov r10, r2
- add r1, r10
- movs r7, 0
- strb r0, [r1]
- ldr r0, [r6]
- add r0, r10
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- mov r8, r1
- add r0, r8
- movs r1, 0x2
- bl StartSpriteAffineAnim
- ldr r2, [r6]
- ldrb r1, [r2, 0x3]
- movs r0, 0x6C
- adds r4, r1, 0
- muls r4, r0
- adds r4, r2
- adds r4, 0x14
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- bl GetMonData
- mov r9, r0
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- movs r0, 0x58
- str r0, [sp]
- movs r0, 0x20
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- ldr r0, =0x0000ffff
- str r0, [sp, 0xC]
- adds r0, r5, 0
- mov r2, r9
- movs r3, 0x1
- bl CreateMonPicSprite_HandleDeoxys
- ldr r1, [r6]
- movs r2, 0xA6
- lsls r2, 2
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- adds r0, 0x28
- strb r7, [r0]
- ldr r0, [r6]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- adds r0, 0x29
- strb r7, [r0]
- ldr r0, [r6]
- add r0, r10
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819BE34
-
- thumb_func_start sub_819BF2C
-sub_819BF2C: @ 819BF2C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- movs r7, 0
- ldr r0, =gUnknown_0300127C
- mov r9, r0
-_0819BF3E:
- movs r2, 0
- adds r1, r7, 0x1
- mov r10, r1
- lsls r0, r7, 2
- mov r8, r0
-_0819BF48:
- mov r0, r9
- ldr r1, [r0]
- movs r0, 0x6C
- adds r4, r2, 0
- muls r4, r0
- adds r0, r1, r4
- ldrb r0, [r0, 0x10]
- cmp r0, r10
- bne _0819C008
- adds r4, r1
- adds r4, 0x14
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- bl GetMonData
- adds r6, r0, 0
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r0, r7, 3
- adds r0, r7
- lsls r0, 19
- movs r2, 0x80
- lsls r2, 13
- adds r0, r2
- asrs r0, 16
- str r0, [sp]
- movs r0, 0x20
- str r0, [sp, 0x4]
- adds r0, r7, 0
- adds r0, 0xD
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
- ldr r0, =0x0000ffff
- str r0, [sp, 0xC]
- adds r0, r5, 0
- adds r2, r6, 0
- movs r3, 0x1
- bl CreateMonPicSprite_HandleDeoxys
- mov r2, r9
- ldr r1, [r2]
- add r1, r8
- movs r2, 0xA5
- lsls r2, 2
- adds r1, r2
- strb r0, [r1]
- mov r1, r9
- ldr r0, [r1]
- add r0, r8
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r2, =gSprites
- adds r0, r2
- adds r0, 0x28
- movs r1, 0
- strb r1, [r0]
- mov r2, r9
- ldr r0, [r2]
- add r0, r8
- movs r1, 0xA5
- lsls r1, 2
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r2, =gSprites
- adds r0, r2
- adds r0, 0x29
- movs r1, 0
- strb r1, [r0]
- b _0819C012
- .pool
-_0819C008:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x5
- bls _0819BF48
-_0819C012:
- mov r2, r10
- lsls r0, r2, 24
- lsrs r7, r0, 24
- cmp r7, 0x2
- bls _0819BF3E
- ldr r0, =gUnknown_0300127C
- ldr r0, [r0]
- movs r1, 0xA8
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819BF2C
-
- thumb_func_start sub_819C040
-sub_819C040: @ 819C040
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0819C0DC
- ldr r3, =gSprites
- ldr r6, =gUnknown_0300127C
- ldr r2, [r6]
- ldr r0, =0x00000295
- adds r5, r2, r0
- ldrb r0, [r5]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- adds r1, 0x3F
- ldrb r0, [r1]
- lsls r0, 26
- cmp r0, 0
- bge _0819C0DC
- ldr r1, =0x0000029d
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _0819C0DC
- adds r1, r4, 0
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r6]
- ldr r1, =0x0000029d
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- ldr r0, =sub_819C1D0
- movs r1, 0x1
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_0819C0DC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819C040
-
- thumb_func_start sub_819C100
-sub_819C100: @ 819C100
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0819C1BA
- ldr r6, =gSprites
- ldr r4, =gUnknown_0300127C
- ldr r2, [r4]
- ldr r7, =0x00000295
- adds r0, r2, r7
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _0819C1BA
- ldr r1, =0x0000029d
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _0819C1BA
- ldrb r0, [r5, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldr r0, [r4]
- adds r0, r7
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldr r0, [r4]
- ldr r1, =0x0000029d
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldr r0, [r4]
- movs r1, 0xA8
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, r7
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl DestroySprite
- ldr r0, [r4]
- ldr r1, =0x0000029d
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl DestroySprite
- adds r0, r5, 0
- bl DestroySprite
-_0819C1BA:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819C100
-
- thumb_func_start sub_819C1D0
-sub_819C1D0: @ 819C1D0
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0819C24E
- cmp r0, 0x1
- bgt _0819C1F8
- cmp r0, 0
- beq _0819C1FE
- b _0819C2BA
- .pool
-_0819C1F8:
- cmp r0, 0x2
- beq _0819C270
- b _0819C2BA
-_0819C1FE:
- movs r0, 0x10
- strh r0, [r4, 0xE]
- movs r0, 0xE0
- strh r0, [r4, 0x38]
- movs r0, 0x40
- strh r0, [r4, 0x12]
- movs r0, 0x41
- strh r0, [r4, 0x18]
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl SetGpuRegBits
- ldrh r1, [r4, 0xE]
- lsls r1, 8
- ldrh r0, [r4, 0x38]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x40
- bl SetGpuReg
- ldrh r1, [r4, 0x12]
- lsls r1, 8
- ldrh r0, [r4, 0x18]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x44
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x37
- bl SetGpuReg
- b _0819C2C6
-_0819C24E:
- movs r0, 0x3
- bl ShowBg
- ldr r1, =0x00001248
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x0000040b
- movs r0, 0x52
- bl SetGpuReg
- b _0819C2C6
- .pool
-_0819C270:
- ldrh r0, [r4, 0x12]
- subs r0, 0x4
- strh r0, [r4, 0x12]
- ldrh r1, [r4, 0x18]
- adds r1, 0x4
- strh r1, [r4, 0x18]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x20
- ble _0819C28C
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x5F
- ble _0819C29E
-_0819C28C:
- movs r0, 0x20
- strh r0, [r4, 0x12]
- movs r0, 0x60
- strh r0, [r4, 0x18]
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl ClearGpuRegBits
-_0819C29E:
- ldrh r1, [r4, 0x12]
- lsls r1, 8
- ldrh r0, [r4, 0x18]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x44
- bl SetGpuReg
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0x20
- bne _0819C2CC
- b _0819C2C6
-_0819C2BA:
- adds r0, r2, 0
- bl DestroyTask
- bl sub_819BF2C
- b _0819C2CC
-_0819C2C6:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0819C2CC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_819C1D0
-
- thumb_func_start sub_819C2D4
-sub_819C2D4: @ 819C2D4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0819C2F6
- b _0819C410
-_0819C2F6:
- cmp r0, 0x1
- bne _0819C2FC
- b _0819C460
-_0819C2FC:
- movs r0, 0x3
- bl HideBg
- ldr r4, =gSprites
- ldr r0, =gUnknown_0300127C
- mov r8, r0
- ldr r0, [r0]
- ldr r1, =0x00000299
- mov r12, r1
- add r0, r12
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r3, 0x5
- negs r3, r3
- adds r0, r3, 0
- ands r0, r2
- strb r0, [r1]
- mov r0, r8
- ldr r2, [r0]
- mov r1, r12
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r6, r4, 0
- adds r6, 0x1C
- adds r0, r6
- ldr r1, =sub_819C100
- str r1, [r0]
- ldr r0, =0x00000295
- mov r9, r0
- add r2, r9
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r2, [r0]
- adds r1, r3, 0
- ands r1, r2
- strb r1, [r0]
- mov r1, r8
- ldr r2, [r1]
- mov r1, r9
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldr r1, =SpriteCallbackDummy
- mov r10, r1
- str r1, [r0]
- ldr r5, =0x0000029d
- adds r2, r5
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r3, r1
- strb r3, [r0]
- mov r0, r8
- ldr r2, [r0]
- adds r0, r2, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- mov r1, r10
- str r1, [r0]
- add r2, r12
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x1
- bl StartSpriteAffineAnim
- mov r1, r8
- ldr r0, [r1]
- add r0, r9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x1
- bl StartSpriteAffineAnim
- mov r1, r8
- ldr r0, [r1]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x1
- bl StartSpriteAffineAnim
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl ClearGpuRegBits
- adds r0, r7, 0
- bl DestroyTask
- b _0819C4A4
- .pool
-_0819C410:
- movs r0, 0x10
- strh r0, [r4, 0xE]
- movs r0, 0xE0
- strh r0, [r4, 0x38]
- movs r0, 0x20
- strh r0, [r4, 0x12]
- movs r0, 0x60
- strh r0, [r4, 0x18]
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl SetGpuRegBits
- ldrh r1, [r4, 0xE]
- lsls r1, 8
- ldrh r0, [r4, 0x38]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x40
- bl SetGpuReg
- ldrh r1, [r4, 0x12]
- lsls r1, 8
- ldrh r0, [r4, 0x18]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x44
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x37
- bl SetGpuReg
- b _0819C49E
-_0819C460:
- ldrh r0, [r4, 0x12]
- adds r0, 0x4
- strh r0, [r4, 0x12]
- ldrh r1, [r4, 0x18]
- subs r1, 0x4
- strh r1, [r4, 0x18]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3F
- bgt _0819C47C
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x41
- bgt _0819C484
-_0819C47C:
- movs r0, 0x40
- strh r0, [r4, 0x12]
- movs r0, 0x41
- strh r0, [r4, 0x18]
-_0819C484:
- ldrh r1, [r4, 0x12]
- lsls r1, 8
- ldrh r0, [r4, 0x18]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x44
- bl SetGpuReg
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0x40
- bne _0819C4A4
-_0819C49E:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0819C4A4:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_819C2D4
-
- thumb_func_start sub_819C4B4
-sub_819C4B4: @ 819C4B4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r4, =gUnknown_08610638
- adds r0, r4, 0
- movs r1, 0x78
- movs r2, 0x40
- movs r3, 0x1
- bl CreateSprite
- ldr r6, =gUnknown_0300127C
- ldr r1, [r6]
- ldr r2, =0x00000299
- mov r8, r2
- add r1, r8
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2C
- movs r2, 0x40
- movs r3, 0x1
- bl CreateSprite
- ldr r1, [r6]
- ldr r5, =0x00000295
- adds r1, r5
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0xC4
- movs r2, 0x40
- movs r3, 0x1
- bl CreateSprite
- ldr r1, [r6]
- ldr r4, =0x0000029d
- adds r1, r4
- strb r0, [r1]
- ldr r3, =gSprites
- ldr r2, [r6]
- add r8, r2
- mov r0, r8
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, 0x1C
- adds r0, r3
- ldr r1, =sub_819C040
- str r1, [r0]
- adds r5, r2, r5
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldr r5, =SpriteCallbackDummy
- str r5, [r0]
- adds r4, r2, r4
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- str r5, [r0]
- movs r0, 0xA8
- lsls r0, 2
- adds r2, r0
- movs r0, 0x1
- strb r0, [r2]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819C4B4
-
- thumb_func_start sub_819C568
-sub_819C568: @ 819C568
- push {r4,lr}
- ldr r4, =gUnknown_0300127C
- ldr r0, [r4]
- movs r1, 0xA5
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- bl FreeAndDestroyMonPicSprite
- ldr r0, [r4]
- movs r1, 0xA6
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- bl FreeAndDestroyMonPicSprite
- ldr r0, [r4]
- movs r1, 0xA7
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- bl FreeAndDestroyMonPicSprite
- ldr r0, =sub_819C2D4
- movs r1, 0x1
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- ldr r0, [r4]
- movs r1, 0xA8
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819C568
-
- thumb_func_start sub_819C5D0
-sub_819C5D0: @ 819C5D0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- adds r6, r1, 0
- adds r5, r2, 0
- mov r8, r3
- lsls r4, 16
- lsrs r4, 16
- lsls r6, 16
- lsrs r6, 16
- lsls r5, 16
- lsrs r5, 16
- mov r0, r8
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl SetGpuRegBits
- lsls r4, 24
- lsrs r4, 16
- orrs r4, r6
- movs r0, 0x40
- adds r1, r4, 0
- bl SetGpuReg
- lsls r5, 24
- lsrs r5, 16
- mov r0, r8
- orrs r5, r0
- movs r0, 0x44
- adds r1, r5, 0
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x37
- bl SetGpuReg
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_819C5D0
-
- thumb_func_start sub_819C634
-sub_819C634: @ 819C634
- push {r4-r7,lr}
- lsls r0, 16
- ldr r2, =gFacilityTrainerMons
- ldr r1, [r2]
- lsrs r0, 12
- adds r0, r1
- ldrh r6, [r0]
- ldr r0, =gUnknown_0300127C
- ldr r0, [r0]
- ldrb r5, [r0, 0x5]
- movs r3, 0x1
- cmp r3, r5
- bcs _0819C694
- adds r4, r0, 0
- movs r0, 0x6C
- mov r12, r0
- adds r7, r2, 0
-_0819C656:
- movs r2, 0
-_0819C658:
- mov r0, r12
- muls r0, r2
- adds r1, r4, r0
- ldrb r0, [r1, 0x10]
- cmp r0, r3
- bne _0819C680
- ldrh r0, [r1, 0xC]
- ldr r1, [r7]
- lsls r0, 4
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r6
- bne _0819C68A
- movs r0, 0
- b _0819C696
- .pool
-_0819C680:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x5
- bls _0819C658
-_0819C68A:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r5
- bcc _0819C656
-_0819C694:
- movs r0, 0x1
-_0819C696:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_819C634
-
- thumb_func_start sub_819C69C
-sub_819C69C: @ 819C69C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- movs r0, 0x8
- ldrsh r2, [r5, r0]
- cmp r2, 0x1
- beq _0819C6F8
- cmp r2, 0x1
- bgt _0819C6C4
- cmp r2, 0
- beq _0819C6CA
- b _0819C7D8
- .pool
-_0819C6C4:
- cmp r2, 0x2
- beq _0819C7B4
- b _0819C7D8
-_0819C6CA:
- ldr r1, =gUnknown_0300127C
- ldr r0, [r1]
- ldr r3, =0x000002a7
- adds r0, r3
- strb r2, [r0]
- ldr r0, [r1]
- adds r3, 0x1
- adds r0, r3
- strb r2, [r0]
- ldr r0, [r1]
- ldr r1, =0x000002a6
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- strh r1, [r5, 0x8]
- b _0819C7D8
- .pool
-_0819C6F8:
- ldr r0, =gUnknown_0300127C
- ldr r3, [r0]
- ldr r2, =0x000002a2
- adds r1, r3, r2
- ldrb r1, [r1]
- adds r7, r0, 0
- cmp r1, 0
- beq _0819C7D8
- ldr r1, =0x000002a9
- adds r0, r3, r1
- ldrb r4, [r0]
- cmp r4, 0
- beq _0819C724
- movs r0, 0x2
- strh r0, [r5, 0x8]
- b _0819C7D8
- .pool
-_0819C724:
- ldr r2, =0x000002a7
- adds r1, r3, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r7]
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0x6
- bls _0819C764
- strb r4, [r1]
- ldr r1, [r7]
- subs r2, 0x1
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0819C758
- movs r3, 0xAA
- lsls r3, 2
- adds r1, r3
- ldrb r0, [r1]
- subs r0, 0x1
- b _0819C762
- .pool
-_0819C758:
- movs r0, 0xAA
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
-_0819C762:
- strb r0, [r1]
-_0819C764:
- movs r0, 0x80
- lsls r0, 7
- ldr r1, [r7]
- movs r4, 0xAA
- lsls r4, 2
- adds r1, r4
- ldrb r1, [r1]
- movs r2, 0
- bl BlendPalettes
- ldr r2, [r7]
- adds r4, r2, r4
- ldrb r0, [r4]
- cmp r0, 0x5
- bls _0819C790
- ldr r3, =0x000002a6
- adds r1, r2, r3
- movs r0, 0
- b _0819C7D6
- .pool
-_0819C790:
- cmp r0, 0
- bne _0819C7D8
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- movs r1, 0x2
- strh r1, [r0, 0x8]
- ldr r0, =0x000002a6
- adds r1, r2, r0
- movs r0, 0x1
- b _0819C7D6
- .pool
-_0819C7B4:
- ldr r0, =gUnknown_0300127C
- ldr r0, [r0]
- ldr r2, =0x000002a9
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0xE
- bls _0819C7D4
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- strh r0, [r5, 0x8]
- b _0819C7D8
- .pool
-_0819C7D4:
- adds r0, 0x1
-_0819C7D6:
- strb r0, [r1]
-_0819C7D8:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_819C69C
-
- thumb_func_start sub_819C7E0
-sub_819C7E0: @ 819C7E0
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTextPrinters
- bl UpdatePaletteFade
- bl RunTasks
- pop {r0}
- bx r0
- thumb_func_end sub_819C7E0
-
- thumb_func_start sub_819C7FC
-sub_819C7FC: @ 819C7FC
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_819C7FC
-
- thumb_func_start sub_819C810
-sub_819C810: @ 819C810
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- ldr r4, =gPlayerParty
- ldr r5, =gUnknown_03001284
- ldr r1, [r5]
- ldrb r0, [r1, 0x12]
- movs r6, 0x64
- muls r0, r6
- adds r0, r4
- ldr r2, =gEnemyParty
- mov r9, r2
- ldrb r1, [r1, 0x13]
- muls r1, r6
- add r1, r9
- movs r2, 0x64
- bl memcpy
- movs r1, 0
- mov r0, sp
- strb r1, [r0]
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- muls r0, r6
- adds r0, r4
- movs r1, 0x20
- mov r2, sp
- bl SetMonData
- ldr r3, =gSaveBlock2Ptr
- mov r8, r3
- ldr r3, [r3]
- ldr r4, [r5]
- ldrb r0, [r4, 0x12]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 2
- adds r2, r3, r2
- ldrb r1, [r4, 0x13]
- adds r1, 0x3
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r3, r0
- movs r1, 0xE7
- lsls r1, 4
- adds r0, r1
- ldrh r0, [r0]
- adds r2, r1
- strh r0, [r2]
- ldrb r0, [r4, 0x12]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 2
- adds r2, r3, r2
- ldrb r1, [r4, 0x13]
- adds r1, 0x3
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r3, r0
- ldr r0, =0x00000e78
- adds r3, r0
- ldrb r1, [r3]
- adds r2, r0
- strb r1, [r2]
- ldr r0, [r5]
- ldrb r0, [r0, 0x13]
- muls r0, r6
- add r0, r9
- movs r1, 0
- movs r2, 0
- bl GetMonData
- mov r1, r8
- ldr r2, [r1]
- ldr r4, [r5]
- ldrb r3, [r4, 0x12]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 2
- ldr r3, =0x00000e74
- adds r2, r3
- adds r2, r1
- str r0, [r2]
- ldrb r0, [r4, 0x13]
- muls r0, r6
- add r0, r9
- movs r1, 0x2E
- movs r2, 0
- bl GetBoxMonData
- mov r1, r8
- ldr r2, [r1]
- ldr r1, [r5]
- ldrb r3, [r1, 0x12]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 2
- adds r2, r1
- ldr r3, =0x00000e79
- adds r2, r3
- strb r0, [r2]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819C810
-
- thumb_func_start sub_819C90C
-sub_819C90C: @ 819C90C
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r6, r0, r1
- movs r1, 0x8
- ldrsh r0, [r6, r1]
- cmp r0, 0x7
- beq _0819C950
- cmp r0, 0x7
- bgt _0819C934
- cmp r0, 0x6
- beq _0819C93A
- b _0819C9F0
- .pool
-_0819C934:
- cmp r0, 0x8
- beq _0819C9C4
- b _0819C9F0
-_0819C93A:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r0, 0x7
- strh r0, [r6, 0x8]
- b _0819C9F0
-_0819C950:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0819C9F0
- ldr r4, =gUnknown_03001284
- ldr r0, [r4]
- adds r0, 0x21
- ldrb r0, [r0]
- bl DestroyTask
- ldr r1, [r4]
- ldr r0, [r1, 0x2C]
- adds r1, 0x30
- bl sub_819F444
- bl sub_819E538
- ldr r4, =gUnknown_0203CE40
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_0203CE44
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_0203CE48
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_0203CE4C
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- bl FreeAllWindowBuffers
- movs r0, 0x8
- strh r0, [r6, 0x8]
- b _0819C9F0
- .pool
-_0819C9C4:
- adds r0, r2, 0
- bl DestroyTask
- ldr r2, =gUnknown_03001284
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1, 0x15]
- ldr r2, [r2]
- ldr r0, =gPlttBufferUnfaded
- movs r1, 0xF4
- lsls r1, 1
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2, 0x24]
- ldr r1, =gPlayerParty
- ldrb r2, [r2, 0x3]
- ldr r0, =sub_819DC1C
- str r0, [sp]
- movs r0, 0
- movs r3, 0x2
- bl ShowPokemonSummaryScreen
-_0819C9F0:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819C90C
-
- thumb_func_start sub_819CA08
-sub_819CA08: @ 819CA08
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r7, =gUnknown_03001284
- ldr r2, [r7]
- adds r0, r2, 0
- adds r0, 0x30
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0819CAFE
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _0819CA78
- cmp r1, 0x1
- bgt _0819CA44
- cmp r1, 0
- beq _0819CA4E
- b _0819CAFE
- .pool
-_0819CA44:
- cmp r1, 0x2
- beq _0819CA8C
- cmp r1, 0x3
- beq _0819CAA4
- b _0819CAFE
-_0819CA4E:
- adds r0, r2, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0819CA68
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldr r0, =gSpecialVar_Result
- strh r1, [r0]
- b _0819CAFE
- .pool
-_0819CA68:
- movs r0, 0x2
- strh r0, [r4, 0x8]
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
- b _0819CAFE
- .pool
-_0819CA78:
- adds r0, r2, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0819CA9C
- ldrb r0, [r2, 0x3]
- strb r0, [r2, 0x13]
- bl sub_819C810
- b _0819CA9C
-_0819CA8C:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_0819CA9C:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0819CAFE
-_0819CAA4:
- bl UpdatePaletteFade
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0819CAFE
- ldr r0, [r7]
- adds r0, 0x21
- ldrb r0, [r0]
- bl DestroyTask
- bl sub_819E538
- ldr r4, =gUnknown_0203CE40
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_0203CE44
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_0203CE48
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_0203CE4C
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r0, [r7]
- bl Free
- str r5, [r7]
- bl FreeAllWindowBuffers
- ldr r0, =CB2_ReturnToFieldContinueScript
- bl SetMainCallback2
- adds r0, r6, 0
- bl DestroyTask
-_0819CAFE:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819CA08
-
- thumb_func_start sub_819CB1C
-sub_819CB1C: @ 819CB1C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r7, =gUnknown_03001284
- ldr r0, [r7]
- adds r0, 0x30
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0819CBD6
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- beq _0819CB50
- cmp r0, 0x5
- beq _0819CB5A
- b _0819CBD6
- .pool
-_0819CB50:
- bl sub_819E9E0
- movs r0, 0x5
- strh r0, [r4, 0x8]
- b _0819CBD6
-_0819CB5A:
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r6, 0x1
- adds r5, r6, 0
- ands r5, r1
- cmp r5, 0
- beq _0819CB86
- movs r0, 0x5
- bl PlaySE
- ldr r0, [r7]
- ldrb r0, [r0, 0x16]
- cmp r0, 0
- bne _0819CB80
- strh r6, [r4, 0xA]
- b _0819CB9C
- .pool
-_0819CB80:
- movs r0, 0
- strh r0, [r4, 0xA]
- b _0819CB96
-_0819CB86:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0819CBA8
- movs r0, 0x5
- bl PlaySE
- strh r5, [r4, 0xA]
-_0819CB96:
- movs r0, 0x4
- bl sub_819EA64
-_0819CB9C:
- ldrh r0, [r4, 0x14]
- ldrh r1, [r4, 0x16]
- lsls r0, 16
- orrs r0, r1
- str r0, [r4]
- b _0819CBD6
-_0819CBA8:
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0819CBC2
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl sub_819E758
- b _0819CBD6
-_0819CBC2:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0819CBD6
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl sub_819E758
-_0819CBD6:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_819CB1C
-
- thumb_func_start sub_819CBDC
-sub_819CBDC: @ 819CBDC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r2, r1, r2
- movs r1, 0xA
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- bne _0819CC04
- movs r0, 0
- strh r0, [r2, 0x8]
- ldr r0, =sub_819CA08
- b _0819CC16
- .pool
-_0819CC04:
- movs r0, 0
- strh r0, [r2, 0x8]
- ldr r1, =sub_819CE40
- lsrs r0, r1, 16
- strh r0, [r2, 0x14]
- strh r1, [r2, 0x16]
- movs r0, 0x1
- strh r0, [r2, 0x12]
- ldr r0, =sub_819D770
-_0819CC16:
- str r0, [r2]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819CBDC
-
- thumb_func_start sub_819CC24
-sub_819CC24: @ 819CC24
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- movs r0, 0x8
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _0819CC5A
- ldr r0, =gText_QuitSwapping
- bl sub_819EBEC
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- adds r0, 0x20
- strb r5, [r0]
- movs r0, 0x4
- strh r0, [r4, 0x8]
- ldr r1, =sub_819CBDC
- lsrs r0, r1, 16
- strh r0, [r4, 0x14]
- strh r1, [r4, 0x16]
- ldr r0, =sub_819CB1C
- str r0, [r4]
-_0819CC5A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819CC24
-
- thumb_func_start sub_819CC74
-sub_819CC74: @ 819CC74
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_03001284
- ldr r1, [r0]
- ldr r0, [r1, 0x2C]
- adds r1, 0x30
- movs r2, 0x1
- bl sub_819F3F8
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r1
- movs r1, 0xA
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- bne _0819CCB0
- movs r0, 0
- strh r0, [r2, 0x8]
- ldr r0, =sub_819CA08
- b _0819CCC2
- .pool
-_0819CCB0:
- movs r0, 0
- strh r0, [r2, 0x8]
- ldr r1, =sub_819CE40
- lsrs r0, r1, 16
- strh r0, [r2, 0x14]
- strh r1, [r2, 0x16]
- movs r0, 0x1
- strh r0, [r2, 0x12]
- ldr r0, =sub_819D770
-_0819CCC2:
- str r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819CC74
-
- thumb_func_start sub_819CCD4
-sub_819CCD4: @ 819CCD4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r5, r1, r2
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0819CD1A
- ldr r4, =gUnknown_03001284
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x2D
- adds r1, 0x30
- movs r2, 0x1
- bl sub_819F2B4
- ldr r0, =gText_AcceptThisPkmn
- bl sub_819EBEC
- ldr r0, [r4]
- adds r0, 0x20
- movs r1, 0x1
- strb r1, [r0]
- movs r0, 0x4
- strh r0, [r5, 0x8]
- ldr r1, =sub_819CC74
- lsrs r0, r1, 16
- strh r0, [r5, 0x14]
- strh r1, [r5, 0x16]
- ldr r0, =sub_819CB1C
- str r0, [r5]
-_0819CD1A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819CCD4
-
- thumb_func_start sub_819CD34
-sub_819CD34: @ 819CD34
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x3
- beq _0819CDA4
- cmp r0, 0x3
- bgt _0819CD60
- cmp r0, 0x2
- beq _0819CD66
- b _0819CE36
- .pool
-_0819CD60:
- cmp r0, 0x9
- beq _0819CD88
- b _0819CE36
-_0819CD66:
- ldr r0, =gUnknown_03001284
- ldr r1, [r0]
- ldrb r0, [r1, 0x15]
- cmp r0, 0
- bne _0819CD7C
- adds r0, r1, 0
- adds r0, 0x2D
- adds r1, 0x30
- movs r2, 0x1
- bl sub_819F2B4
-_0819CD7C:
- movs r0, 0x9
- strh r0, [r5, 0x8]
- b _0819CE36
- .pool
-_0819CD88:
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- adds r0, 0x30
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0819CE36
- bl sub_819E944
- movs r0, 0x3
- strh r0, [r5, 0x8]
- b _0819CE36
- .pool
-_0819CDA4:
- ldr r7, =gUnknown_03001284
- ldr r0, [r7]
- adds r0, 0x30
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0819CE36
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- mov r8, r0
- mov r4, r8
- ands r4, r1
- cmp r4, 0
- beq _0819CDD8
- movs r0, 0x5
- bl PlaySE
- adds r0, r6, 0
- bl sub_819F0A0
- b _0819CE36
- .pool
-_0819CDD8:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0819CE14
- movs r0, 0x5
- bl PlaySE
- ldr r1, [r7]
- ldr r0, [r1, 0x2C]
- adds r1, 0x30
- movs r2, 0x1
- bl sub_819F3F8
- movs r0, 0x3
- bl sub_819EA64
- strh r4, [r5, 0x8]
- ldr r1, =sub_819CE40
- lsrs r0, r1, 16
- strh r0, [r5, 0x14]
- strh r1, [r5, 0x16]
- mov r1, r8
- strh r1, [r5, 0x12]
- ldr r0, =sub_819D770
- str r0, [r5]
- b _0819CE36
- .pool
-_0819CE14:
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0819CE28
- movs r0, 0x1
- negs r0, r0
- bl sub_819E7C0
- b _0819CE36
-_0819CE28:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0819CE36
- movs r0, 0x1
- bl sub_819E7C0
-_0819CE36:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_819CD34
-
- thumb_func_start sub_819CE40
-sub_819CE40: @ 819CE40
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0819CE64
- cmp r0, 0x1
- beq _0819CE88
- b _0819CF4C
- .pool
-_0819CE64:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0819CF4C
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- adds r0, 0x22
- movs r1, 0x1
- strb r1, [r0]
- strh r1, [r4, 0x8]
- b _0819CF4C
- .pool
-_0819CE88:
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- adds r5, r1, 0
- ands r5, r0
- cmp r5, 0
- beq _0819CEBC
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- adds r0, 0x22
- movs r1, 0
- strb r1, [r0]
- bl sub_819EE08
- bl sub_819EAC0
- adds r0, r6, 0
- bl sub_819F184
- b _0819CF4C
- .pool
-_0819CEBC:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0819CEF8
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- adds r0, 0x22
- strb r5, [r0]
- bl sub_819EE08
- bl sub_819EAC0
- ldr r1, =sub_819CC24
- lsrs r0, r1, 16
- strh r0, [r4, 0x14]
- strh r1, [r4, 0x16]
- strh r5, [r4, 0x8]
- strh r5, [r4, 0x12]
- ldr r0, =sub_819D588
- str r0, [r4]
- b _0819CF4C
- .pool
-_0819CEF8:
- ldrh r1, [r2, 0x30]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0819CF0C
- movs r0, 0x1
- negs r0, r0
- bl sub_819E694
- b _0819CF2A
-_0819CF0C:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0819CF1C
- movs r0, 0x1
- bl sub_819E694
- b _0819CF2A
-_0819CF1C:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0819CF34
- movs r0, 0x1
- bl sub_819E6E8
-_0819CF2A:
- bl sub_819EFA8
- bl sub_819EB4C
- b _0819CF4C
-_0819CF34:
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0819CF4C
- movs r0, 0x1
- negs r0, r0
- bl sub_819E6E8
- bl sub_819EFA8
- bl sub_819EB4C
-_0819CF4C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_819CE40
-
- thumb_func_start sub_819CF54
-sub_819CF54: @ 819CF54
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r2, [r4, r0]
- cmp r2, 0x1
- beq _0819CFA0
- cmp r2, 0x1
- bgt _0819CF7C
- cmp r2, 0
- beq _0819CF82
- b _0819D05C
- .pool
-_0819CF7C:
- cmp r2, 0x2
- beq _0819D03C
- b _0819D05C
-_0819CF82:
- ldr r1, =gUnknown_03001284
- ldr r0, [r1]
- adds r0, 0x27
- strb r2, [r0]
- ldr r0, [r1]
- adds r0, 0x28
- strb r2, [r0]
- ldr r0, [r1]
- adds r0, 0x26
- movs r1, 0x1
- strb r1, [r0]
- strh r1, [r4, 0x8]
- b _0819D05C
- .pool
-_0819CFA0:
- ldr r1, =gUnknown_03001284
- ldr r2, [r1]
- adds r0, r2, 0
- adds r0, 0x22
- ldrb r0, [r0]
- adds r6, r1, 0
- cmp r0, 0
- beq _0819D05C
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r3, [r0]
- cmp r3, 0
- beq _0819CFC4
- movs r0, 0x2
- strh r0, [r4, 0x8]
- b _0819D05C
- .pool
-_0819CFC4:
- adds r1, r2, 0
- adds r1, 0x27
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x27
- ldrb r0, [r1]
- cmp r0, 0x6
- bls _0819CFF8
- strb r3, [r1]
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- bne _0819CFF0
- adds r1, 0x28
- ldrb r0, [r1]
- subs r0, 0x1
- b _0819CFF6
-_0819CFF0:
- adds r1, 0x28
- ldrb r0, [r1]
- adds r0, 0x1
-_0819CFF6:
- strb r0, [r1]
-_0819CFF8:
- movs r0, 0x80
- lsls r0, 7
- ldr r1, [r6]
- adds r1, 0x28
- ldrb r1, [r1]
- movs r2, 0
- bl BlendPalettes
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r0, [r0]
- cmp r0, 0x5
- bls _0819D01C
- adds r1, r2, 0
- adds r1, 0x26
- movs r0, 0
- b _0819D05A
-_0819D01C:
- cmp r0, 0
- bne _0819D05C
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x2
- strh r1, [r0, 0x8]
- adds r1, r2, 0
- adds r1, 0x26
- movs r0, 0x1
- b _0819D05A
- .pool
-_0819D03C:
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0x29
- ldrb r0, [r1]
- cmp r0, 0xE
- bls _0819D058
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- strh r0, [r4, 0x8]
- b _0819D05C
- .pool
-_0819D058:
- adds r0, 0x1
-_0819D05A:
- strb r0, [r1]
-_0819D05C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_819CF54
-
- thumb_func_start sub_819D064
-sub_819D064: @ 819D064
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _0819D0A4
- cmp r1, 0x1
- bgt _0819D08C
- cmp r1, 0
- beq _0819D092
- b _0819D118
- .pool
-_0819D08C:
- cmp r1, 0x2
- beq _0819D0BC
- b _0819D118
-_0819D092:
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- adds r0, 0x27
- strb r1, [r0]
- strh r1, [r4, 0x10]
- b _0819D0AE
- .pool
-_0819D0A4:
- ldr r0, =gPlttBufferUnfaded+ 0x1E0
- movs r1, 0xE0
- movs r2, 0xA
- bl LoadPalette
-_0819D0AE:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0819D118
- .pool
-_0819D0BC:
- ldr r2, =gUnknown_03001284
- ldr r0, [r2]
- adds r0, 0x28
- ldrb r0, [r0]
- cmp r0, 0xF
- bls _0819D0D2
- movs r0, 0x1
- strh r0, [r4, 0x10]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0819D0D2:
- ldr r1, [r2]
- adds r1, 0x27
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- adds r1, r0, 0
- adds r1, 0x27
- ldrb r0, [r1]
- cmp r0, 0x3
- bls _0819D108
- movs r0, 0
- strb r0, [r1]
- ldr r1, =gPlttBufferUnfaded
- ldr r0, =gPlttBufferFaded
- movs r3, 0xE4
- lsls r3, 1
- adds r0, r3
- ldrh r0, [r0]
- adds r3, 0x20
- adds r1, r3
- strh r0, [r1]
- ldr r1, [r2]
- adds r1, 0x28
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0819D108:
- movs r0, 0x80
- lsls r0, 7
- ldr r1, [r2]
- adds r1, 0x28
- ldrb r1, [r1]
- movs r2, 0
- bl BlendPalettes
-_0819D118:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819D064
-
- thumb_func_start sub_819D12C
-sub_819D12C: @ 819D12C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- ldr r1, =gTasks
- lsls r0, 2
- ldr r2, [sp]
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- movs r2, 0x8
- ldrsh r3, [r4, r2]
- cmp r3, 0
- beq _0819D15C
- cmp r3, 0x1
- beq _0819D168
- b _0819D310
- .pool
-_0819D15C:
- strh r3, [r4, 0xA]
- strh r3, [r4, 0xC]
- strh r3, [r4, 0xE]
- movs r0, 0x1
- strh r0, [r4, 0x8]
- b _0819D310
-_0819D168:
- movs r3, 0
- str r3, [sp, 0x4]
- movs r1, 0x2
- str r0, [sp, 0x8]
- ldr r0, =gTasks
- str r0, [sp, 0xC]
-_0819D174:
- lsls r0, r1, 24
- asrs r4, r0, 24
- mov r9, r0
- cmp r4, 0x2
- beq _0819D1F2
- ldr r2, =gSprites
- ldr r3, =gUnknown_03001284
- ldr r0, [r3]
- adds r0, 0x5
- mov r8, r0
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r6, r0, r2
- ldrh r1, [r6, 0x20]
- mov r12, r1
- mov r7, r12
- ldr r1, [sp, 0x4]
- subs r0, r1, r7
- lsls r0, 24
- lsrs r5, r0, 24
- mov r10, r2
- cmp r5, 0x10
- beq _0819D1BE
- adds r0, r4, 0x2
- lsls r0, 1
- ldr r2, [sp, 0x8]
- adds r0, r2
- ldr r1, =gTasks
- adds r1, 0x8
- adds r0, r1
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0x1
- bne _0819D1D8
-_0819D1BE:
- lsls r0, r7, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- mov r0, r12
- adds r0, 0xA
- strh r0, [r6, 0x20]
- b _0819D210
- .pool
-_0819D1D8:
- cmp r5, 0x10
- bls _0819D210
- adds r0, r4, 0x1
- add r0, r8
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- ldrh r0, [r0, 0x20]
- subs r0, 0x30
- strh r0, [r6, 0x20]
- b _0819D210
-_0819D1F2:
- ldr r3, =gSprites
- ldr r4, =gUnknown_03001284
- ldr r0, [r4]
- ldrb r1, [r0, 0x7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r2, [r0, 0x20]
- lsls r1, r2, 24
- lsrs r1, 24
- str r1, [sp, 0x4]
- adds r2, 0xA
- strh r2, [r0, 0x20]
- mov r10, r3
-_0819D210:
- mov r0, r9
- asrs r2, r0, 24
- adds r0, r2, 0x1
- lsls r0, 1
- ldr r1, [sp, 0x8]
- adds r0, r1
- ldr r1, =gTasks
- adds r1, 0x8
- adds r0, r1
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0x1
- bne _0819D26A
- ldr r1, =gUnknown_03001284
- ldr r0, [r1]
- adds r0, 0x5
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- mov r3, r10
- adds r1, r0, r3
- movs r0, 0x20
- ldrsh r3, [r1, r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 4
- adds r0, 0x48
- cmp r3, r0
- ble _0819D260
- strh r0, [r1, 0x20]
- movs r7, 0x1
- b _0819D26C
- .pool
-_0819D260:
- movs r7, 0
- cmp r3, r0
- bne _0819D26C
- movs r7, 0x1
- b _0819D26C
-_0819D26A:
- movs r7, 0
-_0819D26C:
- mov r6, r10
- ldr r5, =gUnknown_03001284
- ldr r2, [r5]
- mov r1, r9
- asrs r4, r1, 24
- adds r0, r2, 0x5
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r6
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- subs r0, 0x10
- cmp r0, 0xF0
- ble _0819D2F8
- ldrh r0, [r1, 0x20]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- ldr r0, =0x0000fff0
- strh r0, [r1, 0x20]
- ldrb r0, [r2, 0x14]
- cmp r0, 0x1
- bne _0819D2C0
- movs r0, 0x65
- bl IndexOfSpritePaletteTag
- ldr r1, [r5]
- adds r1, 0x5
- adds r1, r4
- ldrb r1, [r1]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r6
- b _0819D2D8
- .pool
-_0819D2C0:
- movs r0, 0x64
- bl IndexOfSpritePaletteTag
- ldr r2, =gUnknown_03001284
- ldr r1, [r2]
- adds r1, 0x5
- adds r1, r4
- ldrb r1, [r1]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- add r2, r10
-_0819D2D8:
- lsls r0, 4
- ldrb r3, [r2, 0x5]
- movs r1, 0xF
- ands r1, r3
- orrs r1, r0
- strb r1, [r2, 0x5]
- mov r3, r9
- asrs r0, r3, 23
- adds r0, 0x2
- ldr r1, [sp, 0x8]
- adds r0, r1
- ldr r2, [sp, 0xC]
- adds r2, 0x8
- adds r0, r2
- movs r1, 0x1
- strh r1, [r0]
-_0819D2F8:
- movs r0, 0xFF
- lsls r0, 24
- add r0, r9
- lsrs r1, r0, 24
- cmp r0, 0
- blt _0819D306
- b _0819D174
-_0819D306:
- cmp r7, 0x1
- bne _0819D310
- ldr r0, [sp]
- bl DestroyTask
-_0819D310:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819D12C
-
- thumb_func_start sub_819D324
-sub_819D324: @ 819D324
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r7, r0, 24
- movs r0, 0
- mov r8, r0
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r2, r0, r1
- ldrb r4, [r2, 0xE]
- movs r0, 0xC
- ldrsh r5, [r2, r0]
- mov r10, r1
- cmp r5, 0x1
- bne _0819D352
- lsls r0, r4, 24
- negs r0, r0
- lsrs r4, r0, 24
-_0819D352:
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _0819D368
- cmp r0, 0x1
- bne _0819D360
- b _0819D480
-_0819D360:
- b _0819D570
- .pool
-_0819D368:
- ldr r3, =gSprites
- ldr r2, =gUnknown_03001284
- ldr r0, [r2]
- ldrb r1, [r0, 0x8]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x20]
- cmp r5, 0
- bne _0819D39C
- lsls r0, 16
- asrs r0, 16
- lsls r2, r4, 24
- asrs r1, r2, 24
- adds r0, r1
- movs r1, 0x1
- cmp r0, 0xEF
- ble _0819D3B2
- movs r1, 0
- movs r0, 0xF0
- b _0819D3B0
- .pool
-_0819D39C:
- lsls r0, 16
- asrs r0, 16
- lsls r2, r4, 24
- asrs r1, r2, 24
- adds r0, r1
- movs r1, 0x1
- cmp r0, 0xA0
- bgt _0819D3B2
- movs r1, 0
- movs r0, 0xA0
-_0819D3B0:
- mov r8, r0
-_0819D3B2:
- cmp r1, 0x1
- bne _0819D3FC
- movs r3, 0
- ldr r7, =gSprites
- ldr r6, =gUnknown_03001284
- asrs r5, r2, 24
-_0819D3BE:
- movs r4, 0
- adds r2, r3, 0x1
-_0819D3C2:
- ldr r1, [r6]
- lsls r0, r4, 1
- adds r0, r4
- adds r0, r3, r0
- adds r1, 0x8
- adds r1, r0
- ldrb r1, [r1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrh r1, [r0, 0x20]
- adds r1, r5
- strh r1, [r0, 0x20]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _0819D3C2
- lsls r0, r2, 24
- lsrs r3, r0, 24
- cmp r3, 0x2
- bls _0819D3BE
- b _0819D570
- .pool
-_0819D3FC:
- movs r4, 0
- lsls r1, r7, 2
- mov r12, r1
- mov r6, r8
- adds r6, 0x10
- movs r0, 0x30
- add r0, r8
- mov r9, r0
- ldr r5, =gSprites
-_0819D40E:
- ldr r1, =gUnknown_03001284
- ldr r2, [r1]
- lsls r3, r4, 1
- adds r3, r4
- adds r0, r2, 0
- adds r0, 0x8
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r8
- strh r1, [r0, 0x20]
- adds r0, r2, 0
- adds r0, 0x9
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x20]
- adds r2, 0xA
- adds r2, r3
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r9
- strh r1, [r0, 0x20]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _0819D40E
- mov r1, r12
- adds r0, r1, r7
- lsls r0, 3
- add r0, r10
- ldrb r1, [r0, 0xA]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- add r0, r10
- movs r1, 0x1
- strh r1, [r0, 0xE]
- adds r0, r7, 0
- bl DestroyTask
- b _0819D570
- .pool
-_0819D480:
- ldr r2, =gSprites
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- ldrb r1, [r0, 0xE]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x20]
- cmp r5, 0
- bne _0819D4B4
- lsls r0, 16
- asrs r0, 16
- lsls r2, r4, 24
- asrs r1, r2, 24
- adds r0, r1
- movs r1, 0x1
- cmp r0, 0xEF
- ble _0819D4CA
- movs r1, 0
- movs r0, 0xF0
- b _0819D4C8
- .pool
-_0819D4B4:
- lsls r0, 16
- asrs r0, 16
- lsls r2, r4, 24
- asrs r1, r2, 24
- adds r0, r1
- movs r1, 0x1
- cmp r0, 0xC0
- bgt _0819D4CA
- movs r1, 0
- movs r0, 0xC0
-_0819D4C8:
- mov r8, r0
-_0819D4CA:
- cmp r1, 0x1
- bne _0819D510
- movs r3, 0
- ldr r7, =gSprites
- ldr r6, =gUnknown_03001284
- asrs r5, r2, 24
-_0819D4D6:
- movs r4, 0
- adds r2, r3, 0x1
-_0819D4DA:
- ldr r0, [r6]
- lsls r1, r4, 1
- adds r1, r3, r1
- adds r0, 0xE
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrh r1, [r0, 0x20]
- adds r1, r5
- strh r1, [r0, 0x20]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _0819D4DA
- lsls r0, r2, 24
- lsrs r3, r0, 24
- cmp r3, 0x1
- bls _0819D4D6
- b _0819D570
- .pool
-_0819D510:
- movs r4, 0
- lsls r1, r7, 2
- mov r12, r1
- mov r6, r8
- adds r6, 0x10
- ldr r5, =gSprites
- ldr r0, =gUnknown_03001284
- mov r9, r0
-_0819D520:
- mov r1, r9
- ldr r2, [r1]
- lsls r3, r4, 1
- adds r0, r2, 0
- adds r0, 0xE
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r8
- strh r1, [r0, 0x20]
- adds r2, 0xF
- adds r2, r3
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x20]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _0819D520
- mov r1, r12
- adds r0, r1, r7
- lsls r0, 3
- add r0, r10
- ldrb r1, [r0, 0xA]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- add r0, r10
- movs r1, 0x1
- strh r1, [r0, 0x10]
- adds r0, r7, 0
- bl DestroyTask
-_0819D570:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819D324
-
- thumb_func_start sub_819D588
-sub_819D588: @ 819D588
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- mov r8, r1
- cmp r0, 0x5
- bls _0819D5AA
- b _0819D762
-_0819D5AA:
- lsls r0, 2
- ldr r1, =_0819D5BC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0819D5BC:
- .4byte _0819D5D4
- .4byte _0819D5F0
- .4byte _0819D60C
- .4byte _0819D63C
- .4byte _0819D6F0
- .4byte _0819D73A
-_0819D5D4:
- ldr r0, =gUnknown_08610918
- movs r1, 0xE0
- movs r2, 0xA
- bl LoadPalette
- bl sub_819ED34
- movs r0, 0x5
- bl PutWindowTilemap
- b _0819D622
- .pool
-_0819D5F0:
- movs r0, 0x3
- bl sub_819EA64
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0819D762
- .pool
-_0819D60C:
- movs r0, 0x80
- lsls r0, 7
- ldr r1, =gUnknown_0860F13C
- adds r1, 0x4A
- ldrh r1, [r1]
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_0819D622:
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _0819D762
- .pool
-_0819D63C:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- beq _0819D64E
- b _0819D762
-_0819D64E:
- movs r0, 0x5
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x5
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- cmp r0, 0x1
- bne _0819D6B0
- ldr r0, =sub_819D324
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r2, r5, 2
- adds r2, r5
- lsls r2, 3
- adds r2, r1
- strh r6, [r2, 0xE]
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0xA]
- strh r6, [r0, 0x8]
- strh r6, [r0, 0xC]
- movs r1, 0x6
- strh r1, [r0, 0xE]
- movs r0, 0x5
- strh r0, [r2, 0xC]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _0819D762
- .pool
-_0819D6B0:
- ldr r0, =sub_819D324
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r3, =gTasks
- lsls r2, r5, 2
- adds r2, r5
- lsls r2, 3
- adds r2, r3
- movs r1, 0x1
- strh r1, [r2, 0xE]
- strh r6, [r2, 0x10]
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r3
- strh r5, [r0, 0xA]
- strh r1, [r0, 0x8]
- strh r6, [r0, 0xC]
- movs r1, 0x6
- strh r1, [r0, 0xE]
- ldrh r0, [r2, 0x8]
- adds r0, 0x2
- strh r0, [r2, 0x8]
- b _0819D762
- .pool
-_0819D6F0:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- mov r1, r8
- adds r6, r0, r1
- ldrh r0, [r6, 0xC]
- movs r2, 0xC
- ldrsh r7, [r6, r2]
- cmp r7, 0
- bne _0819D734
- ldr r0, =sub_819D324
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r4, r0, 24
- strh r7, [r6, 0x10]
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- add r0, r8
- strh r5, [r0, 0xA]
- movs r1, 0x1
- strh r1, [r0, 0x8]
- strh r7, [r0, 0xC]
- movs r1, 0x6
- strh r1, [r0, 0xE]
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
- b _0819D762
- .pool
-_0819D734:
- subs r0, 0x1
- strh r0, [r6, 0xC]
- b _0819D762
-_0819D73A:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- mov r1, r8
- adds r2, r0, r1
- movs r1, 0xE
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- bne _0819D762
- movs r1, 0x10
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- bne _0819D762
- ldrh r0, [r2, 0x12]
- strh r0, [r2, 0x8]
- ldrh r0, [r2, 0x14]
- ldrh r1, [r2, 0x16]
- lsls r0, 16
- orrs r0, r1
- str r0, [r2]
-_0819D762:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_819D588
-
- thumb_func_start sub_819D770
-sub_819D770: @ 819D770
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gUnknown_03001284
- ldr r0, [r1]
- adds r0, 0x30
- ldrb r0, [r0]
- adds r3, r1, 0
- cmp r0, 0x1
- bne _0819D78C
- b _0819D9D8
-_0819D78C:
- ldr r0, =gTasks
- lsls r2, r6, 2
- adds r1, r2, r6
- lsls r1, 3
- adds r1, r0
- movs r4, 0x8
- ldrsh r1, [r1, r4]
- mov r8, r0
- adds r5, r2, 0
- cmp r1, 0x8
- bls _0819D7A4
- b _0819D9D8
-_0819D7A4:
- lsls r0, r1, 2
- ldr r1, =_0819D7BC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0819D7BC:
- .4byte _0819D7E0
- .4byte _0819D868
- .4byte _0819D8AE
- .4byte _0819D8F4
- .4byte _0819D910
- .4byte _0819D928
- .4byte _0819D936
- .4byte _0819D948
- .4byte _0819D9B0
-_0819D7E0:
- ldr r0, [r3]
- ldrb r7, [r0, 0x14]
- cmp r7, 0x1
- bne _0819D828
- ldr r0, =sub_819D324
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r3, =gTasks
- adds r2, r5, r6
- lsls r2, 3
- adds r2, r3
- movs r1, 0
- strh r1, [r2, 0xE]
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r3
- strh r6, [r0, 0xA]
- strh r1, [r0, 0x8]
- strh r7, [r0, 0xC]
- movs r1, 0x6
- strh r1, [r0, 0xE]
- movs r0, 0xA
- strh r0, [r2, 0xC]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _0819D9D8
- .pool
-_0819D828:
- ldr r0, =sub_819D324
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r3, =gTasks
- adds r2, r5, r6
- lsls r2, 3
- adds r2, r3
- movs r0, 0
- movs r1, 0x1
- strh r1, [r2, 0xE]
- strh r0, [r2, 0x10]
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r3
- strh r6, [r0, 0xA]
- strh r1, [r0, 0x8]
- strh r1, [r0, 0xC]
- movs r1, 0x6
- strh r1, [r0, 0xE]
- ldrh r0, [r2, 0x8]
- adds r0, 0x2
- strh r0, [r2, 0x8]
- b _0819D9D8
- .pool
-_0819D868:
- adds r0, r5, r6
- lsls r0, 3
- mov r1, r8
- adds r5, r0, r1
- ldrh r0, [r5, 0xC]
- movs r2, 0xC
- ldrsh r7, [r5, r2]
- cmp r7, 0
- bne _0819D8A8
- ldr r0, =sub_819D324
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r4, r0, 24
- strh r7, [r5, 0x10]
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- add r0, r8
- strh r6, [r0, 0xA]
- movs r1, 0x1
- strh r1, [r0, 0x8]
- strh r1, [r0, 0xC]
- movs r1, 0x6
- strh r1, [r0, 0xE]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _0819D9D8
- .pool
-_0819D8A8:
- subs r0, 0x1
- strh r0, [r5, 0xC]
- b _0819D9D8
-_0819D8AE:
- adds r0, r5, r6
- lsls r0, 3
- mov r1, r8
- adds r4, r0, r1
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0x1
- beq _0819D8C0
- b _0819D9D8
-_0819D8C0:
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0819D8CA
- b _0819D9D8
-_0819D8CA:
- ldr r1, =gPlttBufferFaded
- ldr r0, =gUnknown_0860F13C
- adds r0, 0x4A
- ldrh r0, [r0]
- movs r2, 0xE2
- lsls r2, 1
- adds r1, r2
- strh r0, [r1]
- bl sub_819ED34
- movs r0, 0x5
- bl PutWindowTilemap
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0819D9D8
- .pool
-_0819D8F4:
- movs r0, 0x80
- lsls r0, 7
- ldr r1, =gUnknown_0860F13C
- adds r1, 0x4A
- ldrh r1, [r1]
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _0819D990
- .pool
-_0819D910:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0819D9D8
- movs r0, 0
- bl sub_819EDBC
- b _0819D990
- .pool
-_0819D928:
- movs r0, 0x1
- bl sub_819EDBC
- movs r0, 0x3
- bl PutWindowTilemap
- b _0819D990
-_0819D936:
- movs r0, 0x5
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x5
- movs r1, 0x2
- bl CopyWindowToVram
- b _0819D990
-_0819D948:
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- bne _0819D964
- ldr r0, =gText_SelectPkmnToSwap
- bl sub_819EBEC
- b _0819D96A
- .pool
-_0819D964:
- ldr r0, =gText_SelectPkmnToAccept
- bl sub_819EBEC
-_0819D96A:
- ldr r0, =gUnknown_03001284
- ldr r1, [r0]
- ldrb r0, [r1, 0x3]
- cmp r0, 0x2
- bhi _0819D98C
- ldr r2, =gSprites
- ldrb r1, [r1, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
-_0819D98C:
- bl sub_819EFA8
-_0819D990:
- ldr r0, =gTasks
- adds r1, r5, r6
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0819D9D8
- .pool
-_0819D9B0:
- bl sub_819EEF0
- bl sub_819EADC
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- adds r0, 0x22
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, =gTasks
- adds r0, r5, r6
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x12]
- strh r1, [r0, 0x8]
- ldrh r1, [r0, 0x14]
- ldrh r2, [r0, 0x16]
- lsls r1, 16
- orrs r1, r2
- str r1, [r0]
-_0819D9D8:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819D770
-
- thumb_func_start sub_819D9EC
-sub_819D9EC: @ 819D9EC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- adds r0, 0x30
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0819DA00
- b _0819DBCA
-_0819DA00:
- ldr r0, =gTasks
- lsls r2, r6, 2
- adds r1, r2, r6
- lsls r1, 3
- adds r1, r0
- movs r3, 0x8
- ldrsh r1, [r1, r3]
- adds r3, r0, 0
- adds r7, r2, 0
- cmp r1, 0x4
- bls _0819DA18
- b _0819DBCA
-_0819DA18:
- lsls r0, r1, 2
- ldr r1, =_0819DA30
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0819DA30:
- .4byte _0819DA44
- .4byte _0819DA58
- .4byte _0819DA8C
- .4byte _0819DABC
- .4byte _0819DBB0
-_0819DA44:
- bl sub_819EEF0
- ldr r0, =gTasks
- adds r1, r7, r6
- lsls r1, 3
- adds r1, r0
- b _0819DB96
- .pool
-_0819DA58:
- bl sub_819EADC
- ldr r2, =gSprites
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, =gTasks
- adds r1, r7, r6
- lsls r1, 3
- adds r1, r0
- b _0819DB96
- .pool
-_0819DA8C:
- ldr r0, =sub_819D12C
- movs r1, 0
- bl CreateTask
- ldr r2, =gTasks
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- adds r0, 0x21
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, =sub_819D064
- str r1, [r0]
- b _0819DB90
- .pool
-_0819DABC:
- ldr r0, =sub_819D12C
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _0819DACA
- b _0819DBCA
-_0819DACA:
- ldr r2, =gTasks
- ldr r4, =gUnknown_03001284
- ldr r0, [r4]
- adds r0, 0x21
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x10
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- bne _0819DBCA
- bl sub_819EAC0
- ldr r0, [r4]
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- bne _0819DB04
- movs r0, 0x1
- bl sub_819F048
- b _0819DB32
- .pool
-_0819DB04:
- movs r0, 0
- bl sub_819F048
- movs r2, 0
- ldr r5, =gSprites
- movs r3, 0x4
-_0819DB10:
- ldr r0, [r4]
- adds r0, 0xB
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bls _0819DB10
-_0819DB32:
- ldr r5, =gSprites
- ldr r4, =gUnknown_03001284
- ldr r3, [r4]
- ldrb r0, [r3, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r0, r3, 0x5
- ldrb r2, [r3, 0x3]
- adds r0, r2
- ldrb r2, [r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r5
- ldrh r0, [r0, 0x20]
- movs r5, 0
- strh r0, [r1, 0x20]
- ldr r2, =gTasks
- adds r0, r3, 0
- adds r0, 0x21
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, =sub_819CF54
- str r1, [r0]
- adds r3, 0x27
- strb r5, [r3]
- ldr r0, [r4]
- adds r0, 0x28
- movs r1, 0x6
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x26
- strb r5, [r0]
- ldr r0, [r4]
- adds r0, 0x21
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x1
- strh r1, [r0, 0x8]
-_0819DB90:
- adds r1, r7, r6
- lsls r1, 3
- adds r1, r2
-_0819DB96:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0819DBCA
- .pool
-_0819DBB0:
- adds r0, r7, r6
- lsls r0, 3
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x8]
- ldr r2, =sub_819CE40
- lsrs r1, r2, 16
- strh r1, [r0, 0x14]
- strh r2, [r0, 0x16]
- movs r1, 0x1
- strh r1, [r0, 0x12]
- ldr r1, =sub_819D770
- str r1, [r0]
-_0819DBCA:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819D9EC
-
- thumb_func_start sub_819DBD8
-sub_819DBD8: @ 819DBD8
- push {r4,r5,lr}
- ldr r5, =gUnknown_03001284
- ldr r4, [r5]
- cmp r4, 0
- bne _0819DBF6
- movs r0, 0x34
- bl AllocZeroed
- str r0, [r5]
- strb r4, [r0, 0x3]
- ldr r0, [r5]
- adds r0, 0x30
- strb r4, [r0]
- ldr r0, [r5]
- strb r4, [r0, 0x15]
-_0819DBF6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819DBD8
-
- thumb_func_start sub_819DC00
-sub_819DC00: @ 819DC00
- push {lr}
- ldr r0, =gUnknown_03001284
- movs r1, 0
- str r1, [r0]
- ldr r0, =sub_819DC1C
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819DC00
-
- thumb_func_start sub_819DC1C
-sub_819DC1C: @ 819DC1C
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0xF
- bls _0819DC32
- b _0819E0AA
-_0819DC32:
- lsls r0, 2
- ldr r1, =_0819DC44
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0819DC44:
- .4byte _0819DC84
- .4byte _0819DCD4
- .4byte _0819DDA8
- .4byte _0819DE68
- .4byte _0819DE94
- .4byte _0819DECC
- .4byte _0819DEEC
- .4byte _0819DF10
- .4byte _0819DF30
- .4byte _0819DF3C
- .4byte _0819DF64
- .4byte _0819DF70
- .4byte _0819DF78
- .4byte _0819DF8C
- .4byte _0819DFA4
- .4byte _0819E01C
-_0819DC84:
- movs r0, 0
- bl SetHBlankCallback
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- str r0, [sp, 0x8]
- movs r1, 0xC0
- lsls r1, 19
- ldr r2, =0x05006000
- add r0, sp, 0x8
- bl CpuSet
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_086108B8
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r0, =gUnknown_086108C8
- bl InitWindows
- bl DeactivateAllTextPrinters
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _0819E00E
- .pool
-_0819DCD4:
- ldr r5, =gUnknown_0203CE40
- movs r4, 0x88
- lsls r4, 3
- adds r0, r4, 0
- bl Alloc
- str r0, [r5]
- ldr r5, =gUnknown_0203CE44
- adds r0, r4, 0
- bl AllocZeroed
- str r0, [r5]
- ldr r5, =gUnknown_0203CE48
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- bl Alloc
- str r0, [r5]
- ldr r5, =gUnknown_0203CE4C
- adds r0, r4, 0
- bl AllocZeroed
- str r0, [r5]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x4C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x42
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x46
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- b _0819E006
- .pool
-_0819DDA8:
- bl ResetPaletteFade
- bl ResetSpriteData
- bl ResetTasks
- bl FreeAllSpritePalettes
- bl ResetAllPicSprites
- ldr r0, =gFrontierFactorySelectMenu_Gfx
- ldr r5, =gUnknown_0203CE40
- ldr r1, [r5]
- movs r2, 0x88
- lsls r2, 2
- bl CpuSet
- ldr r0, =gUnknown_0861033C
- ldr r4, =gUnknown_0203CE44
- ldr r1, [r4]
- movs r2, 0x30
- bl CpuSet
- ldr r1, [r5]
- movs r2, 0x88
- lsls r2, 3
- movs r0, 0x1
- movs r3, 0
- bl LoadBgTiles
- ldr r1, [r4]
- movs r0, 0x3
- movs r2, 0x60
- movs r3, 0
- bl LoadBgTiles
- ldr r0, =gFrontierFactorySelectMenu_Tilemap
- ldr r4, =gUnknown_0203CE48
- ldr r1, [r4]
- movs r2, 0x80
- lsls r2, 3
- bl CpuSet
- ldr r1, [r4]
- movs r2, 0x80
- lsls r2, 4
- movs r0, 0x1
- movs r3, 0
- bl LoadBgTilemap
- ldr r0, =gFrontierFactorySelectMenu_Pal
- movs r1, 0
- movs r2, 0x40
- bl LoadPalette
- ldr r4, =gUnknown_08610918
- adds r0, r4, 0
- movs r1, 0xF0
- movs r2, 0xA
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0xE0
- movs r2, 0xA
- bl LoadPalette
- ldr r0, =gUnknown_0861039C
- movs r1, 0x20
- movs r2, 0x4
- bl LoadPalette
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _0819E00E
- .pool
-_0819DE68:
- ldr r0, =gUnknown_0203CE4C
- ldr r1, [r0]
- movs r0, 0x3
- bl SetBgTilemapBuffer
- ldr r1, =gUnknown_0861023C
- movs r0, 0x8
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x3
- movs r2, 0xB
- movs r3, 0x4
- bl CopyToBgTilemapBufferRect
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _0819E006
- .pool
-_0819DE94:
- ldr r0, =gUnknown_086106B0
- bl LoadSpritePalettes
- ldr r0, =gUnknown_08610650
- bl LoadSpriteSheets
- ldr r0, =gUnknown_086106A0
- bl LoadCompressedObjectPic
- ldr r0, =sub_819C7FC
- bl SetVBlankCallback
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _0819E00E
- .pool
-_0819DECC:
- ldr r0, =gUnknown_03001284
- ldr r1, [r0]
- ldrb r0, [r1, 0x15]
- cmp r0, 0x1
- bne _0819DEDC
- ldr r0, =gUnknown_0203CF20
- ldrb r0, [r0]
- strb r0, [r1, 0x3]
-_0819DEDC:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- b _0819E00E
- .pool
-_0819DEEC:
- bl sub_819DBD8
- bl sub_819E0C0
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- ldrb r0, [r0, 0x15]
- cmp r0, 0x1
- bne _0819DF02
- bl sub_819F304
-_0819DF02:
- movs r0, 0
- bl sub_819F048
- b _0819E006
- .pool
-_0819DF10:
- ldr r0, =gText_SelectPkmnToSwap
- bl sub_819EBEC
- movs r0, 0x2
- bl PutWindowTilemap
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _0819E00E
- .pool
-_0819DF30:
- bl sub_819EFA8
- movs r0, 0x8
- bl PutWindowTilemap
- b _0819E006
-_0819DF3C:
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- ldrb r0, [r0, 0x15]
- cmp r0, 0
- bne _0819DF4A
- bl sub_819EB4C
-_0819DF4A:
- movs r0, 0x1
- bl PutWindowTilemap
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _0819E00E
- .pool
-_0819DF64:
- bl sub_819EB18
- movs r0, 0
- bl PutWindowTilemap
- b _0819E006
-_0819DF70:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- b _0819E00E
-_0819DF78:
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- ldrb r0, [r0, 0x15]
- cmp r0, 0
- beq _0819E006
- bl sub_819EE08
- b _0819E006
- .pool
-_0819DF8C:
- bl sub_819ED78
- movs r0, 0x3
- bl PutWindowTilemap
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _0819E00E
- .pool
-_0819DFA4:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- ldrb r0, [r0, 0x15]
- cmp r0, 0x1
- bne _0819E000
- movs r0, 0x3
- bl ShowBg
- ldr r1, =0x00001248
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x0000040b
- movs r0, 0x52
- bl SetGpuReg
- b _0819E006
- .pool
-_0819E000:
- movs r0, 0x3
- bl HideBg
-_0819E006:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
-_0819E00E:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0819E0AA
- .pool
-_0819E01C:
- ldr r0, =sub_819CF54
- movs r1, 0
- bl CreateTask
- ldr r6, =gUnknown_03001284
- ldr r1, [r6]
- adds r1, 0x21
- strb r0, [r1]
- ldr r0, [r6]
- ldrb r5, [r0, 0x15]
- cmp r5, 0
- bne _0819E06C
- ldr r4, =gTasks
- adds r0, 0x21
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- strh r5, [r0, 0x8]
- ldr r0, =sub_819CE40
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- strh r5, [r0, 0x8]
- b _0819E0A4
- .pool
-_0819E06C:
- bl sub_819EAF8
- ldr r4, =gTasks
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0x21
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r3, 0
- movs r1, 0x1
- strh r1, [r0, 0x8]
- adds r2, 0x22
- strb r3, [r2]
- ldr r0, =sub_819CD34
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x8]
-_0819E0A4:
- ldr r0, =sub_819C7E0
- bl SetMainCallback2
-_0819E0AA:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819DC1C
-
- thumb_func_start sub_819E0C0
-sub_819E0C0: @ 819E0C0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- mov r1, sp
- ldr r0, =gUnknown_08610834
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- mov r1, sp
- movs r0, 0x65
- strh r0, [r1, 0x2]
- movs r6, 0
- ldr r4, =gUnknown_03001284
- movs r7, 0
- ldr r5, =gSprites
-_0819E0E6:
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 20
- movs r3, 0x90
- lsls r3, 15
- adds r1, r3
- asrs r1, 16
- mov r0, sp
- movs r2, 0x40
- movs r3, 0x1
- bl CreateSprite
- ldr r1, [r4]
- adds r1, 0x5
- adds r1, r6
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x5
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r7, [r0, 0x2E]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x2
- bls _0819E0E6
- ldr r7, =gUnknown_03001284
- ldr r1, [r7]
- adds r0, r1, 0x5
- ldrb r1, [r1, 0x3]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- movs r5, 0x20
- ldrsh r1, [r0, r5]
- ldr r0, =gUnknown_0861084C
- movs r2, 0x58
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- movs r4, 0
- strb r0, [r1, 0x4]
- ldr r0, =gUnknown_08610864
- movs r1, 0xB0
- movs r2, 0x70
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- strb r0, [r1, 0x1]
- ldr r0, =gUnknown_0861087C
- movs r1, 0xB0
- movs r2, 0x90
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- strb r0, [r1, 0x2]
- ldr r0, [r7]
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r6, =gSprites
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r7]
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r7]
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x28
- strb r4, [r0]
- ldr r0, [r7]
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x29
- strb r4, [r0]
- ldr r0, [r7]
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x28
- strb r4, [r0]
- ldr r0, [r7]
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x29
- strb r4, [r0]
- ldr r0, [r7]
- ldrb r0, [r0, 0x15]
- movs r1, 0xC0
- str r1, [sp, 0x18]
- cmp r0, 0x1
- bne _0819E1E8
- movs r2, 0xF0
- str r2, [sp, 0x18]
-_0819E1E8:
- mov r1, sp
- ldr r0, =gUnknown_0861084C
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- mov r0, sp
- movs r4, 0x68
- mov r10, r4
- mov r5, r10
- strh r5, [r0]
- movs r1, 0xF0
- movs r2, 0x78
- movs r3, 0xA
- bl CreateSprite
- ldr r1, [r7]
- strb r0, [r1, 0x8]
- mov r1, sp
- ldr r0, =gUnknown_08610864
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- mov r0, sp
- movs r1, 0x69
- mov r9, r1
- mov r2, r9
- strh r2, [r0]
- movs r4, 0x80
- lsls r4, 1
- adds r1, r4, 0
- movs r2, 0x78
- movs r3, 0xA
- bl CreateSprite
- ldr r1, [r7]
- strb r0, [r1, 0x9]
- movs r5, 0x90
- lsls r5, 1
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0x78
- movs r3, 0xA
- bl CreateSprite
- ldr r1, [r7]
- strb r0, [r1, 0xA]
- mov r1, sp
- ldr r0, =gUnknown_0861084C
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- mov r0, sp
- movs r3, 0x6A
- mov r8, r3
- mov r6, r8
- strh r6, [r0]
- movs r1, 0xF0
- movs r2, 0x78
- movs r3, 0x1
- bl CreateSprite
- ldr r1, [r7]
- strb r0, [r1, 0xB]
- mov r1, sp
- ldr r0, =gUnknown_08610864
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- mov r1, sp
- movs r0, 0x6B
- strh r0, [r1]
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x78
- movs r3, 0x1
- bl CreateSprite
- ldr r1, [r7]
- strb r0, [r1, 0xC]
- mov r0, sp
- movs r6, 0x6C
- strh r6, [r0]
- adds r1, r5, 0
- movs r2, 0x78
- movs r3, 0x1
- bl CreateSprite
- ldr r1, [r7]
- strb r0, [r1, 0xD]
- mov r1, sp
- ldr r0, =gUnknown_0861084C
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- mov r0, sp
- mov r4, r10
- strh r4, [r0]
- ldr r1, [sp, 0x18]
- movs r2, 0x90
- movs r3, 0xA
- bl CreateSprite
- ldr r1, [r7]
- strb r0, [r1, 0xE]
- mov r1, sp
- ldr r0, =gUnknown_08610864
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r4,r5}
- stm r1!, {r2,r4,r5}
- mov r0, sp
- mov r3, r9
- strh r3, [r0]
- ldr r4, [sp, 0x18]
- adds r4, 0x10
- adds r1, r4, 0
- movs r2, 0x90
- movs r3, 0xA
- bl CreateSprite
- ldr r1, [r7]
- strb r0, [r1, 0xF]
- mov r1, sp
- ldr r0, =gUnknown_0861084C
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- mov r0, sp
- mov r5, r8
- strh r5, [r0]
- ldr r1, [sp, 0x18]
- movs r2, 0x90
- movs r3, 0x1
- bl CreateSprite
- ldr r1, [r7]
- strb r0, [r1, 0x10]
- mov r1, sp
- ldr r0, =gUnknown_08610864
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- mov r0, sp
- strh r6, [r0]
- adds r1, r4, 0
- movs r2, 0x90
- movs r3, 0x1
- bl CreateSprite
- ldr r1, [r7]
- strb r0, [r1, 0x11]
- movs r6, 0
- ldr r5, =gSprites
- adds r4, r7, 0
- movs r7, 0
- movs r0, 0x4
- mov r10, r0
-_0819E330:
- ldr r0, [r4]
- lsls r3, r6, 1
- adds r2, r3, r6
- adds r0, 0x8
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x28
- strb r7, [r0]
- ldr r0, [r4]
- adds r0, 0x8
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x29
- strb r7, [r0]
- ldr r0, [r4]
- adds r0, 0x9
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x28
- strb r7, [r0]
- ldr r0, [r4]
- adds r0, 0x9
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x29
- strb r7, [r0]
- ldr r0, [r4]
- adds r0, 0xA
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x28
- strb r7, [r0]
- ldr r0, [r4]
- adds r0, 0xA
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x29
- strb r7, [r0]
- ldr r0, [r4]
- adds r0, 0xE
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x28
- strb r7, [r0]
- ldr r0, [r4]
- adds r0, 0xE
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x29
- strb r7, [r0]
- ldr r0, [r4]
- adds r0, 0xF
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x28
- strb r7, [r0]
- ldr r0, [r4]
- adds r0, 0xF
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x29
- strb r7, [r0]
- ldr r0, [r4]
- adds r0, 0x8
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- mov r8, r0
- ldrb r1, [r0]
- mov r0, r10
- orrs r1, r0
- mov r0, r8
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- mov r8, r0
- ldrb r1, [r0]
- mov r0, r10
- orrs r1, r0
- mov r0, r8
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xA
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- mov r2, r10
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xE
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xF
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r3, =gUnknown_03001284
- mov r8, r3
- ldr r0, =gSprites
- mov r9, r0
- cmp r6, 0x1
- bhi _0819E496
- b _0819E330
-_0819E496:
- ldr r0, [r3]
- ldrb r0, [r0, 0xE]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r9
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r3, 0x5
- negs r3, r3
- adds r0, r3, 0
- b _0819E4C8
- .pool
-_0819E4C8:
- ands r0, r2
- strb r0, [r1]
- mov r1, r8
- ldr r0, [r1]
- ldrb r1, [r0, 0xF]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r9
- adds r0, 0x3E
- ldrb r2, [r0]
- adds r1, r3, 0
- ands r1, r2
- strb r1, [r0]
- mov r2, r8
- ldr r0, [r2]
- ldrb r1, [r0, 0x8]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r9
- adds r0, 0x3E
- ldrb r2, [r0]
- adds r1, r3, 0
- ands r1, r2
- strb r1, [r0]
- mov r4, r8
- ldr r0, [r4]
- ldrb r1, [r0, 0x9]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r9
- adds r0, 0x3E
- ldrb r2, [r0]
- adds r1, r3, 0
- ands r1, r2
- strb r1, [r0]
- ldr r0, [r4]
- ldrb r1, [r0, 0xA]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r9
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r3, r1
- strb r3, [r0]
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_819E0C0
-
- thumb_func_start sub_819E538
-sub_819E538: @ 819E538
- push {r4-r7,lr}
- movs r5, 0
-_0819E53C:
- ldr r6, =gUnknown_03001284
- ldr r0, [r6]
- adds r0, 0x5
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl DestroySprite
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _0819E53C
- ldr r0, [r6]
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r0, [r6]
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r0, [r6]
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- movs r5, 0
-_0819E590:
- movs r4, 0
- lsls r6, r5, 1
-_0819E594:
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- adds r1, r6, r5
- adds r1, r4, r1
- adds r0, 0x8
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _0819E594
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bls _0819E590
- movs r5, 0
-_0819E5C6:
- movs r4, 0
- adds r7, r5, 0x1
- lsls r6, r5, 1
-_0819E5CC:
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- adds r1, r4, r6
- adds r0, 0xE
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _0819E5CC
- lsls r0, r7, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bls _0819E5C6
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819E538
-
- thumb_func_start sub_819E608
-sub_819E608: @ 819E608
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x2
- bhi _0819E65C
- ldr r4, =gSprites
- ldr r5, =gUnknown_03001284
- ldr r0, [r5]
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- bl sub_819E8EC
- ldr r0, [r5]
- ldrb r2, [r0, 0x4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- adds r0, 0x5
- adds r0, r6
- ldrb r2, [r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x20]
- strh r0, [r1, 0x20]
- b _0819E684
- .pool
-_0819E65C:
- ldr r2, =gSprites
- ldr r3, =gUnknown_03001284
- ldr r0, [r3]
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r3]
- ldr r1, [r0, 0x18]
- lsls r0, r6, 3
- adds r0, r1
- ldrb r0, [r0]
- bl sub_819E838
-_0819E684:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819E608
-
- thumb_func_start sub_819E694
-sub_819E694: @ 819E694
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- lsls r4, 24
- cmp r4, 0
- ble _0819E6C0
- ldr r1, =gUnknown_03001284
- ldr r2, [r1]
- ldrb r0, [r2, 0x3]
- adds r0, 0x1
- ldrb r3, [r2, 0x17]
- cmp r0, r3
- bne _0819E6D8
- movs r0, 0
- b _0819E6D8
- .pool
-_0819E6C0:
- ldr r0, =gUnknown_03001284
- ldr r2, [r0]
- ldrb r3, [r2, 0x3]
- adds r1, r0, 0
- cmp r3, 0
- beq _0819E6D4
- subs r0, r3, 0x1
- b _0819E6D8
- .pool
-_0819E6D4:
- ldrb r0, [r2, 0x17]
- subs r0, 0x1
-_0819E6D8:
- strb r0, [r2, 0x3]
- ldr r0, [r1]
- ldrb r0, [r0, 0x3]
- bl sub_819E608
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_819E694
-
- thumb_func_start sub_819E6E8
-sub_819E6E8: @ 819E6E8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- lsls r4, 24
- cmp r4, 0
- ble _0819E728
- ldr r0, =gUnknown_03001284
- ldr r2, [r0]
- ldrb r1, [r2, 0x3]
- adds r4, r0, 0
- cmp r1, 0x2
- bhi _0819E714
- movs r0, 0x3
- strb r0, [r2, 0x3]
- b _0819E74A
- .pool
-_0819E714:
- ldrb r0, [r2, 0x3]
- adds r0, 0x1
- ldrb r1, [r2, 0x17]
- cmp r0, r1
- beq _0819E722
- strb r0, [r2, 0x3]
- b _0819E74A
-_0819E722:
- movs r0, 0
- strb r0, [r2, 0x3]
- b _0819E74A
-_0819E728:
- ldr r0, =gUnknown_03001284
- ldr r1, [r0]
- ldrb r3, [r1, 0x3]
- adds r2, r3, 0
- adds r4, r0, 0
- cmp r2, 0x2
- bls _0819E744
- cmp r2, 0
- beq _0819E744
- subs r0, r3, 0x1
- b _0819E748
- .pool
-_0819E744:
- ldrb r0, [r1, 0x17]
- subs r0, 0x1
-_0819E748:
- strb r0, [r1, 0x3]
-_0819E74A:
- ldr r0, [r4]
- ldrb r0, [r0, 0x3]
- bl sub_819E608
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_819E6E8
-
- thumb_func_start sub_819E758
-sub_819E758: @ 819E758
- push {lr}
- lsls r0, 24
- cmp r0, 0
- ble _0819E778
- ldr r0, =gUnknown_03001284
- ldr r1, [r0]
- ldrb r3, [r1, 0x16]
- adds r2, r0, 0
- cmp r3, 0x1
- beq _0819E774
- adds r0, r3, 0x1
- b _0819E78E
- .pool
-_0819E774:
- movs r0, 0
- b _0819E78E
-_0819E778:
- ldr r0, =gUnknown_03001284
- ldr r1, [r0]
- ldrb r3, [r1, 0x16]
- adds r2, r0, 0
- cmp r3, 0
- beq _0819E78C
- subs r0, r3, 0x1
- b _0819E78E
- .pool
-_0819E78C:
- movs r0, 0x1
-_0819E78E:
- strb r0, [r1, 0x16]
- ldr r3, =gSprites
- ldr r2, [r2]
- ldrb r0, [r2, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r0, [r2, 0x16]
- lsls r0, 4
- adds r0, 0x70
- strh r0, [r1, 0x22]
- ldrb r0, [r2, 0x2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r0, [r2, 0x16]
- lsls r0, 4
- adds r0, 0x70
- strh r0, [r1, 0x22]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819E758
-
- thumb_func_start sub_819E7C0
-sub_819E7C0: @ 819E7C0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- lsls r4, 24
- cmp r4, 0
- ble _0819E7EC
- ldr r0, =gUnknown_03001284
- ldr r1, [r0]
- ldrb r3, [r1]
- adds r2, r0, 0
- cmp r3, 0x2
- beq _0819E7E8
- adds r0, r3, 0x1
- b _0819E802
- .pool
-_0819E7E8:
- movs r0, 0
- b _0819E802
-_0819E7EC:
- ldr r0, =gUnknown_03001284
- ldr r1, [r0]
- ldrb r3, [r1]
- adds r2, r0, 0
- cmp r3, 0
- beq _0819E800
- subs r0, r3, 0x1
- b _0819E802
- .pool
-_0819E800:
- movs r0, 0x2
-_0819E802:
- strb r0, [r1]
- ldr r3, =gSprites
- ldr r2, [r2]
- ldrb r0, [r2, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r0, [r2]
- lsls r0, 4
- adds r0, 0x70
- strh r0, [r1, 0x22]
- ldrb r0, [r2, 0x2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r0, [r2]
- lsls r0, 4
- adds r0, 0x70
- strh r0, [r1, 0x22]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819E7C0
-
- thumb_func_start sub_819E838
-sub_819E838: @ 819E838
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
- movs r0, 0x5
- negs r0, r0
- mov r9, r0
- movs r2, 0x4
- mov r8, r2
- ldr r0, =gSprites
- mov r12, r0
- ldr r7, =gUnknown_03001284
-_0819E856:
- cmp r6, 0x2
- bne _0819E898
- ldr r5, =gSprites
- ldr r3, =gUnknown_03001284
- ldr r0, [r3]
- adds r0, 0xB
- adds r0, r4
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r1, 0x3E
- ldrb r2, [r1]
- mov r0, r9
- ands r0, r2
- strb r0, [r1]
- cmp r4, 0x1
- bhi _0819E8D4
- ldr r0, [r3]
- adds r0, 0x10
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- b _0819E8CA
- .pool
-_0819E898:
- cmp r6, 0x3
- bne _0819E8D4
- cmp r4, 0x1
- bhi _0819E8BA
- ldr r0, [r7]
- adds r0, 0x10
- adds r0, r4
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r12
- adds r1, 0x3E
- ldrb r2, [r1]
- mov r0, r9
- ands r0, r2
- strb r0, [r1]
-_0819E8BA:
- ldr r0, [r7]
- adds r0, 0xB
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r12
-_0819E8CA:
- adds r0, 0x3E
- ldrb r1, [r0]
- mov r2, r8
- orrs r1, r2
- strb r1, [r0]
-_0819E8D4:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _0819E856
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_819E838
-
- thumb_func_start sub_819E8EC
-sub_819E8EC: @ 819E8EC
- push {r4-r6,lr}
- movs r2, 0
- ldr r5, =gSprites
- ldr r4, =gUnknown_03001284
- adds r6, r5, 0
- movs r3, 0x4
-_0819E8F8:
- ldr r0, [r4]
- adds r0, 0xB
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- cmp r2, 0x1
- bhi _0819E92C
- ldr r0, [r4]
- adds r0, 0x10
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
-_0819E92C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bls _0819E8F8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819E8EC
-
- thumb_func_start sub_819E944
-sub_819E944: @ 819E944
- push {r4,r5,lr}
- ldr r0, =gUnknown_03001284
- ldr r3, [r0]
- ldrb r1, [r3, 0x15]
- adds r5, r0, 0
- cmp r1, 0x1
- bne _0819E95C
- movs r0, 0
- strb r0, [r3, 0x15]
- b _0819E960
- .pool
-_0819E95C:
- movs r0, 0
- strb r0, [r3]
-_0819E960:
- ldr r4, =gSprites
- ldr r2, [r5]
- ldrb r1, [r2, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xB0
- strh r1, [r0, 0x20]
- ldrb r0, [r2, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r0, [r2]
- lsls r0, 4
- adds r0, 0x70
- strh r0, [r1, 0x22]
- ldrb r1, [r2, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xD0
- strh r1, [r0, 0x20]
- ldrb r0, [r2, 0x2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r0, [r2]
- lsls r0, 4
- adds r0, 0x70
- strh r0, [r1, 0x22]
- ldrb r0, [r2, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- ldr r0, [r5]
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- bl sub_819EC20
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819E944
-
- thumb_func_start sub_819E9E0
-sub_819E9E0: @ 819E9E0
- push {r4,r5,lr}
- ldr r5, =gUnknown_03001284
- ldr r1, [r5]
- movs r0, 0
- strb r0, [r1, 0x16]
- ldr r4, =gSprites
- ldr r2, [r5]
- ldrb r1, [r2, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xB0
- strh r1, [r0, 0x20]
- ldrb r1, [r2, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r3, 0x70
- strh r3, [r0, 0x22]
- ldrb r1, [r2, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xD0
- strh r1, [r0, 0x20]
- ldrb r1, [r2, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r3, [r0, 0x22]
- ldrb r0, [r2, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- ldr r0, [r5]
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- bl sub_819EC94
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819E9E0
-
- thumb_func_start sub_819EA64
-sub_819EA64: @ 819EA64
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =gSprites
- ldr r3, =gUnknown_03001284
- ldr r0, [r3]
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r3]
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r0, r4, 0
- movs r1, 0x2
- bl CopyWindowToVram
- adds r0, r4, 0
- bl ClearWindowTilemap
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819EA64
-
- thumb_func_start sub_819EAC0
-sub_819EAC0: @ 819EAC0
- push {lr}
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- pop {r0}
- bx r0
- thumb_func_end sub_819EAC0
-
- thumb_func_start sub_819EADC
-sub_819EADC: @ 819EADC
- push {lr}
- movs r0, 0x7
- bl PutWindowTilemap
- movs r0, 0x7
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x7
- movs r1, 0x2
- bl CopyWindowToVram
- pop {r0}
- bx r0
- thumb_func_end sub_819EADC
-
- thumb_func_start sub_819EAF8
-sub_819EAF8: @ 819EAF8
- push {lr}
- bl sub_819EAC0
- movs r0, 0x5
- bl PutWindowTilemap
- movs r0, 0x5
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x5
- movs r1, 0x2
- bl CopyWindowToVram
- pop {r0}
- bx r0
- thumb_func_end sub_819EAF8
-
- thumb_func_start sub_819EB18
-sub_819EB18: @ 819EB18
- push {lr}
- sub sp, 0xC
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, =gText_PkmnSwap
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x2
- bl PrintTextOnWindow
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819EB18
-
- thumb_func_start sub_819EB4C
-sub_819EB4C: @ 819EB4C
- push {r4,lr}
- sub sp, 0xC
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r0, =gUnknown_03001284
- ldr r1, [r0]
- ldrb r0, [r1, 0x3]
- cmp r0, 0x2
- bls _0819EB70
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- b _0819EBD4
- .pool
-_0819EB70:
- ldrb r2, [r1, 0x3]
- ldrb r0, [r1, 0x14]
- cmp r0, 0
- bne _0819EB84
- movs r0, 0x64
- muls r0, r2
- ldr r1, =gPlayerParty
- b _0819EB8A
- .pool
-_0819EB84:
- movs r0, 0x64
- muls r0, r2
- ldr r1, =gEnemyParty
-_0819EB8A:
- adds r0, r1
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r4, =gStringVar4
- movs r0, 0xB
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0x56
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_08610925
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0x1
- bl box_print
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
-_0819EBD4:
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819EB4C
-
- thumb_func_start sub_819EBEC
-sub_819EBEC: @ 819EBEC
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- movs r0, 0x2
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x5
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x2
- bl PrintTextOnWindow
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_819EBEC
-
- thumb_func_start sub_819EC20
-sub_819EC20: @ 819EC20
- push {r4,r5,lr}
- sub sp, 0xC
- movs r0, 0x3
- bl PutWindowTilemap
- movs r0, 0x3
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r5, =gUnknown_08610922
- str r5, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r0, =gText_Summary2
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0xF
- movs r3, 0x1
- bl box_print
- str r5, [sp]
- str r4, [sp, 0x4]
- ldr r0, =gText_Swap
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0xF
- movs r3, 0x11
- bl box_print
- str r5, [sp]
- str r4, [sp, 0x4]
- ldr r0, =gText_Rechoose
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0xF
- movs r3, 0x21
- bl box_print
- movs r0, 0x3
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819EC20
-
- thumb_func_start sub_819EC94
-sub_819EC94: @ 819EC94
- push {r4,r5,lr}
- sub sp, 0xC
- movs r0, 0x4
- bl PutWindowTilemap
- movs r0, 0x4
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r5, =gUnknown_08610922
- str r5, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r0, =gText_Yes3
- str r0, [sp, 0x8]
- movs r0, 0x4
- movs r1, 0x1
- movs r2, 0x7
- movs r3, 0x1
- bl box_print
- str r5, [sp]
- str r4, [sp, 0x4]
- ldr r0, =gText_No3
- str r0, [sp, 0x8]
- movs r0, 0x4
- movs r1, 0x1
- movs r2, 0x7
- movs r3, 0x11
- bl box_print
- movs r0, 0x4
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819EC94
-
- thumb_func_start sub_819ECF0
-sub_819ECF0: @ 819ECF0
- push {r4-r6,lr}
- sub sp, 0xC
- adds r6, r0, 0
- adds r5, r1, 0
- adds r4, r2, 0
- movs r0, 0
- adds r1, r6, 0
- movs r2, 0x46
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gUnknown_08610922
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0
- adds r3, r5, 0
- bl box_print
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819ECF0
-
- thumb_func_start sub_819ED34
-sub_819ED34: @ 819ED34
- push {lr}
- movs r0, 0x5
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- beq _0819ED56
- cmp r0, 0x1
- bne _0819ED60
- ldr r0, =gText_PkmnForSwap
- movs r1, 0
- movs r2, 0x5
- bl sub_819ECF0
-_0819ED56:
- ldr r0, =gText_Cancel3
- movs r1, 0x18
- movs r2, 0x5
- bl sub_819ECF0
-_0819ED60:
- movs r0, 0x5
- movs r1, 0x3
- bl CopyWindowToVram
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819ED34
-
- thumb_func_start sub_819ED78
-sub_819ED78: @ 819ED78
- push {lr}
- movs r0, 0x3
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- beq _0819ED9A
- cmp r0, 0x1
- bne _0819EDA4
- ldr r0, =gText_PkmnForSwap
- movs r1, 0x8
- movs r2, 0x3
- bl sub_819ECF0
-_0819ED9A:
- ldr r0, =gText_Cancel3
- movs r1, 0x20
- movs r2, 0x3
- bl sub_819ECF0
-_0819EDA4:
- movs r0, 0x3
- movs r1, 0x3
- bl CopyWindowToVram
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819ED78
-
- thumb_func_start sub_819EDBC
-sub_819EDBC: @ 819EDBC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _0819EDCC
- cmp r0, 0x1
- beq _0819EDEC
- b _0819EDF6
-_0819EDCC:
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- cmp r0, 0x1
- bne _0819EDF6
- ldr r0, =gText_PkmnForSwap
- movs r1, 0x8
- movs r2, 0x3
- bl sub_819ECF0
- b _0819EDF6
- .pool
-_0819EDEC:
- ldr r0, =gText_Cancel3
- movs r1, 0x20
- movs r2, 0x3
- bl sub_819ECF0
-_0819EDF6:
- movs r0, 0x3
- movs r1, 0x3
- bl CopyWindowToVram
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819EDBC
-
- thumb_func_start sub_819EE08
-sub_819EE08: @ 819EE08
- push {r4,lr}
- sub sp, 0x18
- ldr r0, =gUnknown_08610918
- add r1, sp, 0xC
- movs r2, 0x4
- bl CpuSet
- ldr r0, =gUnknown_03001284
- ldr r2, [r0]
- ldrb r0, [r2, 0x15]
- cmp r0, 0
- bne _0819EE3C
- add r0, sp, 0xC
- ldr r1, =gPlttBufferFaded
- movs r2, 0xE4
- lsls r2, 1
- adds r1, r2
- ldrh r1, [r1]
- strh r1, [r0, 0x8]
- b _0819EE42
- .pool
-_0819EE3C:
- add r1, sp, 0xC
- ldrh r0, [r2, 0x24]
- strh r0, [r1, 0x8]
-_0819EE42:
- add r0, sp, 0xC
- movs r1, 0xF0
- movs r2, 0xA
- bl LoadPalette
- movs r0, 0x7
- bl PutWindowTilemap
- movs r0, 0x7
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r0, =gUnknown_03001284
- ldr r1, [r0]
- ldrb r0, [r1, 0x3]
- cmp r0, 0x2
- bls _0819EE74
- movs r0, 0x7
- movs r1, 0x3
- bl CopyWindowToVram
- b _0819EED8
- .pool
-_0819EE74:
- ldrb r2, [r1, 0x3]
- ldrb r0, [r1, 0x14]
- cmp r0, 0
- bne _0819EE88
- movs r0, 0x64
- muls r0, r2
- ldr r1, =gPlayerParty
- b _0819EE8E
- .pool
-_0819EE88:
- movs r0, 0x64
- muls r0, r2
- ldr r1, =gEnemyParty
-_0819EE8E:
- adds r0, r1
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r4, =gStringVar4
- movs r0, 0xB
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0x56
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_08610925
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x7
- movs r1, 0x1
- movs r3, 0x1
- bl box_print
- movs r0, 0x7
- movs r1, 0x3
- bl CopyWindowToVram
-_0819EED8:
- add sp, 0x18
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819EE08
-
- thumb_func_start sub_819EEF0
-sub_819EEF0: @ 819EEF0
- push {r4,lr}
- sub sp, 0xC
- ldr r0, =gUnknown_08610918
- movs r1, 0xE0
- movs r2, 0xA
- bl LoadPalette
- ldr r0, =gPlttBufferUnfaded+ 0x1E0
- ldr r1, =gPlttBufferFaded + 0x1C0
- movs r2, 0x5
- bl CpuSet
- ldr r0, =gUnknown_03001284
- ldr r1, [r0]
- ldrb r0, [r1, 0x3]
- cmp r0, 0x2
- bls _0819EF2C
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- b _0819EF90
- .pool
-_0819EF2C:
- ldrb r2, [r1, 0x3]
- ldrb r0, [r1, 0x14]
- cmp r0, 0
- bne _0819EF40
- movs r0, 0x64
- muls r0, r2
- ldr r1, =gPlayerParty
- b _0819EF46
- .pool
-_0819EF40:
- movs r0, 0x64
- muls r0, r2
- ldr r1, =gEnemyParty
-_0819EF46:
- adds r0, r1
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r4, =gStringVar4
- movs r0, 0xB
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0x56
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_08610925
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0x1
- bl box_print
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
-_0819EF90:
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819EEF0
-
- thumb_func_start sub_819EFA8
-sub_819EFA8: @ 819EFA8
- push {r4-r6,lr}
- sub sp, 0x2C
- ldr r6, =gUnknown_03001284
- ldr r0, [r6]
- ldrb r4, [r0, 0x3]
- adds r5, r4, 0
- movs r0, 0x8
- movs r1, 0
- bl FillWindowPixelBuffer
- cmp r4, 0x2
- bls _0819EFD0
- movs r0, 0x8
- movs r1, 0x2
- bl CopyWindowToVram
- b _0819F03A
- .pool
-_0819EFD0:
- movs r0, 0x8
- bl PutWindowTilemap
- ldr r0, [r6]
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- bne _0819EFEC
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- b _0819EFF2
- .pool
-_0819EFEC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gEnemyParty
-_0819EFF2:
- adds r0, r1
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- add r1, sp, 0xC
- bl CopyMonCategoryText
- movs r0, 0x1
- add r1, sp, 0xC
- movs r2, 0x76
- bl GetStringRightAlignXOffset
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x8
- movs r1, 0x1
- add r2, sp, 0xC
- bl PrintTextOnWindow
- movs r0, 0x8
- movs r1, 0x2
- bl CopyWindowToVram
-_0819F03A:
- add sp, 0x2C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819EFA8
-
- thumb_func_start sub_819F048
-sub_819F048: @ 819F048
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r4, =gUnknown_03001284
- ldr r3, [r4]
- ldrb r0, [r3, 0x15]
- cmp r0, 0x1
- beq _0819F094
- cmp r2, 0
- beq _0819F068
- cmp r2, 0x1
- beq _0819F080
- b _0819F094
- .pool
-_0819F068:
- strb r2, [r3, 0x14]
- ldr r0, [r4]
- strb r2, [r0, 0x3]
- ldr r1, [r4]
- movs r0, 0x4
- strb r0, [r1, 0x17]
- ldr r1, [r4]
- ldr r0, =gUnknown_08610928
- b _0819F092
- .pool
-_0819F080:
- movs r1, 0
- strb r2, [r3, 0x14]
- ldr r0, [r4]
- strb r1, [r0, 0x3]
- ldr r1, [r4]
- movs r0, 0x5
- strb r0, [r1, 0x17]
- ldr r1, [r4]
- ldr r0, =gUnknown_08610948
-_0819F092:
- str r0, [r1, 0x18]
-_0819F094:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819F048
-
- thumb_func_start sub_819F0A0
-sub_819F0A0: @ 819F0A0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gUnknown_03001280
- ldr r2, =gUnknown_086108AC
- ldr r1, =gUnknown_03001284
- ldr r1, [r1]
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- str r1, [r3]
- bl _call_via_r1
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819F0A0
-
- thumb_func_start sub_819F0CC
-sub_819F0CC: @ 819F0CC
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =gUnknown_03001284
- ldr r1, [r5]
- ldr r0, [r1, 0x2C]
- adds r1, 0x30
- movs r2, 0x1
- bl sub_819F3F8
- ldr r0, [r5]
- ldrb r1, [r0, 0x3]
- movs r5, 0
- strb r1, [r0, 0x12]
- movs r0, 0x3
- bl sub_819EA64
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x8]
- ldr r1, =sub_819D9EC
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819F0CC
-
- thumb_func_start sub_819F114
-sub_819F114: @ 819F114
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0x6
- strh r0, [r1, 0x8]
- ldr r0, =sub_819C90C
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_819F114
-
- thumb_func_start sub_819F134
-sub_819F134: @ 819F134
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_03001284
- ldr r1, [r0]
- ldr r0, [r1, 0x2C]
- adds r1, 0x30
- movs r2, 0x1
- bl sub_819F3F8
- movs r0, 0x3
- bl sub_819EA64
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
- ldr r2, =sub_819CE40
- lsrs r1, r2, 16
- strh r1, [r0, 0x14]
- strh r2, [r0, 0x16]
- movs r1, 0x1
- strh r1, [r0, 0x12]
- ldr r1, =sub_819D770
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819F134
-
- thumb_func_start sub_819F184
-sub_819F184: @ 819F184
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gUnknown_03001280
- ldr r1, =gUnknown_03001284
- ldr r2, [r1]
- ldrb r1, [r2, 0x3]
- ldr r2, [r2, 0x18]
- lsls r1, 3
- adds r1, r2
- ldr r1, [r1, 0x4]
- str r1, [r3]
- bl _call_via_r1
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819F184
-
- thumb_func_start sub_819F1AC
-sub_819F1AC: @ 819F1AC
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, =sub_819CC24
- lsrs r0, r2, 16
- movs r3, 0
- strh r0, [r1, 0x14]
- strh r2, [r1, 0x16]
- strh r3, [r1, 0x8]
- strh r3, [r1, 0x12]
- ldr r0, =sub_819D588
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_819F1AC
-
- thumb_func_start sub_819F1DC
-sub_819F1DC: @ 819F1DC
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, =sub_819D9EC
- lsrs r0, r2, 16
- movs r3, 0
- strh r0, [r1, 0x14]
- strh r2, [r1, 0x16]
- strh r3, [r1, 0x12]
- strh r3, [r1, 0x8]
- ldr r0, =sub_819D588
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_819F1DC
-
- thumb_func_start sub_819F20C
-sub_819F20C: @ 819F20C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, =gUnknown_03001284
- ldr r1, [r5]
- ldrb r0, [r1, 0x14]
- cmp r0, 0
- bne _0819F240
- ldr r3, =gTasks
- lsls r4, r6, 2
- adds r0, r4, r6
- lsls r0, 3
- adds r0, r3
- ldr r2, =sub_819CD34
- lsrs r1, r2, 16
- strh r1, [r0, 0x14]
- strh r2, [r0, 0x16]
- movs r1, 0x2
- strh r1, [r0, 0x12]
- b _0819F292
- .pool
-_0819F240:
- ldrb r0, [r1, 0x3]
- bl sub_819F59C
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bne _0819F278
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x2D
- adds r1, 0x30
- movs r2, 0x1
- bl sub_819F2B4
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
- strh r4, [r0, 0x12]
- ldr r1, =sub_819F488
- b _0819F29E
- .pool
-_0819F278:
- ldr r4, =gTasks
- lsls r5, r6, 2
- adds r0, r5, r6
- lsls r0, 3
- adds r0, r4
- ldr r2, =sub_819CCD4
- lsrs r1, r2, 16
- movs r3, 0
- strh r1, [r0, 0x14]
- strh r2, [r0, 0x16]
- strh r3, [r0, 0x12]
- adds r3, r4, 0
- adds r4, r5, 0
-_0819F292:
- adds r0, r4, r6
- lsls r0, 3
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x8]
- ldr r1, =sub_819D588
-_0819F29E:
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819F20C
-
- thumb_func_start sub_819F2B4
-sub_819F2B4: @ 819F2B4
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- lsls r5, r2, 24
- lsrs r5, 24
- ldr r0, =gUnknown_08610894
- movs r1, 0x78
- movs r2, 0x40
- movs r3, 0x1
- bl CreateSprite
- strb r0, [r4]
- ldr r2, =gSprites
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r2, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_819F600
- str r1, [r0]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r5, [r0, 0x3C]
- movs r0, 0x1
- strb r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819F2B4
-
- thumb_func_start sub_819F304
-sub_819F304: @ 819F304
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x10
- ldr r0, =gUnknown_08610894
- movs r1, 0x78
- movs r2, 0x40
- movs r3, 0x1
- bl CreateSprite
- ldr r6, =gUnknown_03001284
- ldr r1, [r6]
- adds r1, 0x2D
- movs r2, 0
- mov r10, r2
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, 0x2D
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- mov r8, r1
- add r0, r8
- movs r1, 0x2
- bl StartSpriteAffineAnim
- ldr r0, [r6]
- ldrb r1, [r0, 0x3]
- movs r0, 0x64
- adds r4, r1, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- bl GetMonData
- mov r9, r0
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- bl GetMonData
- adds r2, r0, 0
- movs r0, 0x58
- str r0, [sp]
- movs r0, 0x20
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- ldr r0, =0x0000ffff
- str r0, [sp, 0xC]
- adds r0, r5, 0
- mov r1, r9
- movs r3, 0x1
- bl CreateMonPicSprite_HandleDeoxys
- ldr r1, [r6]
- adds r1, 0x2C
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, 0x2C
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- adds r0, 0x28
- mov r2, r10
- strb r2, [r0]
- ldr r0, [r6]
- adds r0, 0x2C
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- adds r0, 0x29
- strb r2, [r0]
- ldr r0, [r6]
- adds r0, 0x2D
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819F304
-
- thumb_func_start sub_819F3F8
-sub_819F3F8: @ 819F3F8
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- lsls r5, r2, 24
- lsrs r5, 24
- lsls r0, r4, 24
- lsrs r0, 24
- bl FreeAndDestroyMonPicSprite
- ldr r0, =sub_819F7B4
- movs r1, 0x1
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r5, [r1, 0x16]
- lsrs r4, 8
- lsls r4, 24
- lsrs r4, 24
- strh r4, [r1, 0x14]
- ldr r1, [r1]
- bl _call_via_r1
- movs r0, 0x1
- strb r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819F3F8
-
- thumb_func_start sub_819F444
-sub_819F444: @ 819F444
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- lsls r0, r4, 24
- lsrs r0, 24
- bl FreeAndDestroyMonPicSprite
- ldr r5, =gSprites
- lsls r4, 16
- lsrs r1, r4, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
- movs r0, 0
- strb r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819F444
-
- thumb_func_start sub_819F488
-sub_819F488: @ 819F488
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_03001284
- ldr r0, [r1]
- adds r0, 0x30
- ldrb r0, [r0]
- adds r3, r1, 0
- cmp r0, 0x1
- beq _0819F58A
- ldr r2, =gTasks
- lsls r1, r4, 2
- adds r0, r1, r4
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r5, r1, 0
- cmp r0, 0x4
- bhi _0819F58A
- lsls r0, 2
- ldr r1, =_0819F4C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0819F4C8:
- .4byte _0819F4DC
- .4byte _0819F4F8
- .4byte _0819F52C
- .4byte _0819F548
- .4byte _0819F568
-_0819F4DC:
- ldr r0, =gText_SamePkmnInPartyAlready
- bl sub_819EBEC
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- adds r0, 0x20
- movs r1, 0
- strb r1, [r0]
- b _0819F54E
- .pool
-_0819F4F8:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0819F50C
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0819F58A
-_0819F50C:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_03001284
- ldr r1, [r0]
- ldr r0, [r1, 0x2C]
- adds r1, 0x30
- movs r2, 0x1
- bl sub_819F3F8
- b _0819F54E
- .pool
-_0819F52C:
- ldr r0, [r3]
- adds r0, 0x30
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0819F58A
- movs r0, 0x5
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x5
- movs r1, 0x2
- bl CopyWindowToVram
- b _0819F54E
-_0819F548:
- ldr r0, =gText_SelectPkmnToAccept
- bl sub_819EBEC
-_0819F54E:
- ldr r0, =gTasks
- adds r1, r5, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0819F58A
- .pool
-_0819F568:
- bl sub_819EEF0
- bl sub_819EADC
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- adds r0, 0x22
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, =gTasks
- adds r0, r5, r4
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x12]
- strh r1, [r0, 0x8]
- ldr r1, =sub_819CE40
- str r1, [r0]
-_0819F58A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819F488
-
- thumb_func_start sub_819F59C
-sub_819F59C: @ 819F59C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- movs r4, 0
-_0819F5B8:
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- ldrb r0, [r0, 0x12]
- cmp r4, r0
- beq _0819F5EC
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r5
- bne _0819F5EC
- movs r0, 0x1
- b _0819F5F8
- .pool
-_0819F5EC:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _0819F5B8
- movs r0, 0
-_0819F5F8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_819F59C
-
- thumb_func_start sub_819F600
-sub_819F600: @ 819F600
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0819F640
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =sub_819F69C
- movs r1, 0x1
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r2, [r4, 0x3C]
- strh r2, [r1, 0x16]
- ldr r1, [r1]
- bl _call_via_r1
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_0819F640:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819F600
-
- thumb_func_start sub_819F654
-sub_819F654: @ 819F654
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0819F694
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _0819F688
- ldr r0, =gUnknown_03001284
- ldr r0, [r0]
- adds r0, 0x30
- movs r1, 0
- strb r1, [r0]
- b _0819F68E
- .pool
-_0819F688:
- movs r0, 0
- bl sub_819BE20
-_0819F68E:
- adds r0, r4, 0
- bl DestroySprite
-_0819F694:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_819F654
-
- thumb_func_start sub_819F69C
-sub_819F69C: @ 819F69C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0819F71A
- cmp r0, 0x1
- bgt _0819F6C4
- cmp r0, 0
- beq _0819F6CA
- b _0819F77C
- .pool
-_0819F6C4:
- cmp r0, 0x2
- beq _0819F73C
- b _0819F77C
-_0819F6CA:
- movs r0, 0x58
- strh r0, [r4, 0xE]
- movs r0, 0x98
- strh r0, [r4, 0x38]
- movs r0, 0x40
- strh r0, [r4, 0x12]
- movs r0, 0x41
- strh r0, [r4, 0x18]
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl SetGpuRegBits
- ldrh r1, [r4, 0xE]
- lsls r1, 8
- ldrh r0, [r4, 0x38]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x40
- bl SetGpuReg
- ldrh r1, [r4, 0x12]
- lsls r1, 8
- ldrh r0, [r4, 0x18]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x44
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x37
- bl SetGpuReg
- b _0819F7A6
-_0819F71A:
- movs r0, 0x3
- bl ShowBg
- ldr r1, =0x00001248
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x0000040b
- movs r0, 0x52
- bl SetGpuReg
- b _0819F7A6
- .pool
-_0819F73C:
- ldrh r0, [r4, 0x12]
- subs r0, 0x4
- strh r0, [r4, 0x12]
- ldrh r1, [r4, 0x18]
- adds r1, 0x4
- strh r1, [r4, 0x18]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x20
- ble _0819F758
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x5F
- ble _0819F760
-_0819F758:
- movs r0, 0x20
- strh r0, [r4, 0x12]
- movs r0, 0x60
- strh r0, [r4, 0x18]
-_0819F760:
- ldrh r1, [r4, 0x12]
- lsls r1, 8
- ldrh r0, [r4, 0x18]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x44
- bl SetGpuReg
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0x20
- bne _0819F7AC
- b _0819F7A6
-_0819F77C:
- adds r0, r5, 0
- bl DestroyTask
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r2, 0x16
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _0819F7A0
- bl sub_819F8E0
- b _0819F7AC
- .pool
-_0819F7A0:
- bl sub_819BD70
- b _0819F7AC
-_0819F7A6:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0819F7AC:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_819F69C
-
- thumb_func_start sub_819F7B4
-sub_819F7B4: @ 819F7B4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0819F844
- cmp r0, 0x1
- beq _0819F894
- movs r0, 0x3
- bl HideBg
- ldr r3, =gSprites
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r4, 0x16]
- strh r1, [r0, 0x3C]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_819F654
- str r1, [r0]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x1
- bl StartSpriteAffineAnim
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl ClearGpuRegBits
- adds r0, r5, 0
- bl DestroyTask
- b _0819F8D8
- .pool
-_0819F844:
- movs r0, 0x58
- strh r0, [r4, 0xE]
- movs r0, 0x98
- strh r0, [r4, 0x38]
- movs r0, 0x20
- strh r0, [r4, 0x12]
- movs r0, 0x60
- strh r0, [r4, 0x18]
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl SetGpuRegBits
- ldrh r1, [r4, 0xE]
- lsls r1, 8
- ldrh r0, [r4, 0x38]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x40
- bl SetGpuReg
- ldrh r1, [r4, 0x12]
- lsls r1, 8
- ldrh r0, [r4, 0x18]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x44
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x37
- bl SetGpuReg
- b _0819F8D2
-_0819F894:
- ldrh r0, [r4, 0x12]
- adds r0, 0x4
- strh r0, [r4, 0x12]
- ldrh r1, [r4, 0x18]
- subs r1, 0x4
- strh r1, [r4, 0x18]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3F
- bgt _0819F8B0
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x41
- bgt _0819F8B8
-_0819F8B0:
- movs r0, 0x40
- strh r0, [r4, 0x12]
- movs r0, 0x41
- strh r0, [r4, 0x18]
-_0819F8B8:
- ldrh r1, [r4, 0x12]
- lsls r1, 8
- ldrh r0, [r4, 0x18]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x44
- bl SetGpuReg
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0x40
- bne _0819F8D8
-_0819F8D2:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0819F8D8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_819F7B4
-
- thumb_func_start sub_819F8E0
-sub_819F8E0: @ 819F8E0
- push {r4-r6,lr}
- sub sp, 0x10
- ldr r0, =gUnknown_03001284
- ldr r1, [r0]
- ldrb r0, [r1, 0x14]
- cmp r0, 0
- bne _0819F900
- ldrb r1, [r1, 0x3]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- b _0819F908
- .pool
-_0819F900:
- ldrb r1, [r1, 0x3]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gEnemyParty
-_0819F908:
- adds r6, r1, r0
- adds r0, r6, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- adds r0, r6, 0
- movs r1, 0x1
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- movs r0, 0x58
- str r0, [sp]
- movs r0, 0x20
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- ldr r0, =0x0000ffff
- str r0, [sp, 0xC]
- adds r0, r4, 0
- adds r2, r5, 0
- movs r3, 0x1
- bl CreateMonPicSprite_HandleDeoxys
- ldr r2, =gUnknown_03001284
- ldr r1, [r2]
- adds r1, 0x2C
- movs r3, 0
- strb r0, [r1]
- ldr r4, =gSprites
- ldr r0, [r2]
- adds r0, 0x2C
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x28
- strb r3, [r0]
- ldr r0, [r2]
- adds r0, 0x2C
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x29
- strb r3, [r0]
- ldr r0, [r2]
- adds r0, 0x30
- strb r3, [r0]
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819F8E0
-
+
thumb_func_start sub_819F99C
sub_819F99C: @ 819F99C
push {r4-r7,lr}
@@ -11731,7 +1705,7 @@ _081A06B8:
adds r0, r5, 0
movs r1, 0x1
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
@@ -12182,7 +2156,7 @@ sub_81A0A34: @ 81A0A34
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl sub_8197224
+ bl RunTextPrintersAndIsPrinter0Active
lsls r0, 16
cmp r0, 0
bne _081A0A68
@@ -14357,7 +4331,7 @@ sub_81A1C4C: @ 81A1C4C
str r1, [sp, 0x8]
movs r1, 0x1
adds r2, r4, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
add sp, 0xC
pop {r4,r5}
pop {r0}
@@ -14396,7 +4370,7 @@ _081A1C9E:
movs r1, 0x1
adds r2, r4, 0
movs r3, 0x4
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
add sp, 0x34
pop {r4}
pop {r0}
@@ -14438,7 +4412,7 @@ sub_81A1CD8: @ 81A1CD8
movs r1, 0x1
adds r2, r5, 0
adds r3, r4, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, =0x0000270f
cmp r6, r0
bls _081A1D24
@@ -14463,7 +4437,7 @@ _081A1D24:
movs r1, 0x1
adds r2, r4, 0
ldr r3, [sp, 0xC]
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
add sp, 0x10
pop {r3-r5}
mov r8, r3
@@ -14697,7 +4671,7 @@ _081A1F28:
str r4, [sp, 0x8]
movs r1, 0x1
movs r3, 0x10
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrb r0, [r6]
ldr r2, =gText_OpenLv
movs r1, 0x61
@@ -14707,7 +4681,7 @@ _081A1F28:
str r4, [sp, 0x8]
movs r1, 0x1
movs r3, 0x10
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0xA
bl sub_81A1C90
mov r0, r8
@@ -14810,7 +4784,7 @@ sub_81A2008: @ 81A2008
str r1, [sp, 0x8]
movs r1, 0x1
mov r2, r12
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, =gStringVar1
adds r1, r4, 0
movs r2, 0x1
@@ -14830,7 +4804,7 @@ sub_81A2008: @ 81A2008
movs r1, 0x1
adds r2, r4, 0
adds r3, r6, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
add sp, 0xC
pop {r3-r5}
mov r8, r3
@@ -14968,7 +4942,7 @@ _081A2184:
str r4, [sp, 0x8]
movs r1, 0x1
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r1, =gRecordsWindowId
ldrb r0, [r1]
ldr r2, =gText_OpenLv
@@ -14978,7 +4952,7 @@ _081A2184:
str r4, [sp, 0x8]
movs r1, 0x1
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0xA
bl sub_81A1C90
str r6, [sp]
@@ -15104,7 +5078,7 @@ sub_81A22B8: @ 81A22B8
movs r1, 0x1
adds r2, r5, 0
adds r3, r4, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, =0x0000270f
cmp r6, r0
bls _081A2304
@@ -15129,7 +5103,7 @@ _081A2304:
movs r1, 0x1
adds r2, r4, 0
ldr r3, [sp, 0xC]
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
add sp, 0x10
pop {r3-r5}
mov r8, r3
@@ -15322,7 +5296,7 @@ _081A24B0:
str r4, [sp, 0x8]
movs r1, 0x1
movs r3, 0x10
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrb r0, [r6]
ldr r2, =gText_OpenLv
movs r1, 0x61
@@ -15332,7 +5306,7 @@ _081A24B0:
str r4, [sp, 0x8]
movs r1, 0x1
movs r3, 0x10
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0xA
bl sub_81A1C90
mov r0, r8
@@ -15432,7 +5406,7 @@ sub_81A258C: @ 81A258C
str r1, [sp, 0x8]
movs r1, 0x1
mov r2, r12
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, =gStringVar1
adds r1, r4, 0
movs r2, 0x1
@@ -15452,7 +5426,7 @@ sub_81A258C: @ 81A258C
movs r1, 0x1
adds r2, r4, 0
adds r3, r6, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
add sp, 0xC
pop {r3-r5}
mov r8, r3
@@ -15560,7 +5534,7 @@ sub_81A2698: @ 81A2698
str r4, [sp, 0x8]
movs r1, 0x1
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrb r0, [r6]
ldr r2, =gText_OpenLv
movs r1, 0x61
@@ -15569,7 +5543,7 @@ sub_81A2698: @ 81A2698
str r4, [sp, 0x8]
movs r1, 0x1
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0xA
bl sub_81A1C90
movs r0, 0
@@ -15685,7 +5659,7 @@ sub_81A27E8: @ 81A27E8
movs r1, 0x1
adds r2, r5, 0
adds r3, r4, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, =0x0000270f
cmp r6, r0
bls _081A2834
@@ -15710,7 +5684,7 @@ _081A2834:
movs r1, 0x1
adds r2, r4, 0
ldr r3, [sp, 0xC]
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
add sp, 0x10
pop {r3-r5}
mov r8, r3
@@ -15865,7 +5839,7 @@ sub_81A2968: @ 81A2968
str r4, [sp, 0x8]
movs r1, 0x1
movs r3, 0x10
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrb r0, [r5]
ldr r2, =gText_OpenLv
movs r1, 0x61
@@ -15874,7 +5848,7 @@ sub_81A2968: @ 81A2968
str r4, [sp, 0x8]
movs r1, 0x1
movs r3, 0x10
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0
movs r1, 0x48
movs r2, 0x7E
@@ -15947,7 +5921,7 @@ sub_81A2A28: @ 81A2A28
str r1, [sp, 0x8]
movs r1, 0x1
mov r2, r12
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, =0x0000270f
cmp r7, r0
bls _081A2A80
@@ -15973,7 +5947,7 @@ _081A2A80:
movs r1, 0x1
adds r2, r4, 0
ldr r3, [sp, 0x10]
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
adds r0, r5, 0
ldr r1, [sp, 0xC]
movs r2, 0x1
@@ -15992,7 +5966,7 @@ _081A2A80:
movs r1, 0x1
adds r2, r4, 0
ldr r3, [sp, 0x14]
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
add sp, 0x18
pop {r3-r5}
mov r8, r3
@@ -16248,7 +6222,7 @@ _081A2CE0:
str r4, [sp, 0x8]
movs r1, 0x1
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
mov r1, r8
ldrb r0, [r1]
ldr r2, =gText_RentalSwap
@@ -16257,7 +6231,7 @@ _081A2CE0:
str r4, [sp, 0x8]
movs r1, 0x1
movs r3, 0x98
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
mov r1, r8
ldrb r0, [r1]
ldr r2, =gText_OpenLv
@@ -16267,7 +6241,7 @@ _081A2CE0:
str r4, [sp, 0x8]
movs r1, 0x1
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0xA
bl sub_81A1C90
movs r4, 0x9E
@@ -16353,7 +6327,7 @@ sub_81A2DB4: @ 81A2DB4
movs r1, 0x1
adds r2, r5, 0
adds r3, r4, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, =0x0000270f
cmp r6, r0
bls _081A2E00
@@ -16378,7 +6352,7 @@ _081A2E00:
movs r1, 0x1
adds r2, r4, 0
ldr r3, [sp, 0xC]
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
add sp, 0x10
pop {r3-r5}
mov r8, r3
@@ -16533,7 +6507,7 @@ sub_81A2F38: @ 81A2F38
str r4, [sp, 0x8]
movs r1, 0x1
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrb r0, [r5]
ldr r2, =gText_OpenLv
movs r1, 0x61
@@ -16542,7 +6516,7 @@ sub_81A2F38: @ 81A2F38
str r4, [sp, 0x8]
movs r1, 0x1
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0xA
bl sub_81A1C90
movs r0, 0
@@ -16613,7 +6587,7 @@ sub_81A2FF8: @ 81A2FF8
movs r5, 0
str r5, [sp, 0x8]
mov r2, r9
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r7, =gText_1st
movs r0, 0x1
adds r1, r7, 0
@@ -16631,7 +6605,7 @@ sub_81A2FF8: @ 81A2FF8
str r5, [sp, 0x8]
movs r1, 0x1
adds r2, r7, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r7, =gText_2nd
movs r0, 0x1
adds r1, r7, 0
@@ -16648,7 +6622,7 @@ sub_81A2FF8: @ 81A2FF8
str r5, [sp, 0x8]
movs r1, 0x1
adds r2, r7, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r7, =gText_3rd
movs r0, 0x1
adds r1, r7, 0
@@ -16665,7 +6639,7 @@ sub_81A2FF8: @ 81A2FF8
str r5, [sp, 0x8]
movs r1, 0x1
adds r2, r7, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r7, =gText_4th
movs r0, 0x1
adds r1, r7, 0
@@ -16682,7 +6656,7 @@ sub_81A2FF8: @ 81A2FF8
str r5, [sp, 0x8]
movs r1, 0x1
adds r2, r7, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrb r0, [r4]
ldr r2, =gText_Cool
movs r1, 0x29
@@ -16691,7 +6665,7 @@ sub_81A2FF8: @ 81A2FF8
str r5, [sp, 0x8]
movs r1, 0x1
movs r3, 0x6
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrb r0, [r4]
ldr r2, =gText_Beauty
movs r1, 0x39
@@ -16700,7 +6674,7 @@ sub_81A2FF8: @ 81A2FF8
str r5, [sp, 0x8]
movs r1, 0x1
movs r3, 0x6
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrb r0, [r4]
ldr r2, =gText_Cute
movs r1, 0x49
@@ -16709,7 +6683,7 @@ sub_81A2FF8: @ 81A2FF8
str r5, [sp, 0x8]
movs r1, 0x1
movs r3, 0x6
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrb r0, [r4]
ldr r2, =gText_Smart
movs r1, 0x59
@@ -16718,7 +6692,7 @@ sub_81A2FF8: @ 81A2FF8
str r5, [sp, 0x8]
movs r1, 0x1
movs r3, 0x6
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrb r0, [r4]
ldr r2, =gText_Tough
movs r1, 0x69
@@ -16727,7 +6701,7 @@ sub_81A2FF8: @ 81A2FF8
str r5, [sp, 0x8]
movs r1, 0x1
movs r3, 0x6
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r1, 0
_081A314A:
movs r5, 0
@@ -16765,7 +6739,7 @@ _081A315C:
str r1, [sp, 0x8]
movs r1, 0x1
mov r2, r9
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
adds r4, 0x2
adds r5, 0x1
cmp r5, 0x3
@@ -17353,8 +7327,8 @@ _081A36C2:
bx r1
thumb_func_end sub_81A3610
- thumb_func_start sub_81A36D0
-sub_81A36D0: @ 81A36D0
+ thumb_func_start CopyFrontierTrainerText
+CopyFrontierTrainerText: @ 81A36D0
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -17587,7 +7561,7 @@ _081A38F8:
pop {r0}
bx r0
.pool
- thumb_func_end sub_81A36D0
+ thumb_func_end CopyFrontierTrainerText
thumb_func_start sub_81A3908
sub_81A3908: @ 81A3908
@@ -19052,7 +9026,7 @@ sub_81A4594: @ 81A4594
adds r0, r5, 0
movs r1, 0x1
adds r2, r4, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0xFF
strb r0, [r6, 0xD]
ldrh r0, [r6, 0x4]
@@ -19075,7 +9049,7 @@ sub_81A4594: @ 81A4594
str r1, [sp, 0x8]
movs r1, 0x1
add r2, sp, 0xC
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrh r1, [r6, 0x4]
ldr r0, =0x0000270f
cmp r1, r0
@@ -19111,7 +9085,7 @@ _081A4618:
str r1, [sp, 0x8]
movs r1, 0x1
adds r2, r5, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
_081A465C:
add sp, 0x2C
pop {r3-r5}
@@ -19162,7 +9136,7 @@ sub_81A4684: @ 81A4684
str r3, [sp, 0x8]
movs r1, 0x1
mov r3, r12
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrh r0, [r5, 0x8]
cmp r0, 0
beq _081A47BC
@@ -19193,7 +9167,7 @@ sub_81A4684: @ 81A4684
str r1, [sp, 0x8]
movs r1, 0x1
add r2, sp, 0xC
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
adds r4, r5, 0
adds r4, 0x12
adds r0, r4, 0
@@ -19234,7 +9208,7 @@ _081A473C:
str r7, [sp, 0x8]
movs r1, 0x1
add r2, sp, 0xC
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrh r1, [r5, 0x8]
ldr r0, =0x0000270f
cmp r1, r0
@@ -19270,7 +9244,7 @@ _081A4778:
str r7, [sp, 0x8]
movs r1, 0x1
adds r2, r5, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
_081A47BC:
add sp, 0x2C
pop {r3-r5}
@@ -19545,7 +9519,7 @@ sub_81A4998: @ 81A4998
str r5, [sp, 0x8]
adds r2, r6, 0
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r1, =gUnknown_08611D00
ldr r2, [sp, 0x90]
lsls r0, r2, 2
@@ -19567,7 +9541,7 @@ sub_81A4998: @ 81A4998
str r5, [sp, 0x8]
movs r1, 0x1
adds r2, r4, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
cmp r7, 0x9
bne _081A4A6C
ldr r2, =gSaveBlock2Ptr
@@ -22277,7 +12251,7 @@ nullsub_123: @ 81A6184
sub_81A6188: @ 81A6188
push {lr}
bl ZeroPlayerPartyMons
- bl sub_819A4F8
+ bl DoBattleFactorySelectScreen
pop {r0}
bx r0
thumb_func_end sub_81A6188
@@ -22285,7 +12259,7 @@ sub_81A6188: @ 81A6188
thumb_func_start sub_81A6198
sub_81A6198: @ 81A6198
push {lr}
- bl sub_819DC00
+ bl DoBattleFactorySwapScreen
pop {r0}
bx r0
thumb_func_end sub_81A6198
@@ -22829,7 +12803,7 @@ _081A6602:
lsls r2, r6, 24
lsrs r2, 24
adds r0, r4, r5
- bl sub_81A7024
+ bl SetMonMoveAvoidReturn
adds r6, 0x1
cmp r6, 0x3
ble _081A6602
@@ -22995,7 +12969,7 @@ _081A674E:
lsls r2, r6, 24
lsrs r2, 24
adds r0, r4, r5
- bl sub_81A7024
+ bl SetMonMoveAvoidReturn
adds r6, 0x1
cmp r6, 0x3
ble _081A674E
@@ -23885,7 +13859,7 @@ _081A6E6E:
lsls r2, r4, 24
lsrs r2, 24
adds r0, r5, r6
- bl sub_81A7024
+ bl SetMonMoveAvoidReturn
adds r4, 0x1
cmp r4, 0x3
ble _081A6E6E
@@ -24078,8 +14052,8 @@ _081A701E:
bx r1
thumb_func_end GetAiScriptsInBattleFactory
- thumb_func_start sub_81A7024
-sub_81A7024: @ 81A7024
+ thumb_func_start SetMonMoveAvoidReturn
+SetMonMoveAvoidReturn: @ 81A7024
push {lr}
lsls r1, 16
lsls r2, 24
@@ -24092,7 +14066,7 @@ _081A7034:
bl SetMonMoveSlot
pop {r0}
bx r0
- thumb_func_end sub_81A7024
+ thumb_func_end SetMonMoveAvoidReturn
thumb_func_start sub_81A703C
sub_81A703C: @ 81A703C
diff --git a/asm/battle_tent.s b/asm/battle_tent.s
deleted file mode 100644
index 8de98850f..000000000
--- a/asm/battle_tent.s
+++ /dev/null
@@ -1,260 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
-
- thumb_func_start sub_81BA040
-sub_81BA040: @ 81BA040
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- movs r0, 0
- mov r10, r0
- ldr r1, =gFacilityTrainers
- ldr r0, =gSlateportBattleTentTrainers
- str r0, [r1]
- ldr r1, =gFacilityTrainerMons
- ldr r0, =gSlateportBattleTentMons
- str r0, [r1]
- ldr r7, =gSaveBlock2Ptr
- ldr r1, =0x0000ffff
- mov r8, r1
-_081BA062:
- mov r2, r10
- lsls r6, r2, 1
-_081BA066:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1E
- bl __umodsi3
- lsls r0, 16
- lsrs r3, r0, 16
- movs r5, 0
- ldr r1, [r7]
- ldr r4, =0x00000cb2
- adds r0, r1, r4
- ldrh r0, [r0]
- cmp r5, r0
- bge _081BA0AA
- ldr r2, =0x00000cb4
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, r3
- beq _081BA0AA
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r0, r1, r4
- ldrh r2, [r0]
- adds r4, 0x2
- adds r1, r4
-_081BA09C:
- adds r1, 0x2
- adds r5, 0x1
- cmp r5, r2
- bge _081BA0AA
- ldrh r0, [r1]
- cmp r0, r3
- bne _081BA09C
-_081BA0AA:
- ldr r0, [r7]
- ldr r1, =0x00000cb2
- adds r0, r1
- ldrh r0, [r0]
- cmp r5, r0
- bne _081BA066
- ldr r2, =gTrainerBattleOpponent_A
- strh r3, [r2]
- ldrh r3, [r2]
- ldr r4, =gFacilityTrainers
- ldr r1, [r4]
- movs r0, 0x34
- muls r0, r3
- adds r0, r1
- ldr r0, [r0, 0x30]
- adds r1, r6, r0
- ldrh r0, [r1]
- cmp r0, r8
- beq _081BA0DE
- ldr r3, =0x0000ffff
-_081BA0D2:
- adds r1, 0x2
- movs r6, 0x1
- add r10, r6
- ldrh r0, [r1]
- cmp r0, r3
- bne _081BA0D2
-_081BA0DE:
- mov r0, r10
- cmp r0, 0x8
- bgt _081BA110
- movs r1, 0
- mov r10, r1
- b _081BA062
- .pool
-_081BA110:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r6, =0x00000cb2
- adds r3, r1, r6
- ldrh r0, [r3]
- cmp r0, 0x1
- bhi _081BA12A
- lsls r0, 1
- ldr r3, =0x00000cb4
- adds r1, r3
- adds r1, r0
- ldrh r0, [r2]
- strh r0, [r1]
-_081BA12A:
- ldrh r1, [r2]
- ldr r2, [r4]
- movs r0, 0x34
- muls r0, r1
- adds r0, r2
- ldr r0, [r0, 0x30]
- mov r9, r0
- movs r5, 0
- ldr r7, =gUnknown_03001298
- mov r8, sp
-_081BA13E:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- mov r1, r10
- bl __modsi3
- lsls r0, 1
- add r0, r9
- ldrh r0, [r0]
- strh r0, [r7]
- movs r2, 0
- ldrh r0, [r7]
- ldr r4, =gFacilityTrainerMons
- ldr r3, [r4]
- lsls r0, 4
- adds r0, r3
- ldr r1, =gSaveBlock2Ptr
- ldrh r6, [r0]
- ldr r1, [r1]
-_081BA166:
- movs r4, 0xE7
- lsls r4, 4
- adds r0, r1, r4
- ldrh r0, [r0]
- lsls r0, 4
- adds r0, r3
- ldrh r0, [r0]
- cmp r6, r0
- beq _081BA180
- adds r1, 0xC
- adds r2, 0x1
- cmp r2, 0x5
- ble _081BA166
-_081BA180:
- cmp r2, 0x6
- bne _081BA220
- movs r4, 0
- cmp r4, r5
- bge _081BA1B0
- mov r0, sp
- ldrh r0, [r0]
- cmp r0, r6
- beq _081BA1B0
- ldr r6, =gUnknown_03001298
- ldr r3, =gFacilityTrainerMons
- mov r2, sp
-_081BA198:
- adds r2, 0x2
- adds r4, 0x1
- cmp r4, r5
- bge _081BA1B0
- ldrh r0, [r6]
- ldr r1, [r3]
- lsls r0, 4
- adds r0, r1
- ldrh r1, [r2]
- ldrh r0, [r0]
- cmp r1, r0
- bne _081BA198
-_081BA1B0:
- cmp r4, r5
- bne _081BA220
- movs r4, 0
- cmp r4, r5
- bge _081BA1E6
- ldr r6, =gBattleFrontierHeldItems
- mov r12, r6
- add r3, sp, 0x8
-_081BA1C0:
- ldrh r2, [r3]
- cmp r2, 0
- beq _081BA1DE
- ldr r1, =gUnknown_03001298
- ldrh r0, [r1]
- ldr r6, =gFacilityTrainerMons
- ldr r1, [r6]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0xA]
- lsls r0, 1
- add r0, r12
- ldrh r0, [r0]
- cmp r2, r0
- beq _081BA1E6
-_081BA1DE:
- adds r3, 0x2
- adds r4, 0x1
- cmp r4, r5
- blt _081BA1C0
-_081BA1E6:
- cmp r4, r5
- bne _081BA220
- lsls r2, r5, 1
- ldrh r0, [r7]
- ldr r1, =gFacilityTrainerMons
- ldr r4, [r1]
- lsls r0, 4
- adds r0, r4
- ldrh r0, [r0]
- mov r3, r8
- strh r0, [r3]
- add r1, sp, 0x8
- adds r1, r2
- ldr r3, =gBattleFrontierHeldItems
- ldrh r0, [r7]
- lsls r0, 4
- adds r0, r4
- ldrb r0, [r0, 0xA]
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r0, =gUnknown_03006298
- adds r2, r0
- ldrh r0, [r7]
- strh r0, [r2]
- movs r4, 0x2
- add r8, r4
- adds r5, 0x1
-_081BA220:
- cmp r5, 0x3
- bne _081BA13E
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BA040
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_tower.s b/asm/battle_tower.s
index f24069307..2312b63bd 100644
--- a/asm/battle_tower.s
+++ b/asm/battle_tower.s
@@ -2544,7 +2544,7 @@ _08163718:
adds r0, r6, r2
adds r2, r3, 0
str r3, [sp, 0x1C]
- bl sub_81A7024
+ bl SetMonMoveAvoidReturn
ldr r3, [sp, 0x1C]
adds r0, r3, 0x1
lsls r0, 24
@@ -2662,7 +2662,7 @@ _08163818:
ldr r2, =gEnemyParty
adds r0, r6, r2
adds r2, r7, 0
- bl sub_81A7024
+ bl SetMonMoveAvoidReturn
ldr r1, =gFacilityTrainerMons
ldr r0, [r1]
adds r0, r5, r0
diff --git a/asm/cable_car.s b/asm/cable_car.s
index 59245a1b2..276b878e2 100644
--- a/asm/cable_car.s
+++ b/asm/cable_car.s
@@ -774,7 +774,7 @@ _08150340:
orrs r3, r0
str r3, [r2, 0x8]
ldr r0, [r2, 0x8]
- bl warp_in
+ bl WarpIntoMap
ldr r0, =gFieldCallback
str r4, [r0]
ldr r0, =CB2_LoadMap
diff --git a/asm/cable_car_util.s b/asm/cable_car_util.s
deleted file mode 100644
index db434eaf9..000000000
--- a/asm/cable_car_util.s
+++ /dev/null
@@ -1,762 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81520A8
-sub_81520A8: @ 81520A8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r10, r0
- ldr r0, [sp, 0x24]
- ldr r4, [sp, 0x28]
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp]
- lsls r3, 24
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r4, 24
- lsrs r4, 24
- mov r8, r4
- movs r0, 0
- lsrs r4, r3, 24
- cmp r0, r8
- bcs _08152122
-_081520DA:
- ldr r2, [sp]
- movs r3, 0
- adds r6, r4, 0x1
- adds r0, 0x1
- mov r12, r0
- cmp r3, r7
- bcs _0815210C
- lsls r5, r4, 6
-_081520EA:
- lsls r0, r2, 1
- adds r0, r5
- add r0, r10
- mov r1, r9
- strh r1, [r0]
- adds r1, r2, 0x1
- adds r0, r1, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r1, r0
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r7
- bcc _081520EA
-_0815210C:
- adds r0, r6, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r6, r0
- lsls r0, 24
- lsrs r4, r0, 24
- mov r1, r12
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, r8
- bcc _081520DA
-_08152122:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81520A8
-
- thumb_func_start sub_8152134
-sub_8152134: @ 8152134
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r10, r0
- ldr r0, [sp, 0x24]
- ldr r4, [sp, 0x28]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp]
- lsls r3, 24
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- lsls r4, 24
- lsrs r4, 24
- mov r9, r4
- movs r0, 0
- adds r5, r1, 0
- lsrs r4, r3, 24
- cmp r0, r9
- bcs _081521AE
-_08152164:
- ldr r2, [sp]
- movs r3, 0
- adds r7, r4, 0x1
- adds r0, 0x1
- mov r8, r0
- cmp r3, r12
- bcs _08152198
- lsls r6, r4, 6
-_08152174:
- lsls r0, r2, 1
- adds r0, r6
- add r0, r10
- ldrh r1, [r5]
- strh r1, [r0]
- adds r5, 0x2
- adds r1, r2, 0x1
- adds r0, r1, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r1, r0
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r12
- bcc _08152174
-_08152198:
- adds r0, r7, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r7, r0
- lsls r0, 24
- lsrs r4, r0, 24
- mov r1, r8
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, r9
- bcc _08152164
-_081521AE:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8152134
-
- thumb_func_start sub_81521C0
-sub_81521C0: @ 81521C0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0
- cmp r4, 0
- beq _081521FE
- cmp r4, 0x40
- bls _081521D6
- movs r4, 0x40
-_081521D6:
- ldr r6, =gUnknown_0203ABB8
- movs r0, 0x8
- bl AllocZeroed
- str r0, [r6]
- cmp r0, 0
- beq _081521FE
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 4
- bl AllocZeroed
- ldr r1, [r6]
- str r0, [r1, 0x4]
- cmp r0, 0
- bne _08152208
- adds r0, r1, 0
- bl Free
- str r5, [r6]
-_081521FE:
- movs r0, 0
- b _08152244
- .pool
-_08152208:
- strb r4, [r1]
- cmp r5, r4
- bcs _08152242
- adds r3, r6, 0
- ldr r0, =gDummyOamData
- mov r12, r0
- movs r2, 0x4
- mov r8, r2
-_08152218:
- ldr r0, [r3]
- ldr r2, [r0, 0x4]
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 4
- adds r2, r1, r2
- mov r0, r12
- ldm r0!, {r6,r7}
- stm r2!, {r6,r7}
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- adds r1, r0
- ldrb r0, [r1, 0x19]
- mov r2, r8
- orrs r0, r2
- strb r0, [r1, 0x19]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r4
- bcc _08152218
-_08152242:
- movs r0, 0x1
-_08152244:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81521C0
-
- thumb_func_start sub_8152254
-sub_8152254: @ 8152254
- push {r4-r7,lr}
- movs r3, 0
- ldr r0, =gUnknown_0203ABB8
- ldr r2, [r0]
- adds r5, r0, 0
- cmp r2, 0
- bne _0815226C
- movs r0, 0
- b _081522C4
- .pool
-_0815226C:
- ldrb r2, [r2]
- cmp r3, r2
- bcs _08152292
- ldr r0, =gMain+0x238
- mov r12, r0
- ldr r4, =gDummyOamData
- adds r2, r5, 0
-_0815227A:
- lsls r1, r3, 3
- add r1, r12
- adds r0, r4, 0
- ldm r0!, {r6,r7}
- stm r1!, {r6,r7}
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, [r2]
- ldrb r0, [r0]
- cmp r3, r0
- bcc _0815227A
-_08152292:
- ldr r1, [r5]
- ldrb r0, [r1]
- lsls r2, r0, 1
- adds r2, r0
- ldr r0, [r1, 0x4]
- lsls r2, 4
- movs r1, 0
- bl memset
- ldr r0, [r5]
- ldr r0, [r0, 0x4]
- bl Free
- ldr r0, [r5]
- movs r4, 0
- str r4, [r0, 0x4]
- movs r1, 0
- movs r2, 0x8
- bl memset
- ldr r0, [r5]
- bl Free
- str r4, [r5]
- movs r0, 0x1
-_081522C4:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8152254
-
- thumb_func_start sub_81522D4
-sub_81522D4: @ 81522D4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r6, 0
- ldr r0, =gUnknown_0203ABB8
- ldr r1, [r0]
- adds r3, r0, 0
- cmp r1, 0
- beq _081522EC
- ldr r0, [r1, 0x4]
- cmp r0, 0
- bne _081522F4
-_081522EC:
- movs r0, 0
- b _081523D2
- .pool
-_081522F4:
- ldrb r1, [r1]
- cmp r6, r1
- bcs _081523D0
- adds r7, r3, 0
- movs r0, 0x3
- mov r8, r0
-_08152300:
- ldr r0, [r7]
- ldr r1, [r0, 0x4]
- lsls r0, r6, 1
- adds r0, r6
- lsls r5, r0, 4
- adds r2, r5, r1
- ldrb r1, [r2, 0x19]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x3
- bne _081523C2
- ldr r1, [r2, 0x2C]
- cmp r1, 0
- beq _08152322
- adds r0, r2, 0
- bl _call_via_r1
-_08152322:
- ldr r0, [r7]
- ldr r0, [r0, 0x4]
- adds r2, r5, r0
- ldrb r1, [r2, 0x19]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08152348
- lsls r0, r6, 3
- ldr r1, =gMain+0x238
- adds r0, r1
- ldr r1, =gDummyOamData
- ldm r1!, {r2,r3}
- stm r0!, {r2,r3}
- b _081523C0
- .pool
-_08152348:
- ldrb r0, [r2, 0xE]
- ldrb r4, [r2, 0xA]
- adds r0, r4
- strb r0, [r2]
- ldr r4, [r7]
- ldr r3, [r4, 0x4]
- adds r3, r5, r3
- movs r0, 0x8
- ldrsh r2, [r3, r0]
- movs r1, 0xC
- ldrsh r0, [r3, r1]
- adds r2, r0
- ldr r1, =0x000001ff
- adds r0, r1, 0
- ands r2, r0
- ldrh r0, [r3, 0x2]
- ldr r1, =0xfffffe00
- mov r12, r1
- mov r1, r12
- ands r0, r1
- orrs r0, r2
- strh r0, [r3, 0x2]
- ldr r3, [r4, 0x4]
- adds r3, r5, r3
- ldrb r0, [r3, 0x19]
- lsls r0, 27
- lsrs r0, 30
- mov r2, r8
- ands r0, r2
- lsls r0, 2
- ldrb r1, [r3, 0x5]
- movs r4, 0xD
- negs r4, r4
- adds r2, r4, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x5]
- ldr r4, [r7]
- ldr r2, [r4, 0x4]
- adds r2, r5, r2
- ldrh r3, [r2, 0x14]
- ldr r1, =0x000003ff
- adds r0, r1, 0
- adds r1, r3, 0
- ands r1, r0
- mov r12, r1
- ldrh r0, [r2, 0x4]
- ldr r3, =0xfffffc00
- adds r1, r3, 0
- ands r0, r1
- mov r1, r12
- orrs r0, r1
- strh r0, [r2, 0x4]
- lsls r1, r6, 3
- ldr r2, =gMain+0x238
- ldr r0, [r4, 0x4]
- adds r1, r2
- adds r0, r5, r0
- ldm r0!, {r2,r3}
- stm r1!, {r2,r3}
-_081523C0:
- ldr r3, =gUnknown_0203ABB8
-_081523C2:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, [r3]
- ldrb r0, [r0]
- cmp r6, r0
- bcc _08152300
-_081523D0:
- movs r0, 0x1
-_081523D2:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81522D4
-
- thumb_func_start sub_81523F4
-sub_81523F4: @ 81523F4
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- cmp r4, 0
- beq _08152430
- ldrh r0, [r4, 0x10]
- bl GetSpriteTileStartByTag
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, =0x0000ffff
- cmp r5, r0
- beq _08152430
- strb r6, [r4, 0x18]
- ldrb r0, [r4, 0x1]
- lsrs r0, 6
- ldrb r1, [r4, 0x3]
- lsrs r1, 6
- bl sub_80355F8
- lsls r0, 24
- lsrs r0, 24
- muls r0, r6
- adds r0, r5, r0
- strh r0, [r4, 0x14]
- movs r0, 0x1
- b _08152432
- .pool
-_08152430:
- movs r0, 0
-_08152432:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81523F4
-
- thumb_func_start sub_8152438
-sub_8152438: @ 8152438
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0203ABB8
- ldr r0, [r0]
- cmp r0, 0
- beq _0815246C
- ldrb r1, [r0]
- cmp r2, r1
- bcs _0815246C
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 4
- adds r3, r0, r1
- ldrb r1, [r3, 0x19]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0815246C
- str r4, [r3, 0x2C]
- adds r0, r2, 0
- b _0815246E
- .pool
-_0815246C:
- movs r0, 0xFF
-_0815246E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8152438
-
- thumb_func_start sub_8152474
-sub_8152474: @ 8152474
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 16
- lsrs r5, r2, 16
- ldr r0, =gUnknown_0203ABB8
- ldr r0, [r0]
- cmp r0, 0
- beq _081524A8
- ldrb r1, [r0]
- cmp r3, r1
- bcs _081524A8
- ldr r1, [r0, 0x4]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 4
- adds r2, r0, r1
- ldrb r1, [r2, 0x19]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081524A8
- cmp r4, 0x7
- bls _081524B0
-_081524A8:
- movs r0, 0xFF
- b _081524BC
- .pool
-_081524B0:
- lsls r1, r4, 1
- adds r0, r2, 0
- adds r0, 0x1A
- adds r0, r1
- strh r5, [r0]
- adds r0, r3, 0
-_081524BC:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8152474
-
- thumb_func_start sub_81524C4
-sub_81524C4: @ 81524C4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- mov r9, r0
- ldr r0, [sp, 0x30]
- ldr r4, [sp, 0x34]
- ldr r5, [sp, 0x38]
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- lsls r3, 16
- lsrs r3, 16
- str r3, [sp, 0x4]
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x8]
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0xC]
- lsls r5, 24
- lsrs r5, 24
- mov r10, r5
- movs r5, 0
- ldr r0, =gUnknown_0203ABB8
- ldr r0, [r0]
- cmp r0, 0
- beq _0815255E
- mov r1, r9
- cmp r1, 0
- bne _08152530
- b _0815255E
- .pool
-_08152514:
- adds r5, r2, 0
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x30
- bl memset
- strb r4, [r5, 0x16]
- ldrb r0, [r5, 0x19]
- movs r1, 0x1
- orrs r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r5, 0x19]
- b _0815255A
-_08152530:
- movs r4, 0
- ldrb r1, [r0]
- cmp r5, r1
- bcs _0815255A
- ldr r6, [r0, 0x4]
- adds r3, r1, 0
- movs r7, 0x1
-_0815253E:
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 4
- adds r2, r0, r6
- ldrb r1, [r2, 0x19]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08152514
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r3
- bcc _0815253E
-_0815255A:
- cmp r5, 0
- bne _08152562
-_0815255E:
- movs r0, 0xFF
- b _081525C0
-_08152562:
- adds r1, r5, 0
- mov r0, r9
- ldm r0!, {r2,r3}
- stm r1!, {r2,r3}
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r5, 0x10]
- mov r1, r8
- strh r1, [r5, 0x12]
- mov r2, sp
- ldrh r2, [r2, 0x4]
- strh r2, [r5, 0x8]
- mov r3, sp
- ldrh r3, [r3, 0x8]
- strh r3, [r5, 0xA]
- mov r0, r8
- bl IndexOfSpritePaletteTag
- lsls r0, 4
- ldrb r1, [r5, 0x5]
- movs r4, 0xF
- ands r4, r1
- orrs r4, r0
- strb r4, [r5, 0x5]
- mov r0, r10
- cmp r0, 0x3
- bhi _081525B6
- movs r1, 0x3
- ands r1, r0
- lsls r3, r1, 3
- ldrb r2, [r5, 0x19]
- movs r0, 0x19
- negs r0, r0
- ands r0, r2
- orrs r0, r3
- strb r0, [r5, 0x19]
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r4, r0
- orrs r4, r1
- strb r4, [r5, 0x5]
-_081525B6:
- adds r0, r5, 0
- ldr r1, [sp, 0xC]
- bl sub_81523F4
- ldrb r0, [r5, 0x16]
-_081525C0:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81524C4
-
- thumb_func_start sub_81525D0
-sub_81525D0: @ 81525D0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r6, =gUnknown_0203ABB8
- ldr r0, [r6]
- cmp r0, 0
- beq _081525F2
- ldr r1, [r0, 0x4]
- lsls r0, r5, 1
- adds r0, r5
- lsls r4, r0, 4
- adds r2, r4, r1
- ldrb r1, [r2, 0x19]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081525FC
-_081525F2:
- movs r0, 0xFF
- b _0815263C
- .pool
-_081525FC:
- adds r0, r2, 0
- movs r1, 0
- movs r2, 0x30
- bl memset
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r0, r4, r0
- movs r1, 0xA0
- strb r1, [r0]
- ldr r3, [r6]
- ldr r2, [r3, 0x4]
- adds r2, r4, r2
- ldrh r1, [r2, 0x2]
- ldr r0, =0xfffffe00
- ands r0, r1
- movs r1, 0xF0
- orrs r0, r1
- strh r0, [r2, 0x2]
- ldr r1, [r3, 0x4]
- adds r1, r4, r1
- ldrb r0, [r1, 0x19]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1, 0x19]
- lsls r1, r5, 3
- ldr r0, =gMain+0x238
- adds r1, r0
- ldr r0, =gDummyOamData
- ldm r0!, {r2,r3}
- stm r1!, {r2,r3}
- adds r0, r5, 0
-_0815263C:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81525D0
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/cable_club.s b/asm/cable_club.s
index 0297c2f80..6f4917a19 100644
--- a/asm/cable_club.s
+++ b/asm/cable_club.s
@@ -74,7 +74,7 @@ sub_80B23B0: @ 80B23B0
adds r0, r4, 0
movs r1, 0x1
adds r2, r5, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
adds r0, r4, 0
movs r1, 0x3
bl CopyWindowToVram
diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s
index 9eefa154f..3e35ab7f1 100644
--- a/asm/contest_link_80F57C4.s
+++ b/asm/contest_link_80F57C4.s
@@ -2237,7 +2237,7 @@ _080F6BD0:
adds r0, r4, 0
movs r1, 0x1
movs r3, 0x1
- bl box_print
+ bl AddTextPrinterParameterized3
adds r0, r4, 0
movs r1, 0x7
bl GetWindowAttribute
diff --git a/asm/contest_painting.s b/asm/contest_painting.s
index 8bb38eeed..f7c146e3e 100644
--- a/asm/contest_painting.s
+++ b/asm/contest_painting.s
@@ -438,7 +438,7 @@ _081301A6:
str r1, [sp, 0x8]
movs r1, 0x1
adds r2, r4, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0x1
bl CopyBgTilemapBufferToVram
_081301D4:
diff --git a/asm/easy_chat.s b/asm/easy_chat.s
index 768311639..e99c885cc 100644
--- a/asm/easy_chat.s
+++ b/asm/easy_chat.s
@@ -4644,7 +4644,7 @@ sub_811D028: @ 811D028
str r4, [sp]
str r5, [sp, 0x4]
str r6, [sp, 0x8]
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
add sp, 0xC
pop {r4-r6}
pop {r0}
@@ -4693,7 +4693,7 @@ sub_811D058: @ 811D058
str r4, [sp, 0x4]
str r2, [sp, 0x8]
mov r2, r9
- bl box_print
+ bl AddTextPrinterParameterized3
add sp, 0x10
pop {r3-r5}
mov r8, r3
diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s
index c2b13e2bf..c299d6633 100644
--- a/asm/field_control_avatar.s
+++ b/asm/field_control_avatar.s
@@ -51,7 +51,7 @@ FieldGetPlayerInput: @ 809BF08
bl cur_mapdata_block_role_at_player_pos
lsls r0, 24
lsrs r0, 24
- bl MetatileBehavior_IsMoveTile
+ bl MetatileBehavior_IsForcedMovementTile
lsls r0, 24
lsrs r7, r0, 24
cmp r6, 0x2
@@ -530,7 +530,7 @@ sub_809C2C8: @ 809C2C8
ldrh r1, [r4, 0x2]
b _0809C30E
_0809C2F0:
- ldr r1, =gUnknown_08339D64
+ ldr r1, =gDirectionToVectors
lsls r2, r6, 3
adds r0, r2, r1
ldr r3, [r0]
@@ -631,7 +631,7 @@ _0809C3B4:
lsrs r0, 24
cmp r0, 0x1
bne _0809C400
- ldr r1, =gUnknown_08339D64
+ ldr r1, =gDirectionToVectors
lsls r2, r7, 3
adds r0, r2, r1
ldr r3, [r0]
@@ -1043,7 +1043,7 @@ _0809C74C:
.pool
_0809C764:
adds r0, r5, 0
- bl MetatileBehavior_IsMB_BF
+ bl MetatileBehavior_IsSecretBaseSandOrnament
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1072,7 +1072,7 @@ _0809C794:
b _0809C7E2
_0809C7A8:
adds r0, r5, 0
- bl MetatileBehavior_IsMB_C3
+ bl MetatileBehavior_IsLargeMatCenter
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1081,7 +1081,7 @@ _0809C7A8:
b _0809C7E2
_0809C7BC:
adds r0, r5, 0
- bl MetatileBehavior_IsMB_B5
+ bl MetatileBehavior_IsSecretBaseLargeMatEdge
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1376,7 +1376,7 @@ _0809CA04:
bne _0809CAF8
lsls r0, r4, 24
lsrs r0, 24
- bl MetatileBehavior_IsMoveTile
+ bl MetatileBehavior_IsForcedMovementTile
lsls r0, 24
cmp r0, 0
bne _0809CAF8
@@ -1658,7 +1658,7 @@ mapheader_run_first_tag2_script_list_match_conditionally: @ 809CC38
negs r0, r0
cmp r4, r0
beq _0809CC90
- bl walkrun_find_lowest_active_bit_in_bitfield
+ bl StoreInitialPlayerAvatarState
mov r0, r8
adds r1, r4, 0
adds r2, r7, 0
@@ -1699,7 +1699,7 @@ sub_809CC9C: @ 809CC9C
lsrs r0, 24
cmp r0, 0x1
bne _0809CD8A
- bl walkrun_find_lowest_active_bit_in_bitfield
+ bl StoreInitialPlayerAvatarState
adds r0, r7, 0
adds r1, r4, 0
adds r2, r6, 0
@@ -2048,7 +2048,7 @@ map_warp_consider_2_to_inside: @ 809CF78
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl MetatileBehavior_IsSecretBaseOpen
+ bl MetatileBehavior_IsOpenSecretBaseDoor
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -2083,7 +2083,7 @@ _0809CFB0:
lsrs r0, 24
cmp r0, 0x1
bne _0809CFFC
- bl walkrun_find_lowest_active_bit_in_bitfield
+ bl StoreInitialPlayerAvatarState
adds r0, r6, 0
adds r1, r4, 0
adds r2, r5, 0
@@ -2334,7 +2334,7 @@ dive_warp: @ 809D16C
subs r1, 0x7
lsls r1, 16
lsrs r1, 16
- bl sub_8085058
+ bl SetDiveWarpEmerge
b _0809D1C8
.pool
_0809D1A4:
@@ -2353,12 +2353,12 @@ _0809D1A4:
subs r1, 0x7
lsls r1, 16
lsrs r1, 16
- bl sub_8085078
+ bl SetDiveWarpDive
_0809D1C8:
lsls r0, 24
cmp r0, 0
beq _0809D1E0
- bl walkrun_find_lowest_active_bit_in_bitfield
+ bl StoreInitialPlayerAvatarState
bl sp13E_warp_to_last_warp
movs r0, 0xE9
bl PlaySE
@@ -2407,7 +2407,7 @@ sub_809D1E8: @ 809D1E8
subs r1, 0x7
lsls r1, 16
lsrs r1, 16
- bl sub_8085058
+ bl SetDiveWarpEmerge
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -2431,7 +2431,7 @@ _0809D244:
subs r1, 0x7
lsls r1, 16
lsrs r1, 16
- bl sub_8085078
+ bl SetDiveWarpDive
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s
index 6cf62ba8b..9a019f60c 100644
--- a/asm/field_effect_helpers.s
+++ b/asm/field_effect_helpers.s
@@ -20,7 +20,7 @@ SetUpReflection: @ 8153ED4
ldrsh r2, [r4, r0]
adds r0, r4, 0
movs r3, 0x98
- bl obj_unfreeze
+ bl CreateCopySpriteAt
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 4
@@ -34,7 +34,7 @@ SetUpReflection: @ 8153ED4
movs r0, 0xC
orrs r1, r0
strb r1, [r7, 0x5]
- ldr r2, =gUnknown_084975C4
+ ldr r2, =gReflectionEffectPaletteMap
lsrs r0, r1, 4
adds r0, r2
ldrb r0, [r0]
@@ -185,7 +185,7 @@ npc_pal_op_B: @ 815401C
bne _0815404C
ldrh r0, [r2, 0x2]
adds r1, r4, 0
- bl npc_load_two_palettes__no_record
+ bl LoadPlayerObjectReflectionPalette
b _0815406A
.pool
_0815404C:
@@ -193,15 +193,15 @@ _0815404C:
bne _0815405A
ldrh r0, [r2, 0x2]
adds r1, r4, 0
- bl npc_load_two_palettes__and_record
+ bl LoadSpecialObjectReflectionPalette
b _0815406A
_0815405A:
adds r0, r4, 0
- bl npc_paltag_by_palslot
+ bl GetObjectPaletteTag
lsls r0, 16
lsrs r0, 16
adds r1, r4, 0
- bl pal_patch_for_npc
+ bl PatchObjectPalette
_0815406A:
adds r0, r4, 0
bl UpdateSpritePaletteWithWeather
@@ -225,7 +225,7 @@ npc_pal_op_A: @ 8154078
beq _0815409C
adds r0, r1, 0
adds r1, r4, 0
- bl pal_patch_for_npc
+ bl PatchObjectPalette
adds r0, r4, 0
bl UpdateSpritePaletteWithWeather
_0815409C:
@@ -277,7 +277,7 @@ _081540E0:
b _08154214
.pool
_081540FC:
- ldr r1, =gUnknown_084975C4
+ ldr r1, =gReflectionEffectPaletteMap
ldrb r0, [r5, 0x5]
lsrs r0, 4
adds r0, r1
diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s
index a1f115376..0abbf014f 100644
--- a/asm/field_player_avatar.s
+++ b/asm/field_player_avatar.s
@@ -3022,7 +3022,7 @@ _0808CA94:
movs r0, 0
movs r1, 0x1
add r2, sp, 0xC
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrh r0, [r4, 0xC]
adds r0, 0x1
strh r0, [r4, 0xC]
@@ -3133,7 +3133,7 @@ fish6: @ 808CB6C
movs r0, 0
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrh r0, [r5, 0x8]
adds r0, 0x1
strh r0, [r5, 0x8]
@@ -3266,7 +3266,7 @@ fish9: @ 808CC64
movs r0, 0
movs r1, 0x1
movs r3, 0x1
- bl AddTextPrinterParameterized
+ bl AddTextPrinterParameterized2
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
@@ -3423,7 +3423,7 @@ fishB: @ 808CD94
movs r0, 0
movs r1, 0x1
movs r3, 0x1
- bl AddTextPrinterParameterized
+ bl AddTextPrinterParameterized2
movs r0, 0xD
strh r0, [r5, 0x8]
movs r0, 0x1
@@ -3471,7 +3471,7 @@ fishC: @ 808CE04
movs r0, 0
movs r1, 0x1
movs r3, 0x1
- bl AddTextPrinterParameterized
+ bl AddTextPrinterParameterized2
ldrh r0, [r5, 0x8]
adds r0, 0x1
strh r0, [r5, 0x8]
diff --git a/asm/field_screen.s b/asm/field_screen.s
index 27627ac58..c11aef1b4 100644
--- a/asm/field_screen.s
+++ b/asm/field_screen.s
@@ -7914,7 +7914,7 @@ sub_80AF0B4: @ 80AF0B4
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- bl warp1_get_mapheader
+ bl GetDestinationWarpMapHeader
ldrb r1, [r0, 0x17]
adds r0, r4, 0
bl sub_8137360
@@ -8924,7 +8924,7 @@ _080AF914:
bl sub_80AF710
cmp r0, 0
bne _080AF93E
- bl sub_80859A0
+ bl BGMusicStopped
lsls r0, 24
cmp r0, 0
beq _080AF93E
@@ -8934,7 +8934,7 @@ _080AF926:
strh r0, [r4, 0x8]
b _080AF93E
_080AF92E:
- bl warp_in
+ bl WarpIntoMap
ldr r0, =sub_8086074
bl SetMainCallback2
adds r0, r5, 0
@@ -8999,7 +8999,7 @@ _080AF9B2:
bl sub_80AF710
cmp r0, 0
bne _080AF9E8
- bl sub_80859A0
+ bl BGMusicStopped
lsls r0, 24
cmp r0, 0
beq _080AF9E8
@@ -9014,7 +9014,7 @@ _080AF9D0:
ldrb r0, [r0]
cmp r0, 0
bne _080AF9E8
- bl warp_in
+ bl WarpIntoMap
ldr r0, =CB2_LoadMap
bl SetMainCallback2
adds r0, r5, 0
@@ -9076,7 +9076,7 @@ _080AFA44:
bl sub_81BE72C
strh r5, [r4, 0xA]
_080AFA5A:
- bl sub_80859A0
+ bl BGMusicStopped
lsls r0, 24
cmp r0, 0
beq _080AFA7C
@@ -9086,7 +9086,7 @@ _080AFA64:
strh r0, [r4, 0x8]
b _080AFA7C
_080AFA6C:
- bl warp_in
+ bl WarpIntoMap
ldr r0, =CB2_LoadMap
bl SetMainCallback2
adds r0, r6, 0
@@ -9297,7 +9297,7 @@ _080AFC2C:
bl sub_80AF710
cmp r0, 0
bne _080AFC56
- bl sub_80859A0
+ bl BGMusicStopped
lsls r0, 24
cmp r0, 0
beq _080AFC56
@@ -9307,7 +9307,7 @@ _080AFC3E:
strh r0, [r4, 0x8]
b _080AFC56
_080AFC46:
- bl warp_in
+ bl WarpIntoMap
ldr r0, =sub_8086024
bl SetMainCallback2
adds r0, r5, 0
@@ -10049,7 +10049,7 @@ _080B0210:
bl sub_80AF710
cmp r0, 0
bne _080B023A
- bl sub_80859A0
+ bl BGMusicStopped
lsls r0, 24
cmp r0, 0
beq _080B023A
@@ -10059,7 +10059,7 @@ _080B0222:
strh r0, [r4, 0x8]
b _080B023A
_080B022A:
- bl warp_in
+ bl WarpIntoMap
ldr r0, =CB2_LoadMap
bl SetMainCallback2
adds r0, r5, 0
@@ -10492,7 +10492,7 @@ task50_0807F0C8: @ 80B05CC
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl sub_80859A0
+ bl BGMusicStopped
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
diff --git a/asm/macros/battle_ai_script.inc b/asm/macros/battle_ai_script.inc
index 5e81686bf..28f60be46 100644
--- a/asm/macros/battle_ai_script.inc
+++ b/asm/macros/battle_ai_script.inc
@@ -27,86 +27,86 @@
.byte \param0
.endm
- .macro if_hp_less_than bank, param1, param2
+ .macro if_hp_less_than battler, param1, param2
.byte 0x5
- .byte \bank
+ .byte \battler
.byte \param1
.4byte \param2
.endm
- .macro if_hp_more_than bank, param1, param2
+ .macro if_hp_more_than battler, param1, param2
.byte 0x6
- .byte \bank
+ .byte \battler
.byte \param1
.4byte \param2
.endm
- .macro if_hp_equal bank, param1, param2
+ .macro if_hp_equal battler, param1, param2
.byte 0x7
- .byte \bank
+ .byte \battler
.byte \param1
.4byte \param2
.endm
- .macro if_hp_not_equal bank, param1, param2
+ .macro if_hp_not_equal battler, param1, param2
.byte 0x8
- .byte \bank
+ .byte \battler
.byte \param1
.4byte \param2
.endm
- .macro if_status bank, status1, param2
+ .macro if_status battler, status1, param2
.byte 0x9
- .byte \bank
+ .byte \battler
.4byte \status1
.4byte \param2
.endm
- .macro if_not_status bank, status1, param2
+ .macro if_not_status battler, status1, param2
.byte 0xa
- .byte \bank
+ .byte \battler
.4byte \status1
.4byte \param2
.endm
- .macro if_status2 bank, status2, param2
+ .macro if_status2 battler, status2, param2
.byte 0xb
- .byte \bank
+ .byte \battler
.4byte \status2
.4byte \param2
.endm
- .macro if_not_status2 bank, status2, param2
+ .macro if_not_status2 battler, status2, param2
.byte 0xc
- .byte \bank
+ .byte \battler
.4byte \status2
.4byte \param2
.endm
- .macro if_status3 bank, status3, param2
+ .macro if_status3 battler, status3, param2
.byte 0xd
- .byte \bank
+ .byte \battler
.4byte \status3
.4byte \param2
.endm
- .macro if_not_status3 bank, status3, param2
+ .macro if_not_status3 battler, status3, param2
.byte 0xe
- .byte \bank
+ .byte \battler
.4byte \status3
.4byte \param2
.endm
- .macro if_side_affecting bank, sidestatus, param2
+ .macro if_side_affecting battler, sidestatus, param2
.byte 0xf
- .byte \bank
+ .byte \battler
.4byte \sidestatus
.4byte \param2
.endm
- .macro if_not_side_affecting bank, sidestatus, param2
+ .macro if_not_side_affecting battler, sidestatus, param2
.byte 0x10
- .byte \bank
+ .byte \battler
.4byte \sidestatus
.4byte \param2
.endm
@@ -222,9 +222,9 @@
.byte 0x24
.endm
- .macro get_last_used_bank_move bank
+ .macro get_last_used_bank_move battler
.byte 0x25
- .byte \bank
+ .byte \battler
.endm
.macro if_equal_ param0, param1
@@ -259,9 +259,9 @@
.byte 0x2b
.endm
- .macro count_usable_party_mons bank
+ .macro count_usable_party_mons battler
.byte 0x2c
- .byte \bank
+ .byte \battler
.endm
.macro get_considered_move
@@ -272,9 +272,9 @@
.byte 0x2e
.endm
- .macro get_ability bank
+ .macro get_ability battler
.byte 0x2f
- .byte \bank
+ .byte \battler
.endm
.macro get_highest_type_effectiveness
@@ -295,16 +295,16 @@
.byte 0x33
.endm
- .macro if_status_in_party bank, status1, param2
+ .macro if_status_in_party battler, status1, param2
.byte 0x34
- .byte \bank
+ .byte \battler
.4byte \status1
.4byte \param2
.endm
- .macro if_status_not_in_party bank, status1, param2
+ .macro if_status_not_in_party battler, status1, param2
.byte 0x35
- .byte \bank
+ .byte \battler
.4byte \status1
.4byte \param2
.endm
@@ -325,33 +325,33 @@
.4byte \param1
.endm
- .macro if_stat_level_less_than bank, stat, param2, param3
+ .macro if_stat_level_less_than battler, stat, param2, param3
.byte 0x39
- .byte \bank
+ .byte \battler
.byte \stat
.byte \param2
.4byte \param3
.endm
- .macro if_stat_level_more_than bank, stat, param2, param3
+ .macro if_stat_level_more_than battler, stat, param2, param3
.byte 0x3a
- .byte \bank
+ .byte \battler
.byte \stat
.byte \param2
.4byte \param3
.endm
- .macro if_stat_level_equal bank, stat, param2, param3
+ .macro if_stat_level_equal battler, stat, param2, param3
.byte 0x3b
- .byte \bank
+ .byte \battler
.byte \stat
.byte \param2
.4byte \param3
.endm
- .macro if_stat_level_not_equal bank, stat, param2, param3
+ .macro if_stat_level_not_equal battler, stat, param2, param3
.byte 0x3c
- .byte \bank
+ .byte \battler
.byte \stat
.byte \param2
.4byte \param3
@@ -367,37 +367,37 @@
.4byte \param0
.endm
- .macro if_has_move bank, param1, param2
+ .macro if_has_move battler, param1, param2
.byte 0x3f
- .byte \bank
+ .byte \battler
.2byte \param1
.4byte \param2
.endm
- .macro if_doesnt_have_move bank, param1, param2
+ .macro if_doesnt_have_move battler, param1, param2
.byte 0x40
- .byte \bank
+ .byte \battler
.2byte \param1
.4byte \param2
.endm
- .macro if_has_move_with_effect bank, param1, param2
+ .macro if_has_move_with_effect battler, param1, param2
.byte 0x41
- .byte \bank
+ .byte \battler
.byte \param1
.4byte \param2
.endm
- .macro if_doesnt_have_move_with_effect bank, param1, param2
+ .macro if_doesnt_have_move_with_effect battler, param1, param2
.byte 0x42
- .byte \bank
+ .byte \battler
.byte \param1
.4byte \param2
.endm
- .macro if_any_move_disabled_or_encored bank, param1, param2
+ .macro if_any_move_disabled_or_encored battler, param1, param2
.byte 0x43
- .byte \bank
+ .byte \battler
.byte \param1
.4byte \param2
.endm
@@ -421,33 +421,33 @@
.byte 0x47
.endm
- .macro get_hold_effect bank
+ .macro get_hold_effect battler
.byte 0x48
- .byte \bank
+ .byte \battler
.endm
- .macro get_gender bank
+ .macro get_gender battler
.byte 0x49
- .byte \bank
+ .byte \battler
.endm
- .macro is_first_turn_for bank
+ .macro is_first_turn_for battler
.byte 0x4a
- .byte \bank
+ .byte \battler
.endm
- .macro get_stockpile_count bank
+ .macro get_stockpile_count battler
.byte 0x4b
- .byte \bank
+ .byte \battler
.endm
.macro is_double_battle
.byte 0x4c
.endm
- .macro get_used_held_item bank
+ .macro get_used_held_item battler
.byte 0x4d
- .byte \bank
+ .byte \battler
.endm
.macro get_move_type_from_result
@@ -462,9 +462,9 @@
.byte 0x50
.endm
- .macro get_protect_count bank
+ .macro get_protect_count battler
.byte 0x51
- .byte \bank
+ .byte \battler
.endm
.macro nullsub_52
@@ -526,27 +526,27 @@
.4byte \param0
.endm
- .macro is_of_type bank, type
+ .macro is_of_type battler, type
.byte 0x5f
- .byte \bank
+ .byte \battler
.byte \type
.endm
- .macro check_ability bank, ability
+ .macro check_ability battler, ability
.byte 0x60
- .byte \bank
+ .byte \battler
.byte \ability
.endm
- .macro if_flash_fired bank, param1
+ .macro if_flash_fired battler, param1
.byte 0x61
- .byte \bank
+ .byte \battler
.4byte \param1
.endm
- .macro if_holds_item bank, param1, param2
+ .macro if_holds_item battler, param1, param2
.byte 0x62
- .byte \bank
+ .byte \battler
.2byte \param1
.4byte \param2
.endm
@@ -572,23 +572,23 @@
get_type AI_TYPE2_TARGET
.endm
- .macro if_ability bank, ability, ptr
- check_ability \bank, \ability
+ .macro if_ability battler, ability, ptr
+ check_ability \battler, \ability
if_equal 1, \ptr
.endm
- .macro if_no_ability bank, ability, ptr
- check_ability \bank, \ability
+ .macro if_no_ability battler, ability, ptr
+ check_ability \battler, \ability
if_equal 0, \ptr
.endm
- .macro if_type bank, type, ptr
- is_of_type \bank, \type
+ .macro if_type battler, type, ptr
+ is_of_type \battler, \type
if_equal 1, \ptr
.endm
- .macro if_no_type bank, type, ptr
- is_of_type \bank, \type
+ .macro if_no_type battler, type, ptr
+ is_of_type \battler, \type
if_equal 0, \ptr
.endm
@@ -610,10 +610,10 @@
if_equal 0, \ptr
.endm
- .macro if_any_move_disabled bank, ptr
- if_any_move_disabled_or_encored \bank, 0, \ptr
+ .macro if_any_move_disabled battler, ptr
+ if_any_move_disabled_or_encored \battler, 0, \ptr
.endm
- .macro if_any_move_encored bank, ptr
- if_any_move_disabled_or_encored \bank, 1, \ptr
+ .macro if_any_move_encored battler, ptr
+ if_any_move_disabled_or_encored \battler, 1, \ptr
.endm
diff --git a/asm/macros/battle_anim_script.inc b/asm/macros/battle_anim_script.inc
index b26d1218d..1d5b01de7 100644
--- a/asm/macros/battle_anim_script.inc
+++ b/asm/macros/battle_anim_script.inc
@@ -56,19 +56,19 @@
.2byte \param0
.endm
- .macro monbg bank
+ .macro monbg battler
.byte 0xa
- .byte \bank
+ .byte \battler
.endm
- .macro clearmonbg bank
+ .macro clearmonbg battler
.byte 0xb
- .byte \bank
+ .byte \battler
.endm
- .macro setalpha param0
- .byte 0xc
- .2byte \param0
+ .macro setalpha eva, evb
+ .byte 0x0C
+ .2byte ((\evb) << 8) | (\eva)
.endm
.macro blendoff
@@ -189,14 +189,14 @@
.4byte \param2
.endm
- .macro monbg_22 bank
+ .macro monbg_22 battler
.byte 0x22
- .byte \bank
+ .byte \battler
.endm
- .macro clearmonbg_23 bank
+ .macro clearmonbg_23 battler
.byte 0x23
- .byte \bank
+ .byte \battler
.endm
.macro jumpifcontest param0
@@ -229,40 +229,53 @@
.byte \param4
.endm
- .macro monbgprio_28 bank
+ .macro monbgprio_28 battler
.byte 0x28
- .byte \bank
+ .byte \battler
.endm
.macro monbgprio_29
.byte 0x29
.endm
- .macro monbgprio_2A bank
+ .macro monbgprio_2A battler
.byte 0x2a
- .byte \bank
+ .byte \battler
.endm
- .macro invisible bank
+ .macro invisible battler
.byte 0x2b
- .byte \bank
+ .byte \battler
.endm
- .macro visible bank
+ .macro visible battler
.byte 0x2c
- .byte \bank
+ .byte \battler
.endm
- .macro doublebattle_2D bank
+ .macro doublebattle_2D battler
.byte 0x2d
- .byte \bank
+ .byte \battler
.endm
- .macro doublebattle_2E bank
+ .macro doublebattle_2E battler
.byte 0x2e
- .byte \bank
+ .byte \battler
.endm
.macro stopsound
.byte 0x2f
.endm
+
+@ useful macros
+ .macro jumpreteq value, ptr
+ jumpargeq ARG_RET_ID, \value, \ptr
+ .endm
+
+ .macro jumprettrue ptr
+ jumpreteq TRUE, \ptr
+ .endm
+
+ .macro jumpretfalse ptr
+ jumpreteq FALSE, \ptr
+ .endm
diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc
index 34d529cc7..927a0edd1 100644
--- a/asm/macros/battle_script.inc
+++ b/asm/macros/battle_script.inc
@@ -530,7 +530,7 @@
.byte \battler
.endm
- .macro jumptorandomattack param0
+ .macro jumptocalledmove param0
.byte 0x63
.byte \param0
.endm
diff --git a/asm/party_menu.s b/asm/party_menu.s
index 2d1faadab..67fdab266 100644
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -4454,7 +4454,7 @@ _081B243E:
adds r0, r4, 0
movs r1, 0
movs r3, 0x1
- bl AddTextPrinterParameterized2
+ bl AddTextPrinterParameterized4
adds r0, r4, 0
bl PutWindowTilemap
adds r0, r4, 0
@@ -4502,7 +4502,7 @@ _081B24C0:
adds r0, r5, 0
movs r1, 0
movs r3, 0x1
- bl box_print
+ bl AddTextPrinterParameterized3
b _081B2540
.pool
_081B2514:
@@ -4525,7 +4525,7 @@ _081B2514:
adds r0, r5, 0
movs r1, 0
movs r3, 0x1
- bl box_print
+ bl AddTextPrinterParameterized3
_081B2540:
adds r0, r5, 0
bl PutWindowTilemap
@@ -5108,7 +5108,7 @@ sub_81B2A3C: @ 81B2A3C
str r1, [sp, 0x8]
movs r1, 0
adds r2, r5, 0
- bl box_print
+ bl AddTextPrinterParameterized3
add sp, 0xC
pop {r4,r5}
pop {r0}
@@ -5804,7 +5804,7 @@ _081B2FF2:
ldr r1, [r1]
str r1, [sp, 0x8]
movs r1, 0x1
- bl box_print
+ bl AddTextPrinterParameterized3
_081B3018:
add sp, 0xC
pop {r3}
@@ -5938,7 +5938,7 @@ _081B3104:
movs r1, 0x1
adds r2, r4, 0
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0x2
bl schedule_bg_copy_tilemap_to_vram
_081B313C:
@@ -6132,7 +6132,7 @@ _081B328C:
str r1, [sp, 0x10]
movs r1, 0x1
mov r2, r9
- bl AddTextPrinterParameterized2
+ bl AddTextPrinterParameterized4
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
@@ -6193,7 +6193,7 @@ sub_81B3300: @ 81B3300
movs r0, 0x6
movs r1, 0x1
adds r2, r4, 0
- bl AddTextPrinterParameterized
+ bl AddTextPrinterParameterized2
add sp, 0x10
pop {r4}
pop {r0}
@@ -12508,7 +12508,7 @@ _081B6A40:
adds r0, r6, 0
mov r1, r10
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
cmp r4, 0
beq _081B6A82
adds r0, r7, 0x1
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index 481a85d8d..9d5603085 100644
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -4387,7 +4387,7 @@ sub_80CA4FC: @ 80CA4FC
movs r0, 0
movs r1, 0x1
movs r3, 0x6
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r2, [r6]
ldr r1, =0x00000d1d
adds r2, r1
@@ -4398,7 +4398,7 @@ sub_80CA4FC: @ 80CA4FC
movs r0, 0
movs r1, 0x2
movs r3, 0x6
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r2, [r6]
ldr r0, =0x00000d41
adds r2, r0
@@ -4409,7 +4409,7 @@ sub_80CA4FC: @ 80CA4FC
movs r0, 0
movs r1, 0x2
movs r3, 0xA
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r2, [r6]
ldr r1, =0x00000d65
adds r2, r1
@@ -4420,7 +4420,7 @@ sub_80CA4FC: @ 80CA4FC
movs r0, 0
movs r1, 0
movs r3, 0x6
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
b _080CA5E8
.pool
_080CA588:
@@ -4434,7 +4434,7 @@ _080CA588:
movs r0, 0
movs r1, 0
movs r3, 0x6
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r2, [r6]
ldr r1, =0x00000cf9
adds r2, r1
@@ -4445,7 +4445,7 @@ _080CA588:
movs r0, 0
movs r1, 0x1
movs r3, 0x6
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r2, [r6]
ldr r0, =0x00000d1d
adds r2, r0
@@ -4456,7 +4456,7 @@ _080CA588:
movs r0, 0
movs r1, 0x2
movs r3, 0x6
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r2, [r6]
ldr r1, =0x00000d41
adds r2, r1
@@ -4467,7 +4467,7 @@ _080CA588:
movs r0, 0
movs r1, 0x2
movs r3, 0xA
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
_080CA5E8:
movs r0, 0
movs r1, 0x2
@@ -5337,7 +5337,7 @@ _080CAD30:
movs r0, 0x1
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0x1
movs r1, 0x2
movs r2, 0xE
@@ -18189,7 +18189,7 @@ _080D17DA:
movs r1, 0x1
adds r2, r4, 0
movs r3, 0x4
- bl sub_8199F74
+ bl AddTextPrinterParameterized5
add sp, 0x14
pop {r4}
pop {r0}
diff --git a/asm/pokenav.s b/asm/pokenav.s
index b8165ec80..cfad3feda 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -1471,7 +1471,7 @@ sub_81C7BA4: @ 81C7BA4
movs r1, 0x1
movs r2, 0
movs r3, 0x1
- bl box_print
+ bl AddTextPrinterParameterized3
add sp, 0xC
pop {r4,r5}
pop {r0}
@@ -2559,7 +2559,7 @@ _081C8434:
str r6, [sp, 0x8]
adds r2, r7, 0
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrh r0, [r4, 0xC]
adds r0, 0x1
strh r0, [r4, 0xC]
@@ -3707,7 +3707,7 @@ sub_81C8CB4: @ 81C8CB4
str r2, [sp, 0x4]
str r6, [sp, 0x8]
movs r2, 0x8
- bl box_print
+ bl AddTextPrinterParameterized3
adds r0, r4, 0
movs r1, 0x1
bl sub_81C8C64
@@ -3769,7 +3769,7 @@ sub_81C8D4C: @ 81C8D4C
str r2, [sp, 0x8]
adds r2, r5, 0
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
adds r0, r4, 0
movs r1, 0
bl sub_81C8C64
@@ -3835,7 +3835,7 @@ sub_81C8DBC: @ 81C8DBC
movs r1, 0x7
movs r2, 0x2
adds r3, r5, 0
- bl box_print
+ bl AddTextPrinterParameterized3
ldrh r0, [r6, 0x8]
lsls r4, 1
ldrb r1, [r6, 0x4]
@@ -3897,7 +3897,7 @@ sub_81C8E54: @ 81C8E54
movs r1, 0x7
adds r2, r5, 0
movs r3, 0x2
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrh r0, [r7, 0x8]
ldrb r1, [r7, 0x4]
str r1, [sp]
@@ -7078,7 +7078,7 @@ sub_81CA714: @ 81CA714
str r6, [sp, 0x8]
movs r1, 0x1
movs r3, 0x1
- bl box_print
+ bl AddTextPrinterParameterized3
add sp, 0xC
pop {r4-r6}
pop {r0}
@@ -7116,7 +7116,7 @@ sub_81CA770: @ 81CA770
str r6, [sp, 0x8]
movs r1, 0x1
movs r3, 0x1
- bl box_print
+ bl AddTextPrinterParameterized3
add sp, 0xC
pop {r4-r6}
pop {r0}
@@ -10073,7 +10073,7 @@ sub_81CBE88: @ 81CBE88
movs r1, 0x7
adds r2, r3, 0
movs r3, 0x2
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
add sp, 0xC
pop {r0}
bx r0
@@ -10108,7 +10108,7 @@ sub_81CBEB4: @ 81CBEB4
adds r0, r5, 0
movs r1, 0x7
adds r2, r6, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
add sp, 0xC
pop {r4-r6}
pop {r0}
@@ -10156,7 +10156,7 @@ _081CBF24:
movs r1, 0x7
add r2, sp, 0xC
adds r3, r4, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
add sp, 0x2C
pop {r4,r5}
pop {r0}
@@ -10190,7 +10190,7 @@ _081CBF76:
str r1, [sp, 0x8]
movs r1, 0x7
movs r3, 0x10
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0x80
lsls r0, 21
adds r6, r0
@@ -10375,7 +10375,7 @@ sub_81CC0E0: @ 81CC0E0
str r1, [sp, 0x8]
movs r1, 0x1
movs r3, 0x20
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
add sp, 0xC
pop {r0}
bx r0
@@ -10409,7 +10409,7 @@ sub_81CC11C: @ 81CC11C
str r1, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
add sp, 0xC
pop {r0}
bx r0
@@ -10452,7 +10452,7 @@ sub_81CC158: @ 81CC158
adds r0, r2, 0
adds r2, r5, 0
movs r3, 0x20
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
add sp, 0xC
pop {r4,r5}
pop {r0}
@@ -11694,7 +11694,7 @@ _081CCB44:
str r1, [sp, 0x8]
movs r1, 0x7
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrh r1, [r5]
ldrb r2, [r5, 0x3]
adds r0, r4, 0
@@ -11726,7 +11726,7 @@ _081CCB8E:
str r1, [sp, 0x8]
movs r1, 0x7
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r1, =0x00001041
movs r0, 0xC
str r0, [sp]
@@ -11756,7 +11756,7 @@ _081CCBDC:
str r1, [sp, 0x8]
movs r1, 0x7
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrh r1, [r5]
ldrb r2, [r5, 0x3]
adds r0, r4, 0
@@ -12035,7 +12035,7 @@ _081CCE08:
movs r1, 0x7
adds r2, r6, 0
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0x80
lsls r0, 21
adds r4, r0
@@ -15151,7 +15151,7 @@ _081CE7DA:
str r1, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
b _081CE924
_081CE800:
bl sub_81CDD5C
@@ -15176,7 +15176,7 @@ _081CE80C:
str r4, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
add r1, sp, 0xC
movs r0, 0xFC
strb r0, [r1]
@@ -15202,7 +15202,7 @@ _081CE80C:
movs r1, 0x1
add r2, sp, 0xC
movs r3, 0x4
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
bl sub_81CDD48
adds r1, r0, 0
lsls r1, 16
@@ -15218,7 +15218,7 @@ _081CE80C:
movs r1, 0x1
add r2, sp, 0xC
movs r3, 0x1C
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
b _081CE924
.pool
_081CE89C:
@@ -17198,7 +17198,7 @@ sub_81CF7F4: @ 81CF7F4
movs r1, 0x1
adds r2, r5, 0
movs r3, 0x4
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
adds r0, r4, 0
adds r1, r7, 0
movs r2, 0x1
@@ -17214,7 +17214,7 @@ sub_81CF7F4: @ 81CF7F4
movs r1, 0x1
adds r2, r4, 0
movs r3, 0x22
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
mov r1, r8
ldrb r0, [r1, 0x8]
movs r1, 0x2
@@ -18597,7 +18597,7 @@ sub_81D02B0: @ 81D02B0
adds r0, r4, 0
movs r1, 0x1
add r2, sp, 0xC
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
add sp, 0x1C
pop {r4,r5}
pop {r0}
@@ -20108,7 +20108,7 @@ sub_81D0E84: @ 81D0E84
movs r1, 0x1
movs r2, 0
movs r3, 0x1
- bl box_print
+ bl AddTextPrinterParameterized3
ldrb r0, [r5, 0xA]
movs r1, 0x2
bl CopyWindowToVram
@@ -20155,7 +20155,7 @@ _081D0F2E:
str r1, [sp, 0x8]
movs r1, 0x1
movs r2, 0
- bl box_print
+ bl AddTextPrinterParameterized3
movs r0, 0x80
lsls r0, 21
adds r5, r0
@@ -20195,7 +20195,7 @@ _081D0F7C:
str r1, [sp, 0x8]
movs r1, 0x1
movs r2, 0
- bl box_print
+ bl AddTextPrinterParameterized3
movs r0, 0x80
lsls r0, 21
adds r6, r0
@@ -20260,7 +20260,7 @@ sub_81D0FF0: @ 81D0FF0
movs r1, 0x1
adds r2, r4, 0
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrb r0, [r6]
cmp r0, 0
beq _081D1040
@@ -20305,7 +20305,7 @@ _081D104A:
movs r1, 0x1
adds r2, r5, 0
movs r3, 0x3C
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
adds r0, r4, 0
movs r1, 0x2
bl CopyWindowToVram
@@ -20379,7 +20379,7 @@ sub_81D10D0: @ 81D10D0
str r1, [sp, 0x8]
movs r1, 0x1
adds r2, r5, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
mov r1, r8
ldrb r0, [r1, 0xC]
movs r1, 0x2
@@ -21106,7 +21106,7 @@ _081D1D8C:
movs r1, 0x1
movs r2, 0x8
adds r3, r5, 0
- bl AddTextPrinterParameterized2
+ bl AddTextPrinterParameterized4
_081D1DAC:
add sp, 0x34
pop {r4,r5}
@@ -22636,7 +22636,7 @@ sub_81D28FC: @ 81D28FC
movs r0, 0
movs r1, 0x1
adds r2, r5, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r5, =gText_PPSlash
movs r1, 0x29
mov r10, r1
@@ -22648,7 +22648,7 @@ sub_81D28FC: @ 81D28FC
movs r1, 0x1
adds r2, r5, 0
movs r3, 0x4
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r5, =gText_PowerSlash
movs r0, 0x1
adds r1, r5, 0
@@ -22665,7 +22665,7 @@ sub_81D28FC: @ 81D28FC
movs r0, 0
movs r1, 0x1
adds r2, r5, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r5, =gText_AccuracySlash
movs r0, 0x1
adds r1, r5, 0
@@ -22682,7 +22682,7 @@ sub_81D28FC: @ 81D28FC
movs r0, 0
movs r1, 0x1
adds r2, r5, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0x2
negs r0, r0
cmp r9, r0
@@ -22713,7 +22713,7 @@ _081D29C4:
movs r1, 0x1
adds r2, r5, 0
movs r3, 0x4
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r1, =gText_PPSlash
movs r0, 0x1
movs r2, 0
@@ -22734,7 +22734,7 @@ _081D29C4:
movs r0, 0
movs r1, 0x1
add r2, sp, 0xC
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrb r0, [r6, 0x1]
cmp r0, 0x1
bhi _081D2A3C
@@ -22758,7 +22758,7 @@ _081D2A4A:
movs r1, 0x1
adds r2, r5, 0
movs r3, 0x6A
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrb r0, [r6, 0x3]
cmp r0, 0
bne _081D2A70
@@ -22783,7 +22783,7 @@ _081D2A7E:
movs r1, 0x1
adds r2, r5, 0
movs r3, 0x6A
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r1, =gMoveDescriptionPointers
mov r0, r9
subs r0, 0x1
@@ -22798,7 +22798,7 @@ _081D2A7E:
movs r1, 0x7
adds r2, r5, 0
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
_081D2AB6:
add sp, 0x2C
pop {r3-r5}
@@ -22837,7 +22837,7 @@ sub_81D2ACC: @ 81D2ACC
str r6, [sp, 0x8]
movs r1, 0x1
adds r2, r5, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r5, =gText_Appeal2
movs r0, 0x1
adds r1, r5, 0
@@ -22853,7 +22853,7 @@ sub_81D2ACC: @ 81D2ACC
movs r0, 0x1
movs r1, 0x1
adds r2, r5, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r5, =gText_Jam2
movs r0, 0x1
adds r1, r5, 0
@@ -22868,7 +22868,7 @@ sub_81D2ACC: @ 81D2ACC
movs r0, 0x1
movs r1, 0x1
adds r2, r5, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0x2
negs r0, r0
cmp r4, r0
@@ -22896,7 +22896,7 @@ _081D2B6C:
movs r1, 0x1
adds r2, r5, 0
movs r3, 0x4
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r1, =gContestEffectDescriptionPointers
ldrb r0, [r4]
lsls r0, 2
@@ -22910,7 +22910,7 @@ _081D2B6C:
movs r1, 0x7
adds r2, r5, 0
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0x1
movs r1, 0x2
bl CopyWindowToVram
@@ -22971,7 +22971,7 @@ sub_81D2BF4: @ 81D2BF4
str r0, [sp, 0xC]
movs r1, 0x1
adds r2, r4, 0
- bl AddTextPrinterParameterized
+ bl AddTextPrinterParameterized2
add sp, 0x10
pop {r4}
pop {r0}
@@ -24413,7 +24413,7 @@ _081D36CA:
movs r1, 0x1
movs r2, 0
adds r3, r5, 0
- bl box_print
+ bl AddTextPrinterParameterized3
lsls r0, r7, 1
mov r4, sp
adds r4, r0
@@ -24436,7 +24436,7 @@ _081D3704:
movs r1, 0x1
movs r2, 0x38
adds r3, r5, 0
- bl box_print
+ bl AddTextPrinterParameterized3
movs r0, 0
ldrsh r1, [r4, r0]
adds r0, r1, 0
@@ -24467,7 +24467,7 @@ _081D373A:
mov r0, r8
movs r1, 0x1
adds r3, r5, 0
- bl box_print
+ bl AddTextPrinterParameterized3
adds r0, r7, 0x1
lsls r0, 16
lsrs r7, r0, 16
@@ -24585,7 +24585,7 @@ _081D3808:
movs r1, 0x1
movs r2, 0
adds r3, r5, 0
- bl box_print
+ bl AddTextPrinterParameterized3
adds r4, 0x38
lsls r4, 24
lsrs r4, 24
@@ -24599,7 +24599,7 @@ _081D3808:
movs r1, 0x1
adds r2, r4, 0
adds r3, r5, 0
- bl box_print
+ bl AddTextPrinterParameterized3
adds r0, r6, 0x1
lsls r0, 16
lsrs r6, r0, 16
@@ -28079,8 +28079,8 @@ sub_81D5520: @ 81D5520
.pool
thumb_func_end sub_81D5520
- thumb_func_start sub_81D5530
-sub_81D5530: @ 81D5530
+ thumb_func_start GetTrainerHillOpponentClass
+GetTrainerHillOpponentClass: @ 81D5530
lsls r0, 24
movs r1, 0xFF
lsls r1, 24
@@ -28096,10 +28096,10 @@ sub_81D5530: @ 81D5530
ldrb r0, [r0]
bx lr
.pool
- thumb_func_end sub_81D5530
+ thumb_func_end GetTrainerHillOpponentClass
- thumb_func_start sub_81D5554
-sub_81D5554: @ 81D5554
+ thumb_func_start GetTrainerHillTrainerName
+GetTrainerHillTrainerName: @ 81D5554
push {r4,lr}
adds r4, r0, 0
lsls r1, 24
@@ -28125,10 +28125,10 @@ _081D556E:
pop {r0}
bx r0
.pool
- thumb_func_end sub_81D5554
+ thumb_func_end GetTrainerHillTrainerName
- thumb_func_start sub_81D5588
-sub_81D5588: @ 81D5588
+ thumb_func_start GetTrainerHillTrainerFrontSpriteId
+GetTrainerHillTrainerFrontSpriteId: @ 81D5588
push {r4,lr}
adds r4, r0, 0
lsls r4, 16
@@ -28160,7 +28160,7 @@ sub_81D5588: @ 81D5588
pop {r1}
bx r1
.pool
- thumb_func_end sub_81D5588
+ thumb_func_end GetTrainerHillTrainerFrontSpriteId
thumb_func_start sub_81D55D0
sub_81D55D0: @ 81D55D0
@@ -28324,8 +28324,8 @@ _081D5722:
.pool
thumb_func_end sub_81D5710
- thumb_func_start sub_81D572C
-sub_81D572C: @ 81D572C
+ thumb_func_start CopyTrainerHillTrainerText
+CopyTrainerHillTrainerText: @ 81D572C
push {r4-r6,lr}
adds r4, r1, 0
lsls r0, 24
@@ -28441,7 +28441,7 @@ _081D580E:
pop {r0}
bx r0
.pool
- thumb_func_end sub_81D572C
+ thumb_func_end CopyTrainerHillTrainerText
thumb_func_start sub_81D581C
sub_81D581C: @ 81D581C
@@ -28979,7 +28979,7 @@ PrintOnTrainerHillRecordsWindow: @ 81D5C8C
movs r0, 0
movs r1, 0x1
movs r3, 0x2
- bl box_print
+ bl AddTextPrinterParameterized3
movs r7, 0x12
movs r0, 0
mov r8, r0
@@ -29002,7 +29002,7 @@ _081D5CD6:
movs r0, 0
movs r1, 0x1
movs r2, 0
- bl box_print
+ bl AddTextPrinterParameterized3
adds r7, 0xF
ldr r0, =gSaveBlock1Ptr
ldr r1, =0x00003718
@@ -29068,7 +29068,7 @@ _081D5CD6:
str r0, [sp, 0x8]
movs r0, 0
movs r1, 0x1
- bl box_print
+ bl AddTextPrinterParameterized3
adds r7, 0x11
movs r1, 0x1
add r8, r1
@@ -29704,7 +29704,7 @@ sub_81D62B4: @ 81D62B4
ldr r0, =gSpecialVar_LastTalked
ldrh r1, [r0]
movs r0, 0x5
- bl sub_81D572C
+ bl CopyTrainerHillTrainerText
bl sub_80982B8
pop {r0}
bx r0
diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s
index 01f29e0a5..33ace5757 100644
--- a/asm/rom_8011DC0.s
+++ b/asm/rom_8011DC0.s
@@ -2831,7 +2831,7 @@ sub_8017020: @ 8017020
thumb_func_start sub_801704C
sub_801704C: @ 801704C
push {lr}
- bl sub_8197224
+ bl RunTextPrintersAndIsPrinter0Active
lsls r0, 16
cmp r0, 0
beq _0801705C
@@ -2871,7 +2871,7 @@ _08017076:
b _080170AE
.pool
_0801709C:
- bl sub_8197224
+ bl RunTextPrintersAndIsPrinter0Active
lsls r0, 16
lsrs r0, 16
cmp r0, 0
@@ -5689,7 +5689,7 @@ _08018720:
movs r1, 0x1
movs r2, 0x4
movs r3, 0x1
- bl AddTextPrinterParameterized2
+ bl AddTextPrinterParameterized4
movs r0, 0
adds r1, r7, 0
movs r2, 0xDE
@@ -5705,7 +5705,7 @@ _08018720:
movs r0, 0
movs r1, 0
movs r3, 0x1
- bl AddTextPrinterParameterized2
+ bl AddTextPrinterParameterized4
movs r0, 0
movs r1, 0x2
bl CopyWindowToVram
@@ -5877,7 +5877,7 @@ sub_8018884: @ 8018884
movs r1, 0x1
movs r2, 0
movs r3, 0x1
- bl AddTextPrinterParameterized2
+ bl AddTextPrinterParameterized4
movs r0, 0x1
movs r1, 0x1
movs r2, 0xF
@@ -6230,7 +6230,7 @@ _08018B4A:
str r1, [sp, 0x10]
movs r1, 0x1
movs r3, 0x1
- bl AddTextPrinterParameterized2
+ bl AddTextPrinterParameterized4
ldrb r0, [r4]
movs r1, 0x1
movs r2, 0xF
@@ -6376,7 +6376,7 @@ _08018C8C:
str r1, [sp, 0x10]
movs r1, 0x1
movs r3, 0x1
- bl AddTextPrinterParameterized2
+ bl AddTextPrinterParameterized4
ldrb r0, [r5]
movs r1, 0x1
movs r2, 0xF
@@ -9928,7 +9928,7 @@ _0801A93A:
adds r0, r7, 0
adds r1, r6, 0
adds r2, r5, 0
- bl AddTextPrinterParameterized2
+ bl AddTextPrinterParameterized4
add sp, 0x18
pop {r4-r7}
pop {r0}
@@ -10249,7 +10249,7 @@ sub_801AB68: @ 801AB68
movs r1, 0x1
adds r2, r6, 0
ldr r3, [sp, 0x14]
- bl AddTextPrinterParameterized2
+ bl AddTextPrinterParameterized4
add sp, 0x18
pop {r3-r5}
mov r8, r3
@@ -12955,7 +12955,7 @@ _0801C1D0:
movs r1, 0x3
movs r2, 0
movs r3, 0x1
- bl box_print
+ bl AddTextPrinterParameterized3
ldr r4, [r7]
movs r1, 0xDA
lsls r1, 1
@@ -12996,7 +12996,7 @@ _0801C22E:
adds r0, r5, 0
movs r1, 0x3
movs r3, 0x11
- bl box_print
+ bl AddTextPrinterParameterized3
ldr r2, [r7]
ldr r0, [r2, 0x4]
mov r9, r6
@@ -13023,7 +13023,7 @@ _0801C266:
movs r1, 0x1
movs r2, 0xA6
movs r3, 0x11
- bl box_print
+ bl AddTextPrinterParameterized3
b _0801C498
.pool
_0801C2A0:
@@ -13064,7 +13064,7 @@ _0801C2A2:
lsrs r0, r2, 24
movs r1, 0x3
movs r2, 0
- bl box_print
+ bl AddTextPrinterParameterized3
adds r4, 0x1
lsls r4, 24
lsrs r0, r4, 24
@@ -13104,7 +13104,7 @@ _0801C304:
adds r0, r5, 0
movs r1, 0x3
movs r2, 0
- bl box_print
+ bl AddTextPrinterParameterized3
ldr r2, [r7]
ldrb r1, [r2, 0x8]
movs r0, 0x3
@@ -13137,7 +13137,7 @@ _0801C304:
adds r0, r5, 0
movs r1, 0x3
movs r2, 0
- bl box_print
+ bl AddTextPrinterParameterized3
mov r9, r6
b _0801C498
.pool
@@ -13202,7 +13202,7 @@ _0801C3CE:
ldr r0, [sp, 0x10]
movs r1, 0x3
ldr r3, [sp, 0x14]
- bl box_print
+ bl AddTextPrinterParameterized3
ldr r1, [r7]
adds r0, r1, r5
ldr r2, =0x00000306
@@ -13240,7 +13240,7 @@ _0801C3CE:
ldr r0, [sp, 0x10]
movs r1, 0x3
ldr r3, [sp, 0x14]
- bl box_print
+ bl AddTextPrinterParameterized3
ldr r1, [r7]
adds r1, r4
adds r1, 0x2A
@@ -14515,7 +14515,7 @@ _0801CEEC:
str r4, [sp, 0x8]
movs r1, 0x3
movs r3, 0x6
- bl box_print
+ bl AddTextPrinterParameterized3
_0801CF1C:
ldr r6, =gUnknown_02022C78
ldr r4, [r6]
@@ -14550,7 +14550,7 @@ _0801CF1C:
str r4, [sp, 0x8]
movs r1, 0x3
movs r2, 0
- bl box_print
+ bl AddTextPrinterParameterized3
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
@@ -20539,7 +20539,7 @@ sub_801FDDC: @ 801FDDC
str r4, [sp, 0x4]
str r6, [sp, 0x8]
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, [r5]
ldrb r0, [r0, 0x18]
ldr r2, =gText_No
@@ -20549,7 +20549,7 @@ sub_801FDDC: @ 801FDDC
str r6, [sp, 0x8]
movs r1, 0x1
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, [r5]
ldrb r0, [r0, 0x18]
movs r1, 0x1
@@ -20757,7 +20757,7 @@ _0801FFE2:
adds r0, r5, 0
movs r1, 0x1
adds r2, r6, 0
- bl sub_8199F74
+ bl AddTextPrinterParameterized5
b _0802007A
.pool
_08020050:
@@ -20779,7 +20779,7 @@ _08020050:
adds r0, r5, 0
movs r1, 0x1
adds r2, r6, 0
- bl sub_8199F74
+ bl AddTextPrinterParameterized5
_0802007A:
ldr r0, =gUnknown_02022C88
ldr r0, [r0]
@@ -20926,7 +20926,7 @@ _08020154:
movs r0, 0x1
movs r1, 0x2
movs r3, 0x1
- bl box_print
+ bl AddTextPrinterParameterized3
add sp, 0x34
pop {r3-r5}
mov r8, r3
@@ -21004,7 +21004,7 @@ _08020206:
movs r0, 0x2
movs r1, 0
lsrs r2, r5, 24
- bl box_print
+ bl AddTextPrinterParameterized3
adds r4, 0x4
adds r7, 0x1
adds r0, r6, 0
@@ -21043,7 +21043,7 @@ _08020248:
movs r4, 0x80
lsls r4, 19
lsrs r2, r4, 24
- bl box_print
+ bl AddTextPrinterParameterized3
adds r0, r7, 0x1
str r0, [sp, 0x48]
adds r6, 0xC
@@ -21094,7 +21094,7 @@ _080202AC:
movs r0, 0x2
movs r1, 0
adds r3, r4, 0
- bl box_print
+ bl AddTextPrinterParameterized3
adds r2, r7, 0
add r0, sp, 0xC
str r0, [sp]
@@ -21106,7 +21106,7 @@ _080202AC:
movs r0, 0x2
movs r1, 0
adds r3, r4, 0
- bl box_print
+ bl AddTextPrinterParameterized3
_08020300:
ldr r7, [sp, 0x48]
mov r4, r10
@@ -21299,7 +21299,7 @@ sub_8020420: @ 8020420
movs r1, 0x2
movs r2, 0
adds r3, r4, 0
- bl box_print
+ bl AddTextPrinterParameterized3
add sp, 0x10
pop {r4,r5}
pop {r0}
@@ -23909,7 +23909,7 @@ sub_80219C8: @ 80219C8
movs r1, 0x2
adds r2, r4, 0
movs r3, 0
- bl box_print
+ bl AddTextPrinterParameterized3
add sp, 0xC
pop {r3}
mov r8, r3
@@ -24217,7 +24217,7 @@ _08021C5E:
ldr r1, =gStringVar4
str r1, [sp, 0x8]
movs r1, 0x2
- bl box_print
+ bl AddTextPrinterParameterized3
ldr r3, [sp, 0x18]
ldr r2, [sp, 0xC]
ldrb r2, [r2, 0x8]
@@ -24260,7 +24260,7 @@ _08021CC8:
str r2, [sp, 0x8]
movs r1, 0x2
movs r2, 0x4
- bl box_print
+ bl AddTextPrinterParameterized3
lsls r0, r5, 24
lsrs r5, r0, 24
ldr r3, [sp, 0xC]
@@ -24324,7 +24324,7 @@ sub_8021D34: @ 8021D34
movs r1, 0x2
movs r2, 0
adds r3, r7, 0
- bl box_print
+ bl AddTextPrinterParameterized3
ldr r4, =gText_SpaceSec
movs r0, 0x2
adds r1, r4, 0
@@ -24345,7 +24345,7 @@ sub_8021D34: @ 8021D34
movs r1, 0x2
adds r2, r6, 0
adds r3, r7, 0
- bl box_print
+ bl AddTextPrinterParameterized3
movs r0, 0x9F
lsls r0, 1
add r0, r8
@@ -24386,7 +24386,7 @@ sub_8021D34: @ 8021D34
movs r1, 0x2
adds r2, r6, 0
adds r3, r7, 0
- bl box_print
+ bl AddTextPrinterParameterized3
ldr r4, =gText_SpaceMin
movs r0, 0x2
adds r1, r4, 0
@@ -24406,7 +24406,7 @@ sub_8021D34: @ 8021D34
movs r1, 0x2
adds r2, r6, 0
adds r3, r7, 0
- bl box_print
+ bl AddTextPrinterParameterized3
movs r0, 0x9E
lsls r0, 1
add r0, r8
@@ -24437,7 +24437,7 @@ sub_8021D34: @ 8021D34
movs r1, 0x2
adds r2, r6, 0
adds r3, r7, 0
- bl box_print
+ bl AddTextPrinterParameterized3
adds r0, r7, 0
adds r0, 0xE
lsls r0, 24
@@ -24452,7 +24452,7 @@ sub_8021D34: @ 8021D34
movs r1, 0x2
movs r2, 0
adds r3, r7, 0
- bl box_print
+ bl AddTextPrinterParameterized3
ldr r4, =gText_TimesPerSec
movs r0, 0x2
adds r1, r4, 0
@@ -24474,7 +24474,7 @@ sub_8021D34: @ 8021D34
movs r1, 0x2
adds r2, r6, 0
adds r3, r7, 0
- bl box_print
+ bl AddTextPrinterParameterized3
mov r4, r8
ldrb r2, [r4, 0x16]
ldrh r0, [r4, 0x16]
@@ -24555,7 +24555,7 @@ _08021F0A:
movs r1, 0x2
adds r2, r6, 0
adds r3, r7, 0
- bl box_print
+ bl AddTextPrinterParameterized3
b _08021FDE
.pool
_08021FC4:
@@ -24570,7 +24570,7 @@ _08021FC4:
movs r1, 0x2
adds r2, r6, 0
adds r3, r7, 0
- bl box_print
+ bl AddTextPrinterParameterized3
_08021FDE:
adds r0, r7, 0
adds r0, 0xE
@@ -24591,7 +24591,7 @@ _08021FDE:
movs r1, 0x2
movs r2, 0
adds r3, r7, 0
- bl box_print
+ bl AddTextPrinterParameterized3
ldr r0, =gStringVar1
ldr r4, [sp, 0x10]
ldrh r1, [r4, 0x8]
@@ -24620,7 +24620,7 @@ _08021FDE:
movs r1, 0x2
adds r2, r6, 0
adds r3, r7, 0
- bl box_print
+ bl AddTextPrinterParameterized3
add sp, 0x1C
pop {r3-r5}
mov r8, r3
@@ -24942,7 +24942,7 @@ _080222D0:
movs r1, 0x1
adds r2, r7, 0
movs r3, 0x1
- bl box_print
+ bl AddTextPrinterParameterized3
ldr r0, =gText_PressingSpeedRankings
mov r10, r0
movs r0, 0x1
@@ -24962,7 +24962,7 @@ _080222D0:
movs r1, 0x1
adds r2, r7, 0
movs r3, 0x11
- bl box_print
+ bl AddTextPrinterParameterized3
movs r0, 0x29
mov r10, r0
_08022336:
@@ -24985,7 +24985,7 @@ _08022336:
movs r1, 0x1
movs r2, 0
mov r3, r10
- bl box_print
+ bl AddTextPrinterParameterized3
movs r0, 0x1
ldr r1, =gText_TimesPerSec
movs r2, 0x1
@@ -25005,7 +25005,7 @@ _08022336:
movs r1, 0x1
adds r2, r7, 0
mov r3, r10
- bl box_print
+ bl AddTextPrinterParameterized3
movs r2, 0
mov r0, r9
lsls r4, r0, 1
@@ -25078,7 +25078,7 @@ _080223CA:
movs r1, 0x1
adds r2, r7, 0
mov r3, r10
- bl box_print
+ bl AddTextPrinterParameterized3
ldr r1, [sp, 0x10]
lsls r0, r1, 24
lsrs r0, 24
@@ -25326,7 +25326,7 @@ _08022616:
str r4, [sp, 0x10]
movs r1, 0x2
movs r3, 0x1
- bl AddTextPrinterParameterized2
+ bl AddTextPrinterParameterized4
b _0802269C
.pool
_08022668:
@@ -25353,7 +25353,7 @@ _08022668:
str r4, [sp, 0x10]
movs r1, 0x2
movs r3, 0x1
- bl AddTextPrinterParameterized2
+ bl AddTextPrinterParameterized4
_0802269C:
ldr r1, =0x000001bb
adds r0, r6, r1
@@ -26229,7 +26229,7 @@ _08022D42:
movs r0, 0
movs r1, 0x1
adds r2, r4, 0
- bl AddTextPrinterParameterized
+ bl AddTextPrinterParameterized2
b _08022DB2
.pool
_08022D90:
@@ -26248,7 +26248,7 @@ _08022D90:
str r0, [sp, 0xC]
movs r0, 0
movs r1, 0x1
- bl AddTextPrinterParameterized
+ bl AddTextPrinterParameterized2
_08022DB2:
movs r0, 0
movs r1, 0x3
@@ -28812,7 +28812,7 @@ _080241A6:
movs r0, 0
movs r1, 0x1
movs r3, 0
- bl AddTextPrinterParameterized
+ bl AddTextPrinterParameterized2
movs r0, 0
movs r1, 0x3
bl CopyWindowToVram
@@ -29171,7 +29171,7 @@ _08024460:
str r1, [sp, 0xC]
movs r0, 0
movs r1, 0x1
- bl AddTextPrinterParameterized
+ bl AddTextPrinterParameterized2
b _080244AC
.pool
_08024490:
@@ -29187,7 +29187,7 @@ _08024490:
str r0, [sp, 0xC]
movs r0, 0
movs r1, 0x1
- bl AddTextPrinterParameterized
+ bl AddTextPrinterParameterized2
_080244AC:
movs r0, 0
movs r1, 0x3
@@ -29653,7 +29653,7 @@ sub_80247D4: @ 80247D4
movs r1, 0x1
mov r2, r9
mov r3, r8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
add sp, 0xC
pop {r3,r4}
mov r8, r3
@@ -29695,7 +29695,7 @@ sub_802482C: @ 802482C
adds r0, r6, 0
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
str r4, [sp]
adds r0, r6, 0
mov r1, r8
@@ -36210,7 +36210,7 @@ sub_8027BEC: @ 8027BEC
adds r0, r7, 0
movs r1, 0x1
adds r2, r4, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r6, 0
ldr r2, =gStringVar1
mov r8, r2
@@ -36252,7 +36252,7 @@ _08027C76:
adds r0, r7, 0
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r2, [sp, 0x18]
lsls r3, r2, 3
subs r3, r5
@@ -36269,7 +36269,7 @@ _08027C76:
adds r0, r7, 0
movs r1, 0x1
mov r2, r8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
adds r6, 0x1
cmp r6, 0x2
ble _08027C76
@@ -39391,7 +39391,7 @@ _0802955A:
str r4, [sp, 0x8]
movs r1, 0x1
movs r3, 0x1
- bl box_print
+ bl AddTextPrinterParameterized3
mov r2, r10
ldr r0, [r2]
add r0, r9
@@ -39648,7 +39648,7 @@ _08029774:
str r3, [sp, 0x8]
movs r1, 0x1
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
bl GetMultiplayerId
lsls r0, 24
lsrs r0, 24
@@ -39677,7 +39677,7 @@ _080297CC:
movs r1, 0x1
movs r2, 0x1C
adds r3, r6, 0
- bl box_print
+ bl AddTextPrinterParameterized3
add r0, sp, 0xC
mov r1, r9
movs r2, 0
@@ -39704,7 +39704,7 @@ _080297CC:
str r1, [sp, 0x8]
movs r1, 0x1
add r2, sp, 0xC
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r2, =gUnknown_02022CF8
ldr r0, [r2]
add r0, r10
@@ -39719,7 +39719,7 @@ _080297CC:
movs r1, 0x1
ldr r2, =gText_SpacePoints
lsrs r3, 24
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
@@ -39858,7 +39858,7 @@ _0802996C:
movs r5, 0
str r5, [sp, 0x8]
mov r2, r8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, [r4]
add r0, r9
ldrb r0, [r0]
@@ -39869,7 +39869,7 @@ _0802996C:
str r5, [sp, 0x8]
movs r1, 0x1
movs r3, 0x44
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
mov r9, r5
ldr r0, [sp, 0xC]
cmp r9, r0
@@ -39908,7 +39908,7 @@ _080299F2:
str r6, [sp, 0x8]
movs r1, 0x1
movs r2, 0
- bl box_print
+ bl AddTextPrinterParameterized3
movs r7, 0
mov r8, r5
mov r0, r9
@@ -39971,7 +39971,7 @@ _08029A36:
mov r1, r10
str r1, [sp, 0x8]
movs r1, 0x1
- bl box_print
+ bl AddTextPrinterParameterized3
b _08029B10
.pool
_08029AE0:
@@ -39997,7 +39997,7 @@ _08029AE0:
str r1, [sp, 0x8]
movs r1, 0x1
ldr r2, =gStringVar4
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
_08029B10:
adds r0, r7, 0x1
lsls r0, 24
@@ -40125,7 +40125,7 @@ _08029BFC:
str r1, [sp, 0x8]
movs r1, 0x1
adds r2, r6, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
b _08029F88
.pool
_08029C60:
@@ -40291,7 +40291,7 @@ _08029DA0:
str r6, [sp, 0x8]
movs r1, 0x1
adds r2, r5, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
bl DynamicPlaceholderTextUtil_Reset
bl sub_802762C
lsls r0, 16
@@ -40317,7 +40317,7 @@ _08029DA0:
movs r1, 0x1
adds r2, r7, 0
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
bl sub_80279C8
lsls r0, 24
lsrs r4, r0, 24
@@ -40363,7 +40363,7 @@ _08029EA8:
str r1, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
_08029EC8:
ldr r4, =gUnknown_02022CF8
ldr r0, [r4]
@@ -40597,7 +40597,7 @@ _0802A0CC:
str r1, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, [r7]
add r0, r10
ldrb r0, [r0]
@@ -40609,7 +40609,7 @@ _0802A0CC:
str r1, [sp, 0x8]
movs r1, 0x1
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, [r7]
add r0, r10
ldrb r0, [r0]
@@ -40622,7 +40622,7 @@ _0802A0CC:
str r1, [sp, 0x8]
movs r1, 0x1
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, [r7]
add r0, r10
ldrb r0, [r0]
@@ -40634,7 +40634,7 @@ _0802A0CC:
str r1, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, [r7]
add r0, r8
ldrb r0, [r0]
@@ -40701,7 +40701,7 @@ _0802A1DC:
str r1, [sp, 0x8]
movs r1, 0x1
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, [r7]
add r0, r8
ldrb r0, [r0]
@@ -40714,7 +40714,7 @@ _0802A1DC:
str r1, [sp, 0x8]
movs r1, 0x1
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, [r7]
add r0, r8
ldrb r0, [r0]
@@ -40731,7 +40731,7 @@ _0802A1DC:
str r1, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, [r7]
add r0, r8
ldrb r0, [r0]
@@ -40901,7 +40901,7 @@ _0802A3AE:
movs r0, 0
movs r1, 0x1
movs r3, 0
- bl AddTextPrinterParameterized
+ bl AddTextPrinterParameterized2
b _0802A410
.pool
_0802A3D8:
@@ -41021,7 +41021,7 @@ _0802A4AC:
str r1, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, [r5]
adds r0, r4
ldrb r0, [r0]
@@ -41181,7 +41181,7 @@ _0802A610:
str r1, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, [r6]
adds r0, r4
ldrb r0, [r0]
@@ -47057,7 +47057,7 @@ _0802D46A:
str r4, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, [r5]
ldrb r0, [r0, 0x12]
movs r1, 0x2
@@ -47141,7 +47141,7 @@ _0802D516:
str r4, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, [r5]
ldrb r0, [r0, 0x12]
movs r1, 0x2
@@ -47259,7 +47259,7 @@ _0802D606:
str r4, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, [r5]
ldrb r0, [r0, 0x12]
movs r1, 0x2
@@ -47339,7 +47339,7 @@ _0802D6AA:
str r4, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, [r5]
ldrb r0, [r0, 0x12]
movs r1, 0x2
@@ -47538,7 +47538,7 @@ sub_802D7E8: @ 802D7E8
str r1, [sp, 0x4]
str r3, [sp, 0x8]
movs r1, 0x1
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, [r5]
ldrb r0, [r0, 0x12]
movs r1, 0x2
@@ -47592,7 +47592,7 @@ sub_802D884: @ 802D884
str r5, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, [r4]
ldrb r0, [r0, 0x12]
movs r1, 0x2
@@ -47645,7 +47645,7 @@ sub_802D8FC: @ 802D8FC
str r5, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, [r4]
ldrb r0, [r0, 0x12]
movs r1, 0x2
@@ -47951,7 +47951,7 @@ sub_802DB8C: @ 802DB8C
movs r1, 0
movs r2, 0
movs r3, 0x1
- bl box_print
+ bl AddTextPrinterParameterized3
add r0, sp, 0xC
str r0, [sp]
str r4, [sp, 0x4]
@@ -47961,7 +47961,7 @@ sub_802DB8C: @ 802DB8C
movs r1, 0
movs r2, 0
movs r3, 0x1
- bl box_print
+ bl AddTextPrinterParameterized3
add sp, 0x10
pop {r4}
pop {r0}
@@ -48390,7 +48390,7 @@ sub_802DED8: @ 802DED8
movs r1, 0x1
adds r2, r4, 0
movs r3, 0x1
- bl box_print
+ bl AddTextPrinterParameterized3
ldr r0, [r6]
adds r0, 0x1C
add r0, r8
@@ -49203,7 +49203,7 @@ sub_802E500: @ 802E500
adds r0, r4, 0
movs r1, 0x1
adds r2, r5, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r6, 0
adds r7, r4, 0
movs r0, 0xFF
@@ -49231,7 +49231,7 @@ _0802E58A:
adds r0, r7, 0
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, [sp, 0x20]
ldm r0!, {r1}
str r0, [sp, 0x20]
@@ -49258,7 +49258,7 @@ _0802E58A:
adds r0, r7, 0
movs r1, 0x1
adds r2, r5, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0x80
lsls r0, 21
add r8, r0
diff --git a/asm/roulette.s b/asm/roulette.s
index b0098daf6..f5d2dc372 100644
--- a/asm/roulette.s
+++ b/asm/roulette.s
@@ -519,7 +519,7 @@ _081406E0:
str r5, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrb r0, [r4]
movs r1, 0x3
bl CopyWindowToVram
@@ -751,7 +751,7 @@ sub_8140914: @ 8140914
str r1, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrb r0, [r5]
movs r1, 0x3
bl CopyWindowToVram
@@ -2655,7 +2655,7 @@ _08141902:
str r1, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrb r0, [r4]
movs r1, 0x3
bl CopyWindowToVram
@@ -2678,7 +2678,7 @@ _08141928:
str r1, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrb r0, [r4]
movs r1, 0x3
bl CopyWindowToVram
@@ -2816,7 +2816,7 @@ sub_8141A18: @ 8141A18
movs r1, 0x1
mov r2, r8
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrb r0, [r5]
movs r1, 0x3
bl CopyWindowToVram
@@ -3012,7 +3012,7 @@ _08141BB0:
str r1, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrb r0, [r4]
movs r1, 0x3
bl CopyWindowToVram
@@ -3039,7 +3039,7 @@ _08141C58:
str r1, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrb r0, [r4]
movs r1, 0x3
bl CopyWindowToVram
@@ -3071,7 +3071,7 @@ _08141CBC:
str r1, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrb r0, [r4]
movs r1, 0x3
bl CopyWindowToVram
@@ -3158,7 +3158,7 @@ _08141D44:
str r1, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldrb r0, [r4]
movs r1, 0x3
bl CopyWindowToVram
@@ -4676,7 +4676,7 @@ sub_81429F0: @ 81429F0
movs r1, 0x1
adds r2, r4, 0
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0
movs r1, 0x3
bl CopyWindowToVram
@@ -4753,7 +4753,7 @@ sub_8142A88: @ 8142A88
str r0, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0
movs r1, 0x3
bl CopyWindowToVram
@@ -4778,7 +4778,7 @@ _08142B28:
movs r1, 0x1
adds r2, r4, 0
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0
movs r1, 0x3
bl CopyWindowToVram
@@ -4808,7 +4808,7 @@ _08142B78:
movs r1, 0x1
adds r2, r5, 0
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0
movs r1, 0x3
bl CopyWindowToVram
diff --git a/asm/script_menu.s b/asm/script_menu.s
index b521121bf..bb145e78d 100644
--- a/asm/script_menu.s
+++ b/asm/script_menu.s
@@ -761,7 +761,7 @@ _080E23D4:
adds r0, r6, 0
movs r1, 0x1
adds r3, r7, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r2, =gText_LogOff
movs r0, 0x31
str r0, [sp]
@@ -770,7 +770,7 @@ _080E23D4:
adds r0, r6, 0
movs r1, 0x1
adds r3, r7, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
b _080E247A
.pool
_080E2448:
@@ -795,7 +795,7 @@ _080E2448:
adds r0, r6, 0
movs r1, 0x1
adds r3, r7, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
_080E247A:
ldr r0, =0x000008ab
bl FlagGet
@@ -813,7 +813,7 @@ _080E247A:
adds r0, r6, 0
movs r1, 0x1
adds r3, r7, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
b _080E24C6
.pool
_080E24B0:
@@ -826,7 +826,7 @@ _080E24B0:
adds r0, r6, 0
movs r1, 0x1
adds r3, r7, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
_080E24C6:
ldr r4, =gStringVar4
ldr r1, =gText_PlayersPC
@@ -877,7 +877,7 @@ ScriptMenu_DisplayPCStartupPrompt: @ 80E2514
movs r0, 0
movs r1, 0x1
movs r3, 0
- bl AddTextPrinterParameterized
+ bl AddTextPrinterParameterized2
add sp, 0x10
pop {r0}
bx r0
@@ -1228,7 +1228,7 @@ _080E2802:
adds r0, r6, 0
movs r1, 0x1
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
@@ -1606,7 +1606,7 @@ _080E2B12:
movs r0, 0
movs r1, 0x1
movs r3, 0
- bl AddTextPrinterParameterized
+ bl AddTextPrinterParameterized2
b _080E2B70
.pool
_080E2B40:
@@ -1630,7 +1630,7 @@ _080E2B40:
movs r0, 0
movs r1, 0x1
movs r3, 0
- bl AddTextPrinterParameterized
+ bl AddTextPrinterParameterized2
_080E2B70:
add sp, 0x10
pop {r4}
@@ -1687,7 +1687,7 @@ CreateStartMenu: @ 80E2BAC
adds r0, r4, 0
movs r1, 0x1
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r2, =gText_MenuOptionPokemon
movs r0, 0x19
str r0, [sp]
@@ -1696,7 +1696,7 @@ CreateStartMenu: @ 80E2BAC
adds r0, r4, 0
movs r1, 0x1
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r2, =gText_MenuOptionBag
movs r0, 0x29
str r0, [sp]
@@ -1705,7 +1705,7 @@ CreateStartMenu: @ 80E2BAC
adds r0, r4, 0
movs r1, 0x1
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r2, =gText_MenuOptionPokenav
movs r0, 0x39
str r0, [sp]
@@ -1714,7 +1714,7 @@ CreateStartMenu: @ 80E2BAC
adds r0, r4, 0
movs r1, 0x1
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, =gSaveBlock2Ptr
ldr r2, [r0]
movs r0, 0x49
@@ -1724,7 +1724,7 @@ CreateStartMenu: @ 80E2BAC
adds r0, r4, 0
movs r1, 0x1
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r2, =gText_MenuOptionSave
movs r0, 0x59
str r0, [sp]
@@ -1733,7 +1733,7 @@ CreateStartMenu: @ 80E2BAC
adds r0, r4, 0
movs r1, 0x1
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r2, =gText_MenuOptionOption
movs r0, 0x69
str r0, [sp]
@@ -1742,7 +1742,7 @@ CreateStartMenu: @ 80E2BAC
adds r0, r4, 0
movs r1, 0x1
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r2, =gText_MenuOptionExit
movs r0, 0x79
str r0, [sp]
@@ -1751,7 +1751,7 @@ CreateStartMenu: @ 80E2BAC
adds r0, r4, 0
movs r1, 0x1
movs r3, 0x8
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0x10
str r0, [sp]
movs r0, 0x8
diff --git a/asm/slot_machine.s b/asm/slot_machine.s
deleted file mode 100644
index fe8acf6d6..000000000
--- a/asm/slot_machine.s
+++ /dev/null
@@ -1,8535 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8102A64
-sub_8102A64: @ 812BAFC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085A74C4
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_0812BB0E:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _0812BB0E
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8102A64
-
- thumb_func_start sub_812BB34
-sub_812BB34: @ 812BB34
- push {r4,lr}
- adds r4, r0, 0
- bl sub_812CF6C
- lsls r0, 24
- cmp r0, 0
- beq _0812BB60
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0812BB60
- movs r0, 0x2
- strh r0, [r4, 0x8]
- movs r0, 0x1
- b _0812BB62
- .pool
-_0812BB60:
- movs r0, 0
-_0812BB62:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_812BB34
-
- thumb_func_start sub_812BB68
-sub_812BB68: @ 812BB68
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0812BBBC
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _0812BB8E
- movs r0, 0x15
- bl PlaySE
-_0812BB8E:
- ldr r0, =sSlotMachine
- ldr r2, [r0]
- ldrh r0, [r2, 0xE]
- subs r0, 0x1
- strh r0, [r2, 0xE]
- ldrh r3, [r2, 0xC]
- movs r0, 0xC
- ldrsh r1, [r2, r0]
- ldr r0, =0x0000270e
- cmp r1, r0
- bgt _0812BBA8
- adds r0, r3, 0x1
- strh r0, [r2, 0xC]
-_0812BBA8:
- movs r0, 0x8
- strh r0, [r4, 0xA]
- ldr r0, =gMain
- ldrh r1, [r0, 0x2C]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0812BBBC
- movs r0, 0x4
- strh r0, [r4, 0xA]
-_0812BBBC:
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _0812BBF6
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0812BBF6
- movs r0, 0x15
- bl PlaySE
- ldr r1, =sSlotMachine
- ldr r2, [r1]
- ldrh r0, [r2, 0xE]
- ldrh r3, [r2, 0xC]
- adds r0, r3
- strh r0, [r2, 0xC]
- lsls r0, 16
- asrs r0, 16
- ldr r3, =0x0000270f
- cmp r0, r3
- ble _0812BBF0
- strh r3, [r2, 0xC]
-_0812BBF0:
- ldr r1, [r1]
- movs r0, 0
- strh r0, [r1, 0xE]
-_0812BBF6:
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0812BC08
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0812BC08:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_812BB68
-
- thumb_func_start sub_812BC20
-sub_812BC20: @ 812BC20
- push {lr}
- bl sub_812CFB8
- lsls r0, 24
- cmp r0, 0
- beq _0812BC3A
- ldr r0, =sub_8102A64
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_0812BC3A:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_812BC20
-
- thumb_func_start GetTagOfReelSymbolOnScreenAtPos
-GetTagOfReelSymbolOnScreenAtPos: @ 812BC44
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- lsls r2, r4, 1
- adds r0, 0x28
- adds r0, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- lsls r1, 16
- asrs r1, 16
- adds r0, r1
- movs r1, 0x15
- bl __modsi3
- lsls r0, 16
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _0812BC76
- adds r0, 0x15
- lsls r0, 16
- lsrs r1, r0, 16
-_0812BC76:
- ldr r2, =gUnknown_085A766E
- lsls r1, 16
- asrs r1, 16
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 2
- adds r0, r4
- adds r1, r0
- adds r1, r2
- ldrb r0, [r1]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetTagOfReelSymbolOnScreenAtPos
-
- thumb_func_start sub_812BC98
-sub_812BC98: @ 812BC98
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- movs r6, 0
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x1C
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x18
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- beq _0812BCC2
- ldr r6, =0x0000ffff
-_0812BCC2:
- lsls r1, r5, 16
- asrs r1, 16
- lsls r0, r6, 16
- asrs r0, 16
- adds r1, r0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl GetTagOfReelSymbolOnScreenAtPos
- lsls r0, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_812BC98
-
- thumb_func_start sub_812BCE8
-sub_812BCE8: @ 812BCE8
- push {lr}
- ldr r1, =sSlotMachine
- ldr r1, [r1]
- movs r2, 0x16
- ldrsh r1, [r1, r2]
- lsls r0, 16
- asrs r0, 16
- adds r1, r0
- adds r0, r1, 0
- movs r1, 0x6
- bl __modsi3
- lsls r0, 16
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _0812BD10
- adds r0, 0x6
- lsls r0, 16
- lsrs r1, r0, 16
-_0812BD10:
- ldr r0, =gUnknown_085A76AD
- lsls r1, 16
- asrs r1, 16
- adds r1, r0
- ldrb r0, [r1]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_812BCE8
-
- thumb_func_start sub_812BD28
-sub_812BD28: @ 812BD28
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r5, 24
- ldr r0, =sSlotMachine
- ldr r6, [r0]
- lsrs r5, 23
- adds r4, r6, 0
- adds r4, 0x1C
- adds r4, r5
- lsls r1, 16
- asrs r1, 16
- ldrh r0, [r4]
- adds r1, r0
- strh r1, [r4]
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0xFC
- lsls r1, 1
- bl __modsi3
- strh r0, [r4]
- adds r6, 0x28
- adds r6, r5
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x18
- bl __divsi3
- movs r1, 0x15
- subs r1, r0
- strh r1, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812BD28
-
- thumb_func_start sub_812BD70
-sub_812BD70: @ 812BD70
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r7, =sSlotMachine
- ldr r0, [r7]
- lsls r6, r5, 1
- adds r0, 0x1C
- adds r0, r6
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x18
- bl __modsi3
- lsls r0, 16
- lsrs r0, 16
- lsls r2, r0, 16
- asrs r1, r2, 16
- cmp r1, 0
- beq _0812BDC4
- lsls r0, r4, 16
- asrs r0, 16
- cmp r1, r0
- bge _0812BDA6
- lsrs r4, r2, 16
-_0812BDA6:
- lsls r1, r4, 16
- asrs r1, 16
- adds r0, r5, 0
- bl sub_812BD28
- ldr r0, [r7]
- adds r0, 0x1C
- adds r0, r6
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x18
- bl __modsi3
- lsls r0, 16
- lsrs r0, 16
-_0812BDC4:
- lsls r0, 16
- asrs r0, 16
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_812BD70
-
- thumb_func_start sub_812BDD4
-sub_812BDD4: @ 812BDD4
- push {r4,lr}
- ldr r1, =sSlotMachine
- ldr r4, [r1]
- lsls r0, 16
- asrs r0, 16
- ldrh r1, [r4, 0x14]
- adds r0, r1
- strh r0, [r4, 0x14]
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- movs r1, 0x78
- bl __modsi3
- strh r0, [r4, 0x14]
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- movs r1, 0x14
- bl __divsi3
- movs r1, 0x6
- subs r1, r0
- strh r1, [r4, 0x16]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812BDD4
-
- thumb_func_start sub_812BE0C
-sub_812BE0C: @ 812BE0C
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r5, =sSlotMachine
- ldr r0, [r5]
- movs r1, 0x14
- ldrsh r0, [r0, r1]
- movs r1, 0x14
- bl __modsi3
- lsls r0, 16
- lsrs r0, 16
- lsls r2, r0, 16
- asrs r1, r2, 16
- cmp r1, 0
- beq _0812BE4E
- lsls r0, r4, 16
- asrs r0, 16
- cmp r1, r0
- bge _0812BE36
- lsrs r4, r2, 16
-_0812BE36:
- lsls r0, r4, 16
- asrs r0, 16
- bl sub_812BDD4
- ldr r0, [r5]
- movs r1, 0x14
- ldrsh r0, [r0, r1]
- movs r1, 0x14
- bl __modsi3
- lsls r0, 16
- lsrs r0, 16
-_0812BE4E:
- lsls r0, 16
- asrs r0, 16
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_812BE0C
-
- thumb_func_start sub_8102DA8
-sub_8102DA8: @ 812BE5C
- push {r4-r6,lr}
- movs r4, 0
- ldr r5, =sub_812BF2C
- ldr r6, =gTasks
-_0812BE64:
- adds r0, r5, 0
- movs r1, 0x2
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r6
- strh r4, [r1, 0x26]
- ldr r1, =sSlotMachine
- ldr r1, [r1]
- adds r1, 0x3A
- adds r1, r4
- strb r0, [r1]
- bl _call_via_r5
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _0812BE64
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8102DA8
-
- thumb_func_start sub_8102DEC
-sub_8102DEC: @ 812BEA4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gTasks
- ldr r1, =sSlotMachine
- ldr r2, [r1]
- adds r2, 0x3A
- adds r2, r0
- ldrb r1, [r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r3, 0x1
- strh r3, [r0, 0x8]
- ldrb r1, [r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- strh r3, [r0, 0x24]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8102DEC
-
- thumb_func_start sub_8102E1C
-sub_8102E1C: @ 812BEDC
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- ldr r1, =sSlotMachine
- ldr r1, [r1]
- adds r1, 0x3A
- adds r1, r0
- ldrb r1, [r1]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x2
- strh r1, [r0, 0x8]
- bx lr
- .pool
- thumb_func_end sub_8102E1C
-
- thumb_func_start sub_8102E40
-sub_8102E40: @ 812BF04
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- ldr r1, =sSlotMachine
- ldr r1, [r1]
- adds r1, 0x3A
- adds r1, r0
- ldrb r1, [r1]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r0, [r0, 0x24]
- lsls r0, 24
- lsrs r0, 24
- bx lr
- .pool
- thumb_func_end sub_8102E40
-
- thumb_func_start sub_812BF2C
-sub_812BF2C: @ 812BF2C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085A74D0
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_0812BF3E:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _0812BF3E
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812BF2C
-
- thumb_func_start sub_812BF64
-sub_812BF64: @ 812BF64
- movs r0, 0
- bx lr
- thumb_func_end sub_812BF64
-
- thumb_func_start sub_812BF68
-sub_812BF68: @ 812BF68
- push {lr}
- ldrh r0, [r0, 0x26]
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =sSlotMachine
- ldr r1, [r1]
- movs r2, 0x1A
- ldrsh r1, [r1, r2]
- bl sub_812BD28
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_812BF68
-
- thumb_func_start sub_812BF88
-sub_812BF88: @ 812BF88
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- movs r2, 0
- strh r0, [r4, 0x8]
- ldr r0, =sSlotMachine
- ldr r3, [r0]
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r1, 1
- adds r0, r3, 0
- adds r0, 0x34
- adds r0, r1
- strh r2, [r0]
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r1, 1
- adds r0, r3, 0
- adds r0, 0x2E
- adds r0, r1
- strh r2, [r0]
- ldrb r0, [r3, 0xA]
- cmp r0, 0
- bne _0812BFF4
- ldrb r0, [r3, 0x4]
- cmp r0, 0
- beq _0812BFDC
- ldrb r0, [r3, 0x6]
- cmp r0, 0
- beq _0812BFDC
- ldr r1, =gUnknown_085A74E4
- movs r2, 0x26
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- lsls r0, 24
- cmp r0, 0
- bne _0812BFF4
-_0812BFDC:
- ldr r0, =sSlotMachine
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x6]
- ldr r1, =gUnknown_085A74F0
- movs r2, 0x26
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
-_0812BFF4:
- ldr r0, =sSlotMachine
- ldr r1, [r0]
- movs r2, 0x26
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r1, 0x2E
- adds r1, r0
- ldrh r0, [r1]
- strh r0, [r4, 0xA]
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_812BF88
-
- thumb_func_start sub_812C01C
-sub_812C01C: @ 812C01C
- push {r4-r7,lr}
- sub sp, 0xC
- adds r4, r0, 0
- ldr r1, =gUnknown_085A74FC
- mov r0, sp
- movs r2, 0xA
- bl memcpy
- ldr r7, =sSlotMachine
- ldr r5, [r7]
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- lsls r6, r0, 1
- adds r0, r5, 0
- adds r0, 0x1C
- adds r0, r6
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r1, 0x18
- bl __modsi3
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r0, 0
- beq _0812C068
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0x1A
- ldrsh r1, [r5, r6]
- bl sub_812BD70
- b _0812C0A0
- .pool
-_0812C068:
- adds r0, r5, 0
- adds r0, 0x2E
- adds r1, r0, r6
- ldrh r3, [r1]
- movs r6, 0
- ldrsh r0, [r1, r6]
- cmp r0, 0
- beq _0812C0A4
- subs r0, r3, 0x1
- strh r0, [r1]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x1A
- ldrsh r1, [r5, r2]
- bl sub_812BD28
- ldr r1, [r7]
- movs r6, 0x26
- ldrsh r0, [r4, r6]
- lsls r0, 1
- adds r1, 0x1C
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r1, 0x18
- bl __modsi3
-_0812C0A0:
- lsls r0, 16
- lsrs r2, r0, 16
-_0812C0A4:
- cmp r2, 0
- bne _0812C0D2
- ldr r0, =sSlotMachine
- ldr r1, [r0]
- movs r6, 0x26
- ldrsh r0, [r4, r6]
- lsls r0, 1
- adds r1, 0x2E
- adds r1, r0
- movs r0, 0
- ldrsh r1, [r1, r0]
- cmp r1, 0
- bne _0812C0D2
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0xA]
- strh r1, [r4, 0xC]
-_0812C0D2:
- movs r0, 0
- add sp, 0xC
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_812C01C
-
- thumb_func_start sub_812C0E0
-sub_812C0E0: @ 812C0E0
- push {r4,lr}
- adds r2, r0, 0
- ldr r4, =sSlotMachine
- ldr r1, [r4]
- movs r3, 0x26
- ldrsh r0, [r2, r3]
- lsls r0, 1
- adds r1, 0x22
- adds r1, r0
- ldrh r0, [r2, 0xA]
- strh r0, [r1]
- ldrh r0, [r2, 0xA]
- negs r3, r0
- strh r3, [r2, 0xA]
- ldrh r0, [r2, 0xC]
- adds r0, 0x1
- strh r0, [r2, 0xC]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _0812C110
- lsls r0, r3, 16
- asrs r0, 17
- strh r0, [r2, 0xA]
-_0812C110:
- movs r0, 0xA
- ldrsh r3, [r2, r0]
- cmp r3, 0
- bne _0812C12A
- strh r3, [r2, 0x8]
- strh r3, [r2, 0x24]
- ldr r1, [r4]
- movs r4, 0x26
- ldrsh r0, [r2, r4]
- lsls r0, 1
- adds r1, 0x22
- adds r1, r0
- strh r3, [r1]
-_0812C12A:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_812C0E0
-
- thumb_func_start sub_812C138
-sub_812C138: @ 812C138
- push {r4,r5,lr}
- ldr r4, =sSlotMachine
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- bl sub_810250C
- lsls r0, 24
- lsrs r3, r0, 24
- adds r5, r3, 0
- ldr r4, [r4]
- ldrb r1, [r4, 0x4]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0
- beq _0812C15A
- movs r5, 0
- movs r3, 0x1
-_0812C15A:
- ldr r1, =gUnknown_085A7508
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- subs r0, 0x1
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r3, 0
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_812C138
-
- thumb_func_start sub_812C184
-sub_812C184: @ 812C184
- push {r4,r5,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r3, 16
- asrs r3, 16
- movs r0, 0
- adds r1, r3, 0
- bl sub_812BC98
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, r4
- beq _0812C1AC
- cmp r0, r5
- bne _0812C1BC
-_0812C1AC:
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- strb r1, [r0, 0x7]
- movs r0, 0x1
- b _0812C1BE
- .pool
-_0812C1BC:
- movs r0, 0
-_0812C1BE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_812C184
-
- thumb_func_start sub_812C1C4
-sub_812C1C4: @ 812C1C4
- push {r4,lr}
- movs r1, 0x1
- lsls r0, 16
- asrs r4, r0, 16
- subs r1, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl sub_812BC98
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- beq _0812C20C
- movs r1, 0x2
- subs r1, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl sub_812BC98
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- beq _0812C20C
- movs r1, 0x3
- subs r1, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl sub_812BC98
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _0812C210
-_0812C20C:
- movs r0, 0x1
- b _0812C212
-_0812C210:
- movs r0, 0
-_0812C212:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_812C1C4
-
- thumb_func_start sub_812C218
-sub_812C218: @ 812C218
- push {lr}
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- ldrb r1, [r0, 0x4]
- movs r0, 0xC2
- ands r0, r1
- cmp r0, 0
- bne _0812C230
- movs r0, 0
- b _0812C232
- .pool
-_0812C230:
- movs r0, 0x1
-_0812C232:
- pop {r1}
- bx r1
- thumb_func_end sub_812C218
-
- thumb_func_start sub_812C238
-sub_812C238: @ 812C238
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- movs r5, 0
- movs r0, 0x2
- mov r8, r0
-_0812C24C:
- lsls r0, r5, 16
- asrs r4, r0, 16
- mov r1, r8
- subs r0, r1, r4
- lsls r0, 16
- asrs r0, 16
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_812C184
- lsls r0, 24
- cmp r0, 0
- beq _0812C278
- ldr r0, =sSlotMachine
- ldr r1, [r0]
- movs r0, 0x2
- strh r0, [r1, 0x34]
- strh r5, [r1, 0x2E]
- movs r0, 0x1
- b _0812C286
- .pool
-_0812C278:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _0812C24C
- movs r0, 0
-_0812C286:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_812C238
-
- thumb_func_start sub_812C290
-sub_812C290: @ 812C290
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- bl sub_812C218
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0812C2BE
- movs r0, 0
- bl sub_812C1C4
- lsls r0, 24
- cmp r0, 0
- bne _0812C2F4
-_0812C2BE:
- movs r7, 0x1
- movs r6, 0
-_0812C2C2:
- lsls r0, r7, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- mov r1, r9
- mov r2, r8
- bl sub_812C184
- lsls r0, 24
- cmp r0, 0
- beq _0812C2E8
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- strh r7, [r0, 0x34]
- strh r6, [r0, 0x2E]
- movs r0, 0x1
- b _0812C390
- .pool
-_0812C2E8:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _0812C2C2
-_0812C2F4:
- movs r7, 0x1
- adds r6, r5, 0
- ldr r0, =sSlotMachine
- mov r10, r0
-_0812C2FC:
- lsls r5, r7, 16
- cmp r6, 0
- bne _0812C30E
- asrs r0, r5, 16
- bl sub_812C1C4
- lsls r0, 24
- cmp r0, 0
- bne _0812C380
-_0812C30E:
- movs r0, 0x1
- asrs r4, r5, 16
- subs r0, r4
- lsls r0, 16
- asrs r0, 16
- mov r1, r9
- mov r2, r8
- bl sub_812C184
- lsls r0, 24
- cmp r0, 0
- beq _0812C380
- cmp r4, 0x1
- bne _0812C34C
- cmp r6, 0
- bne _0812C33A
- movs r0, 0x3
- bl sub_812C1C4
- lsls r0, 24
- cmp r0, 0
- bne _0812C34C
-_0812C33A:
- mov r0, r10
- ldr r1, [r0]
- movs r0, 0x3
- strh r0, [r1, 0x34]
- strh r0, [r1, 0x2E]
- movs r0, 0x1
- b _0812C390
- .pool
-_0812C34C:
- asrs r0, r5, 16
- cmp r0, 0x3
- bgt _0812C374
- adds r4, r0, 0x1
- cmp r6, 0
- bne _0812C366
- lsls r0, r4, 16
- asrs r0, 16
- bl sub_812C1C4
- lsls r0, 24
- cmp r0, 0
- bne _0812C374
-_0812C366:
- mov r0, r10
- ldr r1, [r0]
- movs r0, 0x2
- strh r0, [r1, 0x34]
- strh r4, [r1, 0x2E]
- movs r0, 0x1
- b _0812C390
-_0812C374:
- mov r0, r10
- ldr r1, [r0]
- movs r0, 0x1
- strh r0, [r1, 0x34]
- strh r7, [r1, 0x2E]
- b _0812C390
-_0812C380:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r5, r1
- lsrs r7, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _0812C2FC
- movs r0, 0
-_0812C390:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_812C290
-
- thumb_func_start sub_812C3A0
-sub_812C3A0: @ 812C3A0
- push {lr}
- ldr r1, =gUnknown_085A7514
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- movs r2, 0x12
- ldrsh r0, [r0, r2]
- subs r0, 0x1
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_812C3A0
-
- thumb_func_start sub_812C3C8
-sub_812C3C8: @ 812C3C8
- push {r4-r7,lr}
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- movs r5, 0
- ldrh r7, [r0, 0x34]
- movs r1, 0x34
- ldrsh r6, [r0, r1]
-_0812C3D6:
- lsls r0, r5, 16
- asrs r4, r0, 16
- subs r1, r6, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x1
- bl sub_812BC98
- ldr r1, =sSlotMachine
- ldr r1, [r1]
- lsls r0, 24
- lsrs r0, 24
- ldrb r2, [r1, 0x7]
- cmp r0, r2
- bne _0812C400
- strh r7, [r1, 0x36]
- strh r5, [r1, 0x30]
- movs r0, 0x1
- b _0812C40E
- .pool
-_0812C400:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _0812C3D6
- movs r0, 0
-_0812C40E:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_812C3C8
-
- thumb_func_start sub_812C414
-sub_812C414: @ 812C414
- push {r4-r6,lr}
- bl sub_812C3C8
- lsls r0, 24
- cmp r0, 0
- beq _0812C476
- ldr r0, =sSlotMachine
- ldr r1, [r0]
- movs r2, 0x34
- ldrsh r0, [r1, r2]
- cmp r0, 0x2
- beq _0812C472
- movs r2, 0x30
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- ble _0812C472
- cmp r0, 0x4
- beq _0812C472
- movs r5, 0
- movs r6, 0x2
-_0812C43C:
- lsls r0, r5, 16
- asrs r4, r0, 16
- subs r1, r6, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x1
- bl sub_812BC98
- ldr r1, =sSlotMachine
- ldr r1, [r1]
- lsls r0, 24
- lsrs r0, 24
- ldrb r2, [r1, 0x7]
- cmp r0, r2
- beq _0812C46C
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _0812C43C
- b _0812C472
- .pool
-_0812C46C:
- movs r0, 0x2
- strh r0, [r1, 0x36]
- strh r5, [r1, 0x30]
-_0812C472:
- movs r0, 0x1
- b _0812C4B2
-_0812C476:
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- movs r1, 0x34
- ldrsh r0, [r0, r1]
- cmp r0, 0x2
- beq _0812C4B0
- movs r5, 0
- movs r6, 0x2
-_0812C486:
- lsls r0, r5, 16
- asrs r4, r0, 16
- subs r1, r6, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x1
- bl sub_812BC98
- ldr r1, =sSlotMachine
- ldr r1, [r1]
- lsls r0, 24
- lsrs r0, 24
- ldrb r2, [r1, 0x7]
- cmp r0, r2
- beq _0812C46C
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _0812C486
-_0812C4B0:
- movs r0, 0
-_0812C4B2:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_812C414
-
- thumb_func_start sub_812C4BC
-sub_812C4BC: @ 812C4BC
- push {r4,lr}
- ldr r2, =sSlotMachine
- ldr r0, [r2]
- ldrb r3, [r0, 0x7]
- adds r4, r3, 0
- ldrb r1, [r0, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0812C4D8
- movs r3, 0
- cmp r4, 0
- bne _0812C4D8
- movs r3, 0x1
-_0812C4D8:
- ldr r1, =gUnknown_085A7520
- ldr r0, [r2]
- movs r2, 0x12
- ldrsh r0, [r0, r2]
- subs r0, 0x1
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r3, 0
- bl _call_via_r1
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_812C4BC
-
- thumb_func_start sub_812C500
-sub_812C500: @ 812C500
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- movs r5, 0
- ldrh r1, [r0, 0x36]
- mov r8, r1
- movs r1, 0x36
- ldrsh r6, [r0, r1]
-_0812C518:
- lsls r0, r5, 16
- asrs r4, r0, 16
- subs r1, r6, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x2
- bl sub_812BC98
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r7
- bne _0812C544
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- mov r1, r8
- strh r1, [r0, 0x38]
- strh r5, [r0, 0x32]
- movs r0, 0x1
- b _0812C552
- .pool
-_0812C544:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _0812C518
- movs r0, 0
-_0812C552:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_812C500
-
- thumb_func_start sub_812C55C
-sub_812C55C: @ 812C55C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- movs r2, 0x34
- ldrsh r1, [r0, r2]
- movs r2, 0x36
- ldrsh r0, [r0, r2]
- cmp r1, r0
- bne _0812C59C
- adds r0, r6, 0
- bl sub_812C500
- lsls r0, 24
- lsrs r0, 24
- b _0812C5D2
- .pool
-_0812C588:
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- strh r5, [r0, 0x32]
- mov r1, r8
- strh r1, [r0, 0x38]
- movs r0, 0x1
- b _0812C5D2
- .pool
-_0812C59C:
- movs r2, 0x1
- mov r8, r2
- cmp r1, 0x1
- bne _0812C5A8
- movs r0, 0x3
- mov r8, r0
-_0812C5A8:
- movs r5, 0
- mov r7, r8
-_0812C5AC:
- lsls r0, r5, 16
- asrs r4, r0, 16
- subs r1, r7, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x2
- bl sub_812BC98
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r6
- beq _0812C588
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _0812C5AC
- movs r0, 0
-_0812C5D2:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_812C55C
-
- thumb_func_start sub_812C5DC
-sub_812C5DC: @ 812C5DC
- push {r4,r5,lr}
- movs r5, 0
- b _0812C5E8
-_0812C5E2:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_0812C5E8:
- lsls r0, r5, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_812C1C4
- lsls r0, 24
- cmp r0, 0
- bne _0812C5E2
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- strh r5, [r0, 0x2E]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812C5DC
-
- thumb_func_start sub_812C608
-sub_812C608: @ 812C608
- push {lr}
- adds r1, r0, 0
- ldrb r0, [r1]
- cmp r0, 0
- bne _0812C616
- movs r0, 0x1
- b _0812C620
-_0812C616:
- cmp r0, 0x1
- beq _0812C61E
- movs r0, 0
- b _0812C624
-_0812C61E:
- movs r0, 0
-_0812C620:
- strb r0, [r1]
- movs r0, 0x1
-_0812C624:
- pop {r1}
- bx r1
- thumb_func_end sub_812C608
-
- thumb_func_start sub_812C628
-sub_812C628: @ 812C628
- push {lr}
- ldr r1, =gUnknown_085A752C
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- movs r2, 0x12
- ldrsh r0, [r0, r2]
- subs r0, 0x1
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812C628
-
- thumb_func_start sub_812C64C
-sub_812C64C: @ 812C64C
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r0, =sSlotMachine
- ldr r2, [r0]
- movs r1, 0x34
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _0812C6C4
- ldrb r1, [r2, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0812C6C4
- ldrh r0, [r2, 0x2E]
- movs r1, 0x2
- subs r1, r0
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl sub_812BC98
- mov r1, sp
- strb r0, [r1]
- mov r0, sp
- bl sub_812C608
- lsls r0, 24
- cmp r0, 0
- beq _0812C6C4
- movs r5, 0
- mov r6, sp
- movs r7, 0x2
-_0812C68C:
- lsls r0, r5, 16
- asrs r4, r0, 16
- subs r1, r7, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x1
- bl sub_812BC98
- ldrb r1, [r6]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- bne _0812C6B8
- ldr r0, =sSlotMachine
- ldr r1, [r0]
- movs r0, 0x2
- strh r0, [r1, 0x36]
- strh r5, [r1, 0x30]
- b _0812C6C4
- .pool
-_0812C6B8:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _0812C68C
-_0812C6C4:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_812C64C
-
- thumb_func_start j5_08111E84
-j5_08111E84: @ 812C6CC
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r4, =sSlotMachine
- ldr r2, [r4]
- ldrh r3, [r2, 0x34]
- movs r1, 0x34
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _0812C744
- ldrb r1, [r2, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0812C744
- ldrh r1, [r2, 0x2E]
- subs r1, r3, r1
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl sub_812BC98
- mov r1, sp
- strb r0, [r1]
- mov r0, sp
- bl sub_812C608
- lsls r0, 24
- cmp r0, 0
- beq _0812C744
- movs r5, 0
- mov r7, sp
- adds r6, r4, 0
-_0812C70C:
- ldr r0, [r6]
- ldrh r1, [r0, 0x34]
- lsls r0, r5, 16
- asrs r4, r0, 16
- subs r1, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x1
- bl sub_812BC98
- ldrb r1, [r7]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- bne _0812C738
- ldr r0, [r6]
- ldrh r1, [r0, 0x34]
- strh r1, [r0, 0x36]
- strh r5, [r0, 0x30]
- b _0812C744
- .pool
-_0812C738:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _0812C70C
-_0812C744:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end j5_08111E84
-
- thumb_func_start sub_812C74C
-sub_812C74C: @ 812C74C
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r6, =sSlotMachine
- ldr r2, [r6]
- ldrh r4, [r2, 0x34]
- movs r0, 0x34
- ldrsh r3, [r2, r0]
- cmp r3, 0
- beq _0812C84A
- ldrb r1, [r2, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0812C84A
- cmp r3, 0x2
- bne _0812C796
- bl j5_08111E84
- b _0812C84A
- .pool
-_0812C778:
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- movs r1, 0
- strh r5, [r0, 0x36]
- strh r1, [r0, 0x30]
- b _0812C84A
- .pool
-_0812C788:
- movs r0, 0x2
- strh r0, [r1, 0x36]
- adds r0, r4, 0x1
- strh r0, [r1, 0x30]
- b _0812C84A
-_0812C792:
- movs r0, 0x3
- b _0812C824
-_0812C796:
- ldrh r1, [r2, 0x2E]
- subs r1, r4, r1
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl sub_812BC98
- mov r1, sp
- strb r0, [r1]
- mov r0, sp
- bl sub_812C608
- lsls r0, 24
- cmp r0, 0
- beq _0812C84A
- movs r5, 0x2
- ldr r0, [r6]
- movs r1, 0x34
- ldrsh r0, [r0, r1]
- cmp r0, 0x3
- bne _0812C7C2
- movs r5, 0x3
-_0812C7C2:
- movs r6, 0
- mov r7, sp
-_0812C7C6:
- lsls r0, r5, 16
- asrs r4, r0, 16
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_812BC98
- ldrb r1, [r7]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- beq _0812C778
- lsls r1, r6, 16
- movs r2, 0x80
- lsls r2, 9
- adds r1, r2
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- lsrs r6, r1, 16
- asrs r1, 16
- cmp r1, 0x1
- ble _0812C7C6
- movs r5, 0x1
- mov r7, sp
- ldr r6, =sSlotMachine
-_0812C7F8:
- ldr r0, [r6]
- ldrh r1, [r0, 0x34]
- lsls r0, r5, 16
- asrs r4, r0, 16
- subs r1, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x1
- bl sub_812BC98
- ldrb r1, [r7]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- bne _0812C83E
- ldr r1, [r6]
- movs r2, 0x34
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _0812C830
- cmp r4, 0x2
- ble _0812C788
-_0812C824:
- strh r0, [r1, 0x36]
- strh r5, [r1, 0x30]
- b _0812C84A
- .pool
-_0812C830:
- cmp r4, 0x2
- ble _0812C792
- movs r0, 0x2
- strh r0, [r1, 0x36]
- subs r0, r4, 0x1
- strh r0, [r1, 0x30]
- b _0812C84A
-_0812C83E:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _0812C7F8
-_0812C84A:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_812C74C
-
- thumb_func_start sub_812C854
-sub_812C854: @ 812C854
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- adds r2, r1, 0
- cmp r0, 0
- bne _0812C868
- cmp r1, 0x1
- beq _0812C870
-_0812C868:
- cmp r0, 0x1
- bne _0812C874
- cmp r2, 0
- bne _0812C874
-_0812C870:
- movs r0, 0x1
- b _0812C876
-_0812C874:
- movs r0, 0
-_0812C876:
- pop {r1}
- bx r1
- thumb_func_end sub_812C854
-
- thumb_func_start sub_812C87C
-sub_812C87C: @ 812C87C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- cmp r0, 0
- bne _0812C896
- cmp r1, 0x1
- bne _0812C896
- cmp r2, 0
- beq _0812C8A2
-_0812C896:
- cmp r0, 0x1
- bne _0812C8A6
- cmp r1, 0
- bne _0812C8A6
- cmp r2, 0x1
- bne _0812C8A6
-_0812C8A2:
- movs r0, 0x1
- b _0812C8A8
-_0812C8A6:
- movs r0, 0
-_0812C8A8:
- pop {r1}
- bx r1
- thumb_func_end sub_812C87C
-
- thumb_func_start sub_812C8AC
-sub_812C8AC: @ 812C8AC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- cmp r0, 0
- bne _0812C8C6
- cmp r1, 0x1
- bne _0812C8C6
- cmp r2, 0
- beq _0812C8F2
-_0812C8C6:
- cmp r0, 0x1
- bne _0812C8D2
- cmp r1, 0
- bne _0812C8D2
- cmp r2, 0x1
- beq _0812C8F2
-_0812C8D2:
- cmp r0, 0
- bne _0812C8DE
- cmp r1, 0
- bne _0812C8DE
- cmp r2, 0x1
- beq _0812C8F2
-_0812C8DE:
- cmp r0, 0x1
- bne _0812C8EA
- cmp r1, 0x1
- bne _0812C8EA
- cmp r2, 0
- beq _0812C8F2
-_0812C8EA:
- cmp r0, r1
- bne _0812C8F6
- cmp r0, r2
- bne _0812C8F6
-_0812C8F2:
- movs r0, 0
- b _0812C8F8
-_0812C8F6:
- movs r0, 0x1
-_0812C8F8:
- pop {r1}
- bx r1
- thumb_func_end sub_812C8AC
-
- thumb_func_start sub_812C8FC
-sub_812C8FC: @ 812C8FC
- push {lr}
- ldr r1, =gUnknown_085A7538
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- movs r2, 0x12
- ldrsh r0, [r0, r2]
- subs r0, 0x1
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812C8FC
-
- thumb_func_start sub_812C920
-sub_812C920: @ 812C920
- push {r4-r7,lr}
- movs r6, 0
- ldr r7, =sSlotMachine
- ldr r0, [r7]
- ldrh r1, [r0, 0x2E]
- movs r4, 0x2
- subs r1, r4, r1
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl sub_812BC98
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, [r7]
- ldrh r0, [r0, 0x30]
- subs r4, r0
- lsls r4, 16
- asrs r4, 16
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_812BC98
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r5, r1
- bne _0812C994
- movs r4, 0x2
- b _0812C96A
- .pool
-_0812C960:
- lsls r0, r6, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r6, r0, 16
-_0812C96A:
- lsls r1, r6, 16
- asrs r1, 16
- subs r1, r4, r1
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x2
- bl sub_812BC98
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- beq _0812C960
- cmp r5, 0
- bne _0812C98A
- cmp r0, 0x1
- beq _0812C960
-_0812C98A:
- cmp r5, 0x1
- bne _0812C9F6
- cmp r0, 0
- beq _0812C960
- b _0812C9F6
-_0812C994:
- adds r0, r5, 0
- bl sub_812C854
- lsls r0, 24
- cmp r0, 0
- beq _0812C9F6
- ldr r0, [r7]
- ldrb r1, [r0, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0812C9D2
- movs r7, 0x2
-_0812C9AE:
- lsls r0, r6, 16
- asrs r4, r0, 16
- subs r1, r7, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x2
- bl sub_812BC98
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- beq _0812C9F6
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _0812C9AE
-_0812C9D2:
- movs r6, 0
- movs r7, 0x2
- b _0812C9DE
-_0812C9D8:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_0812C9DE:
- lsls r0, r6, 16
- asrs r4, r0, 16
- subs r1, r7, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x2
- bl sub_812BC98
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- beq _0812C9D8
-_0812C9F6:
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- strh r6, [r0, 0x32]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812C920
-
- thumb_func_start sub_812CA08
-sub_812CA08: @ 812CA08
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r4, =sSlotMachine
- ldr r2, [r4]
- movs r5, 0x36
- ldrsh r1, [r2, r5]
- cmp r1, 0
- beq _0812CAA4
- ldrh r3, [r2, 0x34]
- movs r5, 0x34
- ldrsh r0, [r2, r5]
- cmp r0, r1
- bne _0812CAA4
- ldrb r1, [r2, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0812CAA4
- ldrh r1, [r2, 0x2E]
- subs r1, r3, r1
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl sub_812BC98
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, [r4]
- ldrh r1, [r0, 0x36]
- ldrh r0, [r0, 0x30]
- subs r1, r0
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x1
- bl sub_812BC98
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_812C854
- lsls r0, 24
- cmp r0, 0
- beq _0812CAA4
- movs r5, 0
- b _0812CA7E
- .pool
-_0812CA78:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_0812CA7E:
- lsls r6, r5, 16
- asrs r5, r6, 16
- cmp r5, 0x4
- bgt _0812CAA4
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- ldrh r1, [r0, 0x36]
- subs r1, r5
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x2
- bl sub_812BC98
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r7, r4
- bne _0812CA78
- lsrs r6, 16
- str r6, [sp]
-_0812CAA4:
- ldr r0, =sSlotMachine
- mov r9, r0
-_0812CAA8:
- movs r5, 0x1
- movs r1, 0
- mov r8, r1
- ldr r2, [sp]
- lsls r2, 16
- mov r10, r2
-_0812CAB4:
- mov r1, r9
- ldr r0, [r1]
- ldrh r1, [r0, 0x2E]
- lsls r5, 16
- asrs r4, r5, 16
- subs r1, r4, r1
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl sub_812BC98
- lsls r0, 24
- lsrs r7, r0, 24
- mov r2, r9
- ldr r0, [r2]
- ldrh r1, [r0, 0x30]
- subs r1, r4, r1
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x1
- bl sub_812BC98
- lsls r0, 24
- lsrs r6, r0, 24
- mov r1, r10
- asrs r0, r1, 16
- subs r4, r0
- lsls r4, 16
- asrs r4, 16
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_812BC98
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_812C8AC
- lsls r0, 24
- cmp r0, 0
- bne _0812CB3C
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_812C87C
- lsls r0, 24
- cmp r0, 0
- beq _0812CB28
- mov r2, r9
- ldr r0, [r2]
- ldrb r1, [r0, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0812CB3C
-_0812CB28:
- mov r5, r8
- lsls r0, r5, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r0, 16
- mov r8, r0
- b _0812CB4A
- .pool
-_0812CB3C:
- movs r2, 0x80
- lsls r2, 9
- adds r0, r5, r2
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _0812CAB4
-_0812CB4A:
- mov r5, r8
- cmp r5, 0
- beq _0812CB60
- ldr r1, [sp]
- lsls r0, r1, 16
- movs r2, 0x80
- lsls r2, 9
- adds r0, r2
- lsrs r0, 16
- str r0, [sp]
- b _0812CAA8
-_0812CB60:
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- mov r5, sp
- ldrh r5, [r5]
- strh r5, [r0, 0x32]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812CA08
-
- thumb_func_start sub_812CB80
-sub_812CB80: @ 812CB80
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- bl sub_812CA08
- ldr r4, =sSlotMachine
- ldr r2, [r4]
- movs r0, 0x36
- ldrsh r1, [r2, r0]
- cmp r1, 0
- beq _0812CC34
- ldrh r3, [r2, 0x34]
- movs r5, 0x34
- ldrsh r0, [r2, r5]
- cmp r0, r1
- beq _0812CC34
- ldrb r1, [r2, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0812CC34
- ldrh r1, [r2, 0x2E]
- subs r1, r3, r1
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl sub_812BC98
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, [r4]
- ldrh r1, [r0, 0x36]
- ldrh r0, [r0, 0x30]
- subs r1, r0
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x1
- bl sub_812BC98
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_812C854
- lsls r0, 24
- cmp r0, 0
- beq _0812CC34
- movs r1, 0x1
- ldr r0, [r4]
- movs r2, 0x34
- ldrsh r0, [r0, r2]
- cmp r0, 0x1
- bne _0812CBEE
- movs r1, 0x3
-_0812CBEE:
- movs r3, 0
- lsls r1, 16
- mov r8, r1
- adds r7, r4, 0
-_0812CBF6:
- ldr r0, [r7]
- ldrh r2, [r0, 0x32]
- lsls r0, r3, 16
- asrs r5, r0, 16
- adds r2, r5, r2
- mov r0, r8
- asrs r1, r0, 16
- subs r1, r2
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x2
- bl sub_812BC98
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r6, r4
- bne _0812CC28
- ldr r1, [r7]
- ldrh r0, [r1, 0x32]
- adds r0, r5, r0
- strh r0, [r1, 0x32]
- b _0812CC34
- .pool
-_0812CC28:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _0812CBF6
-_0812CC34:
- ldr r7, =sSlotMachine
-_0812CC36:
- ldr r0, [r7]
- ldrh r0, [r0, 0x2E]
- movs r1, 0x1
- subs r1, r0
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl sub_812BC98
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, [r7]
- ldrh r0, [r0, 0x30]
- movs r1, 0x2
- subs r1, r0
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x1
- bl sub_812BC98
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, [r7]
- ldrh r0, [r0, 0x32]
- movs r1, 0x3
- subs r1, r0
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x2
- bl sub_812BC98
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_812C8AC
- lsls r0, 24
- cmp r0, 0
- bne _0812CCB4
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_812C87C
- lsls r0, 24
- cmp r0, 0
- beq _0812CCA4
- ldr r0, [r7]
- ldrb r1, [r0, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0812CCB4
-_0812CCA4:
- ldr r1, [r7]
- ldrh r0, [r1, 0x32]
- adds r0, 0x1
- strh r0, [r1, 0x32]
- b _0812CC36
- .pool
-_0812CCB4:
- ldr r7, =sSlotMachine
-_0812CCB6:
- ldr r0, [r7]
- ldrh r0, [r0, 0x2E]
- movs r1, 0x3
- subs r1, r0
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl sub_812BC98
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, [r7]
- ldrh r0, [r0, 0x30]
- movs r1, 0x2
- subs r1, r0
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x1
- bl sub_812BC98
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, [r7]
- ldrh r0, [r0, 0x32]
- movs r1, 0x1
- subs r1, r0
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x2
- bl sub_812BC98
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_812C8AC
- lsls r0, 24
- cmp r0, 0
- bne _0812CD34
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_812C87C
- lsls r0, 24
- cmp r0, 0
- beq _0812CD24
- ldr r0, [r7]
- ldrb r1, [r0, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0812CD34
-_0812CD24:
- ldr r1, [r7]
- ldrh r0, [r1, 0x32]
- adds r0, 0x1
- strh r0, [r1, 0x32]
- b _0812CCB6
- .pool
-_0812CD34:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_812CB80
-
- thumb_func_start sub_8103C14
-sub_8103C14: @ 812CD40
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =sub_812CD74
- adds r0, r5, 0
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x26]
- bl _call_via_r5
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8103C14
-
- thumb_func_start sub_812CD74
-sub_812CD74: @ 812CD74
- push {r4,lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_085A7544
- ldr r2, =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r4, 0x8
- ldrsh r2, [r0, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812CD74
-
- thumb_func_start sub_812CDA4
-sub_812CDA4: @ 812CDA4
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r1, =gUnknown_085A7550
- movs r2, 0x26
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x73
- str r1, [sp]
- movs r1, 0x62
- movs r2, 0x63
- movs r3, 0x72
- bl sub_812FA78
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812CDA4
-
- thumb_func_start sub_812CDD8
-sub_812CDD8: @ 812CDD8
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- ble _0812CDF0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0812CDF0:
- pop {r0}
- bx r0
- thumb_func_end sub_812CDD8
-
- thumb_func_start sub_812CDF4
-sub_812CDF4: @ 812CDF4
- push {r4,lr}
- sub sp, 0x4
- lsls r4, r1, 24
- lsrs r4, 24
- ldr r1, =gUnknown_085A7550
- movs r2, 0x26
- ldrsh r0, [r0, r2]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x53
- str r1, [sp]
- movs r1, 0x42
- movs r2, 0x43
- movs r3, 0x52
- bl sub_812FA78
- adds r0, r4, 0
- bl DestroyTask
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812CDF4
-
- thumb_func_start sub_812CE2C
-sub_812CE2C: @ 812CE2C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_085A8408
- lsls r1, r0, 2
- adds r1, r2
- ldr r2, [r1]
- ldr r1, =gUnknown_085A8430
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r2, 0
- movs r2, 0x2
- bl LoadPalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812CE2C
-
- thumb_func_start sub_812CE54
-sub_812CE54: @ 812CE54
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_085A841C
- lsls r1, r0, 2
- adds r1, r2
- ldr r2, [r1]
- ldr r1, =gUnknown_085A8430
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r2, 0
- movs r2, 0x2
- bl LoadPalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812CE54
-
- thumb_func_start sub_8103D50
-sub_8103D50: @ 812CE7C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r1, r0, 24
- movs r4, 0
- ldr r0, =gUnknown_085A843B
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r4, r0
- bcs _0812CEA8
- ldr r7, =gUnknown_085A8435
- adds r6, r0, 0
- lsls r5, r1, 1
-_0812CE94:
- adds r0, r4, r5
- adds r0, r7
- ldrb r0, [r0]
- bl sub_812CE2C
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r6
- bcc _0812CE94
-_0812CEA8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8103D50
-
- thumb_func_start sub_8103D8C
-sub_8103D8C: @ 812CEB8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r1, r0, 24
- movs r4, 0
- ldr r0, =gUnknown_085A843B
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r4, r0
- bcs _0812CEE4
- ldr r7, =gUnknown_085A8435
- adds r6, r0, 0
- lsls r5, r1, 1
-_0812CED0:
- adds r0, r4, r5
- adds r0, r7
- ldrb r0, [r0]
- bl sub_812CE54
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r6
- bcc _0812CED0
-_0812CEE4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8103D8C
-
- thumb_func_start sub_8103DC8
-sub_8103DC8: @ 812CEF4
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =gSprites
-_0812CEFA:
- ldr r0, =sub_812D024
- bl CreateInvisibleSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- strh r4, [r1, 0x2E]
- ldr r1, =sSlotMachine
- ldr r1, [r1]
- adds r1, 0x44
- adds r1, r4
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _0812CEFA
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8103DC8
-
- thumb_func_start sub_8103E04
-sub_8103E04: @ 812CF34
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =sSlotMachine
- ldr r1, [r1]
- adds r1, 0x44
- adds r1, r0
- ldrb r1, [r1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r2, 0
- movs r1, 0x1
- strh r1, [r0, 0x30]
- movs r1, 0x4
- strh r1, [r0, 0x32]
- strh r2, [r0, 0x34]
- strh r2, [r0, 0x36]
- movs r1, 0x2
- strh r1, [r0, 0x38]
- strh r2, [r0, 0x3C]
- bx lr
- .pool
- thumb_func_end sub_8103E04
-
- thumb_func_start sub_812CF6C
-sub_812CF6C: @ 812CF6C
- push {r4,r5,lr}
- movs r2, 0
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r3, r0, 0
- adds r3, 0x44
- ldr r4, =gSprites
-_0812CF7A:
- adds r0, r3, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r4
- movs r5, 0x30
- ldrsh r0, [r1, r5]
- cmp r0, 0
- beq _0812CFA4
- movs r5, 0x32
- ldrsh r0, [r1, r5]
- cmp r0, 0
- beq _0812CFA4
- movs r0, 0
- b _0812CFB0
- .pool
-_0812CFA4:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x4
- bls _0812CF7A
- movs r0, 0x1
-_0812CFB0:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_812CF6C
-
- thumb_func_start sub_812CFB8
-sub_812CFB8: @ 812CFB8
- push {r4,lr}
- movs r4, 0
-_0812CFBC:
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x44
- adds r0, r4
- ldrb r0, [r0]
- bl sub_812CFEC
- lsls r0, 24
- cmp r0, 0
- bne _0812CFD8
- movs r0, 0
- b _0812CFE4
- .pool
-_0812CFD8:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _0812CFBC
- movs r0, 0x1
-_0812CFE4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_812CFB8
-
- thumb_func_start sub_812CFEC
-sub_812CFEC: @ 812CFEC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- movs r2, 0x30
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0812D00C
- movs r0, 0x1
- b _0812D01E
- .pool
-_0812D00C:
- ldrh r2, [r1, 0x3C]
- movs r3, 0x3C
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _0812D01A
- movs r0, 0
- strh r0, [r1, 0x30]
-_0812D01A:
- lsls r0, r2, 24
- lsrs r0, 24
-_0812D01E:
- pop {r1}
- bx r1
- thumb_func_end sub_812CFEC
-
- thumb_func_start sub_812D024
-sub_812D024: @ 812D024
- push {r4-r7,lr}
- adds r2, r0, 0
- movs r1, 0x30
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _0812D0A6
- ldrh r0, [r2, 0x34]
- subs r0, 0x1
- strh r0, [r2, 0x34]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0812D08E
- movs r0, 0
- strh r0, [r2, 0x3C]
- movs r6, 0x1
- strh r6, [r2, 0x34]
- ldrh r1, [r2, 0x38]
- ldrh r3, [r2, 0x36]
- adds r0, r1, r3
- strh r0, [r2, 0x36]
- movs r4, 0x4
- ldrh r5, [r2, 0x32]
- movs r7, 0x32
- ldrsh r3, [r2, r7]
- cmp r3, 0
- beq _0812D060
- movs r4, 0x8
-_0812D060:
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bgt _0812D078
- strh r6, [r2, 0x3C]
- negs r0, r1
- strh r0, [r2, 0x38]
- cmp r3, 0
- beq _0812D08E
- subs r0, r5, 0x1
- strh r0, [r2, 0x32]
- b _0812D080
-_0812D078:
- cmp r0, r4
- blt _0812D080
- negs r0, r1
- strh r0, [r2, 0x38]
-_0812D080:
- movs r1, 0x32
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _0812D08E
- ldrh r0, [r2, 0x34]
- lsls r0, 1
- strh r0, [r2, 0x34]
-_0812D08E:
- ldr r1, =gUnknown_085A8430
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- adds r0, r1
- ldrb r0, [r0]
- ldrh r3, [r2, 0x36]
- lsls r3, 24
- lsrs r3, 24
- adds r1, r3, 0
- adds r2, r3, 0
- bl MultiplyPaletteRGBComponents
-_0812D0A6:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812D024
-
- thumb_func_start sub_8103F70
-sub_8103F70: @ 812D0B0
- push {r4,lr}
- ldr r4, =sub_812D128
- adds r0, r4, 0
- movs r1, 0x6
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0x1
- strh r2, [r1, 0xE]
- bl _call_via_r4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8103F70
-
- thumb_func_start sub_8103FA0
-sub_8103FA0: @ 812D0E0
- push {lr}
- ldr r0, =sub_812D128
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _0812D10C
- movs r0, 0
- b _0812D120
- .pool
-_0812D10C:
- adds r0, r2, 0
- bl DestroyTask
- ldr r0, =gUnknown_085A84AC
- ldr r0, [r0]
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0x1
-_0812D120:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8103FA0
-
- thumb_func_start sub_812D128
-sub_812D128: @ 812D128
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r2, r1, r0
- ldrh r0, [r2, 0xA]
- subs r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0812D166
- movs r0, 0x4
- strh r0, [r2, 0xA]
- ldrh r1, [r2, 0xE]
- ldrh r3, [r2, 0xC]
- adds r0, r1, r3
- strh r0, [r2, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- beq _0812D162
- cmp r0, 0x2
- bne _0812D166
-_0812D162:
- negs r0, r1
- strh r0, [r2, 0xE]
-_0812D166:
- ldr r0, =gUnknown_085A84A0
- movs r3, 0xC
- ldrsh r1, [r2, r3]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812D128
-
- thumb_func_start sub_8104048
-sub_8104048: @ 812D188
- push {lr}
- ldr r0, =sub_812D230
- movs r1, 0x8
- bl CreateTask
- ldr r1, =sSlotMachine
- ldr r1, [r1]
- adds r1, 0x3E
- strb r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104048
-
- thumb_func_start sub_8104064
-sub_8104064: @ 812D1A8
- push {r4,lr}
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks
- adds r4, r0
- adds r0, r4, 0
- bl sub_812D394
- movs r1, 0x1
- strh r1, [r4, 0x8]
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- strh r1, [r4, 0x26]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104064
-
- thumb_func_start sub_812D1DC
-sub_812D1DC: @ 812D1DC
- push {r4,lr}
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks
- adds r4, r0
- adds r0, r4, 0
- bl sub_812D394
- movs r0, 0x3
- strh r0, [r4, 0x8]
- movs r0, 0x1
- strh r0, [r4, 0x26]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812D1DC
-
- thumb_func_start sub_81040C8
-sub_81040C8: @ 812D20C
- ldr r2, =gTasks
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x3E
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r0, [r0, 0x26]
- lsls r0, 24
- lsrs r0, 24
- bx lr
- .pool
- thumb_func_end sub_81040C8
-
- thumb_func_start sub_812D230
-sub_812D230: @ 812D230
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_085A7558
- ldr r2, =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812D230
-
- thumb_func_start nullsub_50
-nullsub_50: @ 812D260
- bx lr
- thumb_func_end nullsub_50
-
- thumb_func_start sub_812D264
-sub_812D264: @ 812D264
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0xA]
- lsls r0, 19
- movs r1, 0xA0
- lsls r1, 13
- adds r0, r1
- asrs r0, 16
- movs r1, 0x14
- bl sub_812EF00
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_812D264
-
- thumb_func_start sub_812D28C
-sub_812D28C: @ 812D28C
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r2, =gSprites
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x3C
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _0812D2FC
- ldrh r1, [r4, 0xA]
- adds r0, r1, 0x2
- lsls r0, 16
- lsrs r5, r0, 16
- movs r3, 0
- movs r2, 0
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x1
- bne _0812D2C4
- movs r3, 0x1
- movs r2, 0x1
- b _0812D2CC
- .pool
-_0812D2C4:
- cmp r1, 0x10
- bne _0812D2CC
- movs r3, 0x2
- movs r2, 0x2
-_0812D2CC:
- ldr r0, =gUnknown_0203AACC
- ldr r0, [r0]
- lsls r1, r2, 1
- adds r1, r0
- ldr r2, =gUnknown_085A7568
- lsls r0, r3, 2
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- lsls r3, r5, 16
- movs r0, 0x80
- lsls r0, 15
- adds r3, r0
- lsrs r3, 16
- movs r0, 0x2
- movs r2, 0x2
- bl LoadBgTilemap
- ldrb r0, [r4, 0xC]
- bl sub_812EF6C
- movs r0, 0
- strh r0, [r4, 0x8]
- strh r0, [r4, 0x26]
-_0812D2FC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812D28C
-
- thumb_func_start sub_812D30C
-sub_812D30C: @ 812D30C
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0xA]
- adds r0, r1, 0x2
- lsls r0, 16
- lsrs r5, r0, 16
- movs r3, 0
- movs r2, 0x3
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x1
- bne _0812D32A
- movs r3, 0x1
- movs r2, 0x1
- b _0812D332
-_0812D32A:
- cmp r1, 0x10
- bne _0812D332
- movs r3, 0x2
- movs r2, 0x2
-_0812D332:
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0812D366
- ldr r0, =gUnknown_0203AACC
- ldr r0, [r0]
- lsls r1, r2, 1
- adds r1, r0
- ldr r0, =gUnknown_085A7568
- lsls r2, r3, 2
- adds r0, 0x2
- adds r2, r0
- ldrh r0, [r2]
- strh r0, [r1]
- lsls r3, r5, 16
- movs r0, 0x80
- lsls r0, 15
- adds r3, r0
- lsrs r3, 16
- movs r0, 0x2
- movs r2, 0x2
- bl LoadBgTilemap
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
-_0812D366:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _0812D378
- movs r0, 0
- strh r0, [r4, 0xC]
-_0812D378:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0812D384
- strh r0, [r4, 0x8]
- strh r0, [r4, 0x26]
-_0812D384:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812D30C
-
- thumb_func_start sub_812D394
-sub_812D394: @ 812D394
- push {lr}
- movs r1, 0x2
- adds r2, r0, 0
- adds r2, 0x8
- movs r3, 0
-_0812D39E:
- lsls r0, r1, 1
- adds r0, r2, r0
- strh r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xF
- bls _0812D39E
- pop {r0}
- bx r0
- thumb_func_end sub_812D394
-
- thumb_func_start sub_810423C
-sub_810423C: @ 812D3B4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0x3
- movs r5, 0
- cmp r5, r6
- bge _0812D41E
- ldr r7, =gUnknown_085A7568
-_0812D3C4:
- movs r3, 0
- movs r1, 0
- lsls r0, r5, 16
- asrs r0, 16
- cmp r0, 0
- bne _0812D3DC
- movs r3, 0x1
- movs r1, 0x1
- b _0812D3E4
- .pool
-_0812D3DC:
- cmp r0, 0xF
- bne _0812D3E4
- movs r3, 0x2
- movs r1, 0x2
-_0812D3E4:
- ldr r0, =gUnknown_0203AACC
- ldr r0, [r0]
- lsls r1, 1
- adds r1, r0
- lsls r0, r3, 2
- adds r0, r7
- ldrh r0, [r0]
- strh r0, [r1]
- lsls r3, r4, 16
- asrs r4, r3, 16
- movs r0, 0x80
- lsls r0, 15
- adds r3, r0
- lsrs r3, 16
- movs r0, 0x2
- movs r2, 0x2
- bl LoadBgTilemap
- lsls r0, r5, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- adds r4, 0x1
- lsls r4, 16
- lsrs r4, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, r6
- blt _0812D3C4
-_0812D41E:
- lsls r2, r5, 16
- asrs r0, r2, 16
- cmp r0, 0xF
- bgt _0812D484
- ldr r7, =gUnknown_085A756A
-_0812D428:
- movs r3, 0
- movs r1, 0x3
- asrs r0, r2, 16
- cmp r0, 0
- bne _0812D440
- movs r3, 0x1
- movs r1, 0x1
- b _0812D448
- .pool
-_0812D440:
- cmp r0, 0xF
- bne _0812D448
- movs r3, 0x2
- movs r1, 0x2
-_0812D448:
- ldr r0, =gUnknown_0203AACC
- ldr r0, [r0]
- lsls r1, 1
- adds r1, r0
- lsls r0, r3, 2
- adds r0, r7
- ldrh r0, [r0]
- strh r0, [r1]
- lsls r3, r4, 16
- asrs r4, r3, 16
- movs r0, 0x80
- lsls r0, 15
- adds r3, r0
- lsrs r3, 16
- movs r0, 0x2
- movs r2, 0x2
- bl LoadBgTilemap
- lsls r0, r5, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r5, r0, 16
- adds r4, 0x1
- lsls r4, 16
- lsrs r4, 16
- lsls r2, r5, 16
- asrs r0, r2, 16
- cmp r0, 0xF
- ble _0812D428
-_0812D484:
- ldr r2, =gTasks
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x3E
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- strh r6, [r0, 0xA]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810423C
-
- thumb_func_start sub_810430C
-sub_810430C: @ 812D4AC
- push {r4,lr}
- ldr r4, =sub_812D4EC
- adds r0, r4, 0
- movs r1, 0x7
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810430C
-
- thumb_func_start sub_810432C
-sub_810432C: @ 812D4CC
- push {lr}
- ldr r0, =sub_812D4EC
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _0812D4E4
- movs r0, 0
- b _0812D4E6
- .pool
-_0812D4E4:
- movs r0, 0x1
-_0812D4E6:
- pop {r1}
- bx r1
- thumb_func_end sub_810432C
-
- thumb_func_start sub_812D4EC
-sub_812D4EC: @ 812D4EC
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_085A7574
- ldr r2, =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812D4EC
-
- thumb_func_start sub_812D51C
-sub_812D51C: @ 812D51C
- push {lr}
- ldr r3, =sSlotMachine
- ldr r1, [r3]
- movs r2, 0
- strb r2, [r1, 0xA]
- ldr r1, [r3]
- strh r2, [r1, 0x14]
- strh r2, [r1, 0x16]
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- strh r2, [r0, 0xA]
- movs r1, 0x1E
- strh r1, [r0, 0xC]
- movs r1, 0xA0
- lsls r1, 3
- strh r1, [r0, 0x10]
- ldr r0, =gSpriteCoordOffsetX
- strh r2, [r0]
- ldr r0, =gSpriteCoordOffsetY
- strh r2, [r0]
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl sub_812DC08
- bl sub_812E474
- bl sub_812E33C
- bl sub_812E650
- bl sub_812E70C
- bl sub_812E7CC
- bl sub_8102680
- bl StopMapMusic
- movs r0, 0xC4
- lsls r0, 1
- bl PlayNewMapMusic
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812D51C
-
- thumb_func_start sub_812D594
-sub_812D594: @ 812D594
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r1, =gSpriteCoordOffsetX
- ldrh r0, [r1]
- subs r0, 0x8
- strh r0, [r1]
- ldrh r1, [r4, 0xA]
- adds r1, 0x8
- strh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- adds r0, 0xF0
- movs r2, 0xFF
- ands r0, r2
- lsrs r5, r0, 3
- ldr r0, =0x000001ff
- ands r1, r0
- movs r0, 0x14
- bl SetGpuReg
- adds r2, r5, 0
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r2, r0
- beq _0812D5E2
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0x12
- bgt _0812D5E2
- strh r5, [r4, 0xC]
- ldrh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 19
- strh r0, [r4, 0xE]
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- adds r0, r2, 0
- bl sub_812DC08
-_0812D5E2:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0xC7
- ble _0812D5F4
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x8]
- strh r1, [r4, 0xE]
-_0812D5F4:
- ldrh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 24
- bl sub_812BDD4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812D594
-
- thumb_func_start sub_812D60C
-sub_812D60C: @ 812D60C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 24
- bl sub_812BDD4
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3B
- ble _0812D636
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- bl sub_812E934
- bl sub_812EAB0
-_0812D636:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_812D60C
-
- thumb_func_start sub_812D63C
-sub_812D63C: @ 812D63C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- adds r7, r0, 0
- ldr r1, =gUnknown_085A75C0
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- add r0, sp, 0x4
- mov r8, r0
- ldr r1, =gUnknown_085A75C4
- movs r2, 0x8
- bl memcpy
- add r6, sp, 0xC
- ldr r1, =gUnknown_085A75CC
- adds r0, r6, 0
- movs r2, 0x8
- bl memcpy
- ldrh r0, [r7, 0x10]
- lsls r0, 16
- asrs r0, 24
- bl sub_812BDD4
- ldrh r0, [r7, 0x10]
- subs r0, 0x4
- strh r0, [r7, 0x10]
- lsls r0, 16
- asrs r0, 24
- movs r5, 0x4
- subs r5, r0
- lsls r4, r5, 1
- add r8, r4
- mov r1, r8
- movs r2, 0
- ldrsh r0, [r1, r2]
- bl sub_812EA44
- adds r6, r4
- movs r1, 0
- ldrsh r0, [r6, r1]
- bl sub_812EBAC
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- mov r2, sp
- adds r1, r2, r5
- ldrb r1, [r1]
- bl StartSpriteAnimIfDifferent
- movs r1, 0x10
- ldrsh r0, [r7, r1]
- movs r1, 0x80
- lsls r1, 1
- cmp r0, r1
- bgt _0812D6CC
- ldrh r0, [r7, 0x8]
- adds r0, 0x1
- strh r0, [r7, 0x8]
- strh r1, [r7, 0x10]
- movs r0, 0
- strh r0, [r7, 0x12]
-_0812D6CC:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812D63C
-
- thumb_func_start sub_812D6EC
-sub_812D6EC: @ 812D6EC
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 24
- bl sub_812BDD4
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4F
- ble _0812D730
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- strh r0, [r4, 0x12]
- movs r0, 0x2
- bl sub_812EBAC
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x3
- bl StartSpriteAnimIfDifferent
-_0812D730:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812D6EC
-
- thumb_func_start sub_812D740
-sub_812D740: @ 812D740
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 24
- bl sub_812BDD4
- ldrb r0, [r4, 0x10]
- adds r0, 0x80
- strh r0, [r4, 0x10]
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4F
- ble _0812D76C
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- strh r0, [r4, 0x12]
-_0812D76C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_812D740
-
- thumb_func_start sub_812D774
-sub_812D774: @ 812D774
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 24
- bl sub_812BDD4
- ldrb r0, [r4, 0x10]
- adds r0, 0x40
- strh r0, [r4, 0x10]
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x27
- ble _0812D7DC
- movs r0, 0
- strh r0, [r4, 0x12]
- ldr r0, =sSlotMachine
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- cmp r0, 0
- beq _0812D7B8
- ldrb r1, [r1, 0xA]
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bgt _0812D7D6
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- b _0812D7D4
- .pool
-_0812D7B8:
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- ble _0812D7C6
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- b _0812D7D4
-_0812D7C6:
- ldrh r0, [r4, 0x14]
- bl sub_81026DC
- lsls r0, 24
- cmp r0, 0
- beq _0812D7D6
- movs r0, 0xE
-_0812D7D4:
- strh r0, [r4, 0x8]
-_0812D7D6:
- ldrh r0, [r4, 0x14]
- adds r0, 0x1
- strh r0, [r4, 0x14]
-_0812D7DC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_812D774
-
- thumb_func_start sub_812D7E4
-sub_812D7E4: @ 812D7E4
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r6, =sSlotMachine
- ldr r0, [r6]
- movs r1, 0x14
- ldrsh r0, [r0, r1]
- movs r1, 0x14
- bl __modsi3
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r0, 0
- beq _0812D810
- ldrh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 24
- bl sub_812BE0C
- b _0812D838
- .pool
-_0812D810:
- movs r0, 0x1
- bl sub_812BCE8
- ldr r1, [r6]
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1, 0x5]
- cmp r0, r1
- beq _0812D842
- ldrh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 24
- bl sub_812BDD4
- ldr r0, [r6]
- movs r1, 0x14
- ldrsh r0, [r0, r1]
- movs r1, 0x14
- bl __modsi3
-_0812D838:
- lsls r0, 16
- lsrs r5, r0, 16
- ldrb r0, [r4, 0x10]
- adds r0, 0x40
- strh r0, [r4, 0x10]
-_0812D842:
- lsls r0, r5, 16
- asrs r5, r0, 16
- cmp r5, 0
- bne _0812D866
- movs r0, 0x1
- bl sub_812BCE8
- ldr r1, =sSlotMachine
- ldr r1, [r1]
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1, 0x5]
- cmp r0, r1
- bne _0812D866
- strh r5, [r4, 0x10]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0812D866:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812D7E4
-
- thumb_func_start sub_812D870
-sub_812D870: @ 812D870
- push {r4-r6,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- movs r6, 0
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3B
- ble _0812D914
- bl StopMapMusic
- bl sub_812EA7C
- bl sub_812EBCC
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldr r5, =sSlotMachine
- ldr r1, [r5]
- ldrb r0, [r1, 0x5]
- cmp r0, 0
- bne _0812D8D0
- movs r0, 0xA0
- strh r0, [r4, 0x10]
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x5
- bl StartSpriteAnimIfDifferent
- ldr r0, =0x00000187
- bl PlayFanfare
- b _0812D914
- .pool
-_0812D8D0:
- movs r0, 0xC0
- strh r0, [r4, 0x10]
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- movs r1, 0x4
- bl StartSpriteAnimIfDifferent
- ldr r0, [r5]
- adds r0, 0x3F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x2B
- strb r6, [r0]
- ldr r0, [r5]
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- beq _0812D90C
- bl sub_812D1DC
- ldr r0, [r5]
- strb r6, [r0, 0x2]
-_0812D90C:
- movs r0, 0xC3
- lsls r0, 1
- bl PlayFanfare
-_0812D914:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812D870
-
- thumb_func_start sub_812D920
-sub_812D920: @ 812D920
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x10]
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0812D938
- subs r0, r1, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- cmp r0, 0
- bne _0812D948
-_0812D938:
- bl sub_81040C8
- lsls r0, 24
- cmp r0, 0
- bne _0812D948
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0812D948:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_812D920
-
- thumb_func_start sub_812D950
-sub_812D950: @ 812D950
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r1, =gSpriteCoordOffsetX
- ldrh r0, [r1]
- subs r0, 0x8
- strh r0, [r1]
- ldrh r1, [r4, 0xA]
- adds r1, 0x8
- strh r1, [r4, 0xA]
- ldrh r0, [r4, 0xE]
- adds r0, 0x8
- strh r0, [r4, 0xE]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- subs r0, 0x8
- movs r2, 0xFF
- ands r0, r2
- lsrs r5, r0, 3
- ldr r0, =0x000001ff
- ands r1, r0
- movs r0, 0x14
- bl SetGpuReg
- ldrh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 19
- cmp r0, 0x19
- bgt _0812D998
- adds r0, r5, 0
- bl sub_812DC50
- b _0812D99E
- .pool
-_0812D998:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0812D99E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_812D950
-
- thumb_func_start sub_812D9A4
-sub_812D9A4: @ 812D9A4
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, =sSlotMachine
- ldr r0, [r4]
- movs r6, 0
- strb r6, [r0, 0xB]
- ldr r1, [r4]
- ldrb r0, [r1, 0x5]
- strb r0, [r1, 0xA]
- ldr r0, =gSpriteCoordOffsetX
- strh r6, [r0]
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- ldr r1, [r4]
- movs r0, 0x8
- strh r0, [r1, 0x1A]
- bl sub_812E3E8
- bl sub_812E82C
- bl sub_812E8C4
- ldr r0, [r4]
- adds r0, 0x60
- ldrh r0, [r0]
- bl PlayNewMapMusic
- ldr r0, [r4]
- ldrb r0, [r0, 0xA]
- cmp r0, 0
- bne _0812DA04
- ldr r0, =sub_812D4EC
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- b _0812DA1A
- .pool
-_0812DA04:
- movs r0, 0x4
- bl sub_8104CAC
- bl dp15_jump_random_unknown
- strh r0, [r5, 0xA]
- strh r6, [r5, 0xC]
- strh r6, [r5, 0xE]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_0812DA1A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_812D9A4
-
- thumb_func_start sub_812DA20
-sub_812DA20: @ 812DA20
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, =sSlotMachine
- ldr r5, [r0]
- movs r0, 0x1A
- ldrsh r1, [r5, r0]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _0812DA40
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0812DA66
- .pool
-_0812DA40:
- movs r1, 0x1C
- ldrsh r0, [r5, r1]
- movs r1, 0x18
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- bne _0812DA66
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- bne _0812DA66
- ldrh r0, [r5, 0x1A]
- lsls r0, 16
- asrs r0, 17
- strh r0, [r5, 0x1A]
-_0812DA66:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_812DA20
-
- thumb_func_start sub_812DA6C
-sub_812DA6C: @ 812DA6C
- push {lr}
- bl sub_8104E18
- lsls r0, 24
- cmp r0, 0
- beq _0812DA86
- ldr r0, =sub_812D4EC
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_0812DA86:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812DA6C
-
- thumb_func_start sub_812DA90
-sub_812DA90: @ 812DA90
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_812E82C
- bl sub_812EA7C
- bl sub_812EBCC
- bl sub_812EC20
- ldr r5, =gSprites
- ldr r3, =sSlotMachine
- ldr r0, [r3]
- adds r0, 0x4E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r3]
- adds r0, 0x3F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x5
- bl StartSpriteAnimIfDifferent
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x8]
- movs r0, 0x4
- strh r0, [r4, 0x10]
- strh r1, [r4, 0x12]
- bl StopMapMusic
- ldr r0, =0x00000187
- bl PlayFanfare
- movs r0, 0xB2
- bl PlaySE
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812DA90
-
- thumb_func_start sub_812DB04
-sub_812DB04: @ 812DB04
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r1, =gSpriteCoordOffsetY
- ldrh r0, [r4, 0x10]
- strh r0, [r1]
- ldrh r1, [r4, 0x10]
- movs r0, 0x16
- bl SetGpuReg
- ldrh r1, [r4, 0x12]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0812DB26
- ldrh r0, [r4, 0x10]
- negs r0, r0
- strh r0, [r4, 0x10]
-_0812DB26:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- movs r1, 0x1F
- ands r0, r1
- cmp r0, 0
- bne _0812DB3C
- ldrh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 17
- strh r0, [r4, 0x10]
-_0812DB3C:
- movs r0, 0x10
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _0812DB7A
- bl sub_812EC70
- bl sub_812EC94
- bl sub_812E5A8
- bl sub_812EDC0
- ldr r2, =gSprites
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x4E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- strh r5, [r4, 0x12]
-_0812DB7A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812DB04
-
- thumb_func_start sub_812DB8C
-sub_812DB8C: @ 812DB8C
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, =gSpriteCoordOffsetY
- movs r0, 0
- strh r0, [r1]
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- bl sub_812EEA8
- lsls r0, 24
- cmp r0, 0
- beq _0812DBB2
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- bl sub_812EECC
-_0812DBB2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812DB8C
-
- thumb_func_start sub_812DBBC
-sub_812DBBC: @ 812DBBC
- push {lr}
- ldr r1, =gSpriteCoordOffsetX
- movs r0, 0
- strh r0, [r1]
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x60
- ldrh r0, [r0]
- bl PlayNewMapMusic
- bl sub_812E3E8
- bl sub_812E8F8
- bl sub_812E8C4
- bl sub_812ED8C
- ldr r0, =sub_812D4EC
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812DBBC
-
- thumb_func_start sub_812DC08
-sub_812DC08: @ 812DC08
- push {r4-r6,lr}
- movs r2, 0x4
- lsls r1, 16
- asrs r6, r1, 16
- lsls r0, 16
- asrs r5, r0, 16
-_0812DC14:
- lsls r4, r2, 16
- asrs r4, 16
- subs r0, r4, 0x4
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r6, r1
- lsls r1, 1
- ldr r0, =gUnknown_085A96E0
- adds r1, r0
- lsls r3, r4, 5
- adds r3, r5, r3
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0x1
- movs r2, 0x2
- bl LoadBgTilemap
- adds r4, 0x1
- lsls r4, 16
- lsrs r2, r4, 16
- asrs r4, 16
- cmp r4, 0xE
- ble _0812DC14
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812DC08
-
- thumb_func_start sub_812DC50
-sub_812DC50: @ 812DC50
- push {r4,r5,lr}
- movs r4, 0x4
- lsls r0, 16
- asrs r5, r0, 16
-_0812DC58:
- lsls r3, r4, 5
- adds r3, r5, r3
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0x1
- ldr r1, =gUnknown_085A9898
- movs r2, 0x2
- bl LoadBgTilemap
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xE
- bls _0812DC58
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812DC50
-
- thumb_func_start sub_8104AB8
-sub_8104AB8: @ 812DC80
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =sub_812DCD4
- adds r0, r5, 0
- movs r1, 0x1
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0xA]
- bl _call_via_r5
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104AB8
-
- thumb_func_start sub_8104AEC
-sub_8104AEC: @ 812DCB4
- push {lr}
- ldr r0, =sub_812DCD4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _0812DCCC
- movs r0, 0
- b _0812DCCE
- .pool
-_0812DCCC:
- movs r0, 0x1
-_0812DCCE:
- pop {r1}
- bx r1
- thumb_func_end sub_8104AEC
-
- thumb_func_start sub_812DCD4
-sub_812DCD4: @ 812DCD4
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_085A75D4
- ldr r2, =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812DCD4
-
- thumb_func_start sub_812DD04
-sub_812DD04: @ 812DD04
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_812DD04
-
- thumb_func_start sub_812DD28
-sub_812DD28: @ 812DD28
- push {lr}
- adds r2, r0, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0812DD3E
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
-_0812DD3E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812DD28
-
- thumb_func_start sub_812DD48
-sub_812DD48: @ 812DD48
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8104DA4
- bl sub_812FAF4
- ldr r0, =gUnknown_085A7444
- bl AddWindow
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812DD48
-
- thumb_func_start sub_812DD78
-sub_812DD78: @ 812DD78
- push {r4,r5,lr}
- sub sp, 0xC
- adds r5, r0, 0
- ldr r0, =gUnknown_085A744C
- str r0, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r0, =gText_ReelTimeHelp
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x2
- movs r3, 0x5
- bl box_print
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812DD78
-
- thumb_func_start sub_812DDC4
-sub_812DDC4: @ 812DDC4
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0
- beq _0812DE08
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
- bl ClearWindowTilemap
- movs r0, 0x1
- movs r1, 0x1
- bl CopyWindowToVram
- movs r0, 0x1
- bl RemoveWindow
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0812DE08:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812DDC4
-
- thumb_func_start sub_812DE14
-sub_812DE14: @ 812DE14
- push {r4,lr}
- adds r4, r0, 0
- bl sub_812F968
- movs r0, 0x3
- bl ShowBg
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_812DE14
-
- thumb_func_start sub_812DE30
-sub_812DE30: @ 812DE30
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xA]
- bl sub_8104CAC
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_812DE30
-
- thumb_func_start sub_812DE48
-sub_812DE48: @ 812DE48
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- bl sub_810423C
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812DE48
-
- thumb_func_start sub_812DE7C
-sub_812DE7C: @ 812DE7C
- push {lr}
- ldr r0, =sub_812DCD4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812DE7C
-
- thumb_func_start sub_8104C5C
-sub_8104C5C: @ 812DE94
- push {lr}
- ldr r0, =sub_812E0B0
- movs r1, 0x3
- bl CreateTask
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x3D
- strb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, =gTasks
- adds r0, r1
- ldr r1, =0x0000ffff
- strh r1, [r0, 0xA]
- movs r1, 0x4
- adds r2, r0, 0
- adds r2, 0x8
- movs r3, 0x40
-_0812DEC0:
- lsls r0, r1, 1
- adds r0, r2, r0
- strh r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xF
- bls _0812DEC0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104C5C
-
- thumb_func_start sub_8104CAC
-sub_8104CAC: @ 812DEE4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8104DA4
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x3D
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, =gTasks
- adds r7, r0, r1
- strh r4, [r7, 0xA]
- movs r6, 0
- ldr r1, =gUnknown_085A7A04
- lsls r5, r4, 2
- adds r0, r5, r1
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _0812DF52
- mov r8, r1
-_0812DF1A:
- mov r0, r8
- adds r4, r5, r0
- ldr r0, [r4]
- lsls r2, r6, 2
- adds r2, r0
- ldrb r0, [r2]
- ldrb r1, [r2, 0x1]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- bl sub_812EF98
- lsls r0, 24
- lsrs r0, 24
- adds r2, r6, 0x4
- lsls r2, 1
- adds r1, r7, 0
- adds r1, 0x8
- adds r1, r2
- strh r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, [r4]
- lsls r0, r6, 2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _0812DF1A
-_0812DF52:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104CAC
-
- thumb_func_start sub_812DF68
-sub_812DF68: @ 812DF68
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- mov r8, r1
- ldr r4, [sp, 0x1C]
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x3D
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, =gTasks
- adds r0, r1
- mov r12, r0
- movs r5, 0x4
- lsls r4, 16
- asrs r6, r4, 16
- lsls r2, 16
- lsls r3, 16
-_0812DF96:
- lsls r0, r5, 1
- mov r1, r12
- adds r1, 0x8
- adds r4, r1, r0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x40
- bne _0812DFC4
- str r6, [sp]
- adds r0, r7, 0
- mov r1, r8
- asrs r2, 16
- asrs r3, 16
- bl sub_812EFDC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- b _0812DFCE
- .pool
-_0812DFC4:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xF
- bls _0812DF96
-_0812DFCE:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_812DF68
-
- thumb_func_start sub_8104DA4
-sub_8104DA4: @ 812DFDC
- push {r4-r6,lr}
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x3D
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- ldrh r1, [r4, 0xA]
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _0812E008
- ldr r0, =gUnknown_085A7A20
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- bl _call_via_r0
-_0812E008:
- movs r5, 0x4
- adds r6, r4, 0
- adds r6, 0x8
-_0812E00E:
- lsls r0, r5, 1
- adds r4, r6, r0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x40
- beq _0812E02E
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- movs r0, 0x40
- strh r0, [r4]
-_0812E02E:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xF
- bls _0812E00E
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104DA4
-
- thumb_func_start sub_8104E18
-sub_8104E18: @ 812E054
- push {r4,r5,lr}
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x3D
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, =gTasks
- adds r0, r1
- movs r2, 0x4
- adds r3, r0, 0
- adds r3, 0x8
- ldr r4, =gSprites
-_0812E070:
- lsls r0, r2, 1
- adds r1, r3, r0
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r0, 0x40
- beq _0812E09C
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- movs r5, 0x3C
- ldrsh r0, [r1, r5]
- cmp r0, 0
- beq _0812E09C
- movs r0, 0
- b _0812E0A8
- .pool
-_0812E09C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xF
- bls _0812E070
- movs r0, 0x1
-_0812E0A8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8104E18
-
- thumb_func_start sub_812E0B0
-sub_812E0B0: @ 812E0B0
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_085A7610
- ldr r2, =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812E0B0
-
- thumb_func_start nullsub_51
-nullsub_51: @ 812E0E0
- bx lr
- thumb_func_end nullsub_51
-
- thumb_func_start sub_8104EA8
-sub_8104EA8: @ 812E0E4
- push {r4-r7,lr}
- movs r6, 0
- movs r0, 0x30
-_0812E0EA:
- movs r4, 0
- lsls r5, r0, 16
- lsls r7, r6, 16
-_0812E0F0:
- ldr r0, =gUnknown_085A7CE0
- asrs r1, r5, 16
- movs r2, 0
- movs r3, 0xE
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- ldrb r0, [r1, 0x5]
- movs r2, 0xC
- orrs r0, r2
- strb r0, [r1, 0x5]
- strh r6, [r1, 0x2E]
- strh r4, [r1, 0x30]
- ldr r0, =0x0000ffff
- strh r0, [r1, 0x34]
- lsls r0, r4, 16
- movs r1, 0xC0
- lsls r1, 13
- adds r0, r1
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x77
- ble _0812E0F0
- movs r2, 0x80
- lsls r2, 9
- adds r1, r7, r2
- movs r2, 0xA0
- lsls r2, 14
- adds r0, r5, r2
- lsrs r0, 16
- lsrs r6, r1, 16
- asrs r1, 16
- cmp r1, 0x2
- ble _0812E0EA
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104EA8
-
- thumb_func_start sub_812E154
-sub_812E154: @ 812E154
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =sSlotMachine
- ldr r4, [r0]
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- lsls r0, 1
- adds r1, r4, 0
- adds r1, 0x1C
- adds r1, r0
- ldrh r0, [r5, 0x30]
- ldrh r1, [r1]
- adds r0, r1
- strh r0, [r5, 0x32]
- movs r2, 0x32
- ldrsh r0, [r5, r2]
- movs r1, 0x78
- bl __modsi3
- strh r0, [r5, 0x32]
- movs r2, 0x2E
- ldrsh r1, [r5, r2]
- lsls r1, 1
- adds r4, 0x22
- adds r4, r1
- ldrh r1, [r4]
- adds r1, 0x1C
- adds r0, r1
- strh r0, [r5, 0x22]
- ldrh r4, [r5, 0x2E]
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- movs r1, 0x18
- bl __divsi3
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl GetTagOfReelSymbolOnScreenAtPos
- lsls r0, 24
- lsrs r0, 24
- bl GetSpriteTileStartByTag
- adds r1, r5, 0
- adds r1, 0x40
- strh r0, [r1]
- adds r0, r5, 0
- bl SetSpriteSheetFrameTileNum
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812E154
-
- thumb_func_start sub_8104F8C
-sub_8104F8C: @ 812E1C8
- push {r4-r6,lr}
- movs r4, 0xCB
- movs r5, 0x1
- ldr r6, =0x0000270f
-_0812E1D0:
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r0, r4, 0
- movs r1, 0x17
- movs r2, 0
- adds r3, r5, 0
- bl sub_812E230
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 17
- subs r4, 0x7
- lsls r4, 16
- lsrs r4, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, r6
- ble _0812E1D0
- movs r4, 0xEB
- movs r5, 0x1
- ldr r6, =0x0000270f
-_0812E1FE:
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r0, r4, 0
- movs r1, 0x17
- movs r2, 0x1
- adds r3, r5, 0
- bl sub_812E230
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 17
- subs r4, 0x7
- lsls r4, 16
- lsrs r4, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, r6
- ble _0812E1FE
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104F8C
-
- thumb_func_start sub_812E230
-sub_812E230: @ 812E230
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- adds r6, r1, 0
- mov r8, r2
- adds r4, r3, 0
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =gUnknown_085A7CF8
- lsls r5, 16
- asrs r5, 16
- lsls r6, 16
- asrs r6, 16
- adds r1, r5, 0
- adds r2, r6, 0
- movs r3, 0xD
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, =gSprites
- adds r2, r0
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r2, 0x5]
- mov r0, r8
- strh r0, [r2, 0x2E]
- strh r4, [r2, 0x30]
- lsls r4, 16
- asrs r4, 16
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 1
- strh r0, [r2, 0x32]
- ldr r0, =0x0000ffff
- strh r0, [r2, 0x34]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812E230
-
- thumb_func_start sub_812E2A8
-sub_812E2A8: @ 812E2A8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =sSlotMachine
- ldr r1, [r0]
- ldrh r2, [r1, 0xC]
- movs r3, 0x2E
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _0812E2BC
- ldrh r2, [r1, 0xE]
-_0812E2BC:
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, r2
- beq _0812E2F6
- strh r2, [r4, 0x34]
- ldrh r1, [r4, 0x32]
- adds r0, r2, 0
- bl __umodsi3
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r1, [r4, 0x30]
- adds r0, r2, 0
- bl __udivsi3
- lsls r0, 16
- movs r3, 0xE0
- lsls r3, 11
- adds r0, r3
- lsrs r2, r0, 16
- adds r0, r2, 0
- bl GetSpriteTileStartByTag
- adds r1, r4, 0
- adds r1, 0x40
- strh r0, [r1]
- adds r0, r4, 0
- bl SetSpriteSheetFrameTileNum
-_0812E2F6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812E2A8
-
- thumb_func_start sub_81050C4
-sub_81050C4: @ 812E300
- push {lr}
- ldr r0, =gUnknown_085A7D10
- movs r1, 0x58
- movs r2, 0x48
- movs r3, 0xF
- bl CreateSprite
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldr r1, =gUnknown_085A7FC0
- bl SetSubspriteTables
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81050C4
-
- thumb_func_start sub_812E33C
-sub_812E33C: @ 812E33C
- push {r4,r5,lr}
- sub sp, 0x18
- ldr r4, =gUnknown_0203AAE4
- ldr r0, [r4]
- cmp r0, 0
- bne _0812E350
- movs r0, 0x28
- bl AllocZeroed
- str r0, [r4]
-_0812E350:
- ldr r2, [r4]
- ldr r0, =gUnknown_0203AAD8
- ldr r1, [r0]
- str r1, [r2]
- movs r3, 0x80
- lsls r3, 4
- strh r3, [r2, 0x4]
- adds r0, r1, r3
- str r0, [r2, 0x8]
- strh r3, [r2, 0xC]
- movs r4, 0x80
- lsls r4, 5
- adds r0, r1, r4
- str r0, [r2, 0x10]
- strh r3, [r2, 0x14]
- movs r5, 0xC0
- lsls r5, 5
- adds r0, r1, r5
- str r0, [r2, 0x18]
- strh r3, [r2, 0x1C]
- movs r0, 0x80
- lsls r0, 6
- adds r1, r0
- str r1, [r2, 0x20]
- strh r3, [r2, 0x24]
- mov r1, sp
- ldr r0, =gUnknown_085A7D28
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- str r2, [sp, 0xC]
- movs r1, 0x8C
- lsls r1, 1
- mov r0, sp
- movs r2, 0x50
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- ldrb r3, [r2, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- movs r3, 0x4
- orrs r1, r3
- strb r1, [r2, 0x5]
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r3, 0x2
- orrs r1, r3
- strb r1, [r2]
- ldr r1, =sSlotMachine
- ldr r1, [r1]
- adds r1, 0x3F
- strb r0, [r1]
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812E33C
-
- thumb_func_start sub_812E3E8
-sub_812E3E8: @ 812E3E8
- push {r4,lr}
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- ldr r4, =gUnknown_0203AAE4
- ldr r0, [r4]
- cmp r0, 0
- beq _0812E410
- bl Free
- movs r0, 0
- str r0, [r4]
-_0812E410:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812E3E8
-
- thumb_func_start sub_812E424
-sub_812E424: @ 812E424
- push {lr}
- adds r2, r0, 0
- movs r0, 0
- strh r0, [r2, 0x24]
- strh r0, [r2, 0x26]
- adds r0, r2, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0812E46A
- movs r0, 0x8
- strh r0, [r2, 0x24]
- strh r0, [r2, 0x26]
- adds r0, r2, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0
- beq _0812E458
- adds r0, r2, 0
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r0, 0x3F
- ands r0, r1
- cmp r0, 0
- bne _0812E466
- b _0812E46A
-_0812E458:
- adds r0, r2, 0
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r0, 0x3F
- ands r0, r1
- cmp r0, 0
- bne _0812E46A
-_0812E466:
- ldr r0, =0x0000fff8
- strh r0, [r2, 0x26]
-_0812E46A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812E424
-
- thumb_func_start sub_812E474
-sub_812E474: @ 812E474
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- ldr r4, =gUnknown_0203AAE8
- ldr r0, [r4]
- cmp r0, 0
- bne _0812E490
- movs r0, 0x8
- bl AllocZeroed
- str r0, [r4]
-_0812E490:
- ldr r2, [r4]
- ldr r0, =gUnknown_0203AAD8
- mov r10, r0
- ldr r0, [r0]
- movs r1, 0xA0
- lsls r1, 6
- adds r0, r1
- str r0, [r2]
- movs r0, 0xC0
- lsls r0, 2
- strh r0, [r2, 0x4]
- mov r1, sp
- ldr r0, =gUnknown_085A7D40
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r0!, {r3,r4,r7}
- stm r1!, {r3,r4,r7}
- str r2, [sp, 0xC]
- mov r0, sp
- movs r1, 0xB8
- lsls r1, 1
- movs r2, 0x34
- movs r3, 0x7
- bl CreateSprite
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r5, =gSprites
- mov r9, r5
- adds r2, r0, r5
- ldrb r1, [r2, 0x5]
- movs r7, 0xD
- negs r7, r7
- mov r8, r7
- mov r0, r8
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x5]
- adds r1, r2, 0
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r6, 0x2
- orrs r0, r6
- strb r0, [r1]
- ldr r1, =gUnknown_085A7FE0
- adds r0, r2, 0
- bl SetSubspriteTables
- ldr r5, =sSlotMachine
- ldr r0, [r5]
- adds r0, 0x49
- strb r4, [r0]
- ldr r4, =gUnknown_0203AAEC
- ldr r0, [r4]
- cmp r0, 0
- bne _0812E510
- movs r0, 0x8
- bl AllocZeroed
- str r0, [r4]
-_0812E510:
- ldr r2, [r4]
- mov r3, r10
- ldr r0, [r3]
- movs r4, 0xAC
- lsls r4, 6
- adds r0, r4
- str r0, [r2]
- movs r0, 0xA0
- lsls r0, 3
- strh r0, [r2, 0x4]
- mov r1, sp
- ldr r0, =gUnknown_085A7D58
- ldm r0!, {r3,r4,r7}
- stm r1!, {r3,r4,r7}
- ldm r0!, {r3,r4,r7}
- stm r1!, {r3,r4,r7}
- str r2, [sp, 0xC]
- mov r0, sp
- movs r1, 0xB8
- lsls r1, 1
- movs r2, 0x54
- movs r3, 0x7
- bl CreateSprite
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- mov r7, r9
- adds r2, r0, r7
- ldrb r1, [r2, 0x5]
- mov r0, r8
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x5]
- adds r1, r2, 0
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r6
- strb r0, [r1]
- ldr r1, =gUnknown_085A7FF4
- adds r0, r2, 0
- bl SetSubspriteTables
- ldr r0, [r5]
- adds r0, 0x4A
- strb r4, [r0]
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812E474
-
- thumb_func_start sub_812E5A8
-sub_812E5A8: @ 812E5A8
- push {r4,r5,lr}
- sub sp, 0x18
- ldr r4, =gUnknown_0203AAF0
- ldr r0, [r4]
- cmp r0, 0
- bne _0812E5BC
- movs r0, 0x8
- bl AllocZeroed
- str r0, [r4]
-_0812E5BC:
- ldr r2, [r4]
- ldr r0, =gUnknown_0203AAD8
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- str r0, [r2]
- movs r0, 0xC0
- lsls r0, 3
- strh r0, [r2, 0x4]
- mov r1, sp
- ldr r0, =gUnknown_085A7D70
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- str r2, [sp, 0xC]
- ldr r0, =gSpriteCoordOffsetX
- ldrh r0, [r0]
- movs r1, 0xA8
- subs r1, r0
- lsls r1, 16
- asrs r1, 16
- mov r0, sp
- movs r2, 0x50
- movs r3, 0x7
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0, 0x5]
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r3]
- ldr r1, =gUnknown_085A8010
- bl SetSubspriteTables
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x42
- strb r4, [r0]
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812E5A8
-
- thumb_func_start sub_812E650
-sub_812E650: @ 812E650
- push {r4-r6,lr}
- movs r4, 0
- movs r5, 0
-_0812E656:
- ldr r0, =gUnknown_085A7D88
- movs r1, 0xB8
- lsls r1, 1
- movs r2, 0
- movs r3, 0xA
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- ldr r1, =gSprites
- adds r3, r1
- ldrb r2, [r3, 0x5]
- movs r6, 0xD
- negs r6, r6
- adds r1, r6, 0
- ands r2, r1
- movs r1, 0x4
- orrs r2, r1
- strb r2, [r3, 0x5]
- movs r1, 0x3E
- adds r1, r3
- mov r12, r1
- ldrb r1, [r1]
- movs r2, 0x2
- orrs r1, r2
- mov r2, r12
- strb r1, [r2]
- strh r5, [r3, 0x3C]
- ldr r1, =sSlotMachine
- ldr r1, [r1]
- adds r1, 0x4B
- adds r1, r4
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r5, 16
- movs r6, 0xA0
- lsls r6, 13
- adds r0, r6
- lsrs r5, r0, 16
- cmp r4, 0x2
- bls _0812E656
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812E650
-
- thumb_func_start sub_812E6C4
-sub_812E6C4: @ 812E6C4
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =sSlotMachine
- ldr r1, [r0]
- ldrh r0, [r4, 0x3C]
- ldrh r1, [r1, 0x14]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x28
- bl __modsi3
- lsls r0, 16
- asrs r0, 16
- adds r1, r0, 0
- adds r1, 0x3B
- strh r1, [r4, 0x22]
- movs r1, 0x14
- bl __divsi3
- lsls r0, 16
- asrs r0, 16
- bl sub_812BCE8
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnimIfDifferent
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812E6C4
-
- thumb_func_start sub_812E70C
-sub_812E70C: @ 812E70C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r1, 0xB8
- lsls r1, 1
- ldr r0, =gUnknown_085A7DA0
- movs r2, 0x64
- movs r3, 0x9
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r7, =gSprites
- adds r2, r0, r7
- adds r1, r2, 0
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r3, 0x2
- mov r10, r3
- mov r3, r10
- orrs r0, r3
- strb r0, [r1]
- ldrb r1, [r2, 0x5]
- movs r5, 0xD
- negs r5, r5
- adds r0, r5, 0
- ands r0, r1
- movs r1, 0x4
- mov r8, r1
- mov r3, r8
- orrs r0, r3
- strb r0, [r2, 0x5]
- ldr r0, =gUnknown_085A8028
- mov r9, r0
- adds r0, r2, 0
- mov r1, r9
- bl SetSubspriteTables
- ldr r6, =sSlotMachine
- ldr r0, [r6]
- adds r0, 0x4E
- strb r4, [r0]
- movs r1, 0x90
- lsls r1, 1
- ldr r0, =gUnknown_085A7DA0
- movs r2, 0x68
- movs r3, 0x4
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r2, r0, r7
- adds r1, r2, 0
- adds r1, 0x3E
- ldrb r0, [r1]
- mov r3, r10
- orrs r0, r3
- strb r0, [r1]
- ldrb r0, [r2, 0x5]
- ands r5, r0
- mov r0, r8
- orrs r5, r0
- strb r5, [r2, 0x5]
- adds r0, r2, 0
- mov r1, r9
- bl SetSubspriteTables
- ldr r0, [r6]
- adds r0, 0x4F
- strb r4, [r0]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812E70C
-
- thumb_func_start sub_812E7CC
-sub_812E7CC: @ 812E7CC
- push {r4,lr}
- ldr r0, =gUnknown_085A7DB8
- movs r1, 0xB8
- lsls r1, 1
- movs r2, 0x4C
- movs r3, 0xB
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r3]
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldr r1, =gUnknown_085A803C
- bl SetSubspriteTables
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x40
- strb r4, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812E7CC
-
- thumb_func_start sub_812E82C
-sub_812E82C: @ 812E82C
- push {r4,lr}
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x40
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- movs r4, 0
-_0812E846:
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x49
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _0812E846
- ldr r4, =gUnknown_0203AAE8
- ldr r0, [r4]
- cmp r0, 0
- beq _0812E878
- bl Free
- movs r0, 0
- str r0, [r4]
-_0812E878:
- ldr r4, =gUnknown_0203AAEC
- ldr r0, [r4]
- cmp r0, 0
- beq _0812E888
- bl Free
- movs r0, 0
- str r0, [r4]
-_0812E888:
- movs r4, 0
-_0812E88A:
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x4B
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _0812E88A
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812E82C
-
- thumb_func_start sub_812E8C4
-sub_812E8C4: @ 812E8C4
- push {r4,lr}
- movs r4, 0
-_0812E8C8:
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x4E
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _0812E8C8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812E8C4
-
- thumb_func_start sub_812E8F8
-sub_812E8F8: @ 812E8F8
- push {r4,lr}
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x42
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- ldr r4, =gUnknown_0203AAF0
- ldr r0, [r4]
- cmp r0, 0
- beq _0812E920
- bl Free
- movs r0, 0
- str r0, [r4]
-_0812E920:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812E8F8
-
- thumb_func_start sub_812E934
-sub_812E934: @ 812E934
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- ldr r0, =gUnknown_085A7DD0
- mov r10, r0
- movs r1, 0x98
- movs r2, 0x20
- movs r3, 0x5
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r2, =gSprites
- mov r9, r2
- adds r3, r1, r2
- ldrb r2, [r3, 0x5]
- movs r4, 0xD
- negs r4, r4
- adds r1, r4, 0
- ands r1, r2
- movs r2, 0x4
- mov r8, r2
- mov r2, r8
- orrs r1, r2
- strb r1, [r3, 0x5]
- adds r5, r3, 0
- adds r5, 0x3F
- ldrb r1, [r5]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r5]
- ldr r6, =sSlotMachine
- ldr r1, [r6]
- adds r1, 0x50
- strb r0, [r1]
- movs r0, 0x8
- strh r0, [r3, 0x2E]
- ldr r0, =0x0000ffff
- strh r0, [r3, 0x30]
- movs r0, 0x1
- negs r0, r0
- strh r0, [r3, 0x32]
- movs r5, 0x20
- strh r5, [r3, 0x3C]
- mov r0, r10
- movs r1, 0xB8
- movs r2, 0x20
- movs r3, 0x5
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- mov r2, r9
- adds r3, r1, r2
- ldrb r1, [r3, 0x5]
- ands r4, r1
- mov r1, r8
- orrs r4, r1
- strb r4, [r3, 0x5]
- ldr r1, [r6]
- adds r1, 0x51
- strb r0, [r1]
- movs r0, 0x1
- strh r0, [r3, 0x30]
- subs r0, 0x2
- strh r0, [r3, 0x32]
- strh r5, [r3, 0x3C]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812E934
-
- thumb_func_start sub_812E9E8
-sub_812E9E8: @ 812E9E8
- push {r4,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- movs r1, 0x2E
- ldrsh r4, [r2, r1]
- cmp r4, 0
- beq _0812EA0C
- subs r0, 0x1
- movs r1, 0
- strh r0, [r2, 0x2E]
- strh r1, [r2, 0x24]
- strh r1, [r2, 0x26]
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- b _0812EA3E
-_0812EA0C:
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- ldrh r0, [r2, 0x30]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x32]
- ldrh r1, [r2, 0x26]
- adds r0, r1
- strh r0, [r2, 0x26]
- ldrh r0, [r2, 0x34]
- adds r0, 0x1
- strh r0, [r2, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _0812EA3E
- ldrh r0, [r2, 0x3C]
- strh r0, [r2, 0x2E]
- strh r4, [r2, 0x34]
-_0812EA3E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_812E9E8
-
- thumb_func_start sub_812EA44
-sub_812EA44: @ 812EA44
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gSprites
- ldr r1, =sSlotMachine
- ldr r3, [r1]
- adds r1, r3, 0
- adds r1, 0x50
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- strh r0, [r1, 0x3C]
- adds r3, 0x51
- ldrb r2, [r3]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- strh r0, [r1, 0x3C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812EA44
-
- thumb_func_start sub_812EA7C
-sub_812EA7C: @ 812EA7C
- push {r4,lr}
- movs r4, 0
-_0812EA80:
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x50
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _0812EA80
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812EA7C
-
- thumb_func_start sub_812EAB0
-sub_812EAB0: @ 812EAB0
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- ldr r0, =gUnknown_085A7DE8
- mov r8, r0
- movs r1, 0x48
- movs r2, 0x50
- movs r3, 0x3
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSprites
- mov r9, r1
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- add r2, r9
- ldrb r3, [r2, 0x5]
- movs r4, 0xD
- negs r4, r4
- adds r1, r4, 0
- ands r1, r3
- movs r6, 0x4
- orrs r1, r6
- strb r1, [r2, 0x5]
- movs r3, 0
- movs r1, 0x1
- strh r1, [r2, 0x2E]
- strh r3, [r2, 0x38]
- movs r1, 0x10
- strh r1, [r2, 0x3A]
- movs r1, 0x8
- strh r1, [r2, 0x3C]
- ldr r5, =sSlotMachine
- ldr r1, [r5]
- adds r1, 0x52
- strb r0, [r1]
- mov r0, r8
- movs r1, 0x68
- movs r2, 0x50
- movs r3, 0x3
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r9
- ldrb r2, [r1, 0x5]
- ands r4, r2
- orrs r4, r6
- strb r4, [r1, 0x5]
- adds r1, 0x3F
- ldrb r2, [r1]
- movs r3, 0x1
- orrs r2, r3
- strb r2, [r1]
- ldr r1, [r5]
- adds r1, 0x53
- strb r0, [r1]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812EAB0
-
- thumb_func_start sub_812EB48
-sub_812EB48: @ 812EB48
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r1, =gUnknown_085A7614
- mov r0, sp
- movs r2, 0x2
- bl memcpy
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0812EB9A
- ldrh r0, [r4, 0x3A]
- subs r0, 0x1
- strh r0, [r4, 0x3A]
- lsls r0, 16
- cmp r0, 0
- bgt _0812EB9A
- movs r0, 0x7
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- ldr r2, =0x01030000
- adds r0, r2
- lsrs r0, 16
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- add r1, sp
- ldrb r3, [r1]
- adds r1, r3, 0
- adds r2, r3, 0
- bl MultiplyInvertedPaletteRGBComponents
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- movs r1, 0x1
- ands r0, r1
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x3C]
- strh r0, [r4, 0x3A]
-_0812EB9A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812EB48
-
- thumb_func_start sub_812EBAC
-sub_812EBAC: @ 812EBAC
- ldr r3, =gSprites
- ldr r1, =sSlotMachine
- ldr r1, [r1]
- adds r1, 0x52
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- strh r0, [r1, 0x3C]
- bx lr
- .pool
- thumb_func_end sub_812EBAC
-
- thumb_func_start sub_812EBCC
-sub_812EBCC: @ 812EBCC
- push {r4,lr}
- movs r0, 0x7
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- ldr r1, =0x01030000
- adds r0, r1
- lsrs r0, 16
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl MultiplyInvertedPaletteRGBComponents
- movs r4, 0
-_0812EBEA:
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x52
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _0812EBEA
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812EBCC
-
- thumb_func_start sub_812EC20
-sub_812EC20: @ 812EC20
- push {lr}
- ldr r0, =gUnknown_085A7E00
- movs r1, 0xA8
- movs r2, 0x50
- movs r3, 0x6
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r3, [r1, 0x5]
- movs r2, 0xD
- negs r2, r2
- ands r2, r3
- movs r3, 0x4
- orrs r2, r3
- strb r2, [r1, 0x5]
- ldr r1, =sSlotMachine
- ldr r1, [r1]
- adds r1, 0x41
- strb r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812EC20
-
- thumb_func_start sub_812EC64
-sub_812EC64: @ 812EC64
- ldr r1, =gSpriteCoordOffsetY
- ldrh r1, [r1]
- strh r1, [r0, 0x26]
- bx lr
- .pool
- thumb_func_end sub_812EC64
-
- thumb_func_start sub_812EC70
-sub_812EC70: @ 812EC70
- push {lr}
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x41
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812EC70
-
- thumb_func_start sub_812EC94
-sub_812EC94: @ 812EC94
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r1, =gUnknown_085A7616
- mov r0, sp
- movs r2, 0x8
- bl memcpy
- movs r4, 0
-_0812ECA4:
- ldr r0, =gSpriteCoordOffsetX
- ldrh r0, [r0]
- movs r1, 0x50
- subs r1, r0
- lsls r1, 16
- asrs r1, 16
- ldr r0, =gUnknown_085A7E18
- movs r2, 0x44
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- ldr r1, =gSprites
- adds r3, r1
- ldrb r2, [r3, 0x5]
- movs r5, 0xD
- negs r5, r5
- adds r1, r5, 0
- ands r2, r1
- movs r1, 0x4
- orrs r2, r1
- strb r2, [r3, 0x5]
- movs r1, 0x3E
- adds r1, r3
- mov r12, r1
- ldrb r1, [r1]
- movs r2, 0x2
- orrs r1, r2
- mov r2, r12
- strb r1, [r2]
- lsls r1, r4, 1
- add r1, sp
- ldrh r1, [r1]
- strh r1, [r3, 0x2E]
- ldr r1, =sSlotMachine
- ldr r1, [r1]
- adds r1, 0x54
- adds r1, r4
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _0812ECA4
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812EC94
-
- thumb_func_start sub_812ED20
-sub_812ED20: @ 812ED20
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x2E]
- subs r0, 0x2
- movs r4, 0
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- movs r1, 0x14
- bl Cos
- strh r0, [r5, 0x24]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- movs r1, 0x6
- bl Sin
- strh r0, [r5, 0x26]
- adds r1, r5, 0
- adds r1, 0x43
- strb r4, [r1]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- cmp r0, 0x7F
- ble _0812ED5A
- movs r0, 0x2
- strb r0, [r1]
-_0812ED5A:
- ldrh r0, [r5, 0x30]
- adds r0, 0x1
- strh r0, [r5, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- ble _0812ED84
- adds r3, r5, 0
- adds r3, 0x3F
- ldrb r2, [r3]
- lsls r0, r2, 31
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0
- strh r0, [r5, 0x30]
-_0812ED84:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_812ED20
-
- thumb_func_start sub_812ED8C
-sub_812ED8C: @ 812ED8C
- push {r4,lr}
- movs r4, 0
-_0812ED90:
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x54
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _0812ED90
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812ED8C
-
- thumb_func_start sub_812EDC0
-sub_812EDC0: @ 812EDC0
- push {r4,lr}
- ldr r0, =gUnknown_085A7E30
- movs r1, 0xA8
- movs r2, 0x3C
- movs r3, 0x8
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldrb r1, [r0, 0x1]
- movs r2, 0x3
- orrs r1, r2
- strb r1, [r0, 0x1]
- bl InitSpriteAffineAnim
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x43
- strb r4, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812EDC0
-
- thumb_func_start sub_812EE14
-sub_812EE14: @ 812EE14
- push {lr}
- adds r3, r0, 0
- ldrh r2, [r3, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _0812EE36
- adds r0, r3, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0812EE90
- adds r0, r2, 0x1
- strh r0, [r3, 0x2E]
- b _0812EE90
-_0812EE36:
- cmp r0, 0x1
- bne _0812EE72
- movs r0, 0x3E
- adds r0, r3
- mov r12, r0
- ldrb r2, [r0]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x17
- ble _0812EE90
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- movs r0, 0
- strh r0, [r3, 0x32]
- b _0812EE90
-_0812EE72:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- ble _0812EE90
- movs r0, 0x1
- strh r0, [r3, 0x3C]
-_0812EE90:
- ldrh r0, [r3, 0x30]
- movs r1, 0xFF
- ands r1, r0
- adds r1, 0x10
- strh r1, [r3, 0x30]
- lsrs r1, 8
- ldrh r0, [r3, 0x26]
- subs r0, r1
- strh r0, [r3, 0x26]
- pop {r0}
- bx r0
- thumb_func_end sub_812EE14
-
- thumb_func_start sub_812EEA8
-sub_812EEA8: @ 812EEA8
- ldr r2, =gSprites
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x43
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- bx lr
- .pool
- thumb_func_end sub_812EEA8
-
- thumb_func_start sub_812EECC
-sub_812EECC: @ 812EECC
- push {r4,lr}
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- adds r0, 0x43
- ldrb r0, [r0]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl DestroySprite
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812EECC
-
- thumb_func_start sub_812EF00
-sub_812EF00: @ 812EF00
- push {r4,lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, =gUnknown_085A7F98
- lsls r3, 16
- asrs r3, 16
- lsls r2, 16
- asrs r2, 16
- adds r1, r3, 0
- movs r3, 0xC
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldrb r1, [r0, 0x1]
- movs r2, 0x3
- orrs r1, r2
- strb r1, [r0, 0x1]
- bl InitSpriteAffineAnim
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_812EF00
-
- thumb_func_start sub_812EF54
-sub_812EF54: @ 812EF54
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0812EF68
- movs r0, 0x1
- strh r0, [r2, 0x3C]
-_0812EF68:
- pop {r0}
- bx r0
- thumb_func_end sub_812EF54
-
- thumb_func_start sub_812EF6C
-sub_812EF6C: @ 812EF6C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl DestroySprite
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812EF6C
-
- thumb_func_start sub_812EF98
-sub_812EF98: @ 812EF98
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r3, =gUnknown_085A78C8
- lsrs r1, 22
- adds r3, r1, r3
- ldr r5, [r3]
- ldr r3, =gUnknown_085A783A
- adds r4, r1, r3
- movs r6, 0
- ldrsh r4, [r4, r6]
- adds r3, 0x2
- adds r1, r3
- movs r6, 0
- ldrsh r3, [r1, r6]
- lsls r2, 16
- asrs r2, 16
- str r2, [sp]
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_812EFDC
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_812EF98
-
- thumb_func_start sub_812EFDC
-sub_812EFDC: @ 812EFDC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x18
- adds r4, r0, 0
- mov r8, r1
- adds r1, r2, 0
- adds r2, r3, 0
- ldr r5, [sp, 0x34]
- lsls r4, 24
- lsls r5, 16
- lsrs r5, 16
- mov r9, r5
- ldr r0, =gUnknown_085A8264
- lsrs r4, 22
- adds r0, r4, r0
- mov r3, sp
- ldr r0, [r0]
- ldm r0!, {r5-r7}
- stm r3!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r3!, {r5-r7}
- ldr r0, =gUnknown_03001188
- adds r0, r4, r0
- ldr r0, [r0]
- str r0, [sp, 0xC]
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- mov r0, sp
- movs r3, 0x10
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- adds r7, r0, 0
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, =gSprites
- adds r2, r0, r1
- ldrb r0, [r2, 0x5]
- movs r1, 0xC
- orrs r0, r1
- strb r0, [r2, 0x5]
- mov r0, r8
- str r0, [r2, 0x1C]
- mov r5, r9
- strh r5, [r2, 0x3A]
- movs r0, 0x1
- strh r0, [r2, 0x3C]
- ldr r0, =gUnknown_085A82CC
- adds r4, r0
- ldr r1, [r4]
- cmp r1, 0
- beq _0812F056
- adds r0, r2, 0
- bl SetSubspriteTables
-_0812F056:
- adds r0, r7, 0
- add sp, 0x18
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_812EFDC
-
- thumb_func_start sub_812F078
-sub_812F078: @ 812F078
- movs r1, 0
- strh r1, [r0, 0x3C]
- bx lr
- thumb_func_end sub_812F078
-
- thumb_func_start sub_812F080
-sub_812F080: @ 812F080
- push {r4,r5,lr}
- sub sp, 0x10
- adds r4, r0, 0
- ldr r1, =gUnknown_085A761E
- mov r0, sp
- movs r2, 0x8
- bl memcpy
- add r5, sp, 0x8
- ldr r1, =gUnknown_085A7626
- adds r0, r5, 0
- movs r2, 0x8
- bl memcpy
- ldrh r0, [r4, 0x30]
- adds r1, r0, 0x1
- strh r1, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- ble _0812F0C6
- adds r3, r4, 0
- adds r3, 0x42
- ldrb r2, [r3]
- lsls r0, r2, 26
- lsrs r0, 26
- movs r1, 0x1
- eors r1, r0
- movs r0, 0x40
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0
- strh r0, [r4, 0x30]
-_0812F0C6:
- movs r0, 0
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- adds r0, 0x42
- ldrb r1, [r0]
- movs r0, 0x3F
- ands r0, r1
- cmp r0, 0
- beq _0812F0F2
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x24]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- lsls r0, 1
- adds r0, r5, r0
- ldrh r0, [r0]
- strh r0, [r4, 0x26]
-_0812F0F2:
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812F080
-
- thumb_func_start sub_812F104
-sub_812F104: @ 812F104
- push {lr}
- adds r3, r0, 0
- adds r3, 0x3F
- ldrb r1, [r3]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r3]
- bl sub_812F080
- pop {r0}
- bx r0
- thumb_func_end sub_812F104
-
- thumb_func_start sub_812F11C
-sub_812F11C: @ 812F11C
- push {lr}
- adds r3, r0, 0
- adds r3, 0x3F
- ldrb r1, [r3]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r3]
- bl sub_812F080
- pop {r0}
- bx r0
- thumb_func_end sub_812F11C
-
- thumb_func_start sub_812F134
-sub_812F134: @ 812F134
- push {lr}
- adds r3, r0, 0
- adds r3, 0x3F
- ldrb r1, [r3]
- movs r2, 0x1
- orrs r1, r2
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r3]
- bl sub_812F080
- pop {r0}
- bx r0
- thumb_func_end sub_812F134
-
- thumb_func_start sub_812F150
-sub_812F150: @ 812F150
- push {lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- beq _0812F184
- cmp r0, 0x1
- bgt _0812F166
- cmp r0, 0
- beq _0812F170
- b _0812F1B4
-_0812F166:
- cmp r0, 0x2
- beq _0812F194
- cmp r0, 0x3
- beq _0812F1B0
- b _0812F1B4
-_0812F170:
- ldrh r0, [r2, 0x20]
- adds r0, 0x4
- strh r0, [r2, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xCF
- ble _0812F1B4
- movs r0, 0xD0
- strh r0, [r2, 0x20]
- b _0812F1A2
-_0812F184:
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5A
- ble _0812F1B4
- b _0812F1A2
-_0812F194:
- ldrh r0, [r2, 0x20]
- adds r0, 0x4
- strh r0, [r2, 0x20]
- lsls r0, 16
- ldr r1, =0x010f0000
- cmp r0, r1
- ble _0812F1B4
-_0812F1A2:
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- b _0812F1B4
- .pool
-_0812F1B0:
- movs r0, 0
- strh r0, [r2, 0x3C]
-_0812F1B4:
- pop {r0}
- bx r0
- thumb_func_end sub_812F150
-
- thumb_func_start sub_812F1B8
-sub_812F1B8: @ 812F1B8
- push {lr}
- adds r1, r0, 0
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- beq _0812F1EC
- cmp r0, 0x1
- bgt _0812F1CE
- cmp r0, 0
- beq _0812F1D8
- b _0812F216
-_0812F1CE:
- cmp r0, 0x2
- beq _0812F1FC
- cmp r0, 0x3
- beq _0812F212
- b _0812F216
-_0812F1D8:
- ldrh r0, [r1, 0x20]
- subs r0, 0x4
- strh r0, [r1, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD0
- bgt _0812F216
- movs r0, 0xD0
- strh r0, [r1, 0x20]
- b _0812F20A
-_0812F1EC:
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5A
- ble _0812F216
- b _0812F20A
-_0812F1FC:
- ldrh r0, [r1, 0x20]
- subs r0, 0x4
- strh r0, [r1, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x90
- bgt _0812F216
-_0812F20A:
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- b _0812F216
-_0812F212:
- movs r0, 0
- strh r0, [r1, 0x3C]
-_0812F216:
- pop {r0}
- bx r0
- thumb_func_end sub_812F1B8
-
- thumb_func_start sub_812F21C
-sub_812F21C: @ 812F21C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- bhi _0812F2C6
- lsls r0, 2
- ldr r1, =_0812F238
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0812F238:
- .4byte _0812F250
- .4byte _0812F268
- .4byte _0812F288
- .4byte _0812F29C
- .4byte _0812F2AC
- .4byte _0812F2C2
-_0812F250:
- ldr r0, =sSlotMachine
- ldr r0, [r0]
- ldrb r1, [r0, 0xA]
- subs r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_0812F268:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _0812F2C6
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r0, 0
- strh r0, [r4, 0x30]
- b _0812F2C6
- .pool
-_0812F288:
- ldrh r0, [r4, 0x20]
- adds r0, 0x4
- strh r0, [r4, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xCF
- ble _0812F2C6
- movs r0, 0xD0
- strh r0, [r4, 0x20]
- b _0812F2BA
-_0812F29C:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5A
- ble _0812F2C6
- b _0812F2BA
-_0812F2AC:
- ldrh r0, [r4, 0x20]
- adds r0, 0x4
- strh r0, [r4, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF7
- ble _0812F2C6
-_0812F2BA:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _0812F2C6
-_0812F2C2:
- movs r0, 0
- strh r0, [r4, 0x3C]
-_0812F2C6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_812F21C
-
- thumb_func_start sub_812F2CC
-sub_812F2CC: @ 812F2CC
- push {lr}
- adds r3, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r3, r1]
- cmp r0, 0x1
- beq _0812F2FA
- cmp r0, 0x1
- bgt _0812F2E2
- cmp r0, 0
- beq _0812F2E8
- b _0812F368
-_0812F2E2:
- cmp r0, 0x2
- beq _0812F318
- b _0812F368
-_0812F2E8:
- adds r2, r3, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
-_0812F2FA:
- ldrh r0, [r3, 0x22]
- adds r0, 0x8
- strh r0, [r3, 0x22]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6F
- ble _0812F368
- movs r0, 0x70
- strh r0, [r3, 0x22]
- movs r0, 0x10
- strh r0, [r3, 0x30]
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- b _0812F368
-_0812F318:
- movs r0, 0x32
- ldrsh r2, [r3, r0]
- cmp r2, 0
- bne _0812F35E
- ldrh r0, [r3, 0x22]
- ldrh r1, [r3, 0x30]
- subs r0, r1
- strh r0, [r3, 0x22]
- negs r1, r1
- strh r1, [r3, 0x30]
- ldrh r0, [r3, 0x34]
- adds r0, 0x1
- strh r0, [r3, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0812F35E
- lsls r0, r1, 16
- asrs r0, 18
- strh r0, [r3, 0x30]
- strh r2, [r3, 0x34]
- adds r1, r0, 0
- cmp r1, 0
- bne _0812F35E
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- strh r1, [r3, 0x3C]
- adds r2, r3, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_0812F35E:
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- movs r1, 0x7
- ands r0, r1
- strh r0, [r3, 0x32]
-_0812F368:
- pop {r0}
- bx r0
- thumb_func_end sub_812F2CC
-
- thumb_func_start sub_812F36C
-sub_812F36C: @ 812F36C
- push {lr}
- adds r1, r0, 0
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _0812F37E
- cmp r0, 0x1
- beq _0812F394
- b _0812F3B0
-_0812F37E:
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _0812F3B0
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- b _0812F3B0
-_0812F394:
- ldrh r0, [r1, 0x22]
- adds r0, 0x2
- strh r0, [r1, 0x22]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2F
- ble _0812F3B0
- movs r0, 0x30
- strh r0, [r1, 0x22]
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- movs r0, 0
- strh r0, [r1, 0x3C]
-_0812F3B0:
- pop {r0}
- bx r0
- thumb_func_end sub_812F36C
-
- thumb_func_start sub_812F3B4
-sub_812F3B4: @ 812F3B4
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0812F3C6
- cmp r0, 0x1
- beq _0812F416
- b _0812F468
-_0812F3C6:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x20
- ble _0812F468
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r0, 0x5
- strh r0, [r4, 0x30]
- ldrb r0, [r4, 0x1]
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldrh r0, [r4, 0x30]
- lsls r1, r0, 4
- orrs r1, r0
- lsls r1, 24
- lsrs r1, 16
- movs r0, 0x4C
- bl SetGpuReg
- b _0812F468
-_0812F416:
- ldrh r1, [r4, 0x32]
- lsls r1, 16
- asrs r1, 24
- ldrh r0, [r4, 0x30]
- subs r0, r1
- strh r0, [r4, 0x30]
- lsls r0, 16
- cmp r0, 0
- bge _0812F42C
- movs r0, 0
- strh r0, [r4, 0x30]
-_0812F42C:
- ldrh r0, [r4, 0x30]
- lsls r1, r0, 4
- orrs r1, r0
- lsls r1, 24
- lsrs r1, 16
- movs r0, 0x4C
- bl SetGpuReg
- ldrh r1, [r4, 0x32]
- movs r0, 0xFF
- ands r0, r1
- adds r0, 0x80
- strh r0, [r4, 0x32]
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- cmp r1, 0
- bne _0812F468
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x3C]
- ldrb r1, [r4, 0x1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnim
-_0812F468:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_812F3B4
-
- thumb_func_start sub_812F470
-sub_812F470: @ 812F470
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- cmp r0, 0x2
- bgt _0812F4C0
- ldr r1, =gUnknown_085A8510
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- movs r0, 0x6
- bl IndexOfSpritePaletteTag
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 4
- movs r0, 0x80
- lsls r0, 17
- adds r1, r0
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- strh r0, [r5, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _0812F4FC
- ldrh r0, [r5, 0x30]
- adds r0, 0x1
- strh r0, [r5, 0x30]
- movs r0, 0
- strh r0, [r5, 0x32]
- b _0812F4FC
- .pool
-_0812F4C0:
- ldr r1, =gUnknown_085A8510
- movs r2, 0x30
- ldrsh r0, [r5, r2]
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- movs r0, 0x6
- bl IndexOfSpritePaletteTag
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 4
- movs r0, 0x80
- lsls r0, 17
- adds r1, r0
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r5, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x18
- ble _0812F4FC
- strh r1, [r5, 0x30]
- strh r1, [r5, 0x32]
-_0812F4FC:
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnimIfDifferent
- movs r0, 0
- strh r0, [r5, 0x3C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812F470
-
- thumb_func_start sub_812F514
-sub_812F514: @ 812F514
- push {r4-r6,lr}
- sub sp, 0x30
- adds r4, r0, 0
- ldr r1, =gUnknown_085A762E
- mov r0, sp
- movs r2, 0x10
- bl memcpy
- add r6, sp, 0x10
- ldr r1, =gUnknown_085A763E
- adds r0, r6, 0
- movs r2, 0x10
- bl memcpy
- add r5, sp, 0x20
- ldr r1, =gUnknown_085A764E
- adds r0, r5, 0
- movs r2, 0x10
- bl memcpy
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0812F58C
- cmp r0, 0x1
- bgt _0812F55C
- cmp r0, 0
- beq _0812F562
- b _0812F5D8
- .pool
-_0812F55C:
- cmp r0, 0x2
- beq _0812F5A0
- b _0812F5D8
-_0812F562:
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x24]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- lsls r0, 1
- adds r0, r6, r0
- ldrh r0, [r0]
- strh r0, [r4, 0x26]
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r5, r0
- ldrh r0, [r0]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_0812F58C:
- ldrh r0, [r4, 0x30]
- subs r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0812F5D8
- b _0812F5D2
-_0812F5A0:
- ldrh r0, [r4, 0x24]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- cmp r1, 0
- ble _0812F5AE
- subs r0, 0x4
- b _0812F5B4
-_0812F5AE:
- cmp r1, 0
- bge _0812F5B6
- adds r0, 0x4
-_0812F5B4:
- strh r0, [r4, 0x24]
-_0812F5B6:
- ldrh r0, [r4, 0x26]
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- cmp r1, 0
- ble _0812F5C4
- subs r0, 0x4
- b _0812F5CA
-_0812F5C4:
- cmp r1, 0
- bge _0812F5CC
- adds r0, 0x4
-_0812F5CA:
- strh r0, [r4, 0x26]
-_0812F5CC:
- ldr r0, [r4, 0x24]
- cmp r0, 0
- bne _0812F5D8
-_0812F5D2:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_0812F5D8:
- add sp, 0x30
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_812F514
-
- thumb_func_start sub_812F5E0
-sub_812F5E0: @ 812F5E0
- push {r4,lr}
- sub sp, 0x10
- adds r4, r0, 0
- ldr r1, =gUnknown_085A765E
- mov r0, sp
- movs r2, 0x10
- bl memcpy
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _0812F602
- adds r0, r1, 0x1
- strh r0, [r4, 0x2E]
- movs r0, 0xC
- strh r0, [r4, 0x30]
-_0812F602:
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- lsls r0, 1
- add r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- lsls r0, 1
- add r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0812F63C
- subs r0, r1, 0x1
- strh r0, [r4, 0x30]
-_0812F63C:
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812F5E0
-
- thumb_func_start sub_812F648
-sub_812F648: @ 812F648
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _0812F694
- cmp r0, 0x1
- bgt _0812F660
- cmp r0, 0
- beq _0812F66A
- b _0812F76C
-_0812F660:
- cmp r0, 0x2
- beq _0812F6E0
- cmp r0, 0x3
- beq _0812F71C
- b _0812F76C
-_0812F66A:
- ldr r0, =sSlotMachine
- ldr r2, [r0]
- adds r1, r2, 0
- adds r1, 0x5C
- movs r0, 0x2F
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x3F
- strh r0, [r1]
- subs r1, 0x4
- ldr r0, =0x00002088
- strh r0, [r1]
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
-_0812F694:
- ldrh r0, [r5, 0x30]
- adds r2, r0, 0x2
- strh r2, [r5, 0x30]
- adds r0, 0xB2
- strh r0, [r5, 0x32]
- movs r1, 0xF0
- subs r1, r2
- strh r1, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD0
- ble _0812F6B0
- movs r0, 0xD0
- strh r0, [r5, 0x32]
-_0812F6B0:
- movs r1, 0x34
- ldrsh r0, [r5, r1]
- cmp r0, 0xCF
- bgt _0812F6BC
- movs r0, 0xD0
- strh r0, [r5, 0x34]
-_0812F6BC:
- ldr r0, =sSlotMachine
- ldr r2, [r0]
- ldrh r0, [r5, 0x32]
- lsls r0, 8
- ldrh r1, [r5, 0x34]
- orrs r0, r1
- adds r1, r2, 0
- adds r1, 0x58
- strh r0, [r1]
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- cmp r0, 0x33
- ble _0812F76C
- b _0812F75E
- .pool
-_0812F6E0:
- ldr r6, =sSlotMachine
- ldr r0, [r6]
- movs r1, 0x12
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _0812F76C
- ldr r1, =SpriteCallbackDummy
- movs r4, 0
- str r4, [sp]
- movs r0, 0x5
- movs r2, 0xD0
- movs r3, 0x74
- bl sub_812DF68
- ldr r2, [r6]
- adds r1, r2, 0
- adds r1, 0x58
- ldr r0, =0x0000c0e0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0xD1
- lsls r0, 7
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x2F
- strh r0, [r1]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- strh r4, [r5, 0x30]
-_0812F71C:
- ldrh r0, [r5, 0x30]
- adds r2, r0, 0x2
- strh r2, [r5, 0x30]
- adds r0, 0xC2
- strh r0, [r5, 0x32]
- movs r1, 0xE0
- subs r1, r2
- strh r1, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD0
- ble _0812F738
- movs r0, 0xD0
- strh r0, [r5, 0x32]
-_0812F738:
- movs r1, 0x34
- ldrsh r0, [r5, r1]
- cmp r0, 0xCF
- bgt _0812F744
- movs r0, 0xD0
- strh r0, [r5, 0x34]
-_0812F744:
- ldr r0, =sSlotMachine
- ldr r2, [r0]
- ldrh r0, [r5, 0x32]
- lsls r0, 8
- ldrh r1, [r5, 0x34]
- orrs r0, r1
- adds r1, r2, 0
- adds r1, 0x58
- strh r0, [r1]
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- cmp r0, 0xF
- ble _0812F76C
-_0812F75E:
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- adds r1, r2, 0
- adds r1, 0x5C
- movs r0, 0x3F
- strh r0, [r1]
-_0812F76C:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812F648
-
- thumb_func_start nullsub_101
-nullsub_101: @ 812F780
- bx lr
- thumb_func_end nullsub_101
-
- thumb_func_start sub_812F784
-sub_812F784: @ 812F784
- push {lr}
- movs r0, 0x4C
- movs r1, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- thumb_func_end sub_812F784
-
- thumb_func_start sub_812F794
-sub_812F794: @ 812F794
- push {r4,lr}
- ldr r0, =gUnknown_085A8520
- ldr r4, [r0]
- movs r0, 0x6
- bl IndexOfSpritePaletteTag
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 4
- movs r0, 0x80
- lsls r0, 17
- adds r1, r0
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812F794
-
- thumb_func_start sub_812F7C0
-sub_812F7C0: @ 812F7C0
- ldr r0, =sSlotMachine
- ldr r2, [r0]
- adds r1, r2, 0
- adds r1, 0x58
- movs r0, 0xF0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0xA0
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0x5C
- movs r1, 0x3F
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_812F7C0
-
- thumb_func_start sub_812F7E4
-sub_812F7E4: @ 812F7E4
- push {r4-r6,lr}
- bl sub_812F8A0
- ldr r4, =gUnknown_0203AAD4
- movs r0, 0xC8
- lsls r0, 6
- bl Alloc
- adds r1, r0, 0
- str r1, [r4]
- ldr r0, =gSlotMachineReelTime_Gfx
- bl LZDecompressWram
- ldr r4, =gUnknown_0203AAD8
- movs r0, 0xD8
- lsls r0, 6
- bl Alloc
- adds r1, r0, 0
- str r1, [r4]
- ldr r0, =gUnknown_085A858C
- bl LZDecompressWram
- ldr r4, =gUnknown_0203AB30
- movs r0, 0xB0
- bl AllocZeroed
- str r0, [r4]
- movs r3, 0
- ldr r5, =gUnknown_085A8334
- adds r6, r4, 0
-_0812F822:
- ldr r2, [r4]
- lsls r1, r3, 3
- adds r2, r1, r2
- adds r1, r5
- ldr r0, [r1]
- str r0, [r2]
- ldrh r0, [r1, 0x4]
- strh r0, [r2, 0x4]
- ldrh r0, [r1, 0x6]
- strh r0, [r2, 0x6]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x15
- bls _0812F822
- ldr r3, [r6]
- adds r2, r3, 0
- adds r2, 0x88
- ldr r0, =gUnknown_0203AAD4
- ldr r1, [r0]
- movs r4, 0xA0
- lsls r4, 4
- adds r0, r1, r4
- str r0, [r2]
- adds r2, 0x8
- movs r4, 0xA0
- lsls r4, 5
- adds r0, r1, r4
- str r0, [r2]
- adds r2, 0x8
- movs r4, 0xB0
- lsls r4, 5
- adds r0, r1, r4
- str r0, [r2]
- adds r0, r3, 0
- adds r0, 0xA0
- movs r2, 0xC8
- lsls r2, 5
- adds r1, r2
- str r1, [r0]
- adds r0, r3, 0
- bl LoadSpriteSheets
- ldr r0, =gUnknown_085A8544
- bl LoadSpritePalettes
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812F7E4
-
- thumb_func_start sub_812F8A0
-sub_812F8A0: @ 812F8A0
- push {r4-r6,lr}
- ldr r5, =gUnknown_0203AB2C
- movs r0, 0x8
- bl AllocZeroed
- str r0, [r5]
- ldr r4, =gUnknown_0203AAE0
- movs r0, 0x80
- lsls r0, 6
- bl AllocZeroed
- str r0, [r4]
- adds r3, r0, 0
- movs r1, 0
- adds r6, r4, 0
- ldr r0, =gUnknown_085A83E4
- ldr r4, [r0]
-_0812F8C2:
- movs r2, 0
- adds r1, 0x1
-_0812F8C6:
- adds r0, r4, r2
- ldrb r0, [r0]
- strb r0, [r3]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r3, 0x1
- cmp r2, 0x1F
- bls _0812F8C6
- lsls r0, r1, 24
- lsrs r1, r0, 24
- cmp r1, 0x3F
- bls _0812F8C2
- ldr r0, [r5]
- ldr r1, [r6]
- str r1, [r0]
- movs r1, 0x80
- lsls r1, 4
- strh r1, [r0, 0x4]
- movs r1, 0x11
- strh r1, [r0, 0x6]
- bl LoadSpriteSheet
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812F8A0
-
- thumb_func_start sub_812F908
-sub_812F908: @ 812F908
- push {r4,r5,lr}
- ldr r4, =gUnknown_0203AAC8
- movs r5, 0x88
- lsls r5, 6
- adds r0, r5, 0
- bl Alloc
- adds r1, r0, 0
- str r1, [r4]
- ldr r0, =gSlotMachineMenu_Gfx
- bl LZDecompressWram
- ldr r1, [r4]
- movs r0, 0x2
- adds r2, r5, 0
- movs r3, 0
- bl LoadBgTiles
- ldr r0, =gSlotMachineMenu_Pal
- movs r1, 0
- movs r2, 0xA0
- bl LoadPalette
- ldr r0, =gUnknown_085A8524
- movs r1, 0xD0
- movs r2, 0x20
- bl LoadPalette
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812F908
-
- thumb_func_start sub_812F958
-sub_812F958: @ 812F958
- push {lr}
- bl sub_812F968
- bl sub_812F980
- pop {r0}
- bx r0
- thumb_func_end sub_812F958
-
- thumb_func_start sub_812F968
-sub_812F968: @ 812F968
- push {lr}
- ldr r1, =gSlotMachineMenu_Tilemap
- movs r2, 0xA0
- lsls r2, 3
- movs r0, 0x2
- movs r3, 0
- bl LoadBgTilemap
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812F968
-
- thumb_func_start sub_812F980
-sub_812F980: @ 812F980
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r1, 0x4
- ldr r0, =gUnknown_0203AAD0
- mov r8, r0
-_0812F98E:
- movs r0, 0
- lsls r1, 16
- mov r9, r1
-_0812F994:
- mov r2, r8
- ldr r1, [r2]
- mov r2, r9
- asrs r6, r2, 16
- lsls r4, r0, 16
- asrs r4, 16
- adds r5, r6, r4
- adds r3, r5, 0
- adds r3, 0xA0
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0x3
- movs r2, 0x2
- bl LoadBgTilemap
- mov r0, r8
- ldr r1, [r0]
- adds r1, 0x2
- movs r2, 0xD0
- lsls r2, 1
- adds r3, r5, r2
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0x3
- movs r2, 0x2
- bl LoadBgTilemap
- mov r0, r8
- ldr r1, [r0]
- adds r1, 0x4
- adds r3, r5, 0
- adds r3, 0xC0
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0x3
- movs r2, 0x2
- bl LoadBgTilemap
- mov r2, r8
- ldr r1, [r2]
- adds r1, 0x6
- movs r0, 0xC0
- lsls r0, 1
- adds r7, r0, 0
- adds r3, r5, r7
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0x3
- movs r2, 0x2
- bl LoadBgTilemap
- adds r4, 0x1
- lsls r4, 16
- lsrs r0, r4, 16
- asrs r4, 16
- cmp r4, 0x3
- ble _0812F994
- mov r2, r8
- ldr r1, [r2]
- adds r1, 0x8
- adds r3, r6, 0
- adds r3, 0xC0
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0x3
- movs r2, 0x2
- bl LoadBgTilemap
- mov r0, r8
- ldr r1, [r0]
- adds r1, 0xA
- adds r3, r6, r7
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0x3
- movs r2, 0x2
- bl LoadBgTilemap
- movs r0, 0x7
-_0812FA32:
- mov r2, r8
- ldr r1, [r2]
- adds r1, 0xC
- lsls r4, r0, 16
- asrs r4, 16
- lsls r3, r4, 5
- mov r0, r9
- asrs r5, r0, 16
- adds r3, r5, r3
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0x3
- movs r2, 0x2
- bl LoadBgTilemap
- adds r4, 0x1
- lsls r4, 16
- lsrs r0, r4, 16
- asrs r4, 16
- cmp r4, 0xB
- ble _0812FA32
- adds r0, r5, 0x5
- lsls r0, 16
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, 0x11
- ble _0812F98E
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812F980
-
- thumb_func_start sub_812FA78
-sub_812FA78: @ 812FA78
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r5, [sp, 0x10]
- ldr r6, =gUnknown_0203AADC
- ldr r0, [r6]
- strh r1, [r0]
- ldr r1, [r6]
- strh r2, [r1, 0x2]
- strh r3, [r1, 0x4]
- strh r5, [r1, 0x6]
- lsls r4, 16
- asrs r5, r4, 16
- movs r0, 0xF0
- lsls r0, 17
- adds r4, r0
- lsrs r4, 16
- movs r0, 0x2
- movs r2, 0x2
- adds r3, r4, 0
- bl LoadBgTilemap
- ldr r1, [r6]
- adds r1, 0x2
- ldr r0, =0x000001e1
- adds r3, r5, r0
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0x2
- movs r2, 0x2
- bl LoadBgTilemap
- ldr r1, [r6]
- adds r1, 0x4
- movs r0, 0x80
- lsls r0, 2
- adds r3, r5, r0
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0x2
- movs r2, 0x2
- bl LoadBgTilemap
- ldr r1, [r6]
- adds r1, 0x6
- ldr r0, =0x00000201
- adds r5, r0
- lsls r5, 16
- lsrs r5, 16
- movs r0, 0x2
- movs r2, 0x2
- adds r3, r5, 0
- bl LoadBgTilemap
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812FA78
-
- thumb_func_start sub_812FAF4
-sub_812FAF4: @ 812FAF4
- push {lr}
- ldr r1, =gUnknown_08DCEC70
- movs r2, 0xA0
- lsls r2, 3
- movs r0, 0x2
- movs r3, 0
- bl LoadBgTilemap
- movs r0, 0x3
- bl HideBg
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812FAF4
-
- thumb_func_start SlotMachineSetup_9_0
-SlotMachineSetup_9_0: @ 812FB14
- ldr r1, =gUnknown_03001188
- ldr r0, =gUnknown_0203AAF4
- ldr r0, [r0]
- str r0, [r1]
- ldr r0, =gUnknown_0203AAF8
- ldr r0, [r0]
- str r0, [r1, 0x4]
- ldr r0, =gUnknown_0203AAFC
- ldr r0, [r0]
- str r0, [r1, 0x8]
- ldr r0, =gUnknown_0203AB04
- ldr r0, [r0]
- str r0, [r1, 0xC]
- ldr r0, =gUnknown_0203AB08
- ldr r0, [r0]
- str r0, [r1, 0x10]
- ldr r0, =gUnknown_0203AB18
- ldr r0, [r0]
- str r0, [r1, 0x14]
- ldr r0, =gUnknown_0203AB1C
- ldr r0, [r0]
- str r0, [r1, 0x18]
- ldr r0, =gUnknown_0203AB20
- ldr r0, [r0]
- str r0, [r1, 0x1C]
- ldr r0, =gUnknown_0203AB24
- ldr r0, [r0]
- str r0, [r1, 0x20]
- ldr r0, =gUnknown_0203AB28
- ldr r0, [r0]
- str r0, [r1, 0x24]
- ldr r0, =gUnknown_0203AB00
- ldr r0, [r0]
- str r0, [r1, 0x28]
- str r0, [r1, 0x2C]
- str r0, [r1, 0x30]
- str r0, [r1, 0x34]
- ldr r0, =gUnknown_0203AB0C
- ldr r0, [r0]
- str r0, [r1, 0x38]
- str r0, [r1, 0x3C]
- str r0, [r1, 0x40]
- str r0, [r1, 0x44]
- str r0, [r1, 0x48]
- ldr r0, =gUnknown_0203AB10
- ldr r0, [r0]
- str r0, [r1, 0x4C]
- str r0, [r1, 0x50]
- str r0, [r1, 0x54]
- ldr r0, =gUnknown_0203AB14
- ldr r0, [r0]
- str r0, [r1, 0x58]
- str r0, [r1, 0x5C]
- str r0, [r1, 0x60]
- movs r0, 0
- str r0, [r1, 0x64]
- bx lr
- .pool
- thumb_func_end SlotMachineSetup_9_0
-
- thumb_func_start SlotMachineSetup_8_0
-SlotMachineSetup_8_0: @ 812FBC4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r4, =gUnknown_0203AAF4
- movs r0, 0x8
- bl AllocZeroed
- str r0, [r4]
- ldr r6, =gUnknown_0203AAD4
- ldr r1, [r6]
- str r1, [r0]
- movs r5, 0xC0
- lsls r5, 3
- strh r5, [r0, 0x4]
- ldr r4, =gUnknown_0203AAF8
- movs r0, 0x8
- bl AllocZeroed
- str r0, [r4]
- ldr r1, [r6]
- adds r1, r5
- str r1, [r0]
- movs r1, 0x80
- lsls r1, 2
- mov r8, r1
- mov r2, r8
- strh r2, [r0, 0x4]
- ldr r4, =gUnknown_0203AAFC
- movs r0, 0x8
- bl AllocZeroed
- str r0, [r4]
- ldr r1, [r6]
- movs r3, 0x80
- lsls r3, 4
- adds r1, r3
- str r1, [r0]
- mov r4, r8
- strh r4, [r0, 0x4]
- ldr r4, =gUnknown_0203AB00
- movs r0, 0x8
- bl AllocZeroed
- str r0, [r4]
- ldr r1, [r6]
- movs r2, 0xA0
- lsls r2, 4
- adds r1, r2
- str r1, [r0]
- mov r3, r8
- strh r3, [r0, 0x4]
- ldr r4, =gUnknown_0203AB04
- movs r0, 0x8
- bl AllocZeroed
- str r0, [r4]
- ldr r1, [r6]
- movs r4, 0xC0
- lsls r4, 4
- adds r1, r4
- str r1, [r0]
- movs r5, 0xC0
- lsls r5, 2
- strh r5, [r0, 0x4]
- ldr r4, =gUnknown_0203AB08
- movs r0, 0x8
- bl AllocZeroed
- str r0, [r4]
- ldr r1, [r6]
- movs r2, 0x80
- lsls r2, 5
- adds r1, r2
- str r1, [r0]
- movs r1, 0x80
- lsls r1, 3
- strh r1, [r0, 0x4]
- ldr r4, =gUnknown_0203AB0C
- movs r0, 0x8
- bl AllocZeroed
- str r0, [r4]
- ldr r1, [r6]
- movs r3, 0xA0
- lsls r3, 5
- adds r1, r3
- str r1, [r0]
- mov r4, r8
- strh r4, [r0, 0x4]
- ldr r4, =gUnknown_0203AB10
- movs r0, 0x8
- bl AllocZeroed
- str r0, [r4]
- ldr r1, [r6]
- movs r2, 0xB0
- lsls r2, 5
- adds r1, r2
- str r1, [r0]
- strh r5, [r0, 0x4]
- ldr r4, =gUnknown_0203AB14
- movs r0, 0x8
- bl AllocZeroed
- str r0, [r4]
- ldr r1, [r6]
- movs r3, 0xC8
- lsls r3, 5
- adds r1, r3
- str r1, [r0]
- strh r5, [r0, 0x4]
- ldr r4, =gUnknown_0203AB18
- movs r0, 0x10
- bl AllocZeroed
- str r0, [r4]
- ldr r1, [r6]
- movs r4, 0xE0
- lsls r4, 5
- adds r2, r1, r4
- str r2, [r0]
- mov r2, r8
- strh r2, [r0, 0x4]
- movs r3, 0xF0
- lsls r3, 5
- adds r1, r3
- str r1, [r0, 0x8]
- strh r2, [r0, 0xC]
- ldr r4, =gUnknown_0203AB1C
- movs r0, 0x8
- bl AllocZeroed
- str r0, [r4]
- ldr r1, [r6]
- movs r4, 0x80
- lsls r4, 6
- adds r1, r4
- str r1, [r0]
- movs r1, 0xA0
- lsls r1, 2
- strh r1, [r0, 0x4]
- ldr r4, =gUnknown_0203AB20
- movs r0, 0x28
- bl AllocZeroed
- str r0, [r4]
- ldr r2, [r6]
- movs r3, 0x8A
- lsls r3, 6
- adds r1, r2, r3
- str r1, [r0]
- movs r3, 0x80
- strh r3, [r0, 0x4]
- movs r4, 0x8C
- lsls r4, 6
- adds r1, r2, r4
- str r1, [r0, 0x8]
- strh r3, [r0, 0xC]
- adds r4, 0x80
- adds r1, r2, r4
- str r1, [r0, 0x10]
- strh r3, [r0, 0x14]
- adds r4, 0x80
- adds r1, r2, r4
- str r1, [r0, 0x18]
- strh r3, [r0, 0x1C]
- movs r1, 0x92
- lsls r1, 6
- adds r2, r1
- str r2, [r0, 0x20]
- strh r3, [r0, 0x24]
- ldr r4, =gUnknown_0203AB24
- movs r0, 0x10
- bl AllocZeroed
- str r0, [r4]
- ldr r2, [r6]
- movs r3, 0x98
- lsls r3, 6
- adds r1, r2, r3
- str r1, [r0]
- movs r1, 0x90
- lsls r1, 3
- strh r1, [r0, 0x4]
- movs r4, 0xAA
- lsls r4, 6
- adds r2, r4
- str r2, [r0, 0x8]
- strh r1, [r0, 0xC]
- ldr r4, =gUnknown_0203AB28
- movs r0, 0x10
- bl AllocZeroed
- str r0, [r4]
- ldr r2, [r6]
- movs r3, 0xBC
- lsls r3, 6
- adds r1, r2, r3
- str r1, [r0]
- movs r1, 0xC0
- lsls r1, 1
- strh r1, [r0, 0x4]
- movs r4, 0xC2
- lsls r4, 6
- adds r2, r4
- str r2, [r0, 0x8]
- strh r1, [r0, 0xC]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SlotMachineSetup_8_0
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/trade.s b/asm/trade.s
index 224995de5..f81d8c6b2 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -1881,7 +1881,7 @@ sub_807825C: @ 807825C
lsrs r1, 24
movs r0, 0x1C
bl SetGpuReg
- bl sub_8197224
+ bl RunTextPrintersAndIsPrinter0Active
bl RunTasks
bl AnimateSprites
bl BuildOamBuffer
@@ -4588,7 +4588,7 @@ _080798BC:
str r0, [sp, 0x8]
adds r0, r5, 0
movs r3, 0x4
- bl box_print
+ bl AddTextPrinterParameterized3
add r6, sp, 0x28
adds r0, r6, 0
ldr r1, [sp, 0x60]
@@ -4608,7 +4608,7 @@ _080798BC:
movs r1, 0x1
movs r2, 0
movs r3, 0
- bl AddTextPrinterParameterized2
+ bl AddTextPrinterParameterized4
adds r0, r5, 0
bl PutWindowTilemap
adds r0, r5, 0
@@ -4847,7 +4847,7 @@ sub_8079B84: @ 8079B84
adds r0, r4, 0
movs r1, 0
movs r3, 0x4
- bl box_print
+ bl AddTextPrinterParameterized3
adds r0, r4, 0
bl PutWindowTilemap
adds r0, r4, 0
@@ -5599,7 +5599,7 @@ sub_807A19C: @ 807A19C
str r0, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0
movs r1, 0x14
movs r2, 0xC
@@ -14295,7 +14295,7 @@ sub_807F1A8: @ 807F1A8
movs r1, 0x1
movs r2, 0
movs r3, 0x2
- bl AddTextPrinterParameterized2
+ bl AddTextPrinterParameterized4
adds r0, r5, 0
movs r1, 0x3
bl CopyWindowToVram
diff --git a/asm/trainer_card.s b/asm/trainer_card.s
index 6d1be17cb..2c38140c6 100644
--- a/asm/trainer_card.s
+++ b/asm/trainer_card.s
@@ -419,7 +419,7 @@ _080C2A2C:
str r0, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0
movs r1, 0x3
bl CopyWindowToVram
@@ -1747,7 +1747,7 @@ sub_80C3574: @ 80C3574
movs r1, 0x1
movs r2, 0x14
movs r3, 0x1C
- bl box_print
+ bl AddTextPrinterParameterized3
b _080C35FA
.pool
_080C35E0:
@@ -1762,7 +1762,7 @@ _080C35E0:
movs r1, 0x1
movs r2, 0x10
movs r3, 0x21
- bl box_print
+ bl AddTextPrinterParameterized3
_080C35FA:
add sp, 0x2C
pop {r4,r5}
@@ -1818,7 +1818,7 @@ _080C365C:
str r0, [sp, 0x8]
movs r0, 0x1
movs r1, 0x1
- bl box_print
+ bl AddTextPrinterParameterized3
add sp, 0x2C
pop {r4}
pop {r0}
@@ -1848,7 +1848,7 @@ sub_80C3684: @ 80C3684
movs r1, 0x1
movs r2, 0x14
movs r3, 0x38
- bl box_print
+ bl AddTextPrinterParameterized3
b _080C36DE
.pool
_080C36C4:
@@ -1863,7 +1863,7 @@ _080C36C4:
movs r1, 0x1
movs r2, 0x10
movs r3, 0x39
- bl box_print
+ bl AddTextPrinterParameterized3
_080C36DE:
ldr r0, =gStringVar1
ldr r4, =gUnknown_02039CE8
@@ -1910,7 +1910,7 @@ _080C3740:
str r0, [sp, 0x8]
movs r0, 0x1
movs r1, 0x1
- bl box_print
+ bl AddTextPrinterParameterized3
add sp, 0xC
pop {r4,r5}
pop {r0}
@@ -1964,7 +1964,7 @@ sub_80C378C: @ 80C378C
movs r1, 0x1
movs r2, 0x14
movs r3, 0x48
- bl box_print
+ bl AddTextPrinterParameterized3
b _080C37F6
.pool
_080C37DC:
@@ -1979,7 +1979,7 @@ _080C37DC:
movs r1, 0x1
movs r2, 0x10
movs r3, 0x49
- bl box_print
+ bl AddTextPrinterParameterized3
_080C37F6:
ldr r5, =gStringVar4
ldr r4, =gUnknown_02039CE8
@@ -2025,7 +2025,7 @@ _080C3854:
str r0, [sp, 0x8]
movs r0, 0x1
movs r1, 0x1
- bl box_print
+ bl AddTextPrinterParameterized3
_080C386E:
add sp, 0xC
pop {r4,r5}
@@ -2060,7 +2060,7 @@ sub_80C3880: @ 80C3880
movs r1, 0x1
movs r2, 0x14
movs r3, 0x58
- bl box_print
+ bl AddTextPrinterParameterized3
b _080C38E2
.pool
_080C38C8:
@@ -2075,7 +2075,7 @@ _080C38C8:
movs r1, 0x1
movs r2, 0x10
movs r3, 0x59
- bl box_print
+ bl AddTextPrinterParameterized3
_080C38E2:
ldr r0, =gUnknown_02039CE8
ldr r1, [r0]
@@ -2159,7 +2159,7 @@ _080C395C:
movs r0, 0x1
movs r1, 0x1
adds r3, r4, 0
- bl box_print
+ bl AddTextPrinterParameterized3
adds r7, 0x12
lsls r2, r7, 24
lsrs r2, 24
@@ -2177,7 +2177,7 @@ _080C395C:
movs r0, 0x1
movs r1, 0x1
adds r3, r4, 0
- bl box_print
+ bl AddTextPrinterParameterized3
add r7, r10
mov r0, r9
adds r1, r6, 0
@@ -2194,7 +2194,7 @@ _080C395C:
movs r0, 0x1
movs r1, 0x1
adds r3, r4, 0
- bl box_print
+ bl AddTextPrinterParameterized3
add sp, 0xC
pop {r3-r5}
mov r8, r3
@@ -2235,7 +2235,7 @@ sub_80C3A18: @ 80C3A18
movs r0, 0x1
movs r1, 0x1
movs r2, 0x8
- bl box_print
+ bl AddTextPrinterParameterized3
ldr r1, [r7]
adds r1, 0x19
movs r0, 0x1
@@ -2256,7 +2256,7 @@ sub_80C3A18: @ 80C3A18
str r1, [sp, 0x8]
movs r0, 0x1
movs r1, 0x1
- bl box_print
+ bl AddTextPrinterParameterized3
ldr r0, =gUnknown_0856FB4A
mov r8, r0
ldr r1, [r7]
@@ -2271,7 +2271,7 @@ sub_80C3A18: @ 80C3A18
movs r0, 0x1
movs r1, 0x1
movs r2, 0x8
- bl box_print
+ bl AddTextPrinterParameterized3
ldr r1, [r7]
adds r1, 0x33
movs r0, 0x1
@@ -2292,7 +2292,7 @@ sub_80C3A18: @ 80C3A18
str r1, [sp, 0x8]
movs r0, 0x1
movs r1, 0x1
- bl box_print
+ bl AddTextPrinterParameterized3
_080C3ACE:
add sp, 0xC
pop {r3}
@@ -2363,7 +2363,7 @@ sub_80C3B50: @ 80C3B50
movs r1, 0x1
movs r2, 0x88
movs r3, 0x9
- bl box_print
+ bl AddTextPrinterParameterized3
b _080C3BB6
.pool
_080C3B8C:
@@ -2385,7 +2385,7 @@ _080C3B8C:
movs r0, 0x1
movs r1, 0x1
movs r3, 0x9
- bl box_print
+ bl AddTextPrinterParameterized3
_080C3BB6:
add sp, 0xC
pop {r4}
@@ -2470,7 +2470,7 @@ sub_80C3C34: @ 80C3C34
movs r0, 0x1
movs r1, 0x1
adds r3, r4, 0
- bl box_print
+ bl AddTextPrinterParameterized3
ldr r1, =gUnknown_0856FB57
ldr r0, [r6]
adds r0, r5
@@ -2492,7 +2492,7 @@ sub_80C3C34: @ 80C3C34
movs r0, 0x1
movs r1, 0x1
adds r3, r4, 0
- bl box_print
+ bl AddTextPrinterParameterized3
add sp, 0xC
pop {r3-r5}
mov r8, r3
@@ -6361,7 +6361,7 @@ _080C5DC2:
str r4, [sp, 0x8]
movs r1, 0x1
movs r3, 0x5
- bl box_print
+ bl AddTextPrinterParameterized3
ldr r4, =gText_BattleRecord
movs r0, 0x1
adds r1, r4, 0
@@ -6376,7 +6376,7 @@ _080C5DC2:
movs r0, 0x1
movs r1, 0x1
movs r3, 0x5
- bl box_print
+ bl AddTextPrinterParameterized3
str r6, [sp]
mov r0, r8
str r0, [sp, 0x4]
@@ -6386,7 +6386,7 @@ _080C5DC2:
movs r1, 0x8
movs r2, 0x5
movs r3, 0x4
- bl box_print
+ bl AddTextPrinterParameterized3
ldr r4, =gStringVar4
ldr r5, =gUnknown_02039CEC
ldr r0, [r5]
@@ -6408,7 +6408,7 @@ _080C5DC2:
movs r0, 0x2
movs r1, 0x8
movs r3, 0x10
- bl box_print
+ bl AddTextPrinterParameterized3
ldr r1, [r5]
ldrh r0, [r1, 0x8]
subs r0, 0x5
@@ -6476,7 +6476,7 @@ sub_80C5ED0: @ 80C5ED0
movs r1, 0x1
movs r2, 0x2
movs r3, 0
- bl box_print
+ bl AddTextPrinterParameterized3
b _080C5F3A
.pool
_080C5F18:
@@ -6495,7 +6495,7 @@ _080C5F18:
movs r1, 0x1
movs r2, 0x2
movs r3, 0
- bl box_print
+ bl AddTextPrinterParameterized3
_080C5F3A:
movs r0, 0x3
movs r1, 0x3
@@ -7983,7 +7983,7 @@ _080C6BB8:
movs r0, 0x1
movs r1, 0x7
movs r2, 0x4
- bl box_print
+ bl AddTextPrinterParameterized3
b _080C6C0E
.pool
_080C6BF0:
@@ -8000,7 +8000,7 @@ _080C6BF0:
movs r0, 0x1
movs r1, 0x7
movs r2, 0x4
- bl box_print
+ bl AddTextPrinterParameterized3
_080C6C0E:
adds r0, r4, 0x1
lsls r0, 24
@@ -8024,7 +8024,7 @@ _080C6C0E:
movs r1, 0x1
movs r2, 0x4
movs r3, 0
- bl box_print
+ bl AddTextPrinterParameterized3
movs r4, 0
_080C6C40:
adds r0, r4, 0
@@ -8084,7 +8084,7 @@ _080C6C94:
movs r0, 0x1
movs r1, 0x7
movs r2, 0x4
- bl box_print
+ bl AddTextPrinterParameterized3
ldr r5, =gUnknown_02039CF4
ldr r1, [r5]
ldrb r3, [r1, 0x10]
@@ -8104,7 +8104,7 @@ _080C6C94:
movs r0, 0x1
movs r1, 0x7
movs r2, 0x4
- bl box_print
+ bl AddTextPrinterParameterized3
ldr r1, [r5]
ldr r2, [r1, 0x4]
ldrb r0, [r1, 0x10]
@@ -8148,7 +8148,7 @@ _080C6C94:
movs r1, 0x1
movs r2, 0x4
movs r3, 0
- bl box_print
+ bl AddTextPrinterParameterized3
movs r4, 0
_080C6D4A:
adds r0, r4, 0
@@ -8258,7 +8258,7 @@ _080C6E08:
str r1, [sp, 0x10]
movs r1, 0x1
movs r3, 0x1
- bl AddTextPrinterParameterized2
+ bl AddTextPrinterParameterized4
ldr r0, [sp, 0x4C]
mov r10, r4
cmp r0, 0x6
@@ -8410,7 +8410,7 @@ sub_80C6EAC: @ 80C6EAC
movs r1, 0x1
movs r2, 0
movs r3, 0x2
- bl AddTextPrinterParameterized2
+ bl AddTextPrinterParameterized4
lsrs r5, 1
adds r0, r7, 0
ldr r1, [sp, 0x24]
diff --git a/asm/use_pokeblock.s b/asm/use_pokeblock.s
index 4cee3c4d9..e04dedd9e 100644
--- a/asm/use_pokeblock.s
+++ b/asm/use_pokeblock.s
@@ -879,7 +879,7 @@ sub_8166D44: @ 8166D44
movs r1, 0x1
adds r2, r4, 0
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0x2
bl PutWindowTilemap
movs r0, 0x2
@@ -1095,7 +1095,7 @@ sub_8166F50: @ 8166F50
movs r0, 0x2
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
movs r0, 0x2
bl PutWindowTilemap
movs r0, 0x2
@@ -1134,7 +1134,7 @@ sub_8166FB0: @ 8166FB0
movs r0, 0x2
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
add sp, 0xC
pop {r0}
bx r0
@@ -2536,7 +2536,7 @@ sub_8167BA0: @ 8167BA0
movs r0, 0
movs r1, 0x1
movs r3, 0
- bl PrintTextOnWindow
+ bl AddTextPrinterParameterized
ldr r0, [r7]
ldr r1, =0x00008041
adds r0, r1
@@ -2572,7 +2572,7 @@ sub_8167BA0: @ 8167BA0
movs r1, 0x1
movs r2, 0x2
movs r3, 0x1
- bl box_print
+ bl AddTextPrinterParameterized3
_08167C46:
mov r2, r8
cmp r2, 0