summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_anim_80A5C6C.s4
-rw-r--r--asm/battle_anim_80A9C70.s6
-rw-r--r--asm/battle_anim_sound_tasks.s1006
-rw-r--r--asm/battle_frontier_1.s30
-rw-r--r--asm/battle_frontier_2.s166
-rw-r--r--asm/battle_records.s1285
-rw-r--r--asm/battle_tent.s580
-rw-r--r--asm/battle_tower.s18
-rw-r--r--asm/cable_car.s6
-rw-r--r--asm/cable_club.s20
-rw-r--r--asm/contest.s36
-rw-r--r--asm/contest_link_80F57C4.s6
-rw-r--r--asm/contest_link_80FC4F4.s2
-rw-r--r--asm/dewford_trend.s975
-rw-r--r--asm/easy_chat.s32
-rw-r--r--asm/field_camera.s1153
-rw-r--r--asm/field_control_avatar.s70
-rw-r--r--asm/field_effect.s8533
-rw-r--r--asm/field_effect_helpers.s126
-rw-r--r--asm/field_ground_effect.s1929
-rw-r--r--asm/field_player_avatar.s410
-rw-r--r--asm/field_screen.s96
-rw-r--r--asm/field_specials.s8075
-rw-r--r--asm/field_tasks.s1921
-rw-r--r--asm/fieldmap.s2285
-rw-r--r--asm/fldeff_80F9BCC.s68
-rw-r--r--asm/fldeff_cut.s1486
-rw-r--r--asm/item.s1921
-rw-r--r--asm/learn_move.s2
-rw-r--r--asm/link_rfu.s2
-rw-r--r--asm/macros/battle_script.inc6
-rw-r--r--asm/macros/map.inc80
-rw-r--r--asm/macros/movement.inc234
-rw-r--r--asm/map_name_popup.s570
-rw-r--r--asm/map_obj_lock.s474
-rw-r--r--asm/mauville_old_man.s2519
-rw-r--r--asm/menu_helpers.s986
-rw-r--r--asm/menu_indicators.s1442
-rw-r--r--asm/mon_markings.s946
-rw-r--r--asm/party_menu.s70
-rw-r--r--asm/player_pc.s3436
-rw-r--r--asm/pokedex.s13372
-rw-r--r--asm/pokemon_icon.s822
-rw-r--r--asm/pokemon_storage_system.s20
-rw-r--r--asm/pokemon_summary_screen.s882
-rw-r--r--asm/pokenav.s1143
-rw-r--r--asm/record_mixing.s3711
-rw-r--r--asm/rom6.s452
-rw-r--r--asm/rom_8011DC0.s5651
-rw-r--r--asm/rom_8034C54.s1312
-rw-r--r--asm/rotating_gate.s1152
-rw-r--r--asm/roulette.s8
-rw-r--r--asm/script_menu.s8
-rw-r--r--asm/script_movement.s577
-rw-r--r--asm/script_pokemon_util_80F87D8.s22
-rw-r--r--asm/shop.s52
-rw-r--r--asm/slot_machine.s6
-rw-r--r--asm/start_menu.s2101
-rw-r--r--asm/trade.s12
-rw-r--r--asm/trader.s558
-rw-r--r--asm/trainer_card.s4
61 files changed, 972 insertions, 73905 deletions
diff --git a/asm/battle_anim_80A5C6C.s b/asm/battle_anim_80A5C6C.s
index a3be18667..44ba33c08 100644
--- a/asm/battle_anim_80A5C6C.s
+++ b/asm/battle_anim_80A5C6C.s
@@ -554,7 +554,7 @@ _080A60E8:
ldrh r0, [r1, 0x2]
cmp r0, 0
bne _080A610C
- ldr r1, =gAnimSpeciesByBanks
+ ldr r1, =gAnimBattlerSpecies
lsls r0, r4, 1
adds r0, r1
ldrh r1, [r0]
@@ -1224,7 +1224,7 @@ _080A65D8:
bl sub_80A62DC
_080A65DE:
adds r0, r4, 0
- bl sub_80D30DC
+ bl UpdateMonIconFrame
pop {r4}
pop {r0}
bx r0
diff --git a/asm/battle_anim_80A9C70.s b/asm/battle_anim_80A9C70.s
index 755653156..3515b973e 100644
--- a/asm/battle_anim_80A9C70.s
+++ b/asm/battle_anim_80A9C70.s
@@ -623,8 +623,8 @@ _080AA186:
bx r0
thumb_func_end sub_80AA124
- thumb_func_start sub_80AA18C
-sub_80AA18C: @ 80AA18C
+ thumb_func_start AnimTask_StatsChange
+AnimTask_StatsChange: @ 80AA18C
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
@@ -853,7 +853,7 @@ _080AA352:
pop {r0}
bx r0
.pool
- thumb_func_end sub_80AA18C
+ thumb_func_end AnimTask_StatsChange
thumb_func_start LaunchStatusAnimation
LaunchStatusAnimation: @ 80AA364
diff --git a/asm/battle_anim_sound_tasks.s b/asm/battle_anim_sound_tasks.s
deleted file mode 100644
index def934fab..000000000
--- a/asm/battle_anim_sound_tasks.s
+++ /dev/null
@@ -1,1006 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8158B30
-sub_8158B30: @ 8158B30
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r6, r0, 2
- adds r6, r0
- lsls r6, 3
- adds r6, r1
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- strh r0, [r6, 0x8]
- ldrh r0, [r1, 0x2]
- strh r0, [r6, 0xA]
- movs r0, 0x40
- negs r0, r0
- bl BattleAnimAdjustPanning
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x3F
- bl BattleAnimAdjustPanning
- adds r5, r0, 0
- lsls r4, 24
- asrs r4, 24
- lsls r5, 24
- asrs r5, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- bl CalculatePanIncrement
- strh r4, [r6, 0xC]
- strh r5, [r6, 0xE]
- lsls r0, 24
- asrs r0, 24
- strh r0, [r6, 0x10]
- movs r0, 0xA
- strh r0, [r6, 0x1C]
- ldr r0, =sub_8158B98
- str r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8158B30
-
- thumb_func_start sub_8158B98
-sub_8158B98: @ 8158B98
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r5, [r4, 0xC]
- ldrb r6, [r4, 0x10]
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6F
- bne _08158BD0
- movs r0, 0x5
- strh r0, [r4, 0x1C]
- strh r1, [r4, 0x1E]
- ldr r0, =sub_8158C04
- str r0, [r4]
- b _08158BFE
- .pool
-_08158BD0:
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- bne _08158BEA
- strh r1, [r4, 0x1C]
- ldrh r0, [r4, 0x8]
- lsls r1, r5, 24
- asrs r1, 24
- bl PlaySE12WithPanning
-_08158BEA:
- lsls r1, r6, 24
- asrs r1, 24
- lsls r0, r5, 16
- asrs r0, 16
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- bl sub_80A52EC
- strh r0, [r4, 0xC]
-_08158BFE:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8158B98
-
- thumb_func_start sub_8158C04
-sub_8158C04: @ 8158C04
- 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, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- bne _08158C4C
- movs r0, 0
- strh r0, [r4, 0x1C]
- movs r0, 0x3F
- bl BattleAnimAdjustPanning
- adds r1, r0, 0
- ldrh r0, [r4, 0xA]
- lsls r1, 24
- asrs r1, 24
- bl PlaySE12WithPanning
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _08158C4C
- adds r0, r5, 0
- bl DestroyAnimSoundTask
-_08158C4C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8158C04
-
- thumb_func_start sub_8158C58
-sub_8158C58: @ 8158C58
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r8, r0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0]
- str r1, [sp]
- ldrb r5, [r0, 0x4]
- ldrb r6, [r0, 0x6]
- ldrb r3, [r0, 0x8]
- mov r10, r3
- ldrb r7, [r0, 0xA]
- ldrb r1, [r0, 0xC]
- mov r9, r1
- ldrb r0, [r0, 0x2]
- lsls r0, 24
- asrs r0, 24
- bl BattleAnimAdjustPanning
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- asrs r5, 24
- adds r0, r5, 0
- bl BattleAnimAdjustPanning
- adds r5, r0, 0
- lsls r4, 24
- asrs r4, 24
- lsls r5, 24
- asrs r5, 24
- lsls r6, 24
- asrs r6, 24
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl CalculatePanIncrement
- ldr r2, =gTasks
- mov r3, r8
- lsls r1, r3, 2
- add r1, r8
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- mov r6, sp
- ldrh r6, [r6]
- strh r6, [r1, 0x8]
- strh r4, [r1, 0xA]
- strh r5, [r1, 0xC]
- lsls r0, 24
- asrs r0, 24
- strh r0, [r1, 0xE]
- mov r0, r10
- strh r0, [r1, 0x10]
- strh r7, [r1, 0x12]
- mov r3, r9
- strh r3, [r1, 0x14]
- strh r2, [r1, 0x1C]
- strh r4, [r1, 0x1E]
- strh r3, [r1, 0x20]
- ldr r2, =sub_8158D08
- str r2, [r1]
- mov r0, r8
- bl _call_via_r2
- 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_8158C58
-
- thumb_func_start sub_8158D08
-sub_8158D08: @ 8158D08
- 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, 0x20]
- adds r1, r0, 0x1
- strh r1, [r4, 0x20]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x14
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _08158D50
- movs r0, 0
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x8]
- movs r1, 0x1E
- ldrsb r1, [r4, r1]
- bl PlaySE12WithPanning
- ldrh r0, [r4, 0x10]
- subs r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- cmp r0, 0
- bne _08158D50
- adds r0, r5, 0
- bl DestroyAnimSoundTask
- b _08158D82
- .pool
-_08158D50:
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x1C]
- adds r1, r0, 0x1
- strh r1, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _08158D82
- movs r0, 0
- strh r0, [r4, 0x1C]
- ldrh r0, [r4, 0xE]
- ldrh r1, [r4, 0x1E]
- adds r0, r1
- strh r0, [r4, 0x1E]
- movs r2, 0x1E
- ldrsh r0, [r4, r2]
- bl sub_80A52EC
- strh r0, [r4, 0x1E]
-_08158D82:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8158D08
-
- thumb_func_start sub_8158D8C
-sub_8158D8C: @ 8158D8C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- movs r0, 0x40
- negs r0, r0
- bl BattleAnimAdjustPanning
- lsls r0, 24
- lsrs r6, r0, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _08158DD0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08158DC8
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- ldrh r4, [r0]
- b _08158E76
- .pool
-_08158DC8:
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- b _08158E76
-_08158DD0:
- ldr r0, =gBattleAnimArgs
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r2, r0, 0
- cmp r1, 0
- bne _08158DEC
- ldr r0, =gBattleAnimAttacker
- ldrb r4, [r0]
- b _08158E12
- .pool
-_08158DEC:
- cmp r1, 0x1
- bne _08158DFC
- ldr r0, =gBattleAnimTarget
- ldrb r4, [r0]
- b _08158E12
- .pool
-_08158DFC:
- cmp r1, 0x2
- bne _08158E08
- ldr r0, =gBattleAnimAttacker
- b _08158E0A
- .pool
-_08158E08:
- ldr r0, =gBattleAnimTarget
-_08158E0A:
- ldrb r1, [r0]
- movs r0, 0x2
- adds r4, r0, 0
- eors r4, r1
-_08158E12:
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- beq _08158E1E
- cmp r0, 0x3
- bne _08158E38
-_08158E1E:
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- bne _08158E38
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- b _08158E8C
- .pool
-_08158E38:
- adds r0, r4, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08158E5C
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- b _08158E6A
- .pool
-_08158E5C:
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
-_08158E6A:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
-_08158E76:
- cmp r4, 0
- beq _08158E86
- lsls r1, r6, 24
- asrs r1, 24
- adds r0, r4, 0
- movs r2, 0x3
- bl PlayCry3
-_08158E86:
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_08158E8C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8158D8C
-
- thumb_func_start sub_8158E9C
-sub_8158E9C: @ 8158E9C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
- movs r0, 0x40
- negs r0, r0
- bl BattleAnimAdjustPanning
- lsls r0, 24
- lsrs r5, r0, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _08158EE0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08158ED8
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- ldrh r4, [r0]
- b _08158F86
- .pool
-_08158ED8:
- adds r0, r6, 0
- bl DestroyAnimVisualTask
- b _08158F86
-_08158EE0:
- ldr r0, =gBattleAnimArgs
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r2, r0, 0
- cmp r1, 0
- bne _08158EFC
- ldr r0, =gBattleAnimAttacker
- ldrb r4, [r0]
- b _08158F22
- .pool
-_08158EFC:
- cmp r1, 0x1
- bne _08158F0C
- ldr r0, =gBattleAnimTarget
- ldrb r4, [r0]
- b _08158F22
- .pool
-_08158F0C:
- cmp r1, 0x2
- bne _08158F18
- ldr r0, =gBattleAnimAttacker
- b _08158F1A
- .pool
-_08158F18:
- ldr r0, =gBattleAnimTarget
-_08158F1A:
- ldrb r1, [r0]
- movs r0, 0x2
- adds r4, r0, 0
- eors r4, r1
-_08158F22:
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- beq _08158F2E
- cmp r0, 0x3
- bne _08158F48
-_08158F2E:
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- bne _08158F48
- adds r0, r6, 0
- bl DestroyAnimVisualTask
- b _08158FEE
- .pool
-_08158F48:
- adds r0, r4, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08158F6C
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- b _08158F7A
- .pool
-_08158F6C:
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
-_08158F7A:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
-_08158F86:
- ldr r1, =gTasks
- lsls r2, r6, 2
- adds r0, r2, r6
- lsls r0, 3
- adds r0, r1
- ldr r3, =gBattleAnimArgs
- ldrh r1, [r3, 0x2]
- strh r1, [r0, 0x8]
- strh r4, [r0, 0xA]
- lsls r1, r5, 24
- asrs r1, 24
- strh r1, [r0, 0xC]
- adds r5, r2, 0
- cmp r4, 0
- beq _08158FE8
- movs r2, 0x2
- ldrsh r0, [r3, r2]
- cmp r0, 0xFF
- bne _08158FC8
- adds r0, r4, 0
- movs r2, 0x9
- bl PlayCry3
- b _08158FD0
- .pool
-_08158FC8:
- adds r0, r4, 0
- movs r2, 0x7
- bl PlayCry3
-_08158FD0:
- ldr r0, =gTasks
- adds r1, r5, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_8158FF4
- str r0, [r1]
- b _08158FEE
- .pool
-_08158FE8:
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_08158FEE:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8158E9C
-
- thumb_func_start sub_8158FF4
-sub_8158FF4: @ 8158FF4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r4, r0, 24
- mov r9, r4
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r1
- ldrh r6, [r1, 0xA]
- mov r8, r6
- ldrb r5, [r1, 0xC]
- adds r7, r5, 0
- ldrh r2, [r1, 0x1A]
- movs r3, 0x1A
- ldrsh r0, [r1, r3]
- cmp r0, 0x1
- bgt _08159028
- adds r0, r2, 0x1
- strh r0, [r1, 0x1A]
- b _0815906A
- .pool
-_08159028:
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0xFF
- bne _0815904E
- bl IsCryPlaying
- lsls r0, 24
- cmp r0, 0
- bne _0815906A
- lsls r1, r5, 24
- asrs r1, 24
- adds r0, r6, 0
- movs r2, 0xA
- bl PlayCry3
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _0815906A
-_0815904E:
- bl IsCryPlaying
- lsls r0, 24
- cmp r0, 0
- bne _0815906A
- lsls r1, r7, 24
- asrs r1, 24
- mov r0, r8
- movs r2, 0x8
- bl PlayCry3
- mov r0, r9
- bl DestroyAnimVisualTask
-_0815906A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8158FF4
-
- thumb_func_start sub_8159078
-sub_8159078: @ 8159078
- 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 r2, [r1, 0x1A]
- movs r3, 0x1A
- ldrsh r0, [r1, r3]
- cmp r0, 0x1
- bgt _081590A0
- adds r0, r2, 0x1
- strh r0, [r1, 0x1A]
- b _081590B0
- .pool
-_081590A0:
- bl IsCryPlaying
- lsls r0, 24
- cmp r0, 0
- bne _081590B0
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_081590B0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8159078
-
- thumb_func_start sub_81590B8
-sub_81590B8: @ 81590B8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =gBattleAnimArgs
- ldrh r1, [r1]
- strh r1, [r0, 0x1C]
- movs r0, 0x40
- negs r0, r0
- bl BattleAnimAdjustPanning
- lsls r0, 24
- lsrs r5, r0, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _081590F8
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- b _08159102
- .pool
-_081590F8:
- ldr r1, =gAnimSpeciesByBanks
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
-_08159102:
- ldrh r2, [r0]
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- strh r2, [r1, 0xA]
- lsls r0, r5, 24
- asrs r0, 24
- strh r0, [r1, 0xC]
- cmp r2, 0
- beq _08159130
- ldr r0, =sub_815913C
- str r0, [r1]
- b _08159136
- .pool
-_08159130:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_08159136:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81590B8
-
- thumb_func_start sub_815913C
-sub_815913C: @ 815913C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r6, [r0, 0xA]
- mov r8, r6
- ldrb r3, [r0, 0xC]
- adds r5, r3, 0
- movs r7, 0x1A
- ldrsh r2, [r0, r7]
- mov r12, r1
- cmp r2, 0x5
- bhi _081591DC
- lsls r0, r2, 2
- ldr r1, =_08159174
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08159174:
- .4byte _081591C2
- .4byte _081591A8
- .4byte _0815918C
- .4byte _081591A8
- .4byte _081591A8
- .4byte _081591B8
-_0815918C:
- lsls r1, r5, 24
- asrs r1, 24
- mov r0, r8
- movs r2, 0x4
- bl PlayCry6
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- b _081591B0
- .pool
-_081591A8:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- add r0, r12
-_081591B0:
- ldrh r1, [r0, 0x1A]
- adds r1, 0x1
- strh r1, [r0, 0x1A]
- b _08159204
-_081591B8:
- bl IsCryPlaying
- lsls r0, 24
- cmp r0, 0
- bne _08159204
-_081591C2:
- bl StopCryAndClearCrySongs
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x1A]
- adds r0, 0x1
- strh r0, [r1, 0x1A]
- b _08159204
- .pool
-_081591DC:
- movs r1, 0x1C
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _081591F2
- lsls r1, r3, 24
- asrs r1, 24
- adds r0, r6, 0
- movs r2, 0x6
- bl PlayCry6
- b _081591FE
-_081591F2:
- lsls r1, r5, 24
- asrs r1, 24
- mov r0, r8
- movs r2, 0x6
- bl PlayCry3
-_081591FE:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_08159204:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_815913C
-
- thumb_func_start sub_8159210
-sub_8159210: @ 8159210
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gBattleAnimArgs
- ldrh r5, [r0]
- ldrb r0, [r0, 0x2]
- lsls r0, 24
- asrs r0, 24
- bl BattleAnimAdjustPanning
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- adds r0, r5, 0
- bl PlaySE1WithPanning
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8159210
-
- thumb_func_start sub_8159244
-sub_8159244: @ 8159244
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gBattleAnimArgs
- ldrh r5, [r0]
- ldrb r0, [r0, 0x2]
- lsls r0, 24
- asrs r0, 24
- bl BattleAnimAdjustPanning
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- adds r0, r5, 0
- bl PlaySE2WithPanning
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8159244
-
- thumb_func_start sub_8159278
-sub_8159278: @ 8159278
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- mov r8, r0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, =gBattleAnimArgs
- ldrb r5, [r0, 0x2]
- ldrb r6, [r0, 0x4]
- ldrh r1, [r0, 0x6]
- mov r9, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- bl BattleAnimAdjustPanning
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- asrs r5, 24
- adds r0, r5, 0
- bl BattleAnimAdjustPanning
- adds r5, r0, 0
- lsls r4, 24
- asrs r4, 24
- lsls r5, 24
- asrs r5, 24
- lsls r6, 24
- asrs r6, 24
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl CalculatePanIncrement
- ldr r2, =gTasks
- mov r3, r8
- lsls r1, r3, 2
- add r1, r8
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- strh r4, [r1, 0xA]
- strh r5, [r1, 0xC]
- lsls r0, 24
- asrs r0, 24
- strh r0, [r1, 0xE]
- mov r0, r9
- strh r0, [r1, 0x12]
- strh r2, [r1, 0x1C]
- strh r4, [r1, 0x1E]
- ldr r2, =sub_8159308
- str r2, [r1]
- mov r0, r8
- bl _call_via_r2
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8159278
-
- thumb_func_start sub_8159308
-sub_8159308: @ 8159308
- 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 r2, [r4, 0xE]
- ldrh r0, [r4, 0x1C]
- adds r1, r0, 0x1
- strh r1, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x12
- ldrsh r1, [r4, r3]
- cmp r0, r1
- bne _08159342
- movs r0, 0
- strh r0, [r4, 0x1C]
- ldrh r1, [r4, 0x1E]
- adds r0, r2, r1
- strh r0, [r4, 0x1E]
- movs r2, 0x1E
- ldrsh r0, [r4, r2]
- bl sub_80A52EC
- strh r0, [r4, 0x1E]
-_08159342:
- ldr r1, =gUnknown_02038440
- ldrh r0, [r4, 0x1E]
- strb r0, [r1]
- movs r3, 0x1E
- ldrsh r1, [r4, r3]
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _0815935A
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_0815935A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8159308
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s
index e72b8b156..e353cb475 100644
--- a/asm/battle_frontier_1.s
+++ b/asm/battle_frontier_1.s
@@ -3326,7 +3326,7 @@ _0819064A:
adds r6, 0x1
cmp r6, 0xF
ble _0819064A
- bl sub_80D2F04
+ bl LoadMonIconPalettes
ldr r0, =sub_8190CD4
movs r1, 0
bl CreateTask
@@ -3695,7 +3695,7 @@ sub_8190938: @ 8190938
cmp r0, 0
bne _0819094A
adds r0, r1, 0
- bl sub_80D30DC
+ bl UpdateMonIconFrame
_0819094A:
pop {r0}
bx r0
@@ -3710,7 +3710,7 @@ sub_8190950: @ 8190950
cmp r0, 0
bne _08190962
adds r0, r4, 0
- bl sub_80D30DC
+ bl UpdateMonIconFrame
_08190962:
ldrh r0, [r4, 0x22]
adds r1, r0, 0x4
@@ -3774,7 +3774,7 @@ sub_81909CC: @ 81909CC
cmp r0, 0
bne _081909DE
adds r0, r4, 0
- bl sub_80D30DC
+ bl UpdateMonIconFrame
_081909DE:
ldrh r0, [r4, 0x22]
subs r1, r0, 0x4
@@ -3838,7 +3838,7 @@ sub_8190A48: @ 8190A48
cmp r0, 0
bne _08190A5A
adds r0, r4, 0
- bl sub_80D30DC
+ bl UpdateMonIconFrame
_08190A5A:
ldrh r0, [r4, 0x20]
adds r1, r0, 0x4
@@ -3902,7 +3902,7 @@ sub_8190AC4: @ 8190AC4
cmp r0, 0
bne _08190AD6
adds r0, r4, 0
- bl sub_80D30DC
+ bl UpdateMonIconFrame
_08190AD6:
ldrh r0, [r4, 0x20]
subs r1, r0, 0x4
@@ -6471,7 +6471,7 @@ _0819218E:
adds r6, 0x1
cmp r6, 0xF
ble _08192158
- bl sub_80D2F9C
+ bl FreeMonIconPalettes
ldr r4, =gUnknown_0203CD78
ldr r0, [r4]
bl Free
@@ -6481,7 +6481,7 @@ _0819218E:
mov r0, r9
cmp r0, 0
bne _081921C4
- ldr r0, =CB2_ReturnToFieldContinueScript
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
b _081921FC
.pool
@@ -9539,7 +9539,7 @@ _08193B84:
ldr r0, [r4]
bl Free
str r6, [r4]
- ldr r0, =CB2_ReturnToFieldContinueScript
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
ldr r1, =gTasks
lsls r0, r5, 2
@@ -11320,7 +11320,7 @@ _08194B24:
ands r0, r1
cmp r0, 0
bne _08194B3C
- ldr r0, =CB2_ReturnToFieldContinueScript
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
adds r0, r4, 0
bl DestroyTask
@@ -13887,7 +13887,7 @@ task_prev_quest: @ 81960A8
cmp r0, 0
bne _081960C2
bl ScriptContext2_Enable
- bl FreezeMapObjects
+ bl FreezeEventObjects
bl sub_808B864
bl sub_808BCF4
_081960C2:
@@ -14285,18 +14285,18 @@ sub_81963F0: @ 81963F0
movs r0, 0xFF
movs r1, 0
movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
bl sub_80D338C
- bl UnfreezeMapObjects
+ bl UnfreezeEventObjects
bl ScriptContext2_Disable
_08196446:
movs r0, 0x1
diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s
index 491a87948..38e0d2e62 100644
--- a/asm/battle_frontier_2.s
+++ b/asm/battle_frontier_2.s
@@ -1321,7 +1321,7 @@ _0819AFB8:
bl Free
str r5, [r7]
bl FreeAllWindowBuffers
- ldr r0, =sub_80861B0
+ ldr r0, =CB2_ReturnToFieldContinueScript
bl SetMainCallback2
adds r0, r6, 0
bl DestroyTask
@@ -4491,7 +4491,7 @@ _0819CAA4:
bl Free
str r5, [r7]
bl FreeAllWindowBuffers
- ldr r0, =sub_80861B0
+ ldr r0, =CB2_ReturnToFieldContinueScript
bl SetMainCallback2
adds r0, r6, 0
bl DestroyTask
@@ -11843,7 +11843,7 @@ sub_81A0784: @ 81A0784
movs r1, 0
adds r2, r4, 0
adds r3, r5, 0
- bl sub_8198A50
+ bl CreateWindowTemplate
ldr r0, [sp, 0x10]
ldr r1, [sp, 0x14]
str r0, [sp, 0x18]
@@ -12444,7 +12444,7 @@ _081A0C8E:
sub_81A0C9C: @ 81A0C9C
push {lr}
bl ScriptContext2_Enable
- bl FreezeMapObjects
+ bl FreezeEventObjects
bl sub_808B864
bl sub_808BCF4
movs r0, 0
@@ -12985,7 +12985,7 @@ _081A10F4:
adds r1, r0
adds r1, 0xBA
ldrh r0, [r1]
- bl ItemId_GetItem
+ bl ItemId_GetName
adds r1, r0, 0
b _081A1174
.pool
@@ -14344,7 +14344,7 @@ sub_81A1C4C: @ 81A1C4C
adds r3, r0, 0
lsls r0, r5, 3
adds r5, r0, 0x1
- ldr r0, =gResultsWindowId
+ ldr r0, =gRecordsWindowId
ldrb r0, [r0]
lsls r3, 24
lsrs r3, 24
@@ -14370,7 +14370,7 @@ sub_81A1C90: @ 81A1C90
push {r4,lr}
sub sp, 0x34
adds r2, r0, 0
- ldr r3, =gResultsWindowId
+ ldr r3, =gRecordsWindowId
movs r1, 0xAE
mov r0, sp
adds r0, 0x2F
@@ -14425,7 +14425,7 @@ sub_81A1CD8: @ 81A1CD8
lsls r0, 24
lsrs r0, 24
adds r7, r0, 0
- ldr r0, =gResultsWindowId
+ ldr r0, =gRecordsWindowId
mov r10, r0
ldrb r0, [r0]
str r7, [sp]
@@ -14644,7 +14644,7 @@ sub_81A1EA8: @ 81A1EA8
sub sp, 0xC
lsls r0, 24
lsrs r7, r0, 24
- ldr r4, =gResultsWindowId
+ ldr r4, =gRecordsWindowId
ldr r0, =gUnknown_08611C74
bl AddWindow
strb r0, [r4]
@@ -14685,7 +14685,7 @@ _081A1F28:
ldr r0, =gStringVar4
movs r1, 0x2
bl sub_81A1C4C
- ldr r6, =gResultsWindowId
+ ldr r6, =gRecordsWindowId
ldrb r0, [r6]
ldr r2, =gText_Lv502
movs r1, 0x31
@@ -14798,7 +14798,7 @@ sub_81A2008: @ 81A2008
lsrs r6, 24
lsls r5, 24
lsrs r5, 24
- ldr r0, =gResultsWindowId
+ ldr r0, =gRecordsWindowId
mov r10, r0
ldrb r0, [r0]
str r5, [sp]
@@ -14932,7 +14932,7 @@ sub_81A2134: @ 81A2134
sub sp, 0xC
lsls r0, 24
lsrs r7, r0, 24
- ldr r4, =gResultsWindowId
+ ldr r4, =gRecordsWindowId
ldr r0, =gUnknown_08611C74
bl AddWindow
strb r0, [r4]
@@ -14957,7 +14957,7 @@ _081A2184:
ldr r0, =gStringVar4
movs r1, 0
bl sub_81A1C4C
- ldr r1, =gResultsWindowId
+ ldr r1, =gRecordsWindowId
ldrb r0, [r1]
ldr r2, =gText_Lv502
movs r6, 0x21
@@ -14969,7 +14969,7 @@ _081A2184:
movs r1, 0x1
movs r3, 0x8
bl PrintTextOnWindow
- ldr r1, =gResultsWindowId
+ ldr r1, =gRecordsWindowId
ldrb r0, [r1]
ldr r2, =gText_OpenLv
movs r1, 0x61
@@ -15052,10 +15052,10 @@ _081A2184:
mov r1, r8
movs r3, 0x40
bl sub_81A2008
- ldr r1, =gResultsWindowId
+ ldr r1, =gRecordsWindowId
ldrb r0, [r1]
bl PutWindowTilemap
- ldr r1, =gResultsWindowId
+ ldr r1, =gRecordsWindowId
ldrb r0, [r1]
movs r1, 0x3
bl CopyWindowToVram
@@ -15091,7 +15091,7 @@ sub_81A22B8: @ 81A22B8
lsls r0, 24
lsrs r0, 24
adds r7, r0, 0
- ldr r0, =gResultsWindowId
+ ldr r0, =gRecordsWindowId
mov r10, r0
ldrb r0, [r0]
str r7, [sp]
@@ -15285,7 +15285,7 @@ sub_81A2460: @ 81A2460
sub sp, 0xC
lsls r0, 24
lsrs r7, r0, 24
- ldr r4, =gResultsWindowId
+ ldr r4, =gRecordsWindowId
ldr r0, =gUnknown_08611C74
bl AddWindow
strb r0, [r4]
@@ -15310,7 +15310,7 @@ _081A24B0:
ldr r0, =gStringVar4
movs r1, 0x2
bl sub_81A1C4C
- ldr r6, =gResultsWindowId
+ ldr r6, =gRecordsWindowId
ldrb r0, [r6]
ldr r2, =gText_Lv502
movs r1, 0x31
@@ -15420,7 +15420,7 @@ sub_81A258C: @ 81A258C
lsrs r6, 24
lsls r5, 24
lsrs r5, 24
- ldr r0, =gResultsWindowId
+ ldr r0, =gRecordsWindowId
mov r10, r0
ldrb r0, [r0]
str r5, [sp]
@@ -15533,7 +15533,7 @@ sub_81A2698: @ 81A2698
mov r5, r8
push {r5-r7}
sub sp, 0xC
- ldr r6, =gResultsWindowId
+ ldr r6, =gRecordsWindowId
ldr r0, =gUnknown_08611C74
bl AddWindow
strb r0, [r6]
@@ -15672,7 +15672,7 @@ sub_81A27E8: @ 81A27E8
lsls r0, 24
lsrs r0, 24
adds r7, r0, 0
- ldr r0, =gResultsWindowId
+ ldr r0, =gRecordsWindowId
mov r10, r0
ldrb r0, [r0]
str r7, [sp]
@@ -15836,7 +15836,7 @@ _081A2956:
sub_81A2968: @ 81A2968
push {r4-r6,lr}
sub sp, 0xC
- ldr r5, =gResultsWindowId
+ ldr r5, =gRecordsWindowId
ldr r0, =gUnknown_08611C74
bl AddWindow
strb r0, [r5]
@@ -15935,7 +15935,7 @@ sub_81A2A28: @ 81A2A28
lsls r0, 24
lsrs r0, 24
adds r6, r0, 0
- ldr r0, =gResultsWindowId
+ ldr r0, =gRecordsWindowId
mov r10, r0
ldrb r0, [r0]
str r6, [sp]
@@ -16211,7 +16211,7 @@ sub_81A2C94: @ 81A2C94
sub sp, 0xC
lsls r0, 24
lsrs r7, r0, 24
- ldr r4, =gResultsWindowId
+ ldr r4, =gRecordsWindowId
ldr r0, =gUnknown_08611C74
bl AddWindow
strb r0, [r4]
@@ -16236,7 +16236,7 @@ _081A2CE0:
ldr r0, =gStringVar4
movs r1, 0
bl sub_81A1C4C
- ldr r0, =gResultsWindowId
+ ldr r0, =gRecordsWindowId
mov r8, r0
ldrb r0, [r0]
ldr r2, =gText_Lv502
@@ -16340,7 +16340,7 @@ sub_81A2DB4: @ 81A2DB4
lsls r0, 24
lsrs r0, 24
adds r7, r0, 0
- ldr r0, =gResultsWindowId
+ ldr r0, =gRecordsWindowId
mov r10, r0
ldrb r0, [r0]
str r7, [sp]
@@ -16506,7 +16506,7 @@ _081A2F26:
sub_81A2F38: @ 81A2F38
push {r4-r6,lr}
sub sp, 0xC
- ldr r5, =gResultsWindowId
+ ldr r5, =gRecordsWindowId
ldr r0, =gUnknown_08611C74
bl AddWindow
strb r0, [r5]
@@ -16584,7 +16584,7 @@ sub_81A2FF8: @ 81A2FF8
mov r6, r8
push {r6,r7}
sub sp, 0xC
- ldr r4, =gResultsWindowId
+ ldr r4, =gRecordsWindowId
ldr r0, =gUnknown_08611C7C
bl AddWindow
strb r0, [r4]
@@ -16750,7 +16750,7 @@ _081A315C:
movs r2, 0x1
movs r3, 0x4
bl ConvertIntToDecimalStringN
- ldr r6, =gResultsWindowId
+ ldr r6, =gRecordsWindowId
ldrb r0, [r6]
movs r1, 0x26
adds r3, r5, 0
@@ -19026,7 +19026,7 @@ sub_81A4594: @ 81A4594
sub sp, 0x2C
mov r8, r1
adds r6, r3, 0
- ldr r1, =gResultsWindowId
+ ldr r1, =gRecordsWindowId
ldrb r5, [r1]
lsls r4, r0, 1
adds r4, r0
@@ -19062,7 +19062,7 @@ sub_81A4594: @ 81A4594
ldrb r2, [r6, 0xE]
add r0, sp, 0xC
bl TVShowConvertInternationalString
- ldr r1, =gResultsWindowId
+ ldr r1, =gRecordsWindowId
ldrb r0, [r1]
mov r3, r8
adds r3, 0x2
@@ -19102,7 +19102,7 @@ _081A4618:
adds r3, r0, 0
lsls r3, 24
lsrs r3, 24
- ldr r1, =gResultsWindowId
+ ldr r1, =gRecordsWindowId
ldrb r0, [r1]
str r7, [sp]
mov r1, r10
@@ -19136,7 +19136,7 @@ sub_81A4684: @ 81A4684
adds r7, r1, 0
mov r10, r2
adds r5, r3, 0
- ldr r1, =gResultsWindowId
+ ldr r1, =gRecordsWindowId
ldrb r0, [r1]
lsls r2, r6, 1
adds r2, r6
@@ -19176,7 +19176,7 @@ sub_81A4684: @ 81A4684
ldrb r2, [r5, 0x1A]
add r0, sp, 0xC
bl TVShowConvertInternationalString
- ldr r1, =gResultsWindowId
+ ldr r1, =gRecordsWindowId
ldrb r0, [r1]
adds r3, r7, 0x2
lsls r3, 27
@@ -19211,7 +19211,7 @@ _081A4734:
adds r1, r4, 0
bl StringCopy
_081A473C:
- ldr r2, =gResultsWindowId
+ ldr r2, =gRecordsWindowId
mov r9, r2
ldrb r0, [r2]
adds r3, r7, 0x4
@@ -19532,7 +19532,7 @@ sub_81A4998: @ 81A4998
ldr r1, [r5]
adds r0, r6, 0
bl StringExpandPlaceholders
- ldr r0, =gResultsWindowId
+ ldr r0, =gRecordsWindowId
mov r8, r0
ldrb r0, [r0]
movs r1, 0x1
@@ -19631,7 +19631,7 @@ _081A4A90:
thumb_func_start sub_81A4AA0
sub_81A4AA0: @ 81A4AA0
push {r4,lr}
- ldr r4, =gResultsWindowId
+ ldr r4, =gRecordsWindowId
ldr r0, =gUnknown_08611C84
bl AddWindow
strb r0, [r4]
@@ -19659,7 +19659,7 @@ sub_81A4AA0: @ 81A4AA0
thumb_func_start sub_81A4AE8
sub_81A4AE8: @ 81A4AE8
push {r4,lr}
- ldr r4, =gResultsWindowId
+ ldr r4, =gRecordsWindowId
ldrb r0, [r4]
movs r1, 0x11
bl FillWindowPixelBuffer
@@ -19841,7 +19841,7 @@ _081A4C4E:
ble _081A4C4E
ldr r4, =gPlayerPartyCount
ldrb r5, [r4]
- bl copy_player_party_from_sav1
+ bl LoadPlayerParty
bl sub_8076D5C
movs r0, 0x1
bl TrySavingData
@@ -19871,8 +19871,8 @@ _081A4C84:
.pool
thumb_func_end sub_81A4C30
- thumb_func_start sub_81A4CB0
-sub_81A4CB0: @ 81A4CB0
+ thumb_func_start GetFrontierBrainTrainerPicIndex
+GetFrontierBrainTrainerPicIndex: @ 81A4CB0
push {lr}
ldr r0, =gBattleTypeFlags
ldr r0, [r0]
@@ -19881,7 +19881,7 @@ sub_81A4CB0: @ 81A4CB0
ands r0, r1
cmp r0, 0
beq _081A4CD0
- bl sub_8185EA0
+ bl GetRecordedBattleFrontierFacility
lsls r0, 24
lsrs r0, 24
b _081A4CDA
@@ -19893,7 +19893,7 @@ _081A4CD0:
lsrs r0, 16
_081A4CDA:
ldr r2, =gTrainers
- ldr r1, =gUnknown_08611D30
+ ldr r1, =gFacilityToBrainTrainerId
lsls r0, 1
adds r0, r1
ldrh r1, [r0]
@@ -19905,10 +19905,10 @@ _081A4CDA:
pop {r1}
bx r1
.pool
- thumb_func_end sub_81A4CB0
+ thumb_func_end GetFrontierBrainTrainerPicIndex
- thumb_func_start sub_81A4D00
-sub_81A4D00: @ 81A4D00
+ thumb_func_start GetFrontierBrainTrainerClass
+GetFrontierBrainTrainerClass: @ 81A4D00
push {lr}
ldr r0, =gBattleTypeFlags
ldr r0, [r0]
@@ -19917,7 +19917,7 @@ sub_81A4D00: @ 81A4D00
ands r0, r1
cmp r0, 0
beq _081A4D20
- bl sub_8185EA0
+ bl GetRecordedBattleFrontierFacility
lsls r0, 24
lsrs r0, 24
b _081A4D2A
@@ -19929,7 +19929,7 @@ _081A4D20:
lsrs r0, 16
_081A4D2A:
ldr r2, =gTrainers
- ldr r1, =gUnknown_08611D30
+ ldr r1, =gFacilityToBrainTrainerId
lsls r0, 1
adds r0, r1
ldrh r1, [r0]
@@ -19941,10 +19941,10 @@ _081A4D2A:
pop {r1}
bx r1
.pool
- thumb_func_end sub_81A4D00
+ thumb_func_end GetFrontierBrainTrainerClass
- thumb_func_start sub_81A4D50
-sub_81A4D50: @ 81A4D50
+ thumb_func_start CopyFrontierBrainTrainerName
+CopyFrontierBrainTrainerName: @ 81A4D50
push {r4,lr}
adds r4, r0, 0
ldr r0, =gBattleTypeFlags
@@ -19954,7 +19954,7 @@ sub_81A4D50: @ 81A4D50
ands r0, r1
cmp r0, 0
beq _081A4D70
- bl sub_8185EA0
+ bl GetRecordedBattleFrontierFacility
lsls r0, 24
lsrs r0, 24
b _081A4D7A
@@ -19968,7 +19968,7 @@ _081A4D7A:
movs r3, 0
lsls r0, 1
ldr r2, =gTrainers
- ldr r1, =gUnknown_08611D30
+ ldr r1, =gFacilityToBrainTrainerId
adds r0, r1
ldrh r1, [r0]
lsls r0, r1, 2
@@ -19991,7 +19991,7 @@ _081A4D90:
pop {r0}
bx r0
.pool
- thumb_func_end sub_81A4D50
+ thumb_func_end CopyFrontierBrainTrainerName
thumb_func_start sub_81A4DB8
sub_81A4DB8: @ 81A4DB8
@@ -20483,7 +20483,7 @@ sub_81A51A8: @ 81A51A8
ands r0, r1
cmp r0, 0
beq _081A51D4
- bl sub_8185EA0
+ bl GetRecordedBattleFrontierFacility
lsls r0, 24
lsrs r4, r0, 24
bl sub_8185EAC
@@ -20646,29 +20646,29 @@ _081A5328:
ldr r4, =gDisplayedStringBattle
adds r0, r4, 0
movs r1, 0xF
- bl BattleHandleAddTextPrinter
+ bl BattlePutTextOnWindow
ldr r0, =gText_Vs
movs r1, 0x10
- bl BattleHandleAddTextPrinter
+ bl BattlePutTextOnWindow
ldr r0, =gText_OpponentMon1Name
bl BattleStringExpandPlaceholdersToDisplayedString
adds r0, r4, 0
movs r1, 0x11
- bl BattleHandleAddTextPrinter
+ bl BattlePutTextOnWindow
ldr r0, =gText_Mind
movs r1, 0x12
- bl BattleHandleAddTextPrinter
+ bl BattlePutTextOnWindow
ldr r0, =gText_Skill
movs r1, 0x13
- bl BattleHandleAddTextPrinter
+ bl BattlePutTextOnWindow
ldr r0, =gText_Body
movs r1, 0x14
- bl BattleHandleAddTextPrinter
+ bl BattlePutTextOnWindow
ldr r0, =gText_Judgement
bl BattleStringExpandPlaceholdersToDisplayedString
adds r0, r4, 0
movs r1, 0x15
- bl BattleHandleAddTextPrinter
+ bl BattlePutTextOnWindow
b _081A553E
.pool
_081A53B4:
@@ -20752,7 +20752,7 @@ _081A5464:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0x15
- bl BattleHandleAddTextPrinter
+ bl BattlePutTextOnWindow
ldrb r0, [r5]
adds r0, 0x1
strb r0, [r5]
@@ -27213,16 +27213,16 @@ _081A896E:
movs r0, 0xFF
movs r1, 0
movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
bl sub_80D338C
pop {r4}
pop {r0}
@@ -27355,7 +27355,7 @@ _081A8A74:
ldr r2, [r6]
ldrb r1, [r2, 0x5]
ldrb r2, [r2, 0x4]
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
lsls r0, 24
lsrs r0, 24
cmp r0, 0x10
@@ -27511,14 +27511,14 @@ _081A8BB4:
ldr r2, [r1]
ldrb r1, [r2, 0x5]
ldrb r2, [r2, 0x4]
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x10
bne _081A8BDC
b _081A8D32
_081A8BDC:
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
lsls r1, r2, 3
adds r1, r2
lsls r1, 2
@@ -28521,8 +28521,8 @@ sub_81A9424: @ 81A9424
lsls r1, 4
adds r1, r0
mov r8, r1
- ldr r2, =gMapObjects
- ldr r0, =gSelectedMapObject
+ ldr r2, =gEventObjects
+ ldr r0, =gSelectedEventObject
ldrb r1, [r0]
lsls r0, r1, 3
adds r0, r1
@@ -28569,8 +28569,8 @@ _081A9488:
mov r9, r0
_081A94AE:
ldr r3, =gUnknown_08613ED8
- ldr r2, =gMapObjects
- ldr r0, =gSelectedMapObject
+ ldr r2, =gEventObjects
+ ldr r0, =gSelectedEventObject
ldrb r1, [r0]
lsls r0, r1, 3
adds r0, r1
@@ -29181,7 +29181,7 @@ sub_81A9998: @ 81A9998
mov r8, r0
ldr r1, =0x0000028e
mov r12, r1
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
mov r9, r0
_081A99CC:
movs r2, 0
@@ -29194,7 +29194,7 @@ _081A99CE:
cmp r0, r12
bne _081A9A8A
adds r2, 0x7
- ldr r0, =gSelectedMapObject
+ ldr r0, =gSelectedEventObject
ldrb r1, [r0]
lsls r0, r1, 3
adds r0, r1
@@ -29322,7 +29322,7 @@ GetBattlePyramidTrainerFlag: @ 81A9AC4
ldr r1, =0x00000e2a
adds r2, r1
ldr r4, =gBitTable
- ldr r3, =gMapObjects
+ ldr r3, =gEventObjects
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
@@ -29354,8 +29354,8 @@ sub_81A9B04: @ 81A9B04
cmp r0, 0
beq _081A9B2E
movs r0, 0x1
- bl GetChosenApproachingTrainerMapObjectId
- ldr r1, =gSelectedMapObject
+ bl GetChosenApproachingTrainerEventObjectId
+ ldr r1, =gSelectedEventObject
strb r0, [r1]
ldr r0, =gTrainerBattleOpponent_B
ldrh r0, [r0]
@@ -29376,9 +29376,9 @@ sub_81A9B44: @ 81A9B44
lsls r0, 16
lsrs r5, r0, 16
movs r3, 0
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
mov r12, r0
- ldr r6, =gSelectedMapObject
+ ldr r6, =gSelectedEventObject
ldr r1, =gSaveBlock1Ptr
mov r10, r1
ldr r7, =gSaveBlock2Ptr
@@ -29770,7 +29770,7 @@ sub_81A9E90: @ 81A9E90
ldr r0, =0x0000400e
movs r1, 0
bl VarSet
- bl copy_player_party_from_sav1
+ bl LoadPlayerParty
_081A9EB8:
pop {r0}
bx r0
@@ -30026,7 +30026,7 @@ _081AA0A6:
ldr r2, =0x00000169
adds r0, r2
lsls r0, 2
- ldr r1, =gMapAttributes
+ ldr r1, =gMapLayouts
adds r0, r1
ldr r6, [r0]
ldr r2, [r6, 0xC]
diff --git a/asm/battle_records.s b/asm/battle_records.s
deleted file mode 100644
index 1880e7b45..000000000
--- a/asm/battle_records.s
+++ /dev/null
@@ -1,1285 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_813BF94
-sub_813BF94: @ 813BF94
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r2, =0x01000008
- mov r0, sp
- adds r1, r4, 0
- bl CpuSet
- movs r0, 0xFF
- strb r0, [r4]
- movs r0, 0
- strh r0, [r4, 0x8]
- strh r0, [r4, 0xA]
- strh r0, [r4, 0xC]
- strh r0, [r4, 0xE]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813BF94
-
- thumb_func_start sub_813BFC4
-sub_813BFC4: @ 813BFC4
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r5, 0x4
-_0813BFCA:
- adds r0, r4, 0
- bl sub_813BF94
- adds r4, 0x10
- subs r5, 0x1
- cmp r5, 0
- bge _0813BFCA
- movs r0, 0x17
- movs r1, 0
- bl SetGameStat
- movs r0, 0x18
- movs r1, 0
- bl SetGameStat
- movs r0, 0x19
- movs r1, 0
- bl SetGameStat
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_813BFC4
-
- thumb_func_start sub_813BFF8
-sub_813BFF8: @ 813BFF8
- adds r1, r0, 0
- ldrh r0, [r1, 0xA]
- ldrh r2, [r1, 0xC]
- adds r0, r2
- ldrh r1, [r1, 0xE]
- adds r0, r1
- bx lr
- thumb_func_end sub_813BFF8
-
- thumb_func_start sub_813C008
-sub_813C008: @ 813C008
- push {r4-r7,lr}
- adds r7, r1, 0
- lsls r2, 16
- lsrs r6, r2, 16
- movs r5, 0
- adds r4, r0, 0
-_0813C014:
- adds r0, r4, 0
- adds r1, r7, 0
- movs r2, 0x7
- bl StringCompareN
- cmp r0, 0
- bne _0813C02C
- ldrh r0, [r4, 0x8]
- cmp r0, r6
- bne _0813C02C
- adds r0, r5, 0
- b _0813C036
-_0813C02C:
- adds r4, 0x10
- adds r5, 0x1
- cmp r5, 0x4
- ble _0813C014
- movs r0, 0x5
-_0813C036:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_813C008
-
- thumb_func_start sub_813C03C
-sub_813C03C: @ 813C03C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- mov r10, r0
- movs r1, 0x4
-_0813C04C:
- subs r3, r1, 0x1
- adds r6, r3, 0
- cmp r3, 0
- blt _0813C0BA
- lsls r0, r1, 4
- add r0, r10
- str r0, [sp, 0x14]
- lsls r0, r3, 4
- mov r2, r10
- adds r5, r0, r2
- movs r4, 0x50
- add r4, r10
- mov r9, r4
- add r1, r9
- mov r8, r1
-_0813C06A:
- ldr r0, [sp, 0x14]
- str r3, [sp, 0x10]
- bl sub_813BFF8
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_813BFF8
- ldr r3, [sp, 0x10]
- cmp r4, r0
- ble _0813C0B2
- mov r1, sp
- ldr r0, [sp, 0x14]
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- ldr r0, [r0]
- str r0, [r1]
- ldr r1, [sp, 0x14]
- adds r0, r5, 0
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- ldr r0, [r0]
- str r0, [r1]
- adds r1, r5, 0
- mov r0, sp
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- ldr r0, [r0]
- str r0, [r1]
- mov r7, r8
- ldrb r2, [r7]
- mov r0, r9
- adds r1, r0, r6
- ldrb r0, [r1]
- strb r0, [r7]
- strb r2, [r1]
-_0813C0B2:
- subs r5, 0x10
- subs r6, 0x1
- cmp r6, 0
- bge _0813C06A
-_0813C0BA:
- adds r1, r3, 0
- cmp r1, 0
- bgt _0813C04C
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_813C03C
-
- thumb_func_start sub_813C0D0
-sub_813C0D0: @ 813C0D0
- push {lr}
- adds r2, r0, 0
- cmp r1, 0x2
- beq _0813C100
- cmp r1, 0x2
- bgt _0813C0E2
- cmp r1, 0x1
- beq _0813C0E8
- b _0813C12A
-_0813C0E2:
- cmp r1, 0x3
- beq _0813C118
- b _0813C12A
-_0813C0E8:
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _0813C12A
- strh r1, [r2, 0xA]
- b _0813C12A
- .pool
-_0813C100:
- ldrh r0, [r2, 0xC]
- adds r0, 0x1
- strh r0, [r2, 0xC]
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _0813C12A
- strh r1, [r2, 0xC]
- b _0813C12A
- .pool
-_0813C118:
- ldrh r0, [r2, 0xE]
- adds r0, 0x1
- strh r0, [r2, 0xE]
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _0813C12A
- strh r1, [r2, 0xE]
-_0813C12A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C0D0
-
- thumb_func_start sub_813C134
-sub_813C134: @ 813C134
- push {r4,lr}
- cmp r0, 0x2
- beq _0813C14E
- cmp r0, 0x2
- bgt _0813C144
- cmp r0, 0x1
- beq _0813C14A
- b _0813C166
-_0813C144:
- cmp r0, 0x3
- beq _0813C152
- b _0813C166
-_0813C14A:
- movs r4, 0x17
- b _0813C154
-_0813C14E:
- movs r4, 0x18
- b _0813C154
-_0813C152:
- movs r4, 0x19
-_0813C154:
- adds r0, r4, 0
- bl GetGameStat
- ldr r1, =0x0000270e
- cmp r0, r1
- bhi _0813C166
- adds r0, r4, 0
- bl IncrementGameStat
-_0813C166:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C134
-
- thumb_func_start sub_813C170
-sub_813C170: @ 813C170
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- mov r8, r1
- mov r10, r3
- ldr r0, [sp, 0x20]
- lsls r2, 16
- lsrs r7, r2, 16
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- mov r0, r10
- bl sub_813C134
- adds r0, r6, 0
- bl sub_813C03C
- adds r0, r6, 0
- mov r1, r8
- adds r2, r7, 0
- bl sub_813C008
- adds r5, r0, 0
- cmp r5, 0x5
- bne _0813C1D4
- movs r5, 0x4
- adds r4, r6, 0
- adds r4, 0x40
- adds r0, r4, 0
- bl sub_813BF94
- adds r0, r4, 0
- mov r1, r8
- movs r2, 0x7
- bl StringCopyN
- strh r7, [r4, 0x8]
- adds r2, r6, 0
- adds r2, 0x54
- ldr r1, =gLinkPlayers
- mov r3, r9
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x1A]
- strb r0, [r2]
-_0813C1D4:
- lsls r0, r5, 4
- adds r0, r6, r0
- mov r1, r10
- bl sub_813C0D0
- adds r0, r6, 0
- bl sub_813C03C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C170
-
- thumb_func_start InitLinkBattleRecords
-InitLinkBattleRecords: @ 813C1F8
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003150
- adds r0, r1
- bl sub_813BFC4
- pop {r0}
- bx r0
- .pool
- thumb_func_end InitLinkBattleRecords
-
- thumb_func_start sub_813C214
-sub_813C214: @ 813C214
- push {lr}
- movs r1, 0x64
- muls r1, r0
- ldr r0, =gUnknown_02039B6C
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- ldr r2, =0x0000270f
- cmp r0, r2
- bls _0813C230
- strh r2, [r1]
-_0813C230:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C214
-
- thumb_func_start sub_813C23C
-sub_813C23C: @ 813C23C
- push {lr}
- movs r1, 0x64
- muls r1, r0
- ldr r0, =gUnknown_02039B6E
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- ldr r2, =0x0000270f
- cmp r0, r2
- bls _0813C258
- strh r2, [r1]
-_0813C258:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C23C
-
- thumb_func_start sub_813C264
-sub_813C264: @ 813C264
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleOutcome
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0813C27C
- cmp r0, 0x2
- beq _0813C28A
- b _0813C298
- .pool
-_0813C27C:
- eors r0, r4
- bl sub_813C214
- adds r0, r4, 0
- bl sub_813C23C
- b _0813C298
-_0813C28A:
- movs r0, 0x1
- eors r0, r4
- bl sub_813C23C
- adds r0, r4, 0
- bl sub_813C214
-_0813C298:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_813C264
-
- thumb_func_start sub_813C2A0
-sub_813C2A0: @ 813C2A0
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- bl InUnionRoom
- cmp r0, 0x1
- beq _0813C2DA
- adds r0, r4, 0
- bl sub_813C264
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003150
- adds r0, r1
- movs r1, 0x64
- adds r3, r4, 0
- muls r3, r1
- ldr r2, =gUnknown_02039B88
- adds r1, r3, r2
- subs r2, 0x30
- adds r3, r2
- ldrh r2, [r3, 0xE]
- ldr r3, =gBattleOutcome
- ldrb r3, [r3]
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- bl sub_813C170
-_0813C2DA:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C2A0
-
- thumb_func_start sub_813C2F4
-sub_813C2F4: @ 813C2F4
- push {r4,lr}
- sub sp, 0xC
- ldr r4, =gStringVar1
- movs r0, 0x17
- bl GetGameStat
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar2
- movs r0, 0x18
- bl GetGameStat
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar3
- movs r0, 0x19
- bl GetGameStat
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_TotalRecordWLD
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xD0
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- ldr r0, =gResultsWindowId
- ldrb r0, [r0]
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x11
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- bl PrintTextOnWindow
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C2F4
-
- thumb_func_start sub_813C384
-sub_813C384: @ 813C384
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r6, r0, 0
- adds r5, r2, 0
- lsls r1, 24
- lsrs r4, r1, 24
- ldrh r0, [r6, 0xA]
- cmp r0, 0
- bne _0813C40C
- ldr r7, [r6, 0xC]
- cmp r7, 0
- bne _0813C40C
- ldr r0, =gResultsWindowId
- mov r8, r0
- ldrb r0, [r0]
- ldr r2, =gUnknown_085B3D84
- lsls r4, 3
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- str r7, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl PrintTextOnWindow
- mov r1, r8
- ldrb r0, [r1]
- ldr r5, =gUnknown_085B3D8C
- str r4, [sp]
- str r7, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0x50
- bl PrintTextOnWindow
- mov r1, r8
- ldrb r0, [r1]
- str r4, [sp]
- str r7, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0x80
- bl PrintTextOnWindow
- mov r1, r8
- ldrb r0, [r1]
- str r4, [sp]
- str r7, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0xB0
- bl PrintTextOnWindow
- b _0813C4A8
- .pool
-_0813C40C:
- ldr r0, =gStringVar1
- movs r1, 0x8
- bl StringFillWithTerminator
- ldr r0, =gStringVar1
- adds r1, r6, 0
- movs r2, 0x7
- bl StringCopyN
- lsls r1, r5, 24
- lsrs r1, 24
- ldr r0, =gStringVar1
- bl ConvertInternationalString
- ldr r0, =gResultsWindowId
- mov r8, r0
- ldrb r0, [r0]
- lsls r4, 3
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- movs r5, 0
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- ldr r2, =gStringVar1
- movs r3, 0x8
- bl PrintTextOnWindow
- ldrh r1, [r6, 0xA]
- ldr r0, =gStringVar1
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- mov r1, r8
- ldrb r0, [r1]
- str r4, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- ldr r2, =gStringVar1
- movs r3, 0x50
- bl PrintTextOnWindow
- ldrh r1, [r6, 0xC]
- ldr r0, =gStringVar1
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- mov r1, r8
- ldrb r0, [r1]
- str r4, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- ldr r2, =gStringVar1
- movs r3, 0x80
- bl PrintTextOnWindow
- ldrh r1, [r6, 0xE]
- ldr r0, =gStringVar1
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- mov r1, r8
- ldrb r0, [r1]
- str r4, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- ldr r2, =gStringVar1
- movs r3, 0xB0
- bl PrintTextOnWindow
-_0813C4A8:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C384
-
- thumb_func_start sub_813C4BC
-sub_813C4BC: @ 813C4BC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- ldr r6, =gResultsWindowId
- ldr r0, =gUnknown_085B3D7C
- bl AddWindow
- strb r0, [r6]
- ldrb r0, [r6]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r6]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r5, =gStringVar4
- ldr r1, =gText_PlayersBattleResults
- adds r0, r5, 0
- bl StringExpandPlaceholders
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0xD0
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- ldrb r0, [r6]
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x1
- str r1, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r2, r5, 0
- bl PrintTextOnWindow
- ldr r0, =gSaveBlock1Ptr
- mov r8, r0
- ldr r0, [r0]
- ldr r1, =0x00003150
- mov r9, r1
- add r0, r9
- bl sub_813C2F4
- ldr r1, =gText_WinLoseDraw
- adds r0, r5, 0
- bl StringExpandPlaceholders
- ldrb r0, [r6]
- movs r1, 0x29
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0
- bl PrintTextOnWindow
- mov r7, r8
- movs r6, 0xE0
- lsls r6, 19
- mov r5, r9
-_0813C540:
- ldr r2, [r7]
- adds r0, r2, r5
- lsrs r1, r6, 24
- ldr r3, =0x000031a0
- adds r2, r3
- adds r2, r4
- ldrb r2, [r2]
- bl sub_813C384
- movs r0, 0x80
- lsls r0, 18
- adds r6, r0
- adds r5, 0x10
- adds r4, 0x1
- cmp r4, 0x4
- ble _0813C540
- ldr r4, =gResultsWindowId
- ldrb r0, [r4]
- bl PutWindowTilemap
- ldrb r0, [r4]
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C4BC
-
- thumb_func_start sub_813C5A0
-sub_813C5A0: @ 813C5A0
- push {r4,lr}
- ldr r4, =gResultsWindowId
- ldrb r0, [r4]
- movs r1, 0
- bl sub_819746C
- ldrb r0, [r4]
- bl RemoveWindow
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C5A0
-
- thumb_func_start sub_813C5BC
-sub_813C5BC: @ 813C5BC
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0813C5DC
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_813C5EC
- str r0, [r1]
-_0813C5DC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C5BC
-
- thumb_func_start sub_813C5EC
-sub_813C5EC: @ 813C5EC
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0813C610
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0813C61A
-_0813C610:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_813C62C
- str r0, [r4]
-_0813C61A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C5EC
-
- thumb_func_start sub_813C62C
-sub_813C62C: @ 813C62C
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_813C664
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C62C
-
- thumb_func_start sub_813C664
-sub_813C664: @ 813C664
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0813C694
- ldr r0, =CB2_ReturnToFieldContinueScript
- bl SetMainCallback2
- ldr r0, =gUnknown_0203AB78
- ldr r0, [r0]
- bl Free
- movs r0, 0
- bl sub_813C6A8
- bl FreeAllWindowBuffers
- adds r0, r4, 0
- bl DestroyTask
-_0813C694:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C664
-
- thumb_func_start sub_813C6A8
-sub_813C6A8: @ 813C6A8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r0, r4, 0
- bl ClearWindowTilemap
- adds r0, r4, 0
- movs r1, 0x2
- bl CopyWindowToVram
- adds r0, r4, 0
- bl RemoveWindow
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_813C6A8
-
- thumb_func_start sub_813C6D4
-sub_813C6D4: @ 813C6D4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r0, sp, 0x4
- mov r8, r0
- mov r2, sp
- movs r6, 0
- ldr r1, =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_0813C6FA:
- strh r6, [r2]
- mov r0, sp
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _0813C6FA
- strh r6, [r2]
- mov r2, sp
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r2, =0x040000d4
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- mov r0, sp
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x8
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xA
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xC
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xE
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C6D4
-
- thumb_func_start sub_813C80C
-sub_813C80C: @ 813C80C
- push {lr}
- bl ScanlineEffect_Stop
- bl ResetTasks
- bl ResetSpriteData
- bl ResetPaletteFade
- bl FreeAllSpritePalettes
- pop {r0}
- bx r0
- thumb_func_end sub_813C80C
-
- thumb_func_start sub_813C828
-sub_813C828: @ 813C828
- push {lr}
- 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
- pop {r0}
- bx r0
- thumb_func_end sub_813C828
-
- thumb_func_start sub_813C880
-sub_813C880: @ 813C880
- push {lr}
- movs r1, 0x94
- lsls r1, 4
- movs r0, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- thumb_func_end sub_813C880
-
- thumb_func_start sub_813C890
-sub_813C890: @ 813C890
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =gUnknown_085B3484
- adds r0, r4, 0
- movs r2, 0xC0
- movs r3, 0
- bl LoadBgTiles
- ldr r1, =gUnknown_085B3564
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBufferRect
- ldr r0, =gUnknown_085B3544
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C890
-
- thumb_func_start sub_813C8D8
-sub_813C8D8: @ 813C8D8
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_813C8D8
-
- thumb_func_start sub_813C8EC
-sub_813C8EC: @ 813C8EC
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_813C8EC
-
- thumb_func_start sub_813C904
-sub_813C904: @ 813C904
- push {lr}
- movs r0, 0
- bl SetVBlankCallback
- ldr r0, =sub_813C91C
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C904
-
- thumb_func_start sub_813C91C
-sub_813C91C: @ 813C91C
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x7
- bls _0813C930
- b _0813CA3C
-_0813C930:
- lsls r0, 2
- ldr r1, =_0813C944
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0813C944:
- .4byte _0813C964
- .4byte _0813C970
- .4byte _0813C976
- .4byte _0813C9A8
- .4byte _0813C9BE
- .4byte _0813C9DE
- .4byte _0813C9F0
- .4byte _0813CA14
-_0813C964:
- movs r0, 0
- bl SetVBlankCallback
- bl sub_813C6D4
- b _0813CA00
-_0813C970:
- bl sub_813C80C
- b _0813CA00
-_0813C976:
- ldr r4, =gUnknown_0203AB78
- movs r0, 0x80
- lsls r0, 4
- bl AllocZeroed
- str r0, [r4]
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_085B3D64
- movs r0, 0
- movs r2, 0x2
- bl InitBgsFromTemplates
- ldr r1, [r4]
- movs r0, 0x3
- bl SetBgTilemapBuffer
- bl sub_813C828
- b _0813CA00
- .pool
-_0813C9A8:
- movs r0, 0x3
- bl sub_813C890
- movs r0, 0
- bl stdpal_get
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- b _0813CA00
-_0813C9BE:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0813CA3C
- movs r0, 0
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _0813CA00
-_0813C9DE:
- ldr r0, =gUnknown_085B3D6C
- bl InitWindows
- bl DeactivateAllTextPrinters
- b _0813CA00
- .pool
-_0813C9F0:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_0813CA00:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0813CA3C
- .pool
-_0813CA14:
- bl sub_813C880
- ldr r0, =sub_813C8D8
- bl SetVBlankCallback
- bl sub_81D5C8C
- ldr r0, =sub_813C5BC
- movs r1, 0x8
- bl CreateTask
- ldr r0, =sub_813C8EC
- bl SetMainCallback2
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_0813CA3C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C91C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_tent.s b/asm/battle_tent.s
index 8253d4f98..c967390d0 100644
--- a/asm/battle_tent.s
+++ b/asm/battle_tent.s
@@ -5,586 +5,6 @@
.text
- thumb_func_start sub_81B99B4
-sub_81B99B4: @ 81B99B4
- push {lr}
- ldr r1, =gUnknown_086160B4
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B99B4
-
- thumb_func_start sub_81B99D4
-sub_81B99D4: @ 81B99D4
- push {lr}
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r2, =0x00000ca8
- adds r0, r2
- movs r2, 0
- strb r2, [r0]
- ldr r1, [r1]
- ldr r3, =0x00000cb2
- adds r0, r1, r3
- strh r2, [r0]
- ldr r0, =0x00000ca9
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x4
- ldrsb r1, [r0, r1]
- movs r2, 0x5
- ldrsb r2, [r0, r2]
- movs r3, 0x1
- negs r3, r3
- movs r0, 0
- bl saved_warp2_set
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B99D4
-
- thumb_func_start sub_81B9A28
-sub_81B9A28: @ 81B9A28
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000e6a
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81B9A28
-
- thumb_func_start sub_81B9A44
-sub_81B9A44: @ 81B9A44
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =gSpecialVar_0x8006
- ldrh r1, [r1]
- ldr r2, =0x00000e6a
- adds r0, r2
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_81B9A44
-
- thumb_func_start sub_81B9A60
-sub_81B9A60: @ 81B9A60
- push {r4,lr}
- ldr r4, =gTrainerBattleOpponent_A
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xFF
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r0, 2
- adds r1, r0
- lsrs r1, 6
- strh r1, [r4]
- ldrh r0, [r4]
- movs r1, 0
- bl sub_8162614
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9A60
-
- thumb_func_start sub_81B9A90
-sub_81B9A90: @ 81B9A90
- push {lr}
- ldr r3, =gTrainerBattleOpponent_A
- ldrh r1, [r3]
- ldr r0, =0x0000012b
- cmp r1, r0
- bhi _081B9AAC
- ldr r2, =gUnknown_0203BC88
- movs r0, 0x34
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- adds r0, 0xC
- bl ConvertBattleFrontierTrainerSpeechToString
-_081B9AAC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9A90
-
- thumb_func_start sub_81B9ABC
-sub_81B9ABC: @ 81B9ABC
- push {r4,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =gSpecialVar_0x8005
- ldrh r1, [r1]
- ldr r2, =0x00000ca8
- adds r0, r2
- strb r1, [r0]
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0
- bl VarSet
- ldr r1, [r4]
- ldr r0, =0x00000ca9
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- bl sub_81A4C30
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9ABC
-
- thumb_func_start sub_81B9B00
-sub_81B9B00: @ 81B9B00
- push {r4,r5,lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r4, [r0]
- ldr r5, =gUnknown_086160D4
- bl Random
- ldrh r0, [r5]
- ldr r1, =0x00000e6a
- adds r4, r1
- strh r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9B00
-
- thumb_func_start sub_81B9B28
-sub_81B9B28: @ 81B9B28
- push {r4,r5,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =0x00000e6a
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bne _081B9B70
- ldr r0, [r4]
- ldr r1, =0x00000e6a
- adds r0, r1
- ldrh r0, [r0]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r0, [r4]
- ldr r1, =0x00000e6a
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gSpecialVar_Result
- strh r5, [r0]
- b _081B9B76
- .pool
-_081B9B70:
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
-_081B9B76:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9B28
-
- thumb_func_start sub_81B9B80
-sub_81B9B80: @ 81B9B80
- push {lr}
- ldr r1, =gUnknown_086160D8
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9B80
-
- thumb_func_start sub_81B9BA0
-sub_81B9BA0: @ 81B9BA0
- push {lr}
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r2, =0x00000ca8
- adds r0, r2
- movs r2, 0
- strb r2, [r0]
- ldr r1, [r1]
- ldr r3, =0x00000cb2
- adds r0, r1, r3
- strh r2, [r0]
- ldr r0, =0x00000ca9
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x4
- ldrsb r1, [r0, r1]
- movs r2, 0x5
- ldrsb r2, [r0, r2]
- movs r3, 0x1
- negs r3, r3
- movs r0, 0
- bl saved_warp2_set
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9BA0
-
- thumb_func_start sub_81B9BF4
-sub_81B9BF4: @ 81B9BF4
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000e6c
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81B9BF4
-
- thumb_func_start sub_81B9C10
-sub_81B9C10: @ 81B9C10
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =gSpecialVar_0x8006
- ldrh r1, [r1]
- ldr r2, =0x00000e6c
- adds r0, r2
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_81B9C10
-
- thumb_func_start sub_81B9C2C
-sub_81B9C2C: @ 81B9C2C
- push {r4,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =gSpecialVar_0x8005
- ldrh r1, [r1]
- ldr r2, =0x00000ca8
- adds r0, r2
- strb r1, [r0]
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0
- bl VarSet
- ldr r1, [r4]
- ldr r0, =0x00000ca9
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- bl sub_81A4C30
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9C2C
-
- thumb_func_start sub_81B9C70
-sub_81B9C70: @ 81B9C70
- push {r4,r5,lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r4, [r0]
- ldr r5, =gUnknown_086160F4
- bl Random
- ldrh r0, [r5]
- ldr r1, =0x00000e6c
- adds r4, r1
- strh r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9C70
-
- thumb_func_start sub_81B9C98
-sub_81B9C98: @ 81B9C98
- push {r4,r5,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =0x00000e6c
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bne _081B9CE0
- ldr r0, [r4]
- ldr r1, =0x00000e6c
- adds r0, r1
- ldrh r0, [r0]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r0, [r4]
- ldr r1, =0x00000e6c
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gSpecialVar_Result
- strh r5, [r0]
- b _081B9CE6
- .pool
-_081B9CE0:
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
-_081B9CE6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9C98
-
- thumb_func_start sub_81B9CF0
-sub_81B9CF0: @ 81B9CF0
- push {lr}
- ldr r0, =gStringVar1
- ldr r1, =gTrainerBattleOpponent_A
- ldrh r1, [r1]
- bl GetFrontierTrainerName
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9CF0
-
- thumb_func_start sub_81B9D08
-sub_81B9D08: @ 81B9D08
- push {lr}
- ldr r1, =gUnknown_086160F8
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9D08
-
- thumb_func_start sub_81B9D28
-sub_81B9D28: @ 81B9D28
- push {lr}
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r2, =0x00000ca8
- adds r0, r2
- movs r2, 0
- strb r2, [r0]
- ldr r1, [r1]
- ldr r3, =0x00000cb2
- adds r0, r1, r3
- strh r2, [r0]
- ldr r0, =0x00000ca9
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x4
- ldrsb r1, [r0, r1]
- movs r2, 0x5
- ldrsb r2, [r0, r2]
- movs r3, 0x1
- negs r3, r3
- movs r0, 0
- bl saved_warp2_set
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9D28
-
- thumb_func_start sub_81B9D7C
-sub_81B9D7C: @ 81B9D7C
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000e6e
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81B9D7C
-
- thumb_func_start sub_81B9D98
-sub_81B9D98: @ 81B9D98
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =gSpecialVar_0x8006
- ldrh r1, [r1]
- ldr r2, =0x00000e6e
- adds r0, r2
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_81B9D98
-
- thumb_func_start sub_81B9DB4
-sub_81B9DB4: @ 81B9DB4
- push {r4,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =gSpecialVar_0x8005
- ldrh r1, [r1]
- ldr r2, =0x00000ca8
- adds r0, r2
- strb r1, [r0]
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0
- bl VarSet
- ldr r1, [r4]
- ldr r0, =0x00000ca9
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- bl sub_81A4C30
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9DB4
-
- thumb_func_start sub_81B9DF8
-sub_81B9DF8: @ 81B9DF8
- push {r4,r5,lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r4, [r0]
- ldr r5, =gUnknown_08616120
- bl Random
- ldrh r0, [r5]
- ldr r1, =0x00000e6e
- adds r4, r1
- strh r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9DF8
-
- thumb_func_start sub_81B9E20
-sub_81B9E20: @ 81B9E20
- push {r4,r5,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =0x00000e6e
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bne _081B9E68
- ldr r0, [r4]
- ldr r1, =0x00000e6e
- adds r0, r1
- ldrh r0, [r0]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r0, [r4]
- ldr r1, =0x00000e6e
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gSpecialVar_Result
- strh r5, [r0]
- b _081B9E6E
- .pool
-_081B9E68:
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
-_081B9E6E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9E20
-
- thumb_func_start sub_81B9E78
-sub_81B9E78: @ 81B9E78
- push {lr}
- bl ZeroPlayerPartyMons
- bl sub_819A4F8
- pop {r0}
- bx r0
- thumb_func_end sub_81B9E78
-
- thumb_func_start sub_81B9E88
-sub_81B9E88: @ 81B9E88
- push {lr}
- bl sub_819DC00
- pop {r0}
- bx r0
- thumb_func_end sub_81B9E88
-
- thumb_func_start sub_81B9E94
-sub_81B9E94: @ 81B9E94
- push {lr}
- movs r2, 0
- ldr r1, =gMapHeader
- ldrb r0, [r1, 0x14]
- cmp r0, 0x8
- bne _081B9EB2
- ldr r3, =0xfffffe7f
- adds r0, r3, 0
- ldrh r1, [r1, 0x12]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _081B9EB2
- movs r2, 0x1
-_081B9EB2:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B9E94
thumb_func_start sub_81B9EC0
sub_81B9EC0: @ 81B9EC0
diff --git a/asm/battle_tower.s b/asm/battle_tower.s
index 6cee2dc0a..7340ea1ce 100644
--- a/asm/battle_tower.s
+++ b/asm/battle_tower.s
@@ -1353,7 +1353,7 @@ _08162AD0:
ldr r0, =0x000003fe
cmp r4, r0
bne _08162AE4
- bl sub_81A4CB0
+ bl GetFrontierBrainTrainerPicIndex
lsls r0, 24
lsrs r0, 24
b _08162BCA
@@ -1479,7 +1479,7 @@ _08162C08:
ldr r0, =0x000003fe
cmp r4, r0
bne _08162C1C
- bl sub_81A4D00
+ bl GetFrontierBrainTrainerClass
lsls r0, 24
lsrs r0, 24
b _08162D1E
@@ -1729,7 +1729,7 @@ _08162E54:
cmp r5, r0
bne _08162E68
adds r0, r6, 0
- bl sub_81A4D50
+ bl CopyFrontierBrainTrainerName
b _08162F62
.pool
_08162E68:
@@ -3172,7 +3172,7 @@ _08163A3C:
_08163A74:
bl sub_816537C
_08163A78:
- ldr r0, =CB2_ReturnToFieldContinueScript
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
add sp, 0x4
pop {r4-r6}
@@ -3746,7 +3746,7 @@ _08163FF4:
ldr r0, [r6]
ldr r1, =0x0000064c
adds r0, r1
- bl sub_8164F70
+ bl CalcEmeraldBattleTowerChecksum
bl sub_8163E90
pop {r3,r4}
mov r8, r3
@@ -5484,8 +5484,8 @@ _08164F52:
.pool
thumb_func_end sub_8164ED8
- thumb_func_start sub_8164F70
-sub_8164F70: @ 8164F70
+ thumb_func_start CalcEmeraldBattleTowerChecksum
+CalcEmeraldBattleTowerChecksum: @ 8164F70
push {r4,lr}
adds r2, r0, 0
adds r2, 0xE8
@@ -5504,7 +5504,7 @@ _08164F7E:
pop {r4}
pop {r0}
bx r0
- thumb_func_end sub_8164F70
+ thumb_func_end CalcEmeraldBattleTowerChecksum
thumb_func_start sub_8164F94
sub_8164F94: @ 8164F94
@@ -6750,7 +6750,7 @@ _08165988:
ldr r1, [sp, 0x10]
bl CpuSet
adds r0, r5, 0
- bl sub_8164F70
+ bl CalcEmeraldBattleTowerChecksum
movs r0, 0x1
_081659BE:
add sp, 0x14
diff --git a/asm/cable_car.s b/asm/cable_car.s
index bfb96cb9b..59245a1b2 100644
--- a/asm/cable_car.s
+++ b/asm/cable_car.s
@@ -1956,7 +1956,7 @@ _08150D86:
str r2, [sp]
movs r2, 0xC8
movs r3, 0x49
- bl AddPseudoFieldObject
+ bl AddPseudoEventObject
lsls r0, 24
lsrs r6, r0, 24
cmp r6, 0x40
@@ -2062,7 +2062,7 @@ _08150E68:
str r2, [sp]
movs r2, 0x80
movs r3, 0x27
- bl AddPseudoFieldObject
+ bl AddPseudoEventObject
lsls r0, 24
lsrs r6, r0, 24
cmp r6, 0x40
@@ -2195,7 +2195,7 @@ _08150F3E:
ldrsh r3, [r3, r4]
movs r4, 0x6A
str r4, [sp]
- bl AddPseudoFieldObject
+ bl AddPseudoEventObject
lsls r0, 24
lsrs r6, r0, 24
cmp r6, 0x40
diff --git a/asm/cable_club.s b/asm/cable_club.s
index 0bdda588e..0297c2f80 100644
--- a/asm/cable_club.s
+++ b/asm/cable_club.s
@@ -795,7 +795,7 @@ sub_80B2A08: @ 80B2A08
ldrh r0, [r0]
cmp r0, 0x4
bne _080B2A38
- bl sub_800A064
+ bl Link_AnyPartnersPlayingRubyOrSapphire
cmp r0, 0
bne _080B2A4A
bl sub_800AC34
@@ -960,7 +960,7 @@ task_map_chg_seq_0807EC34: @ 80B2B94
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
- ldr r1, =gUnknown_02039B58
+ ldr r1, =gTrainerCards
ldrh r0, [r5]
cmp r0, 0x1
bne _080B2C10
@@ -1044,7 +1044,7 @@ sub_80B2C30: @ 80B2C30
_080B2C5C:
movs r0, 0x64
muls r0, r4
- ldr r1, =gUnknown_02039B58
+ ldr r1, =gTrainerCards
adds r0, r1
lsls r1, r4, 8
ldr r2, =gBlockRecvBuffer
@@ -1729,7 +1729,7 @@ _080B3248:
thumb_func_start sub_80B3254
sub_80B3254: @ 80B3254
push {lr}
- bl sub_809FF80
+ bl SaveGame
pop {r0}
bx r0
thumb_func_end sub_80B3254
@@ -2157,8 +2157,8 @@ sub_80B360C: @ 80B360C
ands r0, r1
str r0, [r2]
bl Overworld_ResetMapMusic
- bl copy_player_party_from_sav1
- bl copy_bags_and_unk_data_to_save_blocks
+ bl LoadPlayerParty
+ bl SavePlayerBag
bl sub_813BF10
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
@@ -2171,7 +2171,7 @@ sub_80B360C: @ 80B360C
ldrb r0, [r0]
movs r5, 0x1
eors r0, r5
- bl sub_813C2A0
+ bl UpdatePlayerLinkBattleRecords
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
@@ -2251,8 +2251,8 @@ sub_80B36EC: @ 80B36EC
cmp r0, 0x9
bne _080B370E
_080B3706:
- bl copy_player_party_from_sav1
- bl copy_bags_and_unk_data_to_save_blocks
+ bl LoadPlayerParty
+ bl SavePlayerBag
_080B370E:
movs r0, 0x7F
bl copy_saved_warp2_bank_and_enter_x_to_warp1
@@ -2586,7 +2586,7 @@ sp02A_crash_sound: @ 80B39BC
push {lr}
ldr r0, =gSpecialVar_0x8006
ldrb r0, [r0]
- ldr r1, =CB2_ReturnToFieldContinueScript
+ ldr r1, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl sub_80C4E74
pop {r0}
bx r0
diff --git a/asm/contest.s b/asm/contest.s
index 327a80d75..978421c3d 100644
--- a/asm/contest.s
+++ b/asm/contest.s
@@ -102,7 +102,7 @@ LoadContestBgAfterMoveAnim: @ 80D7724
movs r4, 0
movs r5, 0xA0
_080D775E:
- ldr r0, =0x0201a004
+ ldr r0, =gHeap+0x1A004
adds r0, r5, r0
ldr r1, =gUnknown_02039F26
adds r1, r4, r1
@@ -576,7 +576,7 @@ _080D7B4E:
ldr r1, =gReservedSpritePaletteCount
movs r0, 0x4
strb r0, [r1]
- ldr r0, =0x02000000
+ ldr r0, =gHeap
movs r1, 0xD0
lsls r1, 9
adds r0, r1
@@ -928,7 +928,7 @@ _080D7ED8:
ldr r4, =0x06002000
adds r1, r4, 0
bl LZDecompressVram
- ldr r3, =0x02018000
+ ldr r3, =gHeap+0x18000
movs r5, 0x80
lsls r5, 6
ldr r1, =0x040000d4
@@ -976,7 +976,7 @@ _080D7F40:
ldr r0, =gContestResources
ldr r0, [r0]
ldr r1, [r0, 0x2C]
- ldr r2, =0x0201aa04
+ ldr r2, =gHeap+0x1AA04
ldr r0, =0x040000d4
str r1, [r0]
str r2, [r0, 0x4]
@@ -1022,7 +1022,7 @@ _080D7F7C:
mov r0, sp
adds r2, r6, 0
bl CpuSet
- ldr r1, =0x0201a004
+ ldr r1, =gHeap+0x1A004
ldr r0, =0x040000d4
mov r2, r8
str r2, [r0]
@@ -1393,7 +1393,7 @@ sub_80D833C: @ 80D833C
strh r1, [r0]
bl sub_80DCD48
ldr r1, =gPlttBufferUnfaded
- ldr r2, =0x0201a204
+ ldr r2, =gHeap+0x1A204
ldr r0, =0x040000d4
str r1, [r0]
str r2, [r0, 0x4]
@@ -2070,7 +2070,7 @@ _080D897C:
movs r0, 0
bl sub_80DED60
ldr r1, =gPlttBufferFaded
- ldr r0, =0x0201a604
+ ldr r0, =gHeap+0x1A604
movs r2, 0x80
lsls r2, 3
ldr r4, =0x040000d4
@@ -5012,7 +5012,7 @@ _080DA33A:
sub_80DA348: @ 80DA348
lsls r0, 24
lsrs r0, 24
- ldr r2, =0x0201a204
+ ldr r2, =gHeap+0x1A204
ldr r3, =gPlttBufferUnfaded
ldr r1, =0x040000d4
str r2, [r1]
@@ -6770,8 +6770,8 @@ _080DB1CC:
bl LoadCompressedPalette
adds r0, r5, 0
movs r1, 0
- bl sub_806A068
- ldr r4, =gUnknown_0202499C
+ bl SetMultiuseSpriteTemplateToPokemon
+ ldr r4, =gMultiuseSpriteTemplate
movs r0, 0x2
adds r1, r5, 0
movs r2, 0
@@ -10211,7 +10211,7 @@ sub_80DCCD8: @ 80DCCD8
thumb_func_start sub_80DCD08
sub_80DCD08: @ 80DCD08
push {lr}
- ldr r0, =0x02000000
+ ldr r0, =gHeap
movs r1, 0xD0
lsls r1, 9
adds r2, r0, r1
@@ -10250,7 +10250,7 @@ sub_80DCD48: @ 80DCD48
ldrb r0, [r0]
cmp r0, 0
beq _080DCE44
- ldr r0, =0x02000000
+ ldr r0, =gHeap
movs r1, 0xD0
lsls r1, 9
adds r0, r1
@@ -10639,7 +10639,7 @@ sub_80DD04C: @ 80DD04C
movs r4, 0
movs r5, 0xA0
_080DD052:
- ldr r0, =0x0201a004
+ ldr r0, =gHeap+0x1A004
adds r0, r5, r0
ldr r1, =gUnknown_02039F26
adds r1, r4, r1
@@ -12351,7 +12351,7 @@ sub_80DDE30: @ 80DDE30
ldrsh r0, [r4, r1]
cmp r0, 0
bne _080DDE78
- ldr r0, =0x02019000
+ ldr r0, =gHeap+0x19000
ldr r1, =0x06002000
movs r2, 0x80
lsls r2, 5
@@ -12360,7 +12360,7 @@ sub_80DDE30: @ 80DDE30
b _080DDE8C
.pool
_080DDE78:
- ldr r0, =0x02018000
+ ldr r0, =gHeap+0x18000
ldr r1, =0x06002000
movs r2, 0x80
lsls r2, 5
@@ -15417,7 +15417,7 @@ sub_80DF704: @ 80DF704
push {r4,lr}
lsls r0, 24
lsrs r3, r0, 24
- ldr r0, =0x02000000
+ ldr r0, =gHeap
movs r1, 0xD0
lsls r1, 9
adds r2, r0, r1
@@ -15468,7 +15468,7 @@ sub_80DF750: @ 80DF750
bne _080DF766
b _080DF924
_080DF766:
- ldr r0, =0x02000000
+ ldr r0, =gHeap
movs r1, 0xD0
lsls r1, 9
adds r0, r1
@@ -15493,7 +15493,7 @@ _080DF784:
lsrs r7, r0, 24
cmp r7, 0x3
bls _080DF784
- ldr r0, =0x02000000
+ ldr r0, =gHeap
movs r1, 0xD0
lsls r1, 9
adds r0, r1
diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s
index 450a235d5..36f444955 100644
--- a/asm/contest_link_80F57C4.s
+++ b/asm/contest_link_80F57C4.s
@@ -1420,8 +1420,8 @@ _080F64F2:
bl LoadCompressedObjectPalette
adds r0, r6, 0
movs r1, 0x1
- bl sub_806A068
- ldr r0, =gUnknown_0202499C
+ bl SetMultiuseSpriteTemplateToPokemon
+ ldr r0, =gMultiuseSpriteTemplate
ldrh r1, [r4, 0x4]
strh r1, [r0, 0x2]
movs r1, 0x88
@@ -1825,7 +1825,7 @@ _080F6884:
adds r0, r5, 0
bl DestroyTask
bl FreeAllWindowBuffers
- ldr r0, =CB2_ReturnToFieldContinueScript
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
bl sub_80F7E64
_080F68A8:
diff --git a/asm/contest_link_80FC4F4.s b/asm/contest_link_80FC4F4.s
index 621e26038..99fec9d99 100644
--- a/asm/contest_link_80FC4F4.s
+++ b/asm/contest_link_80FC4F4.s
@@ -11,7 +11,7 @@ sub_80FC4F4: @ 80FC4F4
adds r2, r0, 0
lsls r4, r1, 16
lsrs r4, 16
- ldr r5, =0x0201c000
+ ldr r5, =gDecompressionBuffer
adds r0, r5, 0
adds r1, r2, 0
adds r2, r4, 0
diff --git a/asm/dewford_trend.s b/asm/dewford_trend.s
deleted file mode 100644
index 7d9d67902..000000000
--- a/asm/dewford_trend.s
+++ /dev/null
@@ -1,975 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start InitDewfordTrend
-InitDewfordTrend: @ 81224D4
- push {r4-r7,lr}
- movs r6, 0
- ldr r5, =gSaveBlock1Ptr
-_081224DA:
- movs r0, 0xA
- bl sub_811EE38
- ldr r1, [r5]
- lsls r4, r6, 3
- adds r1, r4
- ldr r2, =0x00002e6c
- adds r1, r2
- strh r0, [r1]
- bl Random
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _08122514
- movs r0, 0xC
- bl sub_811EE38
- ldr r1, [r5]
- adds r1, r4
- ldr r7, =0x00002e6e
- adds r1, r7
- b _08122522
- .pool
-_08122514:
- movs r0, 0xD
- bl sub_811EE38
- ldr r1, [r5]
- adds r1, r4
- ldr r2, =0x00002e6e
- adds r1, r2
-_08122522:
- strh r0, [r1]
- bl Random
- ldr r3, [r5]
- adds r3, r4
- movs r2, 0x1
- ands r2, r0
- ldr r7, =0x00002e69
- adds r3, r7
- lsls r2, 6
- ldrb r0, [r3]
- movs r7, 0x41
- negs r7, r7
- adds r1, r7, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3]
- ldr r0, =0x00002e68
- adds r1, r4, r0
- ldr r0, [r5]
- adds r0, r1
- bl sub_8122B28
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x4
- bls _081224DA
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e68
- adds r0, r1
- movs r1, 0x5
- movs r2, 0
- bl sub_8122804
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end InitDewfordTrend
-
- thumb_func_start UpdateDewfordTrendPerDay
-UpdateDewfordTrendPerDay: @ 8122580
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _08122596
- b _081226BE
-_08122596:
- lsls r0, r1, 2
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- mov r10, r0
- movs r1, 0x7F
- mov r9, r1
- movs r2, 0x80
- negs r2, r2
- mov r8, r2
-_081225AA:
- ldr r2, [sp]
- mov r3, r10
- lsls r0, r3, 3
- ldr r4, =0x00002e68
- adds r0, r4
- ldr r3, =gSaveBlock1Ptr
- ldr r1, [r3]
- adds r5, r1, r0
- ldrb r6, [r5, 0x1]
- movs r0, 0x40
- ands r0, r6
- cmp r0, 0
- bne _08122608
- ldrb r4, [r5]
- lsls r3, r4, 25
- lsrs r1, r3, 25
- lsls r0, r2, 16
- lsrs r0, 16
- cmp r1, r0
- bcc _081225F8
- adds r0, r1, 0
- subs r0, r2
- mov r1, r9
- ands r0, r1
- mov r1, r8
- ands r1, r4
- orrs r1, r0
- strb r1, [r5]
- movs r0, 0x7F
- ands r1, r0
- cmp r1, 0
- bne _0812269E
- movs r0, 0x40
- orrs r0, r6
- b _0812269C
- .pool
-_081225F8:
- lsrs r0, r3, 25
- subs r2, r0
- mov r0, r8
- ands r0, r4
- strb r0, [r5]
- movs r0, 0x40
- orrs r0, r6
- strb r0, [r5, 0x1]
-_08122608:
- ldrb r7, [r5]
- lsls r0, r7, 25
- lsrs r0, 25
- adds r4, r0, r2
- ldrh r0, [r5]
- lsls r6, r0, 18
- lsls r0, r4, 16
- lsrs r0, 16
- lsrs r1, r6, 25
- cmp r0, r1
- bls _08122678
- adds r0, r4, 0
- bl __umodsi3
- adds r3, r0, 0
- lsrs r1, r6, 25
- adds r0, r4, 0
- str r3, [sp, 0x4]
- bl __udivsi3
- adds r4, r0, 0
- movs r0, 0x1
- eors r4, r0
- ands r4, r0
- lsls r2, r4, 6
- ldrb r0, [r5, 0x1]
- movs r4, 0x41
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r5, 0x1]
- movs r1, 0x40
- ands r0, r1
- ldr r3, [sp, 0x4]
- cmp r0, 0
- beq _08122662
- adds r1, r3, 0
- mov r0, r9
- ands r1, r0
- mov r0, r8
- ands r0, r7
- orrs r0, r1
- strb r0, [r5]
- b _0812269E
-_08122662:
- ldrh r0, [r5]
- lsls r0, 18
- lsrs r0, 25
- subs r0, r3
- mov r1, r9
- ands r0, r1
- mov r1, r8
- ands r1, r7
- orrs r1, r0
- strb r1, [r5]
- b _0812269E
-_08122678:
- mov r2, r9
- ands r4, r2
- mov r0, r8
- ands r0, r7
- orrs r0, r4
- strb r0, [r5]
- lsls r0, 25
- ldrh r1, [r5]
- lsls r1, 18
- lsrs r0, 25
- lsrs r1, 25
- cmp r0, r1
- bne _0812269E
- ldrb r0, [r5, 0x1]
- movs r3, 0x41
- negs r3, r3
- adds r1, r3, 0
- ands r0, r1
-_0812269C:
- strb r0, [r5, 0x1]
-_0812269E:
- mov r0, r10
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- cmp r0, 0x4
- bhi _081226AE
- b _081225AA
-_081226AE:
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- ldr r1, =0x00002e68
- adds r0, r1
- movs r1, 0x5
- movs r2, 0
- bl sub_8122804
-_081226BE:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end UpdateDewfordTrendPerDay
-
- thumb_func_start sub_81226D8
-sub_81226D8: @ 81226D8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- mov r8, r0
- movs r0, 0
- movs r1, 0
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, r8
- bl sub_8122BB0
- lsls r0, 24
- cmp r0, 0
- beq _081226F8
- b _081227F2
-_081226F8:
- ldr r4, =0x00000893
- adds r0, r4, 0
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _08122744
- adds r0, r4, 0
- bl FlagSet
- ldr r0, =0x00000894
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _08122744
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- mov r0, r8
- ldrh r2, [r0]
- ldr r3, =0x00002e6c
- adds r0, r1, r3
- strh r2, [r0]
- mov r2, r8
- ldrh r0, [r2, 0x2]
- adds r3, 0x2
- adds r1, r3
- strh r0, [r1]
- movs r0, 0x1
- b _081227F4
- .pool
-_08122744:
- mov r0, r8
- ldrh r1, [r0, 0x2]
- lsls r1, 16
- ldrh r0, [r0]
- orrs r0, r1
- str r0, [sp, 0x4]
- movs r1, 0x80
- lsls r1, 7
- ldr r0, [sp]
- orrs r0, r1
- str r0, [sp]
- mov r0, sp
- bl sub_8122B28
- movs r5, 0
-_08122762:
- ldr r6, =gSaveBlock1Ptr
- lsls r4, r5, 3
- ldr r1, =0x00002e68
- adds r0, r4, r1
- ldr r1, [r6]
- adds r1, r0
- mov r0, sp
- movs r2, 0
- bl atk90_changetypestoenemyattacktype
- lsls r0, 24
- adds r7, r4, 0
- cmp r0, 0
- beq _081227D4
- movs r2, 0x4
- mov r12, r6
- cmp r2, r5
- bls _081227A6
- ldr r4, =0x00002e68
-_08122788:
- ldr r0, [r6]
- lsls r3, r2, 3
- adds r0, r4
- adds r3, r0, r3
- subs r2, 0x1
- lsls r1, r2, 3
- adds r0, r1
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r3]
- str r1, [r3, 0x4]
- lsls r2, 16
- lsrs r2, 16
- cmp r2, r5
- bhi _08122788
-_081227A6:
- mov r3, r12
- ldr r2, [r3]
- ldr r0, =0x00002e68
- adds r2, r0
- adds r2, r7
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- cmp r5, 0x4
- bne _081227C2
- mov r0, r8
- bl sub_80EDC60
-_081227C2:
- movs r0, 0
- cmp r5, 0
- bne _081227F4
- movs r0, 0x1
- b _081227F4
- .pool
-_081227D4:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x4
- bls _08122762
- ldr r2, [r6]
- ldr r1, =0x00002e88
- adds r2, r1
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- mov r0, r8
- bl sub_80EDC60
-_081227F2:
- movs r0, 0
-_081227F4:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81226D8
-
- thumb_func_start sub_8122804
-sub_8122804: @ 8122804
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r0
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- movs r2, 0
- cmp r2, r7
- bcs _0812286C
-_08122820:
- adds r1, r2, 0x1
- lsls r0, r1, 16
- lsrs r5, r0, 16
- mov r8, r1
- cmp r5, r7
- bcs _08122862
- lsls r0, r2, 3
- mov r1, r9
- adds r6, r1, r0
-_08122832:
- lsls r0, r5, 3
- mov r1, r9
- adds r4, r1, r0
- adds r0, r4, 0
- adds r1, r6, 0
- mov r2, r10
- bl atk90_changetypestoenemyattacktype
- lsls r0, 24
- cmp r0, 0
- beq _08122858
- ldr r2, [r4]
- ldr r3, [r4, 0x4]
- ldr r0, [r6]
- ldr r1, [r6, 0x4]
- str r0, [r4]
- str r1, [r4, 0x4]
- str r2, [r6]
- str r3, [r6, 0x4]
-_08122858:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r7
- bcc _08122832
-_08122862:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r2, r0, 16
- cmp r2, r7
- bcc _08122820
-_0812286C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8122804
-
- thumb_func_start sub_812287C
-sub_812287C: @ 812287C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r8, r0
- adds r6, r1, 0
- movs r4, 0x80
- lsls r4, 1
- adds r0, r4, 0
- bl Alloc
- mov r10, r0
- cmp r0, 0
- beq _08122980
- adds r0, r4, 0
- bl Alloc
- adds r7, r0, 0
- cmp r7, 0
- bne _081228B0
- mov r0, r10
- bl Free
- b _08122980
-_081228B0:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r5, 0
- cmp r5, r9
- bcs _081228DE
-_081228C0:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- add r0, r10
- adds r1, r5, 0
- muls r1, r6
- add r1, r8
- movs r2, 0x28
- bl memcpy
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r9
- bcc _081228C0
-_081228DE:
- mov r4, r10
- mov r8, r7
- movs r3, 0
- movs r5, 0
- cmp r5, r9
- bcs _08122946
-_081228EA:
- movs r6, 0
-_081228EC:
- adds r0, r7, 0
- adds r1, r4, 0
- adds r2, r3, 0
- str r3, [sp]
- bl sub_8122C1C
- lsls r0, 16
- asrs r0, 16
- ldr r3, [sp]
- cmp r0, 0
- bge _08122918
- ldr r0, [r4]
- ldr r1, [r4, 0x4]
- mov r2, r8
- adds r2, 0x8
- mov r8, r2
- subs r2, 0x8
- stm r2!, {r0,r1}
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- b _08122930
-_08122918:
- lsls r0, 3
- adds r2, r7, r0
- ldrb r1, [r2]
- lsls r1, 25
- ldrb r0, [r4]
- lsls r0, 25
- cmp r1, r0
- bcs _08122930
- ldr r0, [r4]
- ldr r1, [r4, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
-_08122930:
- adds r4, 0x8
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x4
- bls _081228EC
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r9
- bcc _081228EA
-_08122946:
- adds r0, r7, 0
- adds r1, r3, 0
- movs r2, 0x2
- bl sub_8122804
- adds r4, r7, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e68
- adds r1, r0
- mov r8, r1
- movs r5, 0
-_0812295E:
- ldm r4!, {r0,r1}
- mov r2, r8
- adds r2, 0x8
- mov r8, r2
- subs r2, 0x8
- stm r2!, {r0,r1}
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x4
- bls _0812295E
- mov r0, r10
- bl Free
- adds r0, r7, 0
- bl Free
-_08122980:
- 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_812287C
-
- thumb_func_start sub_8122998
-sub_8122998: @ 8122998
- push {lr}
- ldr r2, =gSaveBlock1Ptr
- ldr r0, =gSpecialVar_0x8004
- ldrh r1, [r0]
- lsls r1, 3
- ldr r0, [r2]
- adds r1, r0
- ldr r0, =gStringVar1
- ldr r2, =0x00002e6c
- adds r1, r2
- movs r2, 0x2
- movs r3, 0x1
- bl ConvertEasyChatWordsToString
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8122998
-
- thumb_func_start sub_81229C8
-sub_81229C8: @ 81229C8
- push {r4,lr}
- movs r4, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- ldr r1, =0x00002e68
- adds r0, r3, r1
- ldrb r1, [r0]
- lsls r1, 25
- lsrs r1, 25
- ldr r2, =0x00002e70
- adds r0, r3, r2
- ldrb r0, [r0]
- lsls r0, 25
- lsrs r0, 25
- subs r1, r0
- cmp r1, 0x1
- bgt _08122A0C
- ldr r1, =0x00002e69
- adds r0, r3, r1
- ldrb r1, [r0]
- movs r2, 0x40
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08122A0C
- ldr r1, =0x00002e71
- adds r0, r3, r1
- ldrb r1, [r0]
- adds r0, r2, 0
- ands r0, r1
- lsls r0, 24
- lsrs r0, 24
- negs r0, r0
- lsrs r4, r0, 31
-_08122A0C:
- ldr r0, =gSpecialVar_Result
- strh r4, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81229C8
-
- thumb_func_start sub_8122A30
-sub_8122A30: @ 8122A30
- ldr r2, =gSpecialVar_Result
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r3, =0x00002e6c
- adds r1, r0, r3
- adds r3, 0x2
- adds r0, r3
- ldrh r0, [r0]
- ldrh r1, [r1]
- adds r0, r1
- movs r1, 0x7
- ands r0, r1
- strh r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_8122A30
-
- thumb_func_start atk90_changetypestoenemyattacktype
-atk90_changetypestoenemyattacktype: @ 8122A58
- push {r4,r5,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r2, 0
- cmp r2, 0x1
- beq _08122A9E
- cmp r2, 0x1
- bgt _08122A72
- cmp r2, 0
- beq _08122A78
- b _08122B1A
-_08122A72:
- cmp r0, 0x2
- beq _08122ACA
- b _08122B1A
-_08122A78:
- ldrb r0, [r3]
- lsls r1, r0, 25
- ldrb r0, [r5]
- lsls r0, 25
- cmp r1, r0
- bhi _08122B16
- cmp r1, r0
- bcc _08122AC6
- ldrh r0, [r3]
- lsls r3, r0, 18
- ldrh r0, [r5]
- lsls r2, r0, 18
- lsrs r1, r3, 25
- lsrs r0, r2, 25
- cmp r1, r0
- bhi _08122B16
- lsrs r1, r3, 25
- lsrs r0, r2, 25
- b _08122AC2
-_08122A9E:
- ldrh r0, [r3]
- lsls r4, r0, 18
- ldrh r0, [r5]
- lsls r2, r0, 18
- lsrs r1, r4, 25
- lsrs r0, r2, 25
- cmp r1, r0
- bhi _08122B16
- lsrs r1, r4, 25
- lsrs r0, r2, 25
- cmp r1, r0
- bcc _08122AC6
- ldrb r0, [r3]
- lsls r1, r0, 25
- ldrb r0, [r5]
- lsls r0, 25
- cmp r1, r0
- bhi _08122B16
-_08122AC2:
- cmp r1, r0
- bcs _08122B1A
-_08122AC6:
- movs r0, 0
- b _08122B22
-_08122ACA:
- ldrb r0, [r3]
- lsls r1, r0, 25
- ldrb r0, [r5]
- lsls r0, 25
- cmp r1, r0
- bhi _08122B16
- cmp r1, r0
- bcc _08122AC6
- ldrh r0, [r3]
- lsls r4, r0, 18
- ldrh r0, [r5]
- lsls r2, r0, 18
- lsrs r1, r4, 25
- lsrs r0, r2, 25
- cmp r1, r0
- bhi _08122B16
- lsrs r1, r4, 25
- lsrs r0, r2, 25
- cmp r1, r0
- bcc _08122AC6
- ldrh r1, [r3, 0x2]
- ldrh r0, [r5, 0x2]
- cmp r1, r0
- bhi _08122B16
- cmp r1, r0
- bcc _08122AC6
- ldrh r1, [r3, 0x4]
- ldrh r0, [r5, 0x4]
- cmp r1, r0
- bhi _08122B16
- cmp r1, r0
- bcc _08122AC6
- ldrh r1, [r3, 0x6]
- ldrh r0, [r5, 0x6]
- cmp r1, r0
- bhi _08122B16
- cmp r1, r0
- bcc _08122AC6
-_08122B16:
- movs r0, 0x1
- b _08122B22
-_08122B1A:
- bl Random
- movs r1, 0x1
- ands r0, r1
-_08122B22:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end atk90_changetypestoenemyattacktype
-
- thumb_func_start sub_8122B28
-sub_8122B28: @ 8122B28
- push {r4,r5,lr}
- adds r5, r0, 0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x62
- bl __umodsi3
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x32
- bls _08122B6A
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x62
- bl __umodsi3
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x50
- bls _08122B6A
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x62
- bl __umodsi3
- lsls r0, 16
- lsrs r4, r0, 16
-_08122B6A:
- adds r1, r4, 0
- adds r1, 0x1E
- movs r0, 0x7F
- ands r1, r0
- lsls r1, 7
- ldrh r2, [r5]
- ldr r0, =0xffffc07f
- ands r0, r2
- orrs r0, r1
- strh r0, [r5]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0x1
- bl __modsi3
- adds r0, 0x1E
- movs r1, 0x7F
- ands r0, r1
- ldrb r2, [r5]
- movs r1, 0x80
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r5]
- bl Random
- strh r0, [r5, 0x2]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8122B28
-
- thumb_func_start sub_8122BB0
-sub_8122BB0: @ 8122BB0
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r4, 0
- ldr r6, =gSaveBlock1Ptr
-_08122BB8:
- lsls r1, r4, 3
- ldr r0, [r6]
- adds r1, r0
- ldr r0, =0x00002e6c
- adds r1, r0
- adds r0, r5, 0
- bl sub_8122BF0
- lsls r0, 24
- cmp r0, 0
- beq _08122BDC
- movs r0, 0x1
- b _08122BE8
- .pool
-_08122BDC:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _08122BB8
- movs r0, 0
-_08122BE8:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8122BB0
-
- thumb_func_start sub_8122BF0
-sub_8122BF0: @ 8122BF0
- push {r4,lr}
- adds r3, r0, 0
- adds r2, r1, 0
- movs r4, 0
-_08122BF8:
- ldrh r1, [r3]
- ldrh r0, [r2]
- adds r2, 0x2
- adds r3, 0x2
- cmp r1, r0
- beq _08122C08
- movs r0, 0
- b _08122C14
-_08122C08:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _08122BF8
- movs r0, 0x1
-_08122C14:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8122BF0
-
- thumb_func_start sub_8122C1C
-sub_8122C1C: @ 8122C1C
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r7, r1, 0
- lsls r2, 16
- lsrs r6, r2, 16
- movs r4, 0
- cmp r4, r6
- bge _08122C52
-_08122C2C:
- adds r1, r5, 0x4
- adds r0, r7, 0x4
- bl sub_8122BF0
- lsls r0, 24
- cmp r0, 0
- beq _08122C40
- lsls r0, r4, 16
- asrs r0, 16
- b _08122C56
-_08122C40:
- adds r5, 0x8
- lsls r0, r4, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, r6
- blt _08122C2C
-_08122C52:
- movs r0, 0x1
- negs r0, r0
-_08122C56:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8122C1C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/easy_chat.s b/asm/easy_chat.s
index 0cbe1f1ae..4ee0fa2ae 100644
--- a/asm/easy_chat.s
+++ b/asm/easy_chat.s
@@ -623,7 +623,7 @@ _0811A7C2:
bl overworld_free_bg_tilemaps
ldr r0, =gSpecialVar_0x8004
ldrb r0, [r0]
- ldr r2, =sub_80861B0
+ ldr r2, =CB2_ReturnToFieldContinueScript
adds r1, r4, 0
adds r3, r5, 0
bl sub_811A20C
@@ -760,7 +760,7 @@ sub_811A8CC: @ 811A8CC
ldr r1, [r0]
ldr r0, =0x00003b6e
adds r1, r0
- ldr r2, =sub_80861B0
+ ldr r2, =CB2_ReturnToFieldContinueScript
movs r0, 0xF
movs r3, 0x3
bl sub_811A20C
@@ -776,7 +776,7 @@ sub_811A8F0: @ 811A8F0
ldr r1, [r0]
ldr r0, =0x00003b5a
adds r1, r0
- ldr r2, =sub_80861B0
+ ldr r2, =CB2_ReturnToFieldContinueScript
movs r0, 0x10
movs r3, 0x3
bl sub_811A20C
@@ -792,7 +792,7 @@ sub_811A914: @ 811A914
ldr r1, [r0]
ldr r0, =0x00003b6c
adds r1, r0
- ldr r2, =sub_80861B0
+ ldr r2, =CB2_ReturnToFieldContinueScript
movs r0, 0x12
movs r3, 0x3
bl sub_811A20C
@@ -808,7 +808,7 @@ sub_811A938: @ 811A938
ldr r1, [r0]
ldr r0, =0x00003b5a
adds r1, r0
- ldr r2, =sub_80861B0
+ ldr r2, =CB2_ReturnToFieldContinueScript
movs r0, 0x11
movs r3, 0x3
bl sub_811A20C
@@ -3691,7 +3691,7 @@ sub_811BDF0: @ 811BDF0
adds r6, r0, 0
ldr r0, =gSaveBlock1Ptr
ldr r4, [r0]
- bl UnkTextUtil_Reset
+ bl DynamicPlaceholderTextUtil_Reset
ldr r0, =0x00003b70
adds r5, r4, r0
adds r0, r5, 0
@@ -3707,17 +3707,17 @@ sub_811BDF0: @ 811BDF0
bl TVShowConvertInternationalString
movs r0, 0
mov r1, sp
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
b _0811BE3C
.pool
_0811BE34:
ldr r1, =gText_Lady
movs r0, 0
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
_0811BE3C:
ldr r1, =gText_F700sQuiz
adds r0, r6, 0
- bl UnkTextUtil_StringExpandPlaceholders
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
add sp, 0x20
pop {r4-r6}
pop {r0}
@@ -5988,7 +5988,7 @@ sub_811D0BC: @ 811D0BC
movs r0, 0x1
movs r1, 0x1
movs r2, 0xE0
- bl sub_809882C
+ bl LoadUserWindowBorderGfx
movs r0, 0x1
movs r1, 0x1
movs r2, 0xE
@@ -8988,7 +8988,7 @@ _0811E852:
adds r1, r5, 0
movs r2, 0x4C
movs r3, 0x28
- bl AddPseudoFieldObject
+ bl AddPseudoEventObject
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x40
@@ -9019,7 +9019,7 @@ _0811E8A0:
adds r1, r5, 0
movs r2, 0x34
movs r3, 0x28
- bl AddPseudoFieldObject
+ bl AddPseudoEventObject
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x40
@@ -9243,8 +9243,8 @@ _0811EA68:
bx r1
thumb_func_end sub_811EA28
- thumb_func_start start_menu_is_selected_item_valid
-start_menu_is_selected_item_valid: @ 811EA6C
+ thumb_func_start EasyChat_GetNumWordsInGroup
+EasyChat_GetNumWordsInGroup: @ 811EA6C
push {r4,lr}
lsls r0, 24
lsrs r0, 24
@@ -9273,7 +9273,7 @@ _0811EA9A:
pop {r1}
bx r1
.pool
- thumb_func_end start_menu_is_selected_item_valid
+ thumb_func_end EasyChat_GetNumWordsInGroup
thumb_func_start sub_811EAA4
sub_811EAA4: @ 811EAA4
@@ -10145,7 +10145,7 @@ sub_811F0F8: @ 811F0F8
sub_811F108: @ 811F108
push {r4-r7,lr}
movs r0, 0
- bl start_menu_is_selected_item_valid
+ bl EasyChat_GetNumWordsInGroup
lsls r0, 16
lsrs r4, r0, 16
cmp r4, 0
diff --git a/asm/field_camera.s b/asm/field_camera.s
deleted file mode 100644
index 35359f444..000000000
--- a/asm/field_camera.s
+++ /dev/null
@@ -1,1153 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start move_tilemap_camera_to_upper_left_corner_
-@ void move_tilemap_camera_to_upper_left_corner_(struc_28 *a1)
-move_tilemap_camera_to_upper_left_corner_: @ 8089B58
- movs r1, 0
- strb r1, [r0, 0x2]
- strb r1, [r0, 0x3]
- strb r1, [r0]
- strb r1, [r0, 0x1]
- movs r1, 0x1
- strb r1, [r0, 0x4]
- bx lr
- thumb_func_end move_tilemap_camera_to_upper_left_corner_
-
- thumb_func_start tilemap_move_something
-@ void tilemap_move_something(struct struc_28 *, u8 deltaX, u8 deltaY)
-tilemap_move_something: @ 8089B68
- ldrb r3, [r0, 0x2]
- adds r3, r1
- strb r3, [r0, 0x2]
- ldrb r1, [r0, 0x2]
- movs r3, 0x1F
- ands r1, r3
- strb r1, [r0, 0x2]
- ldrb r1, [r0, 0x3]
- adds r1, r2
- strb r1, [r0, 0x3]
- ldrb r1, [r0, 0x3]
- ands r1, r3
- strb r1, [r0, 0x3]
- bx lr
- thumb_func_end tilemap_move_something
-
- thumb_func_start coords8_add
-@ void coords8_add(struct coords8 *coords, u8 x, u8 y)
-coords8_add: @ 8089B84
- ldrb r3, [r0]
- adds r3, r1
- strb r3, [r0]
- ldrb r1, [r0, 0x1]
- adds r1, r2
- strb r1, [r0, 0x1]
- bx lr
- thumb_func_end coords8_add
-
- thumb_func_start move_tilemap_camera_to_upper_left_corner
-@ void move_tilemap_camera_to_upper_left_corner()
-move_tilemap_camera_to_upper_left_corner: @ 8089B94
- push {lr}
- ldr r0, =gUnknown_03000E20
- bl move_tilemap_camera_to_upper_left_corner_
- pop {r0}
- bx r0
- .pool
- thumb_func_end move_tilemap_camera_to_upper_left_corner
-
- thumb_func_start FieldUpdateBgTilemapScroll
-@ void FieldUpdateBgTilemapScroll()
-FieldUpdateBgTilemapScroll: @ 8089BA4
- push {r4,r5,lr}
- ldr r1, =gUnknown_03000E20
- ldr r0, =gUnknown_03000E28
- movs r2, 0
- ldrsh r5, [r0, r2]
- ldrb r0, [r1]
- adds r5, r0
- ldr r0, =gUnknown_03000E2A
- movs r2, 0
- ldrsh r4, [r0, r2]
- ldrb r1, [r1, 0x1]
- adds r4, r1
- adds r4, 0x8
- lsls r5, 16
- lsrs r5, 16
- movs r0, 0x14
- adds r1, r5, 0
- bl SetGpuReg
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0x16
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x18
- adds r1, r5, 0
- bl SetGpuReg
- movs r0, 0x1A
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x1C
- adds r1, r5, 0
- bl SetGpuReg
- movs r0, 0x1E
- adds r1, r4, 0
- bl SetGpuReg
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldUpdateBgTilemapScroll
-
- thumb_func_start sub_8089C08
-sub_8089C08: @ 8089C08
- push {r4,lr}
- ldr r3, =gUnknown_03000E20
- ldr r2, =gUnknown_03000E28
- ldrh r2, [r2]
- ldrb r4, [r3]
- adds r2, r4
- strh r2, [r0]
- ldr r0, =gUnknown_03000E2A
- ldrh r0, [r0]
- ldrb r3, [r3, 0x1]
- adds r0, r3
- adds r0, 0x8
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8089C08
-
- thumb_func_start DrawWholeMapView
-@ void DrawWholeMapView()
-DrawWholeMapView: @ 8089C34
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- ldr r2, =gMapHeader
- ldr r2, [r2]
- bl DrawWholeMapViewInternal
- ldr r1, =gUnknown_03000E20
- movs r0, 0x1
- strb r0, [r1, 0x4]
- pop {r0}
- bx r0
- .pool
- thumb_func_end DrawWholeMapView
-
- thumb_func_start DrawWholeMapViewInternal
-@ void DrawWholeMapViewInternal(s32 x, s32 y, struct mapdata_header *mapGrid)
-DrawWholeMapViewInternal: @ 8089C60
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r10, r0
- mov r9, r1
- mov r8, r2
- movs r1, 0
-_08089C74:
- ldr r2, =gUnknown_03000E20
- ldrb r0, [r2, 0x3]
- adds r0, r1, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _08089C88
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_08089C88:
- lsls r6, r0, 5
- movs r4, 0
- adds r7, r1, 0x2
- str r7, [sp]
- lsrs r5, r1, 1
-_08089C92:
- ldr r1, =gUnknown_03000E20
- ldrb r0, [r1, 0x2]
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _08089CA6
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_08089CA6:
- adds r1, r6, r0
- lsls r1, 16
- lsrs r1, 16
- lsrs r2, r4, 1
- add r2, r10
- mov r0, r8
- mov r7, r9
- adds r3, r7, r5
- bl DrawMetatileAt
- adds r0, r4, 0x2
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1F
- bls _08089C92
- ldr r1, [sp]
- lsls r0, r1, 24
- lsrs r1, r0, 24
- cmp r1, 0x1F
- bls _08089C74
- 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 DrawWholeMapViewInternal
-
- thumb_func_start RedrawMapSlicesForCameraUpdate
-@ void RedrawMapSlicesForCameraUpdate(struct struc_28 *, u8 deltaX, u8 deltaY)
-RedrawMapSlicesForCameraUpdate: @ 8089CE4
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- adds r7, r2, 0
- ldr r0, =gMapHeader
- ldr r4, [r0]
- cmp r6, 0
- ble _08089CFC
- adds r0, r5, 0
- adds r1, r4, 0
- bl RedrawMapSliceWest
-_08089CFC:
- cmp r6, 0
- bge _08089D08
- adds r0, r5, 0
- adds r1, r4, 0
- bl RedrawMapSliceEast
-_08089D08:
- cmp r7, 0
- ble _08089D14
- adds r0, r5, 0
- adds r1, r4, 0
- bl RedrawMapSliceNorth
-_08089D14:
- cmp r7, 0
- bge _08089D20
- adds r0, r5, 0
- adds r1, r4, 0
- bl RedrawMapSliceSouth
-_08089D20:
- movs r0, 0x1
- strb r0, [r5, 0x4]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RedrawMapSlicesForCameraUpdate
-
- thumb_func_start RedrawMapSliceNorth
-@ void RedrawMapSliceNorth(struct struc_28 *, struct mapdata_header *mapGrid)
-RedrawMapSliceNorth: @ 8089D30
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r7, r1, 0
- ldrb r0, [r5, 0x3]
- adds r0, 0x1C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _08089D48
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_08089D48:
- lsls r6, r0, 5
- movs r4, 0
-_08089D4C:
- ldrb r0, [r5, 0x2]
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _08089D5E
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_08089D5E:
- adds r1, r6, r0
- lsls r1, 16
- lsrs r1, 16
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- movs r0, 0
- ldrsh r2, [r3, r0]
- lsrs r0, r4, 1
- adds r2, r0
- movs r0, 0x2
- ldrsh r3, [r3, r0]
- adds r3, 0xE
- adds r0, r7, 0
- bl DrawMetatileAt
- adds r0, r4, 0x2
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1F
- bls _08089D4C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RedrawMapSliceNorth
-
- thumb_func_start RedrawMapSliceSouth
-@ void RedrawMapSliceSouth(struct struc_28 *, struct mapdata_header *mapGrid)
-RedrawMapSliceSouth: @ 8089D90
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r7, r1, 0
- ldrb r0, [r5, 0x3]
- lsls r6, r0, 5
- movs r4, 0
-_08089D9C:
- ldrb r0, [r5, 0x2]
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _08089DAE
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_08089DAE:
- adds r1, r6, r0
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- movs r0, 0
- ldrsh r2, [r3, r0]
- lsrs r0, r4, 1
- adds r2, r0
- movs r0, 0x2
- ldrsh r3, [r3, r0]
- adds r0, r7, 0
- bl DrawMetatileAt
- adds r0, r4, 0x2
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1F
- bls _08089D9C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RedrawMapSliceSouth
-
- thumb_func_start RedrawMapSliceEast
-@ void RedrawMapSliceEast(struct struc_28 *, struct mapdata_header *mapGrid)
-RedrawMapSliceEast: @ 8089DDC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- mov r8, r1
- ldrb r6, [r5, 0x2]
- movs r4, 0
-_08089DEA:
- ldrb r0, [r5, 0x3]
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _08089DFC
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_08089DFC:
- lsls r1, r0, 5
- adds r1, r6
- lsls r1, 16
- lsrs r1, 16
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r3, 0
- ldrsh r2, [r0, r3]
- movs r7, 0x2
- ldrsh r3, [r0, r7]
- lsrs r0, r4, 1
- adds r3, r0
- mov r0, r8
- bl DrawMetatileAt
- adds r0, r4, 0x2
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1F
- bls _08089DEA
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RedrawMapSliceEast
-
- thumb_func_start RedrawMapSliceWest
-@ void RedrawMapSliceWest(struct struc_28 *, struct mapdata_header *mapGrid)
-RedrawMapSliceWest: @ 8089E34
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- mov r8, r1
- ldrb r0, [r6, 0x2]
- adds r0, 0x1C
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1F
- bls _08089E52
- adds r0, r5, 0
- subs r0, 0x20
- lsls r0, 24
- lsrs r5, r0, 24
-_08089E52:
- movs r4, 0
-_08089E54:
- ldrb r0, [r6, 0x3]
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _08089E66
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_08089E66:
- lsls r1, r0, 5
- adds r1, r5
- lsls r1, 16
- lsrs r1, 16
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r3, 0
- ldrsh r2, [r0, r3]
- adds r2, 0xE
- movs r7, 0x2
- ldrsh r3, [r0, r7]
- lsrs r0, r4, 1
- adds r3, r0
- mov r0, r8
- bl DrawMetatileAt
- adds r0, r4, 0x2
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1F
- bls _08089E54
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RedrawMapSliceWest
-
- thumb_func_start CurrentMapDrawMetatileAt
-@ void CurrentMapDrawMetatileAt(u32 x, u32 y)
-CurrentMapDrawMetatileAt: @ 8089EA0
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r6, =gUnknown_03000E20
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl MapPosToBgTilemapOffset
- adds r1, r0, 0
- cmp r1, 0
- blt _08089ECC
- ldr r0, =gMapHeader
- ldr r0, [r0]
- lsls r1, 16
- lsrs r1, 16
- adds r2, r4, 0
- adds r3, r5, 0
- bl DrawMetatileAt
- movs r0, 0x1
- strb r0, [r6, 0x4]
-_08089ECC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CurrentMapDrawMetatileAt
-
- thumb_func_start DrawDoorMetatileAt
-@ void DrawDoorMetatileAt(u32 x, u32 y, u16 *metatile)
-DrawDoorMetatileAt: @ 8089EDC
- push {r4-r6,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- ldr r6, =gUnknown_03000E20
- adds r0, r6, 0
- adds r1, r3, 0
- adds r2, r4, 0
- bl MapPosToBgTilemapOffset
- cmp r0, 0
- blt _08089F04
- lsls r2, r0, 16
- lsrs r2, 16
- movs r0, 0x1
- adds r1, r5, 0
- bl DrawMetatile
- movs r0, 0x1
- strb r0, [r6, 0x4]
-_08089F04:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DrawDoorMetatileAt
-
- thumb_func_start DrawMetatileAt
-@ void DrawMetatileAt(struct mapdata_header *mapGrid, u16 offset, s32 x, s32 y)
-DrawMetatileAt: @ 8089F10
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- adds r6, r2, 0
- adds r7, r3, 0
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- adds r0, r6, 0
- adds r1, r7, 0
- bl MapGridGetMetatileIdAt
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x80
- lsls r0, 3
- cmp r4, r0
- bls _08089F38
- movs r4, 0
-_08089F38:
- ldr r0, =0x000001ff
- cmp r4, r0
- bhi _08089F48
- ldr r0, [r5, 0x10]
- ldr r5, [r0, 0xC]
- b _08089F54
- .pool
-_08089F48:
- ldr r0, [r5, 0x14]
- ldr r5, [r0, 0xC]
- ldr r1, =0xfffffe00
- adds r0, r4, r1
- lsls r0, 16
- lsrs r4, r0, 16
-_08089F54:
- adds r0, r6, 0
- adds r1, r7, 0
- bl MapGridGetMetatileLayerTypeAt
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r4, 4
- adds r1, r5, r1
- mov r2, r8
- bl DrawMetatile
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DrawMetatileAt
-
- thumb_func_start DrawMetatile
-@ void DrawMetatile(u32 layerType, u16 *metatile, u16 offset)
-DrawMetatile: @ 8089F78
- push {r4,lr}
- adds r4, r1, 0
- lsls r2, 16
- lsrs r2, 16
- cmp r0, 0x1
- beq _08089FD0
- cmp r0, 0x1
- bgt _08089F8E
- cmp r0, 0
- beq _0808A030
- b _0808A082
-_08089F8E:
- cmp r0, 0x2
- bne _0808A082
- ldr r0, =gUnknown_03005DA4
- ldr r0, [r0]
- lsls r3, r2, 1
- adds r0, r3, r0
- ldrh r1, [r4]
- strh r1, [r0]
- ldrh r1, [r4, 0x2]
- strh r1, [r0, 0x2]
- adds r2, r0, 0
- adds r2, 0x40
- ldrh r1, [r4, 0x4]
- strh r1, [r2]
- adds r0, 0x42
- ldrh r1, [r4, 0x6]
- strh r1, [r0]
- ldr r0, =gUnknown_03005D9C
- ldr r0, [r0]
- adds r0, r3, r0
- movs r2, 0
- strh r2, [r0]
- strh r2, [r0, 0x2]
- adds r1, r0, 0
- adds r1, 0x40
- strh r2, [r1]
- adds r0, 0x42
- strh r2, [r0]
- b _0808A066
- .pool
-_08089FD0:
- ldr r0, =gUnknown_03005DA4
- ldr r0, [r0]
- lsls r3, r2, 1
- adds r0, r3, r0
- ldrh r1, [r4]
- strh r1, [r0]
- ldrh r1, [r4, 0x2]
- strh r1, [r0, 0x2]
- adds r2, r0, 0
- adds r2, 0x40
- ldrh r1, [r4, 0x4]
- strh r1, [r2]
- adds r0, 0x42
- ldrh r1, [r4, 0x6]
- strh r1, [r0]
- ldr r0, =gUnknown_03005D9C
- ldr r0, [r0]
- adds r0, r3, r0
- ldrh r1, [r4, 0x8]
- strh r1, [r0]
- ldrh r1, [r4, 0xA]
- strh r1, [r0, 0x2]
- adds r2, r0, 0
- adds r2, 0x40
- ldrh r1, [r4, 0xC]
- strh r1, [r2]
- adds r0, 0x42
- ldrh r1, [r4, 0xE]
- strh r1, [r0]
- ldr r0, =gUnknown_03005DA0
- ldr r0, [r0]
- adds r3, r0
- movs r1, 0
- strh r1, [r3]
- strh r1, [r3, 0x2]
- adds r0, r3, 0
- adds r0, 0x40
- strh r1, [r0]
- adds r3, 0x42
- strh r1, [r3]
- b _0808A082
- .pool
-_0808A030:
- ldr r0, =gUnknown_03005DA4
- ldr r0, [r0]
- lsls r3, r2, 1
- adds r0, r3, r0
- ldr r1, =0x00003014
- adds r2, r1, 0
- strh r2, [r0]
- strh r2, [r0, 0x2]
- adds r1, r0, 0
- adds r1, 0x40
- strh r2, [r1]
- adds r0, 0x42
- strh r2, [r0]
- ldr r0, =gUnknown_03005D9C
- ldr r0, [r0]
- adds r0, r3, r0
- ldrh r1, [r4]
- strh r1, [r0]
- ldrh r1, [r4, 0x2]
- strh r1, [r0, 0x2]
- adds r2, r0, 0
- adds r2, 0x40
- ldrh r1, [r4, 0x4]
- strh r1, [r2]
- adds r0, 0x42
- ldrh r1, [r4, 0x6]
- strh r1, [r0]
-_0808A066:
- ldr r0, =gUnknown_03005DA0
- ldr r0, [r0]
- adds r3, r0
- ldrh r0, [r4, 0x8]
- strh r0, [r3]
- ldrh r0, [r4, 0xA]
- strh r0, [r3, 0x2]
- adds r1, r3, 0
- adds r1, 0x40
- ldrh r0, [r4, 0xC]
- strh r0, [r1]
- adds r3, 0x42
- ldrh r0, [r4, 0xE]
- strh r0, [r3]
-_0808A082:
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x3
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DrawMetatile
-
- thumb_func_start MapPosToBgTilemapOffset
-@ u32 MapPosToBgTilemapOffset(struct struc_28 *, u32 x, u32 y)
-MapPosToBgTilemapOffset: @ 808A0AC
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- movs r5, 0
- ldrsh r0, [r3, r5]
- subs r1, r0
- lsls r1, 1
- cmp r1, 0x1F
- bhi _0808A0D6
- ldrb r0, [r4, 0x2]
- adds r1, r0
- cmp r1, 0x1F
- ble _0808A0CA
- subs r1, 0x20
-_0808A0CA:
- movs r5, 0x2
- ldrsh r0, [r3, r5]
- subs r0, r2, r0
- lsls r2, r0, 1
- cmp r2, 0x1F
- bls _0808A0E0
-_0808A0D6:
- movs r0, 0x1
- negs r0, r0
- b _0808A0EE
- .pool
-_0808A0E0:
- ldrb r0, [r4, 0x3]
- adds r2, r0
- cmp r2, 0x1F
- ble _0808A0EA
- subs r2, 0x20
-_0808A0EA:
- lsls r0, r2, 5
- adds r0, r1
-_0808A0EE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end MapPosToBgTilemapOffset
-
- thumb_func_start CameraUpdateCallback
-@ void CameraUpdateCallback(struct CameraUpdateInfo *info)
-CameraUpdateCallback: @ 808A0F4
- push {lr}
- adds r3, r0, 0
- ldr r2, [r3, 0x4]
- cmp r2, 0
- beq _0808A114
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r2, 0x32
- ldrsh r1, [r0, r2]
- str r1, [r3, 0x8]
- movs r1, 0x34
- ldrsh r0, [r0, r1]
- str r0, [r3, 0xC]
-_0808A114:
- pop {r0}
- bx r0
- .pool
- thumb_func_end CameraUpdateCallback
-
- thumb_func_start ResetCameraUpdateInfo
-@ void ResetCameraUpdateInfo()
-ResetCameraUpdateInfo: @ 808A11C
- ldr r1, =gUnknown_03005DD0
- movs r0, 0
- str r0, [r1, 0x8]
- str r0, [r1, 0xC]
- str r0, [r1, 0x10]
- str r0, [r1, 0x14]
- str r0, [r1, 0x4]
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end ResetCameraUpdateInfo
-
- thumb_func_start InitCameraUpdateCallback
-@ u8 InitCameraUpdateCallback(u8 followedObjectId)
-InitCameraUpdateCallback: @ 808A134
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gUnknown_03005DD0
- ldr r1, [r4, 0x4]
- cmp r1, 0
- beq _0808A150
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
-_0808A150:
- adds r0, r5, 0
- bl AddCameraObject
- lsls r0, 24
- lsrs r0, 24
- str r0, [r4, 0x4]
- ldr r0, =CameraUpdateCallback
- str r0, [r4]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end InitCameraUpdateCallback
-
- thumb_func_start CameraUpdate
-@ void CameraUpdate()
-CameraUpdate: @ 808A174
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r6, =gUnknown_03005DD0
- ldr r1, [r6]
- cmp r1, 0
- beq _0808A188
- adds r0, r6, 0
- bl _call_via_r1
-_0808A188:
- ldr r7, [r6, 0x8]
- ldr r0, [r6, 0xC]
- mov r8, r0
- movs r4, 0
- movs r5, 0
- ldr r1, [r6, 0x10]
- ldr r0, [r6, 0x14]
- cmp r1, 0
- bne _0808A1A6
- cmp r7, 0
- beq _0808A1A6
- subs r4, 0x1
- cmp r7, 0
- ble _0808A1A6
- movs r4, 0x1
-_0808A1A6:
- cmp r0, 0
- bne _0808A1BA
- mov r2, r8
- cmp r2, 0
- beq _0808A1BA
- movs r5, 0x1
- negs r5, r5
- cmp r2, 0
- ble _0808A1BA
- movs r5, 0x1
-_0808A1BA:
- cmp r1, 0
- beq _0808A1CC
- cmn r1, r7
- bne _0808A1CC
- movs r4, 0x1
- negs r4, r4
- cmp r7, 0
- ble _0808A1CC
- movs r4, 0x1
-_0808A1CC:
- cmp r0, 0
- beq _0808A1E0
- mov r3, r8
- cmn r0, r3
- bne _0808A1E0
- movs r4, 0x1
- negs r4, r4
- cmp r3, 0
- ble _0808A1E0
- movs r4, 0x1
-_0808A1E0:
- ldr r2, =gUnknown_03005DD0
- ldr r0, [r2, 0x10]
- adds r1, r0, r7
- str r1, [r2, 0x10]
- adds r0, r1, 0
- cmp r1, 0
- bge _0808A1F0
- adds r0, 0xF
-_0808A1F0:
- asrs r0, 4
- lsls r0, 4
- subs r0, r1, r0
- str r0, [r2, 0x10]
- ldr r0, [r2, 0x14]
- mov r3, r8
- adds r1, r0, r3
- str r1, [r2, 0x14]
- adds r0, r1, 0
- cmp r1, 0
- bge _0808A208
- adds r0, 0xF
-_0808A208:
- asrs r0, 4
- lsls r0, 4
- subs r0, r1, r0
- str r0, [r2, 0x14]
- cmp r4, 0
- bne _0808A218
- cmp r5, 0
- beq _0808A24E
-_0808A218:
- adds r0, r4, 0
- adds r1, r5, 0
- bl CameraMove
- adds r0, r4, 0
- adds r1, r5, 0
- bl UpdateFieldObjectsForCameraUpdate
- adds r0, r4, 0
- adds r1, r5, 0
- bl RotatingGatePuzzleCameraUpdate
- bl ResetBerryTreeSparkleFlags
- ldr r6, =gUnknown_03000E20
- lsls r4, 1
- lsls r5, 1
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl tilemap_move_something
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl RedrawMapSlicesForCameraUpdate
-_0808A24E:
- ldr r0, =gUnknown_03000E20
- adds r1, r7, 0
- mov r2, r8
- bl coords8_add
- ldr r1, =gUnknown_03005DEC
- ldrh r0, [r1]
- subs r0, r7
- strh r0, [r1]
- ldr r1, =gUnknown_03005DE8
- ldrh r0, [r1]
- mov r2, r8
- subs r0, r2
- strh r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CameraUpdate
-
- thumb_func_start sub_808A284
-sub_808A284: @ 808A284
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl CameraMove
- lsls r0, r4, 16
- asrs r0, 16
- lsls r1, r5, 16
- asrs r1, 16
- bl UpdateFieldObjectsForCameraUpdate
- bl DrawWholeMapView
- ldr r1, =gUnknown_03005DEC
- lsls r4, 4
- ldrh r0, [r1]
- subs r0, r4
- strh r0, [r1]
- ldr r1, =gUnknown_03005DE8
- lsls r5, 4
- ldrh r0, [r1]
- subs r0, r5
- strh r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808A284
-
- thumb_func_start SetCameraPanningCallback
-@ void SetCameraPanningCallback(void ( *callback)())
-SetCameraPanningCallback: @ 808A2C0
- ldr r1, =gUnknown_03000E30
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end SetCameraPanningCallback
-
- thumb_func_start SetCameraPanning
-@ void SetCameraPanning(s16 x, s16 y)
-SetCameraPanning: @ 808A2CC
- ldr r2, =gUnknown_03000E28
- strh r0, [r2]
- ldr r0, =gUnknown_03000E2A
- lsls r1, 16
- asrs r1, 16
- adds r1, 0x20
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end SetCameraPanning
-
- thumb_func_start InstallCameraPanAheadCallback
-@ void InstallCameraPanAheadCallback()
-InstallCameraPanAheadCallback: @ 808A2E4
- ldr r1, =gUnknown_03000E30
- ldr r0, =CameraPanningCB_PanAhead
- str r0, [r1]
- ldr r1, =gUnknown_03000E2C
- movs r0, 0
- strb r0, [r1]
- ldr r1, =gUnknown_03000E28
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000E2A
- movs r0, 0x20
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end InstallCameraPanAheadCallback
-
- thumb_func_start UpdateCameraPanning
-@ void UpdateCameraPanning()
-UpdateCameraPanning: @ 808A314
- push {lr}
- ldr r0, =gUnknown_03000E30
- ldr r0, [r0]
- cmp r0, 0
- beq _0808A322
- bl _call_via_r0
-_0808A322:
- ldr r2, =gSpriteCoordOffsetX
- ldr r0, =gUnknown_03005DEC
- ldr r1, =gUnknown_03000E28
- ldrh r0, [r0]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r2]
- ldr r2, =gSpriteCoordOffsetY
- ldr r0, =gUnknown_03005DE8
- ldr r1, =gUnknown_03000E2A
- ldrh r0, [r0]
- ldrh r1, [r1]
- subs r0, r1
- subs r0, 0x8
- strh r0, [r2]
- pop {r0}
- bx r0
- .pool
- thumb_func_end UpdateCameraPanning
-
- thumb_func_start CameraPanningCB_PanAhead
-@ void CameraPanningCB_PanAhead()
-CameraPanningCB_PanAhead: @ 808A360
- push {lr}
- ldr r0, =gUnknown_02037348
- ldrb r0, [r0]
- cmp r0, 0
- bne _0808A374
- bl InstallCameraPanAheadCallback
- b _0808A3FC
- .pool
-_0808A374:
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x3]
- cmp r0, 0x1
- bne _0808A394
- ldr r0, =gUnknown_03000E2C
- ldrb r1, [r0]
- movs r2, 0x1
- eors r1, r2
- strb r1, [r0]
- cmp r1, 0
- beq _0808A3FC
- b _0808A39A
- .pool
-_0808A394:
- ldr r1, =gUnknown_03000E2C
- movs r0, 0
- strb r0, [r1]
-_0808A39A:
- bl player_get_direction_upper_nybble
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0808A3C4
- ldr r2, =gUnknown_03000E2A
- ldrh r3, [r2]
- movs r0, 0
- ldrsh r1, [r2, r0]
- movs r0, 0x8
- negs r0, r0
- cmp r1, r0
- ble _0808A3FC
- subs r0, r3, 0x2
- b _0808A3FA
- .pool
-_0808A3C4:
- cmp r0, 0x1
- bne _0808A3E0
- ldr r1, =gUnknown_03000E2A
- ldrh r2, [r1]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0x47
- bgt _0808A3FC
- adds r0, r2, 0x2
- strh r0, [r1]
- b _0808A3FC
- .pool
-_0808A3E0:
- ldr r2, =gUnknown_03000E2A
- ldrh r0, [r2]
- movs r3, 0
- ldrsh r1, [r2, r3]
- cmp r1, 0x1F
- bgt _0808A3F4
- adds r0, 0x2
- b _0808A3FA
- .pool
-_0808A3F4:
- cmp r1, 0x20
- ble _0808A3FC
- subs r0, 0x2
-_0808A3FA:
- strh r0, [r2]
-_0808A3FC:
- pop {r0}
- bx r0
- thumb_func_end CameraPanningCB_PanAhead
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s
index c1c96272f..c2b13e2bf 100644
--- a/asm/field_control_avatar.s
+++ b/asm/field_control_avatar.s
@@ -187,9 +187,9 @@ sub_809C014: @ 809C014
ldr r0, =gSpecialVar_LastTalked
movs r1, 0
strh r1, [r0]
- ldr r0, =gSelectedMapObject
+ ldr r0, =gSelectedEventObject
strb r1, [r0]
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r6, r0, 24
mov r4, sp
@@ -326,7 +326,7 @@ _0809C13A:
beq _0809C15C
movs r0, 0x6
bl PlaySE
- bl sub_809FA9C
+ bl ShowStartMenu
_0809C14E:
movs r0, 0x1
b _0809C172
@@ -479,13 +479,13 @@ TryGetScriptOnPressingA: @ 809C270
adds r7, r4, 0
adds r1, r5, 0
adds r2, r4, 0
- bl TryGetMapObjectScript
+ bl TryGetEventObjectScript
cmp r0, 0
bne _0809C2BC
adds r0, r6, 0
adds r1, r5, 0
adds r2, r4, 0
- bl TryGetInvisibleMapObjectScript
+ bl TryGetInvisibleEventObjectScript
cmp r0, 0
bne _0809C2BC
adds r0, r6, 0
@@ -547,12 +547,12 @@ _0809C2F0:
lsrs r1, 16
_0809C30E:
ldrb r2, [r4, 0x4]
- bl GetFieldObjectIdByXYZ
+ bl GetEventObjectIdByXYZ
lsls r0, 24
lsrs r3, r0, 24
cmp r3, 0x10
beq _0809C32E
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
lsls r2, r3, 3
adds r0, r2, r3
lsls r0, 2
@@ -567,7 +567,7 @@ _0809C32E:
.pool
_0809C33C:
movs r4, 0
- ldr r1, =gLinkPlayerMapObjects
+ ldr r1, =gLinkPlayerEventObjects
_0809C340:
ldrb r0, [r1]
cmp r0, 0x1
@@ -580,7 +580,7 @@ _0809C34C:
adds r4, 0x1
cmp r4, 0x3
ble _0809C340
- ldr r0, =gSelectedMapObject
+ ldr r0, =gSelectedEventObject
strb r3, [r0]
ldr r1, =gSpecialVar_LastTalked
adds r0, r2, r3
@@ -591,7 +591,7 @@ _0809C34C:
ldr r0, =gSpecialVar_Facing
strh r6, [r0]
adds r0, r3, 0
- bl GetFieldObjectScriptPointerByFieldObjectId
+ bl GetEventObjectScriptPointerByEventObjectId
_0809C36E:
pop {r4-r6}
pop {r1}
@@ -599,8 +599,8 @@ _0809C36E:
.pool
thumb_func_end sub_809C2C8
- thumb_func_start TryGetMapObjectScript
-TryGetMapObjectScript: @ 809C384
+ thumb_func_start TryGetEventObjectScript
+TryGetEventObjectScript: @ 809C384
push {r4-r7,lr}
adds r5, r0, 0
lsls r1, 24
@@ -610,12 +610,12 @@ TryGetMapObjectScript: @ 809C384
ldrh r0, [r5]
ldrh r1, [r5, 0x2]
ldrb r2, [r5, 0x4]
- bl GetFieldObjectIdByXYZ
+ bl GetEventObjectIdByXYZ
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x10
beq _0809C3B4
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
lsls r2, r4, 3
adds r0, r2, r4
lsls r0, 2
@@ -647,12 +647,12 @@ _0809C3B4:
lsls r1, 16
lsrs r1, 16
ldrb r2, [r5, 0x4]
- bl GetFieldObjectIdByXYZ
+ bl GetEventObjectIdByXYZ
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x10
beq _0809C400
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
lsls r2, r4, 3
adds r0, r2, r4
lsls r0, 2
@@ -666,7 +666,7 @@ _0809C400:
b _0809C44E
.pool
_0809C40C:
- ldr r0, =gSelectedMapObject
+ ldr r0, =gSelectedEventObject
strb r4, [r0]
ldr r1, =gSpecialVar_LastTalked
adds r0, r2, r4
@@ -684,7 +684,7 @@ _0809C40C:
.pool
_0809C43C:
adds r0, r4, 0
- bl GetFieldObjectScriptPointerByFieldObjectId
+ bl GetEventObjectScriptPointerByEventObjectId
_0809C442:
adds r1, r0, 0
ldr r0, =gSpecialVar_LastTalked
@@ -696,11 +696,11 @@ _0809C44E:
pop {r1}
bx r1
.pool
- thumb_func_end TryGetMapObjectScript
+ thumb_func_end TryGetEventObjectScript
- thumb_func_start TryGetInvisibleMapObjectScript
-@ signed int TryGetInvisibleMapObjectScript(int a1, int a2, u8 playerFacingDirection)
-TryGetInvisibleMapObjectScript: @ 809C458
+ thumb_func_start TryGetInvisibleEventObjectScript
+@ signed int TryGetInvisibleEventObjectScript(int a1, int a2, u8 playerFacingDirection)
+TryGetInvisibleEventObjectScript: @ 809C458
push {r4,r5,lr}
lsls r2, 24
lsrs r5, r2, 24
@@ -715,7 +715,7 @@ TryGetInvisibleMapObjectScript: @ 809C458
lsrs r2, 16
ldrb r3, [r0, 0x4]
adds r0, r4, 0
- bl FindInvisibleMapObjectByPosition
+ bl FindInvisibleEventObjectByPosition
cmp r0, 0
beq _0809C4CC
ldr r2, [r0, 0x8]
@@ -799,7 +799,7 @@ _0809C532:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end TryGetInvisibleMapObjectScript
+ thumb_func_end TryGetInvisibleEventObjectScript
thumb_func_start TryGetMetatileBehaviorScript
TryGetMetatileBehaviorScript: @ 809C538
@@ -2261,9 +2261,9 @@ sub_809D0F4: @ 809D0F4
.pool
thumb_func_end sub_809D0F4
- thumb_func_start FindInvisibleMapObjectByPosition
-@ int FindInvisibleMapObjectByPosition(struct mapheader *mapHeader, u16 x, u16 y, u8 elevation)
-FindInvisibleMapObjectByPosition: @ 809D11C
+ thumb_func_start FindInvisibleEventObjectByPosition
+@ int FindInvisibleEventObjectByPosition(struct mapheader *mapHeader, u16 x, u16 y, u8 elevation)
+FindInvisibleEventObjectByPosition: @ 809D11C
push {r4-r7,lr}
lsls r1, 16
lsrs r7, r1, 16
@@ -2308,7 +2308,7 @@ _0809D164:
pop {r4-r7}
pop {r1}
bx r1
- thumb_func_end FindInvisibleMapObjectByPosition
+ thumb_func_end FindInvisibleEventObjectByPosition
thumb_func_start dive_warp
dive_warp: @ 809D16C
@@ -2447,12 +2447,12 @@ _0809D276:
bx r1
thumb_func_end sub_809D1E8
- thumb_func_start GetFieldObjectScriptPointerForComparison
-@ u8 *GetFieldObjectScriptPointerForComparison()
-GetFieldObjectScriptPointerForComparison: @ 809D280
+ thumb_func_start GetEventObjectScriptPointerForComparison
+@ u8 *GetEventObjectScriptPointerForComparison()
+GetEventObjectScriptPointerForComparison: @ 809D280
push {r4,r5,lr}
sub sp, 0x8
- bl player_get_direction_upper_nybble
+ bl GetPlayerMovementDirection
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -2470,18 +2470,18 @@ GetFieldObjectScriptPointerForComparison: @ 809D280
lsrs r1, 24
mov r0, sp
adds r2, r4, 0
- bl TryGetMapObjectScript
+ bl TryGetEventObjectScript
add sp, 0x8
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end GetFieldObjectScriptPointerForComparison
+ thumb_func_end GetEventObjectScriptPointerForComparison
thumb_func_start sub_809D2BC
sub_809D2BC: @ 809D2BC
push {r4,lr}
sub sp, 0x8
- bl player_get_direction_upper_nybble
+ bl GetPlayerMovementDirection
mov r4, sp
mov r0, sp
bl player_get_pos_to_and_height
diff --git a/asm/field_effect.s b/asm/field_effect.s
deleted file mode 100644
index 91cd0c972..000000000
--- a/asm/field_effect.s
+++ /dev/null
@@ -1,8533 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start FieldEffectStart
-@ u8 FieldEffectStart(u8 id)
-FieldEffectStart: @ 80B5B18
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl FieldEffectActiveListAdd
- ldr r0, =gFieldEffectScriptPointers
- lsls r4, 2
- adds r4, r0
- ldr r0, [r4]
- str r0, [sp]
- add r4, sp, 0x4
- ldr r5, =gUnknown_0855C1F0
-_080B5B36:
- ldr r0, [sp]
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r5
- ldr r2, [r0]
- mov r0, sp
- adds r1, r4, 0
- bl _call_via_r2
- lsls r0, 24
- cmp r0, 0
- bne _080B5B36
- ldr r0, [sp, 0x4]
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end FieldEffectStart
-
- thumb_func_start FieldEffectCmd_loadtiles
-@ bool8 FieldEffectCmd_loadtiles(u8 **script, u8 *returnValue)
-FieldEffectCmd_loadtiles: @ 80B5B60
- push {lr}
- ldr r1, [r0]
- adds r1, 0x1
- str r1, [r0]
- bl FieldEffectScript_LoadTiles
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end FieldEffectCmd_loadtiles
-
- thumb_func_start FieldEffectCmd_loadfadedpal
-@ bool8 FieldEffectCmd_loadfadedpal(u8 **script, u8 *returnValue)
-FieldEffectCmd_loadfadedpal: @ 80B5B74
- push {lr}
- ldr r1, [r0]
- adds r1, 0x1
- str r1, [r0]
- bl FieldEffectScript_LoadFadedPalette
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end FieldEffectCmd_loadfadedpal
-
- thumb_func_start FieldEffectCmd_loadpal
-@ bool8 FieldEffectCmd_loadpal(u8 **script, u8 *returnValue)
-FieldEffectCmd_loadpal: @ 80B5B88
- push {lr}
- ldr r1, [r0]
- adds r1, 0x1
- str r1, [r0]
- bl FieldEffectScript_LoadPalette
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end FieldEffectCmd_loadpal
-
- thumb_func_start FieldEffectCmd_callnative
-@ bool8 FieldEffectCmd_callnative(u8 **script, u8 *returnValue)
-FieldEffectCmd_callnative: @ 80B5B9C
- push {lr}
- ldr r2, [r0]
- adds r2, 0x1
- str r2, [r0]
- bl FieldEffectScript_CallNative
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end FieldEffectCmd_callnative
-
- thumb_func_start FieldEffectCmd_end
-@ bool8 FieldEffectCmd_end(u8 **script, u8 *returnValue)
-FieldEffectCmd_end: @ 80B5BB0
- movs r0, 0
- bx lr
- thumb_func_end FieldEffectCmd_end
-
- thumb_func_start FieldEffectCmd_loadgfx_callnative
-@ bool8 FieldEffectCmd_loadgfx_callnative(u8 **script, u8 *returnValue)
-FieldEffectCmd_loadgfx_callnative: @ 80B5BB4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, [r4]
- adds r0, 0x1
- str r0, [r4]
- adds r0, r4, 0
- bl FieldEffectScript_LoadTiles
- adds r0, r4, 0
- bl FieldEffectScript_LoadFadedPalette
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldEffectScript_CallNative
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end FieldEffectCmd_loadgfx_callnative
-
- thumb_func_start FieldEffectCmd_loadtiles_callnative
-@ bool8 FieldEffectCmd_loadtiles_callnative(u8 **script, u8 *returnValue)
-FieldEffectCmd_loadtiles_callnative: @ 80B5BDC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, [r4]
- adds r0, 0x1
- str r0, [r4]
- adds r0, r4, 0
- bl FieldEffectScript_LoadTiles
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldEffectScript_CallNative
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end FieldEffectCmd_loadtiles_callnative
-
- thumb_func_start FieldEffectCmd_loadfadedpal_callnative
-@ bool8 FieldEffectCmd_loadfadedpal_callnative(u8 **script, u8 *returnValue)
-FieldEffectCmd_loadfadedpal_callnative: @ 80B5C00
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, [r4]
- adds r0, 0x1
- str r0, [r4]
- adds r0, r4, 0
- bl FieldEffectScript_LoadFadedPalette
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldEffectScript_CallNative
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end FieldEffectCmd_loadfadedpal_callnative
-
- thumb_func_start FieldEffectScript_ReadWord
-@ u32 FieldEffectScript_ReadWord(u8 **script)
-FieldEffectScript_ReadWord: @ 80B5C24
- ldr r2, [r0]
- ldrb r0, [r2]
- ldrb r1, [r2, 0x1]
- lsls r1, 8
- adds r0, r1
- ldrb r1, [r2, 0x2]
- lsls r1, 16
- adds r0, r1
- ldrb r1, [r2, 0x3]
- lsls r1, 24
- adds r0, r1
- bx lr
- thumb_func_end FieldEffectScript_ReadWord
-
- thumb_func_start FieldEffectScript_LoadTiles
-@ void FieldEffectScript_LoadTiles(u8 **script)
-FieldEffectScript_LoadTiles: @ 80B5C3C
- push {r4,r5,lr}
- adds r4, r0, 0
- bl FieldEffectScript_ReadWord
- adds r5, r0, 0
- ldrh r0, [r5, 0x6]
- bl GetSpriteTileStartByTag
- lsls r0, 16
- ldr r1, =0xffff0000
- cmp r0, r1
- bne _080B5C5A
- adds r0, r5, 0
- bl LoadSpriteSheet
-_080B5C5A:
- ldr r0, [r4]
- adds r0, 0x4
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldEffectScript_LoadTiles
-
- thumb_func_start FieldEffectScript_LoadFadedPalette
-@ void FieldEffectScript_LoadFadedPalette(u8 **script)
-FieldEffectScript_LoadFadedPalette: @ 80B5C6C
- push {r4,r5,lr}
- adds r5, r0, 0
- bl FieldEffectScript_ReadWord
- adds r4, r0, 0
- bl LoadSpritePalette
- ldrh r0, [r4, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- bl sub_80ABE18
- ldr r0, [r5]
- adds r0, 0x4
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end FieldEffectScript_LoadFadedPalette
-
- thumb_func_start FieldEffectScript_LoadPalette
-@ void FieldEffectScript_LoadPalette(u8 **script)
-FieldEffectScript_LoadPalette: @ 80B5C94
- push {r4,lr}
- adds r4, r0, 0
- bl FieldEffectScript_ReadWord
- bl LoadSpritePalette
- ldr r0, [r4]
- adds r0, 0x4
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end FieldEffectScript_LoadPalette
-
- thumb_func_start FieldEffectScript_CallNative
-@ void FieldEffectScript_CallNative(u8 **script, u8 *returnValue)
-FieldEffectScript_CallNative: @ 80B5CAC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl FieldEffectScript_ReadWord
- bl _call_via_r0
- str r0, [r5]
- ldr r0, [r4]
- adds r0, 0x4
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end FieldEffectScript_CallNative
-
- thumb_func_start FieldEffectFreeGraphicsResources
-@ void FieldEffectFreeGraphicsResources(struct obj *object)
-FieldEffectFreeGraphicsResources: @ 80B5CC8
- push {r4,r5,lr}
- adds r1, r0, 0
- adds r1, 0x40
- ldrh r5, [r1]
- ldrb r4, [r0, 0x5]
- lsrs r4, 4
- bl DestroySprite
- adds r0, r5, 0
- bl FieldEffectFreeTilesIfUnused
- adds r0, r4, 0
- bl FieldEffectFreePaletteIfUnused
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end FieldEffectFreeGraphicsResources
-
- thumb_func_start FieldEffectStop
-@ void FieldEffectStop(struct obj *object, u8 id)
-FieldEffectStop: @ 80B5CEC
- push {r4,lr}
- lsls r4, r1, 24
- lsrs r4, 24
- bl FieldEffectFreeGraphicsResources
- adds r0, r4, 0
- bl FieldEffectActiveListRemove
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end FieldEffectStop
-
- thumb_func_start FieldEffectFreeTilesIfUnused
-@ void FieldEffectFreeTilesIfUnused(u16 tileRangeStart)
-FieldEffectFreeTilesIfUnused: @ 80B5D04
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- bl GetSpriteTileTagByTileStart
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, =0x0000ffff
- cmp r3, r0
- beq _080B5D58
- movs r2, 0
- ldr r5, =gSprites
-_080B5D1E:
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0, r5
- adds r0, r1, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- beq _080B5D48
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 25
- cmp r0, 0
- bge _080B5D48
- adds r0, r1, 0
- adds r0, 0x40
- ldrh r0, [r0]
- cmp r4, r0
- beq _080B5D58
-_080B5D48:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3F
- bls _080B5D1E
- adds r0, r3, 0
- bl FreeSpriteTilesByTag
-_080B5D58:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldEffectFreeTilesIfUnused
-
- thumb_func_start FieldEffectFreePaletteIfUnused
-@ void FieldEffectFreePaletteIfUnused(u8 paletteSlot)
-FieldEffectFreePaletteIfUnused: @ 80B5D68
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl GetSpritePaletteTagByPaletteNum
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, =0x0000ffff
- cmp r5, r0
- beq _080B5DB0
- movs r2, 0
- ldr r6, =gSprites
- adds r3, r4, 0
-_080B5D84:
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0, r6
- adds r0, r1, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- beq _080B5DA0
- ldrb r0, [r1, 0x5]
- lsrs r0, 4
- cmp r0, r3
- beq _080B5DB0
-_080B5DA0:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3F
- bls _080B5D84
- adds r0, r5, 0
- bl FreeSpritePaletteByTag
-_080B5DB0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldEffectFreePaletteIfUnused
-
- thumb_func_start FieldEffectActiveListClear
-@ void FieldEffectActiveListClear()
-FieldEffectActiveListClear: @ 80B5DC0
- push {r4,lr}
- movs r2, 0
- ldr r4, =gUnknown_03000F58
- movs r3, 0xFF
-_080B5DC8:
- adds r0, r2, r4
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1F
- bls _080B5DC8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldEffectActiveListClear
-
- thumb_func_start FieldEffectActiveListAdd
-@ void FieldEffectActiveListAdd(u8 id)
-FieldEffectActiveListAdd: @ 80B5DE4
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r2, 0
- ldr r4, =gUnknown_03000F58
-_080B5DEE:
- adds r1, r2, r4
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _080B5E00
- strb r3, [r1]
- b _080B5E0A
- .pool
-_080B5E00:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1F
- bls _080B5DEE
-_080B5E0A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end FieldEffectActiveListAdd
-
- thumb_func_start FieldEffectActiveListRemove
-@ void FieldEffectActiveListRemove(u8 id)
-FieldEffectActiveListRemove: @ 80B5E10
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r2, 0
- ldr r4, =gUnknown_03000F58
- movs r5, 0xFF
-_080B5E1C:
- adds r1, r2, r4
- ldrb r0, [r1]
- cmp r0, r3
- bne _080B5E30
- orrs r0, r5
- strb r0, [r1]
- b _080B5E3A
- .pool
-_080B5E30:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1F
- bls _080B5E1C
-_080B5E3A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end FieldEffectActiveListRemove
-
- thumb_func_start FieldEffectActiveListContains
-@ void FieldEffectActiveListContains(u8 id)
-FieldEffectActiveListContains: @ 80B5E40
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- ldr r3, =gUnknown_03000F58
-_080B5E4A:
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _080B5E5C
- movs r0, 0x1
- b _080B5E68
- .pool
-_080B5E5C:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1F
- bls _080B5E4A
- movs r0, 0
-_080B5E68:
- pop {r1}
- bx r1
- thumb_func_end FieldEffectActiveListContains
-
- thumb_func_start CreateTrainerSprite
-CreateTrainerSprite: @ 80B5E6C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x18
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- mov r9, r3
- ldr r7, [sp, 0x34]
- lsls r4, 24
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsrs r4, 21
- ldr r3, =gTrainerFrontPicPaletteTable
- mov r8, r3
- add r8, r4
- mov r0, r8
- adds r1, r7, 0
- bl LoadCompressedObjectPaletteOverrideBuffer
- ldr r0, =gTrainerFrontPicTable
- adds r4, r0
- adds r0, r4, 0
- adds r1, r7, 0
- bl LoadCompressedObjectPicOverrideBuffer
- mov r1, sp
- ldrh r0, [r4, 0x6]
- movs r2, 0
- strh r0, [r1]
- mov r3, r8
- ldrh r0, [r3, 0x4]
- strh r0, [r1, 0x2]
- ldr r0, =gNewGameBirchOamAttributes
- str r0, [sp, 0x4]
- ldr r0, =gDummySpriteAnimTable
- str r0, [sp, 0x8]
- str r2, [sp, 0xC]
- ldr r0, =gDummySpriteAffineAnimTable
- str r0, [sp, 0x10]
- ldr r0, =SpriteCallbackDummy
- str r0, [sp, 0x14]
- lsls r5, 16
- asrs r5, 16
- lsls r6, 16
- asrs r6, 16
- mov r0, sp
- adds r1, r5, 0
- adds r2, r6, 0
- mov r3, r9
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x18
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CreateTrainerSprite
-
- thumb_func_start sub_80B5F0C
-sub_80B5F0C: @ 80B5F0C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r1, r2, 0
- lsls r4, 24
- lsls r5, 16
- lsrs r5, 16
- ldr r0, =gTrainerFrontPicTable
- lsrs r4, 21
- adds r0, r4, r0
- ldr r0, [r0]
- bl LZDecompressVram
- ldr r0, =gTrainerFrontPicPaletteTable
- adds r4, r0
- ldr r0, [r4]
- adds r1, r5, 0
- movs r2, 0x20
- bl LoadCompressedPalette
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B5F0C
-
- thumb_func_start AddNewGameBirchObject
-AddNewGameBirchObject: @ 80B5F44
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 24
- lsrs r6, 24
- ldr r0, =gNewGameBirchObjectPaletteInfo
- bl LoadSpritePalette
- ldr r0, =gNewGameBirchObjectTemplate
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end AddNewGameBirchObject
-
- thumb_func_start sub_80B5F84
-sub_80B5F84: @ 80B5F84
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 16
- lsrs r0, 16
- movs r3, 0x80
- lsls r3, 8
- lsls r1, 16
- asrs r1, 16
- str r1, [sp]
- lsls r2, 16
- asrs r2, 16
- str r2, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- ldr r1, =gMonPaletteTable
- lsls r4, r0, 3
- adds r4, r1
- ldrh r1, [r4, 0x4]
- str r1, [sp, 0xC]
- movs r1, 0
- adds r2, r3, 0
- movs r3, 0x1
- bl sub_818D7D8
- lsls r0, 16
- lsrs r5, r0, 16
- ldrh r0, [r4, 0x4]
- bl IndexOfSpritePaletteTag
- adds r0, 0x10
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AC3F8
- ldr r0, =0x0000ffff
- cmp r5, r0
- beq _080B5FDC
- lsls r0, r5, 24
- lsrs r0, 24
- b _080B5FDE
- .pool
-_080B5FDC:
- movs r0, 0x40
-_080B5FDE:
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B5F84
-
- thumb_func_start sub_80B5FE8
-sub_80B5FE8: @ 80B5FE8
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x10
- adds r6, r0, 0
- mov r9, r1
- mov r10, r2
- adds r4, r3, 0
- ldr r5, [sp, 0x2C]
- lsls r6, 16
- lsrs r6, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- adds r0, r6, 0
- bl GetMonSpritePalStructFromOtIdPersonality
- mov r8, r0
- lsls r4, 16
- asrs r4, 16
- str r4, [sp]
- lsls r5, 16
- asrs r5, 16
- str r5, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- mov r1, r8
- ldrh r0, [r1, 0x4]
- str r0, [sp, 0xC]
- adds r0, r6, 0
- mov r1, r9
- mov r2, r10
- movs r3, 0x1
- bl sub_818D7D8
- lsls r0, 16
- lsrs r4, r0, 16
- mov r1, r8
- ldrh r0, [r1, 0x4]
- bl IndexOfSpritePaletteTag
- adds r0, 0x10
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AC3F8
- ldr r0, =0x0000ffff
- cmp r4, r0
- beq _080B605C
- lsls r0, r4, 24
- lsrs r0, 24
- b _080B605E
- .pool
-_080B605C:
- movs r0, 0x40
-_080B605E:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80B5FE8
-
- thumb_func_start sub_80B6070
-sub_80B6070: @ 80B6070
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- bl sub_80AC428
- ldrb r0, [r4, 0x1]
- lsls r0, 30
- cmp r0, 0
- beq _080B608E
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
-_080B608E:
- adds r0, r5, 0
- bl sub_818D820
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80B6070
-
- thumb_func_start MultiplyInvertedPaletteRGBComponents
-MultiplyInvertedPaletteRGBComponents: @ 80B609C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- ldr r4, =gPlttBufferUnfaded
- lsrs r0, 15
- adds r4, r0, r4
- ldrh r4, [r4]
- movs r5, 0x1F
- mov r9, r5
- mov r8, r4
- mov r6, r8
- ands r6, r5
- mov r8, r6
- movs r6, 0xF8
- lsls r6, 2
- ands r6, r4
- lsrs r6, 5
- movs r5, 0xF8
- lsls r5, 7
- ands r4, r5
- lsrs r4, 10
- mov r7, r9
- mov r5, r8
- subs r7, r5
- mov r12, r7
- mov r7, r12
- muls r7, r1
- adds r1, r7, 0
- asrs r1, 4
- add r8, r1
- mov r5, r9
- subs r1, r5, r6
- muls r1, r2
- asrs r1, 4
- adds r6, r1
- subs r5, r4
- mov r9, r5
- mov r1, r9
- muls r1, r3
- asrs r1, 4
- adds r4, r1
- mov r7, r8
- lsls r7, 16
- lsls r6, 21
- orrs r6, r7
- lsls r4, 26
- orrs r4, r6
- lsrs r4, 16
- ldr r1, =gPlttBufferFaded
- adds r0, r1
- strh r4, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end MultiplyInvertedPaletteRGBComponents
-
- thumb_func_start sub_80B6128
-sub_80B6128: @ 80B6128
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- lsls r0, 16
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- ldr r4, =gPlttBufferUnfaded
- lsrs r0, 15
- adds r4, r0, r4
- ldrh r4, [r4]
- movs r5, 0x1F
- mov r8, r5
- mov r6, r8
- ands r6, r4
- mov r8, r6
- movs r5, 0xF8
- lsls r5, 2
- ands r5, r4
- lsrs r5, 5
- movs r6, 0xF8
- lsls r6, 7
- ands r4, r6
- lsrs r4, 10
- mov r6, r8
- muls r6, r1
- adds r1, r6, 0
- asrs r1, 4
- mov r6, r8
- subs r6, r1
- adds r1, r5, 0
- muls r1, r2
- asrs r1, 4
- subs r5, r1
- adds r1, r4, 0
- muls r1, r3
- asrs r1, 4
- subs r4, r1
- lsls r6, 16
- lsls r5, 21
- orrs r5, r6
- lsls r4, 26
- orrs r4, r5
- lsrs r4, 16
- ldr r1, =gPlttBufferFaded
- adds r0, r1
- strh r4, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B6128
-
- thumb_func_start sub_80B61A0
-sub_80B61A0: @ 80B61A0
- push {r4,lr}
- bl CalculatePlayerPartyCount
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =sub_80B61E4
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r1, r0
- strh r4, [r1, 0xA]
- movs r0, 0x5D
- strh r0, [r1, 0xC]
- movs r0, 0x24
- strh r0, [r1, 0xE]
- movs r0, 0x7C
- strh r0, [r1, 0x10]
- movs r0, 0x18
- strh r0, [r1, 0x12]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B61A0
-
- thumb_func_start sub_80B61E4
-sub_80B61E4: @ 80B61E4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r1, r0
- ldr r2, =gUnknown_0855C364
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- lsls r0, 2
- adds r0, r2
- ldr r2, [r0]
- adds r0, r1, 0
- bl _call_via_r2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B61E4
-
- thumb_func_start sub_80B6214
-sub_80B6214: @ 80B6214
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- movs r2, 0xC
- ldrsh r1, [r4, r2]
- movs r3, 0xE
- ldrsh r2, [r4, r3]
- movs r3, 0x1
- bl sub_80B646C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x14]
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- bl sub_80B6850
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x16]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B6214
-
- thumb_func_start sub_80B6250
-sub_80B6250: @ 80B6250
- push {r4,lr}
- adds r2, r0, 0
- ldr r3, =gSprites
- movs r1, 0x14
- ldrsh r0, [r2, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- movs r4, 0x2E
- ldrsh r0, [r1, r4]
- cmp r0, 0x1
- ble _080B6282
- movs r0, 0x16
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x2E]
- adds r1, 0x1
- strh r1, [r0, 0x2E]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
-_080B6282:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B6250
-
- thumb_func_start sub_80B628C
-sub_80B628C: @ 80B628C
- push {lr}
- adds r3, r0, 0
- ldr r2, =gSprites
- movs r0, 0x14
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2E
- ldrsh r0, [r0, r1]
- cmp r0, 0x4
- ble _080B62AC
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_080B62AC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B628C
-
- thumb_func_start sub_80B62B4
-sub_80B62B4: @ 80B62B4
- push {lr}
- ldr r2, =gSprites
- movs r3, 0x14
- ldrsh r1, [r0, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0x6
- ble _080B62E6
- adds r0, r1, 0
- bl DestroySprite
- movs r0, 0x19
- bl FieldEffectActiveListRemove
- ldr r0, =sub_80B61E4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080B62E6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B62B4
-
- thumb_func_start sub_80B62F4
-sub_80B62F4: @ 80B62F4
- push {r4,lr}
- bl CalculatePlayerPartyCount
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =sub_80B6330
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r1, r0
- strh r4, [r1, 0xA]
- movs r0, 0x75
- strh r0, [r1, 0xC]
- movs r0, 0x34
- strh r0, [r1, 0xE]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B62F4
-
- thumb_func_start sub_80B6330
-sub_80B6330: @ 80B6330
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r1, r0
- ldr r2, =gUnknown_0855C374
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- lsls r0, 2
- adds r0, r2
- ldr r2, [r0]
- adds r0, r1, 0
- bl _call_via_r2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B6330
-
- thumb_func_start sub_80B6360
-sub_80B6360: @ 80B6360
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- movs r2, 0xC
- ldrsh r1, [r4, r2]
- movs r3, 0xE
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl sub_80B646C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x14]
- ldr r0, =sub_80B6330
- bl FindTaskIdByFunc
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x78
- movs r2, 0x18
- movs r3, 0
- bl sub_80B68EC
- adds r0, r4, 0
- movs r1, 0x28
- movs r2, 0x8
- movs r3, 0x1
- bl sub_80B68EC
- adds r0, r4, 0
- movs r1, 0x48
- movs r2, 0x8
- movs r3, 0x1
- bl sub_80B68EC
- adds r0, r4, 0
- movs r1, 0xA8
- movs r2, 0x8
- movs r3, 0x1
- bl sub_80B68EC
- adds r0, r4, 0
- movs r1, 0xC8
- movs r2, 0x8
- movs r3, 0x1
- bl sub_80B68EC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B6360
-
- thumb_func_start sub_80B63D4
-sub_80B63D4: @ 80B63D4
- push {lr}
- adds r3, r0, 0
- ldr r2, =gSprites
- movs r0, 0x14
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2E
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- ble _080B63FA
- ldrh r0, [r3, 0x26]
- adds r0, 0x1
- strh r0, [r3, 0x26]
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_080B63FA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B63D4
-
- thumb_func_start sub_80B6404
-sub_80B6404: @ 80B6404
- push {lr}
- adds r3, r0, 0
- ldr r2, =gSprites
- movs r0, 0x14
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2E
- ldrsh r0, [r0, r1]
- cmp r0, 0x4
- ble _080B6424
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_080B6424:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B6404
-
- thumb_func_start sub_80B642C
-sub_80B642C: @ 80B642C
- push {lr}
- ldr r2, =gSprites
- movs r3, 0x14
- ldrsh r1, [r0, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0x6
- ble _080B645E
- adds r0, r1, 0
- bl DestroySprite
- movs r0, 0x3E
- bl FieldEffectActiveListRemove
- ldr r0, =sub_80B6330
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080B645E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B642C
-
- thumb_func_start sub_80B646C
-sub_80B646C: @ 80B646C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- adds r4, r1, 0
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- ldr r0, =sub_80B64C0
- bl CreateInvisibleSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r2, =gSprites
- adds r1, r2
- strh r4, [r1, 0x24]
- strh r5, [r1, 0x26]
- strh r6, [r1, 0x38]
- mov r2, r8
- strh r2, [r1, 0x3A]
- strh r0, [r1, 0x3C]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B646C
-
- thumb_func_start sub_80B64C0
-sub_80B64C0: @ 80B64C0
- push {lr}
- ldr r2, =gUnknown_0855C384
- movs r3, 0x2E
- ldrsh r1, [r0, r3]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B64C0
-
- thumb_func_start sub_80B64DC
-sub_80B64DC: @ 80B64DC
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080B64F4
- subs r0, r1, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080B6550
-_080B64F4:
- movs r0, 0x19
- strh r0, [r4, 0x30]
- ldr r0, =gUnknown_0855C304
- ldr r1, =gUnknown_0855C3A4
- movs r2, 0x32
- ldrsh r3, [r4, r2]
- lsls r3, 2
- adds r3, r1
- ldrh r1, [r4, 0x24]
- ldrh r2, [r3]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- ldrh r2, [r4, 0x26]
- ldrh r3, [r3, 0x2]
- adds r2, r3
- lsls r2, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x8
- orrs r0, r2
- strb r0, [r1, 0x5]
- ldrh r0, [r4, 0x3C]
- strh r0, [r1, 0x2E]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x3A]
- subs r0, 0x1
- strh r0, [r4, 0x3A]
- movs r0, 0x17
- bl PlaySE
-_080B6550:
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B6562
- movs r0, 0x20
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_080B6562:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B64DC
-
- thumb_func_start sub_80B6574
-sub_80B6574: @ 80B6574
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- subs r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- bne _080B65A4
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- movs r0, 0x8
- strh r0, [r1, 0x30]
- strh r2, [r1, 0x32]
- strh r2, [r1, 0x34]
- movs r2, 0x38
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080B65A4
- movs r0, 0xB8
- lsls r0, 1
- bl PlayFanfare
-_080B65A4:
- pop {r0}
- bx r0
- thumb_func_end sub_80B6574
-
- thumb_func_start sub_80B65A8
-sub_80B65A8: @ 80B65A8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r7, r0, 0
- ldrh r0, [r7, 0x30]
- subs r0, 0x1
- strh r0, [r7, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080B65D8
- movs r0, 0x8
- strh r0, [r7, 0x30]
- ldrh r0, [r7, 0x32]
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- strh r0, [r7, 0x32]
- cmp r0, 0
- bne _080B65D8
- ldrh r0, [r7, 0x34]
- adds r0, 0x1
- strh r0, [r7, 0x34]
-_080B65D8:
- ldrh r4, [r7, 0x32]
- adds r4, 0x3
- movs r0, 0x3
- mov r8, r0
- mov r1, r8
- ands r4, r1
- ldr r3, =0x00001007
- mov r10, r3
- mov r0, r10
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- movs r1, 0x84
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- ldr r6, =gUnknown_0855C3BC
- adds r1, r4, r6
- ldrb r1, [r1]
- ldr r5, =gUnknown_0855C3C0
- adds r2, r4, r5
- ldrb r2, [r2]
- ldr r3, =gUnknown_0855C3C4
- mov r9, r3
- add r4, r9
- ldrb r3, [r4]
- bl MultiplyInvertedPaletteRGBComponents
- ldrh r4, [r7, 0x32]
- adds r4, 0x2
- mov r0, r8
- ands r4, r0
- mov r0, r10
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- movs r1, 0x83
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- adds r1, r4, r6
- ldrb r1, [r1]
- adds r2, r4, r5
- ldrb r2, [r2]
- add r4, r9
- ldrb r3, [r4]
- bl MultiplyInvertedPaletteRGBComponents
- ldrh r4, [r7, 0x32]
- adds r4, 0x1
- mov r3, r8
- ands r4, r3
- mov r0, r10
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- movs r1, 0x81
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- adds r1, r4, r6
- ldrb r1, [r1]
- adds r2, r4, r5
- ldrb r2, [r2]
- add r4, r9
- ldrb r3, [r4]
- bl MultiplyInvertedPaletteRGBComponents
- ldrh r4, [r7, 0x32]
- lsls r4, 24
- lsrs r4, 24
- mov r0, r10
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- ldr r3, =0x01050000
- adds r0, r3
- lsrs r0, 16
- adds r6, r4, r6
- ldrb r6, [r6]
- adds r5, r4, r5
- ldrb r5, [r5]
- add r4, r9
- ldrb r4, [r4]
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl MultiplyInvertedPaletteRGBComponents
- mov r0, r10
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- ldr r1, =0x01030000
- adds r0, r1
- lsrs r0, 16
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl MultiplyInvertedPaletteRGBComponents
- movs r3, 0x34
- ldrsh r0, [r7, r3]
- cmp r0, 0x2
- ble _080B66C2
- ldrh r0, [r7, 0x2E]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r7, 0x2E]
- movs r0, 0x8
- strh r0, [r7, 0x30]
- strh r1, [r7, 0x32]
-_080B66C2:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B65A8
-
- thumb_func_start sub_80B66E8
-sub_80B66E8: @ 80B66E8
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r2, r0, 0
- ldrh r0, [r2, 0x30]
- subs r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080B6718
- movs r0, 0x8
- strh r0, [r2, 0x30]
- ldrh r0, [r2, 0x32]
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- strh r0, [r2, 0x32]
- cmp r0, 0x3
- bne _080B6718
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- movs r0, 0x1E
- strh r0, [r2, 0x30]
-_080B6718:
- ldrh r4, [r2, 0x32]
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =0x00001007
- mov r8, r0
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- movs r1, 0x84
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- ldr r1, =gUnknown_0855C3BC
- adds r1, r4, r1
- ldrb r6, [r1]
- ldr r1, =gUnknown_0855C3C0
- adds r1, r4, r1
- ldrb r5, [r1]
- ldr r1, =gUnknown_0855C3C4
- adds r4, r1
- ldrb r4, [r4]
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl MultiplyInvertedPaletteRGBComponents
- mov r0, r8
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- movs r1, 0x83
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl MultiplyInvertedPaletteRGBComponents
- mov r0, r8
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- movs r1, 0x81
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl MultiplyInvertedPaletteRGBComponents
- mov r0, r8
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- ldr r1, =0x01050000
- adds r0, r1
- lsrs r0, 16
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl MultiplyInvertedPaletteRGBComponents
- mov r0, r8
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- ldr r1, =0x01030000
- adds r0, r1
- lsrs r0, 16
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl MultiplyInvertedPaletteRGBComponents
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B66E8
-
- thumb_func_start sub_80B67DC
-sub_80B67DC: @ 80B67DC
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- subs r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080B67F2
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
-_080B67F2:
- pop {r0}
- bx r0
- thumb_func_end sub_80B67DC
-
- thumb_func_start sub_80B67F8
-sub_80B67F8: @ 80B67F8
- ldrh r1, [r0, 0x2E]
- adds r1, 0x1
- strh r1, [r0, 0x2E]
- bx lr
- thumb_func_end sub_80B67F8
-
- thumb_func_start sub_80B6800
-sub_80B6800: @ 80B6800
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080B6816
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _080B681C
-_080B6816:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_080B681C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B6800
-
- thumb_func_start nullsub_97
-nullsub_97: @ 80B6824
- bx lr
- thumb_func_end nullsub_97
-
- thumb_func_start sub_80B6828
-sub_80B6828: @ 80B6828
- push {lr}
- adds r3, r0, 0
- ldr r2, =gSprites
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2E
- ldrsh r0, [r0, r1]
- cmp r0, 0x4
- ble _080B6848
- adds r0, r3, 0
- bl FieldEffectFreeGraphicsResources
-_080B6848:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B6828
-
- thumb_func_start sub_80B6850
-sub_80B6850: @ 80B6850
- push {r4,lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, =gUnknown_0855C31C
- lsls r3, 16
- asrs r3, 16
- lsls r2, 16
- asrs r2, 16
- adds r1, r3, 0
- movs r3, 0
- bl CreateSpriteAtEnd
- 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]
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r3]
- ldr r1, =gUnknown_0855C2AC
- bl SetSubspriteTables
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B6850
-
- thumb_func_start sub_80B68AC
-sub_80B68AC: @ 80B68AC
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080B68D0
- movs r0, 0
- strh r0, [r4, 0x2E]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- subs r0, 0x5
- ands r0, r1
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_080B68D0:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080B68E4
- adds r0, r4, 0
- bl FieldEffectFreeGraphicsResources
-_080B68E4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B68AC
-
- thumb_func_start sub_80B68EC
-sub_80B68EC: @ 80B68EC
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 24
- cmp r3, 0
- bne _080B6934
- ldr r0, =gUnknown_0855C334
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- ldr r1, =gUnknown_0855C2C4
- bl SetSubspriteTables
- b _080B6948
- .pool
-_080B6934:
- ldr r0, =gUnknown_0855C34C
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r4, r0, 24
-_080B6948:
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r3]
- strh r5, [r0, 0x2E]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B68EC
-
- thumb_func_start sub_80B6970
-sub_80B6970: @ 80B6970
- push {lr}
- adds r3, r0, 0
- ldr r2, =gTasks
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x26
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080B69C6
- ldrh r1, [r3, 0x30]
- movs r2, 0x30
- ldrsh r0, [r3, r2]
- cmp r0, 0
- beq _080B699E
- subs r0, r1, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080B69C0
-_080B699E:
- movs r0, 0x10
- strh r0, [r3, 0x30]
- 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]
-_080B69C0:
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
-_080B69C6:
- movs r2, 0x32
- ldrsh r0, [r3, r2]
- cmp r0, 0x7F
- ble _080B69D4
- adds r0, r3, 0
- bl FieldEffectFreeGraphicsResources
-_080B69D4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B6970
-
- thumb_func_start sub_80B69DC
-sub_80B69DC: @ 80B69DC
- push {lr}
- ldr r0, =CB2_ReturnToField
- bl SetMainCallback2
- ldr r1, =gFieldCallback
- ldr r0, =mapldr_080842E8
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B69DC
-
- thumb_func_start mapldr_080842E8
-mapldr_080842E8: @ 80B69FC
- push {lr}
- bl pal_fill_black
- ldr r0, =task00_8084310
- movs r1, 0
- bl CreateTask
- bl ScriptContext2_Enable
- bl FreezeMapObjects
- ldr r1, =gFieldCallback
- movs r0, 0
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end mapldr_080842E8
-
- thumb_func_start task00_8084310
-task00_8084310: @ 80B6A24
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r6, [r4, r0]
- cmp r6, 0
- bne _080B6A64
- bl sub_80ABDFC
- lsls r0, 24
- cmp r0, 0
- beq _080B6A8A
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- cmp r0, 0x5
- ble _080B6A58
- str r6, [r1]
-_080B6A58:
- movs r0, 0x1F
- bl FieldEffectStart
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B6A64:
- movs r0, 0x1F
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _080B6A8A
- bl Overworld_ResetStateAfterFly
- bl warp_in
- ldr r0, =CB2_LoadMap
- bl SetMainCallback2
- ldr r1, =gFieldCallback
- ldr r0, =mapldr_08084390
- str r0, [r1]
- adds r0, r5, 0
- bl DestroyTask
-_080B6A8A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task00_8084310
-
- thumb_func_start mapldr_08084390
-mapldr_08084390: @ 80B6AA4
- push {r4,lr}
- bl Overworld_PlaySpecialMapMusic
- bl pal_fill_black
- ldr r0, =c3_080843F8
- movs r1, 0
- bl CreateTask
- ldr r4, =gMapObjects
- ldr r3, =gPlayerAvatar
- ldrb r1, [r3, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x1]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0, 0x1]
- ldrb r1, [r3]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080B6AE6
- ldrb r1, [r3, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x3
- bl FieldObjectTurn
-_080B6AE6:
- bl ScriptContext2_Enable
- bl FreezeMapObjects
- ldr r1, =gFieldCallback
- movs r0, 0
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end mapldr_08084390
-
- thumb_func_start c3_080843F8
-c3_080843F8: @ 80B6B0C
- 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
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B6B3E
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B6B58
- movs r0, 0x20
- bl FieldEffectStart
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B6B3E:
- movs r0, 0x20
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _080B6B58
- bl ScriptContext2_Disable
- bl UnfreezeMapObjects
- adds r0, r5, 0
- bl DestroyTask
-_080B6B58:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c3_080843F8
-
- thumb_func_start sub_80B6B68
-sub_80B6B68: @ 80B6B68
- push {lr}
- bl Overworld_PlaySpecialMapMusic
- bl pal_fill_for_maplights
- bl ScriptContext2_Enable
- bl FreezeMapObjects
- ldr r0, =sub_80B6B94
- movs r1, 0
- bl CreateTask
- ldr r1, =gFieldCallback
- movs r0, 0
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B6B68
-
- thumb_func_start sub_80B6B94
-sub_80B6B94: @ 80B6B94
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- ldr r5, =gUnknown_0855C3C8
-_080B6BA6:
- 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 _080B6BA6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B6B94
-
- thumb_func_start sub_80B6BCC
-sub_80B6BCC: @ 80B6BCC
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- mov r9, r0
- ldr r6, =gPlayerAvatar
- ldrb r0, [r6, 0x5]
- lsls r5, r0, 3
- adds r5, r0
- lsls r5, 2
- ldr r0, =gMapObjects
- mov r8, r0
- add r5, r8
- ldrb r0, [r6, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- bl CameraObjectReset2
- ldrb r1, [r6, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- add r0, r8
- ldrb r1, [r0, 0x1]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0, 0x1]
- movs r0, 0x1
- strb r0, [r6, 0x6]
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- bl GetFaceDirectionAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl FieldObjectSetSpecialAnim
- adds r3, r4, 0
- adds r3, 0x42
- ldrb r0, [r3]
- lsrs r0, 6
- mov r1, r9
- strh r0, [r1, 0x10]
- ldrb r0, [r5, 0x3]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r5, 0x3]
- ldrb r1, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x5]
- ldrb r1, [r3]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r3]
- mov r1, r9
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0x1
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B6BCC
-
- thumb_func_start sub_80B6C74
-sub_80B6C74: @ 80B6C74
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80ABDFC
- lsls r0, 24
- cmp r0, 0
- beq _080B6C88
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B6C88:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B6C74
-
- thumb_func_start sub_80B6C90
-sub_80B6C90: @ 80B6C90
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, =gPlayerAvatar
- ldrb r0, [r6, 0x4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, =gSprites
- adds r2, r0
- adds r0, r2, 0
- adds r0, 0x29
- movs r4, 0
- ldrsb r4, [r0, r4]
- lsls r0, r4, 17
- negs r0, r0
- ldrh r1, [r2, 0x22]
- ldr r3, =gSpriteCoordOffsetY
- adds r1, r4
- ldrh r3, [r3]
- adds r1, r3
- asrs r0, 16
- adds r0, r1
- negs r0, r0
- movs r1, 0
- strh r0, [r2, 0x26]
- movs r0, 0x1
- strh r0, [r5, 0xA]
- strh r1, [r5, 0xC]
- ldr r2, =gMapObjects
- ldrb r0, [r6, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- movs r0, 0x2B
- bl PlaySE
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B6C90
-
- thumb_func_start sub_80B6D04
-sub_80B6D04: @ 80B6D04
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r2, =gPlayerAvatar
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r6, r0, r1
- ldrb r1, [r2, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r5, r0, r1
- ldrh r0, [r4, 0xA]
- ldrh r1, [r5, 0x26]
- adds r0, r1
- strh r0, [r5, 0x26]
- ldrh r2, [r4, 0xA]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x7
- bgt _080B6D46
- ldrh r1, [r4, 0xC]
- adds r0, r2, r1
- strh r0, [r4, 0xC]
- movs r1, 0xF
- ands r0, r1
- cmp r0, 0
- beq _080B6D46
- lsls r0, r2, 1
- strh r0, [r4, 0xA]
-_080B6D46:
- ldrh r2, [r4, 0xE]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B6D84
- movs r0, 0x26
- ldrsh r1, [r5, r0]
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- blt _080B6D84
- adds r0, r2, 0x1
- strh r0, [r4, 0xE]
- ldrb r1, [r6, 0x3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r6, 0x3]
- ldrb r1, [r4, 0x10]
- adds r3, r5, 0
- adds r3, 0x42
- lsls r1, 6
- ldrb r2, [r3]
- movs r0, 0x3F
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- ldrb r0, [r6]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r6]
-_080B6D84:
- movs r1, 0x26
- ldrsh r0, [r5, r1]
- cmp r0, 0
- blt _080B6DA8
- movs r0, 0xD6
- bl PlaySE
- ldrb r0, [r6]
- movs r1, 0x8
- orrs r0, r1
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r6]
- movs r0, 0
- strh r0, [r5, 0x26]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B6DA8:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B6D04
-
- thumb_func_start sub_80B6DBC
-sub_80B6DBC: @ 80B6DBC
- push {lr}
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- movs r2, 0
- strh r1, [r0, 0x8]
- movs r1, 0x4
- strh r1, [r0, 0xA]
- strh r2, [r0, 0xC]
- movs r0, 0
- bl SetCameraPanningCallback
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_80B6DBC
-
- thumb_func_start sub_80B6DD8
-sub_80B6DD8: @ 80B6DD8
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0
- bl SetCameraPanning
- ldrh r0, [r4, 0xA]
- negs r2, r0
- strh r2, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _080B6E00
- lsls r0, r2, 16
- asrs r0, 17
- strh r0, [r4, 0xA]
-_080B6E00:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B6E0E
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B6E0E:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B6DD8
-
- thumb_func_start sub_80B6E18
-sub_80B6E18: @ 80B6E18
- push {lr}
- ldr r1, =gPlayerAvatar
- movs r0, 0
- strb r0, [r1, 0x6]
- bl ScriptContext2_Disable
- bl CameraObjectReset1
- bl UnfreezeMapObjects
- bl InstallCameraPanAheadCallback
- ldr r0, =sub_80B6B94
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B6E18
-
- thumb_func_start sub_80B6E4C
-sub_80B6E4C: @ 80B6E4C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =sub_80B6E88
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0xA]
- cmp r4, 0x6A
- bne _080B6E78
- movs r0, 0x1
- strh r0, [r1, 0xA]
-_080B6E78:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B6E4C
-
- thumb_func_start sub_80B6E88
-sub_80B6E88: @ 80B6E88
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- ldr r5, =gUnknown_0855C3E4
-_080B6E9A:
- 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 _080B6E9A
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B6E88
-
- thumb_func_start sub_80B6EC0
-sub_80B6EC0: @ 80B6EC0
- push {r4,lr}
- adds r4, r0, 0
- bl FreezeMapObjects
- bl CameraObjectReset2
- ldrb r0, [r4, 0xA]
- bl sub_80E1558
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B6EC0
-
- thumb_func_start sub_80B6EE0
-sub_80B6EE0: @ 80B6EE0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080B6F0A
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B6F3E
-_080B6F0A:
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- bl GetFaceDirectionAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r5, 0x8]
- strh r1, [r5, 0xC]
- strh r1, [r5, 0xE]
- ldrb r0, [r5, 0xA]
- cmp r0, 0
- bne _080B6F38
- movs r0, 0x4
- strh r0, [r5, 0x8]
-_080B6F38:
- movs r0, 0x50
- bl PlaySE
-_080B6F3E:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B6EE0
-
- thumb_func_start sub_80B6F50
-sub_80B6F50: @ 80B6F50
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80B6FB8
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- ble _080B6F6A
- bl sub_80B7050
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B6F6A:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B6F50
-
- thumb_func_start sub_80B6F74
-sub_80B6F74: @ 80B6F74
- push {lr}
- bl sub_80B6FB8
- bl sub_80B7060
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80B6F74
-
- thumb_func_start sub_80B6F84
-sub_80B6F84: @ 80B6F84
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80B7004
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- ble _080B6F9E
- bl sub_80B7050
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B6F9E:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B6F84
-
- thumb_func_start sub_80B6FA8
-sub_80B6FA8: @ 80B6FA8
- push {lr}
- bl sub_80B7004
- bl sub_80B7060
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80B6FA8
-
- thumb_func_start sub_80B6FB8
-sub_80B6FB8: @ 80B6FB8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- movs r0, 0x84
- bl Cos
- strh r0, [r4, 0x24]
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- movs r0, 0x94
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- strh r0, [r5, 0xE]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B6FF6
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
-_080B6FF6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B6FB8
-
- thumb_func_start sub_80B7004
-sub_80B7004: @ 80B7004
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- movs r0, 0x7C
- bl Cos
- strh r0, [r4, 0x24]
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- movs r0, 0x76
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- strh r0, [r5, 0xE]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B7042
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
-_080B7042:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B7004
-
- thumb_func_start sub_80B7050
-sub_80B7050: @ 80B7050
- push {lr}
- bl music_something
- bl sub_80AF0B4
- pop {r0}
- bx r0
- thumb_func_end sub_80B7050
-
- thumb_func_start sub_80B7060
-sub_80B7060: @ 80B7060
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B709C
- bl sub_80859A0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B709C
- bl sub_80E1570
- bl warp_in
- ldr r1, =gFieldCallback
- ldr r0, =sub_80B70B4
- str r0, [r1]
- ldr r0, =CB2_LoadMap
- bl SetMainCallback2
- ldr r0, =sub_80B6E88
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080B709C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B7060
-
- thumb_func_start sub_80B70B4
-sub_80B70B4: @ 80B70B4
- push {lr}
- bl Overworld_PlaySpecialMapMusic
- bl pal_fill_for_maplights
- bl ScriptContext2_Enable
- ldr r0, =sub_80B70DC
- movs r1, 0
- bl CreateTask
- ldr r1, =gFieldCallback
- movs r0, 0
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B70B4
-
- thumb_func_start sub_80B70DC
-sub_80B70DC: @ 80B70DC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- ldr r5, =gUnknown_0855C3FC
-_080B70EE:
- 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 _080B70EE
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B70DC
-
- thumb_func_start sub_80B7114
-sub_80B7114: @ 80B7114
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- bl CameraObjectReset2
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gMapObjects
- adds r4, r0
- movs r0, 0x4
- bl GetFaceDirectionAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r1, r0, 24
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0x10
- strh r0, [r5, 0xA]
- cmp r1, 0x6B
- bne _080B717C
- movs r1, 0x1
- movs r0, 0x3
- strh r0, [r5, 0x8]
- b _080B717E
- .pool
-_080B717C:
- movs r1, 0
-_080B717E:
- adds r0, r1, 0
- bl sub_80E1558
- movs r0, 0x1
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B7114
-
- thumb_func_start sub_80B7190
-sub_80B7190: @ 80B7190
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- movs r0, 0x84
- bl Cos
- strh r0, [r4, 0x24]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- movs r0, 0x94
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B7190
-
- thumb_func_start sub_80B71D0
-sub_80B71D0: @ 80B71D0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r5, r0, r1
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0x84
- bl Cos
- strh r0, [r5, 0x24]
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0x94
- bl Sin
- strh r0, [r5, 0x26]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B720E
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
-_080B720E:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B721E
- strh r0, [r5, 0x24]
- strh r0, [r5, 0x26]
- movs r0, 0x5
- strh r0, [r4, 0x8]
-_080B721E:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B71D0
-
- thumb_func_start sub_80B7230
-sub_80B7230: @ 80B7230
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- movs r0, 0x7C
- bl Cos
- strh r0, [r4, 0x24]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- movs r0, 0x76
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B7230
-
- thumb_func_start sub_80B7270
-sub_80B7270: @ 80B7270
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r5, r0, r1
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0x7C
- bl Cos
- strh r0, [r5, 0x24]
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0x76
- bl Sin
- strh r0, [r5, 0x26]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B72AE
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
-_080B72AE:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B72C0
- strh r0, [r5, 0x24]
- strh r0, [r5, 0x26]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B72C0:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B7270
-
- thumb_func_start sub_80B72D0
-sub_80B72D0: @ 80B72D0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80E1584
- lsls r0, 24
- cmp r0, 0
- bne _080B72EC
- bl sub_80E1570
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- b _080B72EE
-_080B72EC:
- movs r0, 0
-_080B72EE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B72D0
-
- thumb_func_start sub_80B72F4
-sub_80B72F4: @ 80B72F4
- push {r4,lr}
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B7338
- bl CameraObjectReset1
- bl ScriptContext2_Disable
- movs r0, 0x4
- bl GetGoSpeed0AnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
- ldr r0, =sub_80B70DC
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080B7338:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B72F4
-
- thumb_func_start oei_waterfall
-oei_waterfall: @ 80B734C
- push {r4,lr}
- ldr r4, =sub_80B7384
- adds r0, r4, 0
- movs r1, 0xFF
- 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 r2, =gFieldEffectArguments
- ldr r2, [r2]
- strh r2, [r1, 0xA]
- bl _call_via_r4
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end oei_waterfall
-
- thumb_func_start sub_80B7384
-sub_80B7384: @ 80B7384
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_0855C418
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_080B7396:
- movs r0, 0x8
- ldrsh r2, [r4, r0]
- lsls r2, 2
- adds r2, r5
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, =gMapObjects
- adds r1, r0
- ldr r2, [r2]
- adds r0, r4, 0
- bl _call_via_r2
- lsls r0, 24
- cmp r0, 0
- bne _080B7396
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B7384
-
- thumb_func_start sub_80B73D0
-sub_80B73D0: @ 80B73D0
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptContext2_Enable
- ldr r1, =gPlayerAvatar
- movs r0, 0x1
- strb r0, [r1, 0x6]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B73D0
-
- thumb_func_start waterfall_1_do_anim_probably
-waterfall_1_do_anim_probably: @ 80B73F0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl ScriptContext2_Enable
- adds r0, r5, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- bne _080B7420
- adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- ldr r1, =gFieldEffectArguments
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- str r0, [r1]
- movs r0, 0x3B
- bl FieldEffectStart
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B7420:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end waterfall_1_do_anim_probably
-
- thumb_func_start waterfall_2_wait_anim_finish_probably
-waterfall_2_wait_anim_finish_probably: @ 80B742C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x6
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _080B7446
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- b _080B7448
-_080B7446:
- movs r0, 0
-_080B7448:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end waterfall_2_wait_anim_finish_probably
-
- thumb_func_start sub_80B7450
-sub_80B7450: @ 80B7450
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r0, 0x2
- bl GetSimpleGoAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B7450
-
- thumb_func_start sub_80B7478
-sub_80B7478: @ 80B7478
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- bne _080B748E
- movs r0, 0
- b _080B74CA
-_080B748E:
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsWaterfall
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080B74C4
- bl ScriptContext2_Disable
- ldr r0, =gPlayerAvatar
- strb r4, [r0, 0x6]
- ldr r0, =sub_80B7384
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0x2B
- bl FieldEffectActiveListRemove
- movs r0, 0
- b _080B74CA
- .pool
-_080B74C4:
- movs r0, 0x3
- strh r0, [r5, 0x8]
- movs r0, 0x1
-_080B74CA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B7478
-
- thumb_func_start sub_80B74D0
-sub_80B74D0: @ 80B74D0
- push {r4,lr}
- ldr r4, =sub_80B750C
- adds r0, r4, 0
- movs r1, 0xFF
- 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 r3, =gFieldEffectArguments
- ldr r2, [r3]
- strh r2, [r1, 0x26]
- ldr r2, [r3, 0x4]
- strh r2, [r1, 0x24]
- bl _call_via_r4
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B74D0
-
- thumb_func_start sub_80B750C
-sub_80B750C: @ 80B750C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_0855C42C
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_080B751E:
- 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 _080B751E
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B750C
-
- thumb_func_start dive_1_lock
-dive_1_lock: @ 80B7544
- ldr r2, =gPlayerAvatar
- movs r1, 0x1
- strb r1, [r2, 0x6]
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- movs r0, 0
- bx lr
- .pool
- thumb_func_end dive_1_lock
-
- thumb_func_start dive_2_unknown
-dive_2_unknown: @ 80B7558
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptContext2_Enable
- ldr r1, =gFieldEffectArguments
- movs r2, 0x26
- ldrsh r0, [r4, r2]
- str r0, [r1]
- movs r0, 0x3B
- bl FieldEffectStart
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end dive_2_unknown
-
- thumb_func_start dive_3_unknown
-dive_3_unknown: @ 80B7580
- push {lr}
- sub sp, 0x8
- mov r1, sp
- adds r1, 0x2
- mov r0, sp
- bl PlayerGetDestCoords
- movs r0, 0x6
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _080B75C4
- ldr r2, =gMapObjects
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1E]
- mov r0, sp
- bl dive_warp
- ldr r0, =sub_80B750C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0x2C
- bl FieldEffectActiveListRemove
-_080B75C4:
- movs r0, 0
- add sp, 0x8
- pop {r1}
- bx r1
- .pool
- thumb_func_end dive_3_unknown
-
- thumb_func_start sub_80B75D8
-sub_80B75D8: @ 80B75D8
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =sub_80B75F0
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B75D8
-
- thumb_func_start sub_80B75F0
-sub_80B75F0: @ 80B75F0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r6, =gUnknown_0855C438
- ldr r2, =gTasks
- ldr r5, =gPlayerAvatar
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_080B7604:
- movs r0, 0x8
- ldrsh r3, [r4, r0]
- lsls r3, 2
- adds r3, r6
- ldrb r0, [r5, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, =gMapObjects
- adds r1, r0
- ldrb r0, [r5, 0x4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, =gSprites
- adds r2, r0
- ldr r3, [r3]
- adds r0, r4, 0
- bl _call_via_r3
- lsls r0, 24
- cmp r0, 0
- bne _080B7604
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B75F0
-
- thumb_func_start sub_80B764C
-sub_80B764C: @ 80B764C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl FreezeMapObjects
- bl CameraObjectReset2
- movs r0, 0
- bl SetCameraPanningCallback
- ldr r0, =gPlayerAvatar
- movs r2, 0x1
- strb r2, [r0, 0x6]
- ldrb r0, [r5, 0x3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r5, 0x3]
- strh r2, [r4, 0xA]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B764C
-
- thumb_func_start sub_80B7684
-sub_80B7684: @ 80B7684
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0
- bl SetCameraPanning
- ldrh r0, [r4, 0xA]
- negs r0, r0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _080B76B0
- movs r0, 0
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B76B0:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B7684
-
- thumb_func_start sub_80B76B8
-sub_80B76B8: @ 80B76B8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0
- strh r0, [r2, 0x26]
- movs r0, 0x1
- strh r0, [r4, 0xE]
- ldr r3, =gFieldEffectArguments
- movs r5, 0x10
- ldrsh r0, [r1, r5]
- str r0, [r3]
- movs r5, 0x12
- ldrsh r0, [r1, r5]
- str r0, [r3, 0x4]
- adds r0, r2, 0
- adds r0, 0x43
- ldrb r0, [r0]
- subs r0, 0x1
- str r0, [r3, 0x8]
- ldrb r0, [r2, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r3, 0xC]
- movs r0, 0x32
- bl FieldEffectStart
- movs r0, 0xB2
- bl PlaySE
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B76B8
-
- thumb_func_start sub_80B7704
-sub_80B7704: @ 80B7704
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- adds r5, r2, 0
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0
- bl SetCameraPanning
- ldrh r0, [r4, 0xA]
- negs r2, r0
- strh r2, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r1, r0, 0x1
- strh r1, [r4, 0xC]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x11
- bgt _080B773E
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- bne _080B7750
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0x3
- bgt _080B7750
- lsls r0, r2, 1
- b _080B774E
-_080B773E:
- movs r0, 0x4
- ands r1, r0
- cmp r1, 0
- bne _080B7750
- lsls r0, r2, 16
- cmp r0, 0
- ble _080B7750
- asrs r0, 17
-_080B774E:
- strh r0, [r4, 0xA]
-_080B7750:
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x6
- ble _080B779C
- adds r0, r5, 0
- adds r0, 0x29
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r2, r1, 17
- negs r2, r2
- movs r7, 0x26
- ldrsh r3, [r5, r7]
- movs r7, 0x22
- ldrsh r0, [r5, r7]
- adds r0, r1
- ldr r1, =gSpriteCoordOffsetY
- movs r7, 0
- ldrsh r1, [r1, r7]
- adds r0, r1
- asrs r2, 16
- adds r0, r2
- cmn r3, r0
- ble _080B7798
- ldrh r0, [r5, 0x26]
- ldrh r1, [r4, 0xE]
- subs r0, r1
- strh r0, [r5, 0x26]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x7
- bgt _080B779C
- adds r0, r1, 0x1
- strh r0, [r4, 0xE]
- b _080B779C
- .pool
-_080B7798:
- movs r0, 0x1
- strh r0, [r4, 0x10]
-_080B779C:
- ldrh r2, [r4, 0x12]
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B77DA
- movs r7, 0x26
- ldrsh r1, [r5, r7]
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- bge _080B77DA
- adds r0, r2, 0x1
- strh r0, [r4, 0x12]
- ldrb r0, [r6, 0x3]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r6, 0x3]
- ldrb r1, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- orrs r0, r2
- strb r0, [r5, 0x5]
- adds r2, r5, 0
- adds r2, 0x42
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
-_080B77DA:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B77F0
- movs r7, 0x10
- ldrsh r0, [r4, r7]
- cmp r0, 0
- beq _080B77F0
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B77F0:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80B7704
-
- thumb_func_start sub_80B77F8
-sub_80B77F8: @ 80B77F8
- push {r4,lr}
- adds r4, r0, 0
- bl music_something
- bl sub_80AF0B4
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B77F8
-
- thumb_func_start sub_80B7814
-sub_80B7814: @ 80B7814
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B784C
- bl sub_80859A0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B784C
- bl warp_in
- ldr r1, =gFieldCallback
- ldr r0, =mapldr_080851BC
- str r0, [r1]
- ldr r0, =CB2_LoadMap
- bl SetMainCallback2
- ldr r0, =sub_80B75F0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080B784C:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B7814
-
- thumb_func_start mapldr_080851BC
-mapldr_080851BC: @ 80B7868
- push {lr}
- bl Overworld_PlaySpecialMapMusic
- bl pal_fill_for_maplights
- bl ScriptContext2_Enable
- ldr r0, =gFieldCallback
- movs r1, 0
- str r1, [r0]
- ldr r0, =sub_80B7890
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end mapldr_080851BC
-
- thumb_func_start sub_80B7890
-sub_80B7890: @ 80B7890
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r6, =gUnknown_0855C450
- ldr r2, =gTasks
- ldr r5, =gPlayerAvatar
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_080B78A4:
- movs r0, 0x8
- ldrsh r3, [r4, r0]
- lsls r3, 2
- adds r3, r6
- ldrb r0, [r5, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, =gMapObjects
- adds r1, r0
- ldrb r0, [r5, 0x4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, =gSprites
- adds r2, r0
- ldr r3, [r3]
- adds r0, r4, 0
- bl _call_via_r3
- lsls r0, 24
- cmp r0, 0
- bne _080B78A4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B7890
-
- thumb_func_start sub_80B78EC
-sub_80B78EC: @ 80B78EC
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- bl CameraObjectReset2
- bl FreezeMapObjects
- ldr r1, =gPlayerAvatar
- movs r0, 0x1
- strb r0, [r1, 0x6]
- ldrb r0, [r4, 0x1]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B78EC
-
- thumb_func_start sub_80B791C
-sub_80B791C: @ 80B791C
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- bl sub_80ABDFC
- lsls r0, 24
- cmp r0, 0
- beq _080B795C
- ldr r1, =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- str r0, [r1]
- movs r2, 0x12
- ldrsh r0, [r5, r2]
- str r0, [r1, 0x4]
- adds r0, r6, 0
- adds r0, 0x43
- ldrb r0, [r0]
- subs r0, 0x1
- str r0, [r1, 0x8]
- ldrb r0, [r6, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r1, 0xC]
- movs r0, 0x31
- bl FieldEffectStart
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B795C:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B791C
-
- thumb_func_start sub_80B7968
-sub_80B7968: @ 80B7968
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- movs r0, 0xA
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _080B79B0
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- ldrb r1, [r4, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- bl CameraObjectReset1
- movs r0, 0xAF
- bl PlaySE
- movs r0, 0x4
- bl sub_8093514
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
-_080B79B0:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B7968
-
- thumb_func_start sub_80B79BC
-sub_80B79BC: @ 80B79BC
- push {lr}
- adds r0, r1, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B79E6
- ldr r1, =gPlayerAvatar
- movs r0, 0
- strb r0, [r1, 0x6]
- bl ScriptContext2_Disable
- bl UnfreezeMapObjects
- ldr r0, =sub_80B7890
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080B79E6:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B79BC
-
- thumb_func_start sub_80B79F4
-sub_80B79F4: @ 80B79F4
- push {r4,lr}
- ldr r4, =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_80930E0
- ldr r0, =gFieldEffectObjectTemplatePointers
- adds r0, 0x84
- ldr r0, [r0]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- movs r1, 0x3
- ldrb r3, [r4, 0xC]
- ands r3, r1
- lsls r3, 2
- ldrb r4, [r2, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r4
- orrs r1, r3
- strb r1, [r2, 0x5]
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r3, 0x2
- orrs r1, r3
- strb r1, [r2]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B79F4
-
- thumb_func_start sub_80B7A58
-sub_80B7A58: @ 80B7A58
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080B7A70
- adds r0, r2, 0
- movs r1, 0x32
- bl FieldEffectStop
-_080B7A70:
- pop {r0}
- bx r0
- thumb_func_end sub_80B7A58
-
- thumb_func_start sub_80B7A74
-sub_80B7A74: @ 80B7A74
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =sub_80B7A8C
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B7A74
-
- thumb_func_start sub_80B7A8C
-sub_80B7A8C: @ 80B7A8C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r6, =gUnknown_0855C460
- ldr r2, =gTasks
- ldr r5, =gPlayerAvatar
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_080B7AA0:
- movs r0, 0x8
- ldrsh r3, [r4, r0]
- lsls r3, 2
- adds r3, r6
- ldrb r0, [r5, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, =gMapObjects
- adds r1, r0
- ldrb r0, [r5, 0x4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, =gSprites
- adds r2, r0
- ldr r3, [r3]
- adds r0, r4, 0
- bl _call_via_r3
- lsls r0, 24
- cmp r0, 0
- bne _080B7AA0
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B7A8C
-
- thumb_func_start sub_80B7AE8
-sub_80B7AE8: @ 80B7AE8
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- bl FreezeMapObjects
- bl CameraObjectReset2
- ldr r1, =gPlayerAvatar
- movs r0, 0x1
- strb r0, [r1, 0x6]
- ldrb r0, [r4, 0x3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4, 0x3]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B7AE8
-
- thumb_func_start sub_80B7B18
-sub_80B7B18: @ 80B7B18
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B7B8C
- ldrh r1, [r5, 0xA]
- movs r2, 0xA
- ldrsh r0, [r5, r2]
- cmp r0, 0x3
- ble _080B7B6C
- ldr r1, =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- str r0, [r1]
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- str r0, [r1, 0x4]
- adds r0, r6, 0
- adds r0, 0x43
- ldrb r0, [r0]
- subs r0, 0x1
- str r0, [r1, 0x8]
- ldrb r0, [r6, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r1, 0xC]
- movs r0, 0x31
- bl FieldEffectStart
- strh r0, [r5, 0xA]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _080B7B8C
- .pool
-_080B7B6C:
- adds r0, r1, 0x1
- strh r0, [r5, 0xA]
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetStepInPlaceDelay4AnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
- movs r0, 0x27
- bl PlaySE
-_080B7B8C:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80B7B18
-
- thumb_func_start sub_80B7B94
-sub_80B7B94: @ 80B7B94
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- ldr r2, =gSprites
- movs r0, 0xA
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080B7BBE
- ldrb r0, [r4, 0x1]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_080B7BBE:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B7B94
-
- thumb_func_start sub_80B7BCC
-sub_80B7BCC: @ 80B7BCC
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x31
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _080B7BEA
- bl music_something
- bl sub_80AF0B4
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B7BEA:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B7BCC
-
- thumb_func_start sub_80B7BF4
-sub_80B7BF4: @ 80B7BF4
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B7C2C
- bl sub_80859A0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B7C2C
- bl warp_in
- ldr r1, =gFieldCallback
- ldr r0, =sub_80B6B68
- str r0, [r1]
- ldr r0, =CB2_LoadMap
- bl SetMainCallback2
- ldr r0, =sub_80B7A8C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080B7C2C:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B7BF4
-
- thumb_func_start sub_80B7C48
-sub_80B7C48: @ 80B7C48
- push {r4,lr}
- ldr r4, =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_80930E0
- ldr r0, =gFieldEffectObjectTemplatePointers
- adds r0, 0x80
- ldr r0, [r0]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- movs r1, 0x3
- ldrb r3, [r4, 0xC]
- ands r3, r1
- lsls r3, 2
- ldrb r4, [r2, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r4
- orrs r1, r3
- strb r1, [r2, 0x5]
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r3, 0x2
- orrs r1, r3
- strb r1, [r2]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B7C48
-
- thumb_func_start sub_80B7CAC
-sub_80B7CAC: @ 80B7CAC
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080B7CC4
- adds r0, r2, 0
- movs r1, 0x31
- bl FieldEffectStop
-_080B7CC4:
- pop {r0}
- bx r0
- thumb_func_end sub_80B7CAC
-
- thumb_func_start sub_80B7CC8
-sub_80B7CC8: @ 80B7CC8
- push {lr}
- bl ScriptContext2_Enable
- bl FreezeMapObjects
- ldr r0, =sub_80B7CE4
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B7CC8
-
- thumb_func_start sub_80B7CE4
-sub_80B7CE4: @ 80B7CE4
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_0855C474
- 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_80B7CE4
-
- thumb_func_start sub_80B7D14
-sub_80B7D14: @ 80B7D14
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x40
- strh r0, [r4, 0x24]
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x26]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B7D14
-
- thumb_func_start sub_80B7D34
-sub_80B7D34: @ 80B7D34
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, =gUnknown_0855C47C
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- ldrh r1, [r4, 0x24]
- movs r2, 0x24
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080B7D60
- subs r0, r1, 0x1
- strh r0, [r4, 0x24]
- lsls r0, 16
- cmp r0, 0
- bne _080B7D60
- bl music_something
- bl sub_80AF0B4
-_080B7D60:
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r5, r0, r1
- adds r0, r5, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080B7D86
- adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B7E40
-_080B7D86:
- movs r1, 0x24
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B7DF8
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B7DF8
- bl sub_80859A0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B7DF8
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl FieldObjectSetDirection
- bl sub_8084E14
- bl warp_in
- ldr r1, =gFieldCallback
- ldr r0, =mapldr_080859D4
- str r0, [r1]
- ldr r0, =CB2_LoadMap
- bl SetMainCallback2
- ldr r0, =sub_80B7CE4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- b _080B7E40
- .pool
-_080B7DF8:
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080B7E0C
- subs r0, r1, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bne _080B7E40
-_080B7E0C:
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- add r0, sp
- ldrb r0, [r0]
- bl GetFaceDirectionAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl FieldObjectSetSpecialAnim
- ldrh r1, [r4, 0xC]
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0xB
- bgt _080B7E34
- adds r0, r1, 0x1
- strh r0, [r4, 0xC]
-_080B7E34:
- ldrh r1, [r4, 0xC]
- lsls r1, 16
- asrs r1, 18
- movs r0, 0x8
- asrs r0, r1
- strh r0, [r4, 0xA]
-_080B7E40:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80B7D34
-
- thumb_func_start mapldr_080859D4
-mapldr_080859D4: @ 80B7E48
- push {lr}
- bl Overworld_PlaySpecialMapMusic
- bl pal_fill_for_maplights
- bl ScriptContext2_Enable
- bl FreezeMapObjects
- ldr r1, =gFieldCallback
- movs r0, 0
- str r0, [r1]
- ldr r2, =gMapObjects
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0, 0x1]
- ldr r0, =sub_80B7E94
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end mapldr_080859D4
-
- thumb_func_start sub_80B7E94
-sub_80B7E94: @ 80B7E94
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_0855C484
- 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_80B7E94
-
- thumb_func_start sub_80B7EC4
-sub_80B7EC4: @ 80B7EC4
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80ABDFC
- lsls r0, 24
- cmp r0, 0
- beq _080B7EE2
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x26]
-_080B7EE2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B7EC4
-
- thumb_func_start sub_80B7EE8
-sub_80B7EE8: @ 80B7EE8
- push {r4-r6,lr}
- sub sp, 0x8
- adds r5, r0, 0
- ldr r1, =gUnknown_0855C47C
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r6, r0, r1
- ldrh r1, [r5, 0xA]
- movs r2, 0xA
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _080B7F1A
- subs r0, r1, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- cmp r0, 0
- bne _080B7FAC
-_080B7F1A:
- adds r0, r6, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080B7F32
- adds r0, r6, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B7FC0
-_080B7F32:
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- cmp r0, 0x1F
- ble _080B7F7C
- movs r2, 0x26
- ldrsh r4, [r5, r2]
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _080B7F7C
- ldrb r1, [r6, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r6, 0x1]
- bl ScriptContext2_Disable
- bl UnfreezeMapObjects
- ldr r0, =sub_80B7E94
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- b _080B7FC0
- .pool
-_080B7F7C:
- ldrb r0, [r6, 0x18]
- lsls r0, 28
- lsrs r0, 28
- add r0, sp
- ldrb r0, [r0]
- bl GetFaceDirectionAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl FieldObjectSetSpecialAnim
- ldrh r1, [r5, 0xC]
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- cmp r0, 0x1F
- bgt _080B7FA4
- adds r0, r1, 0x1
- strh r0, [r5, 0xC]
-_080B7FA4:
- ldrh r0, [r5, 0xC]
- lsls r0, 16
- asrs r0, 18
- strh r0, [r5, 0xA]
-_080B7FAC:
- ldrb r2, [r6, 0x1]
- lsls r1, r2, 26
- lsrs r1, 31
- movs r0, 0x1
- eors r1, r0
- lsls r1, 5
- subs r0, 0x22
- ands r0, r2
- orrs r0, r1
- strb r0, [r6, 0x1]
-_080B7FC0:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80B7EE8
-
- thumb_func_start sub_80B7FC8
-sub_80B7FC8: @ 80B7FC8
- push {lr}
- ldr r0, =sub_80B7FDC
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B7FC8
-
- thumb_func_start sub_80B7FDC
-sub_80B7FDC: @ 80B7FDC
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_0855C48C
- 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_80B7FDC
-
- thumb_func_start sub_80B800C
-sub_80B800C: @ 80B800C
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptContext2_Enable
- bl FreezeMapObjects
- bl CameraObjectReset2
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B800C
-
- thumb_func_start sub_80B8034
-sub_80B8034: @ 80B8034
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, =gUnknown_0855C47C
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r5, r0, r1
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080B8066
- subs r0, r1, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bne _080B8080
-_080B8066:
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- add r0, sp
- ldrb r1, [r0]
- adds r0, r5, 0
- bl FieldObjectTurn
- movs r0, 0x8
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
-_080B8080:
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x7
- ble _080B80AE
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- cmp r1, r0
- bne _080B80AE
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x4
- strh r0, [r4, 0xA]
- movs r0, 0x8
- strh r0, [r4, 0xC]
- movs r0, 0x1
- strh r0, [r4, 0xE]
- movs r0, 0x2D
- bl PlaySE
-_080B80AE:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8034
-
- thumb_func_start sub_80B80C4
-sub_80B80C4: @ 80B80C4
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, =gUnknown_0855C47C
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- ldr r2, =gPlayerAvatar
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r3, r0, r1
- ldrb r1, [r2, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r5, r0, r1
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bgt _080B810E
- movs r0, 0x4
- strh r0, [r4, 0xA]
- ldrb r0, [r3, 0x18]
- lsls r0, 28
- lsrs r0, 28
- add r0, sp
- ldrb r1, [r0]
- adds r0, r3, 0
- bl FieldObjectTurn
-_080B810E:
- ldrh r0, [r5, 0x22]
- ldrh r1, [r4, 0xE]
- subs r0, r1
- strh r0, [r5, 0x22]
- ldrh r1, [r4, 0xE]
- ldrh r2, [r4, 0x10]
- adds r0, r1, r2
- strh r0, [r4, 0x10]
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- bgt _080B813A
- movs r0, 0x4
- strh r0, [r4, 0xC]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x7
- bgt _080B813A
- lsls r0, r1, 1
- strh r0, [r4, 0xE]
-_080B813A:
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0x8
- ble _080B8168
- ldrb r1, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r5, 0x5]
- adds r2, r5, 0
- adds r2, 0x42
- ldrb r1, [r2]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0
- beq _080B8168
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
-_080B8168:
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r0, 0xA7
- ble _080B817E
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- bl music_something
- bl sub_80AF0B4
-_080B817E:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B80C4
-
- thumb_func_start sub_80B8198
-sub_80B8198: @ 80B8198
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B81E6
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B81B8
- bl sub_81BE72C
- movs r0, 0x1
- strh r0, [r4, 0x12]
-_080B81B8:
- bl sub_80859A0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B81E6
- bl Overworld_SetWarpDestToLastHealLoc
- bl warp_in
- ldr r0, =CB2_LoadMap
- bl SetMainCallback2
- ldr r1, =gFieldCallback
- ldr r0, =mapldr_08085D88
- str r0, [r1]
- ldr r0, =sub_80B7FDC
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080B81E6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8198
-
- thumb_func_start mapldr_08085D88
-mapldr_08085D88: @ 80B8200
- push {lr}
- bl Overworld_PlaySpecialMapMusic
- bl pal_fill_for_maplights
- bl ScriptContext2_Enable
- bl FreezeMapObjects
- ldr r1, =gFieldCallback
- movs r0, 0
- str r0, [r1]
- ldr r2, =gMapObjects
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0, 0x1]
- bl CameraObjectReset2
- ldr r0, =sub_80B8250
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end mapldr_08085D88
-
- thumb_func_start sub_80B8250
-sub_80B8250: @ 80B8250
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_0855C49C
- 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_80B8250
-
- thumb_func_start sub_80B8280
-sub_80B8280: @ 80B8280
- push {r4-r6,lr}
- adds r6, r0, 0
- bl sub_80ABDFC
- lsls r0, 24
- cmp r0, 0
- beq _080B82F6
- ldr r5, =gPlayerAvatar
- ldrb r0, [r5, 0x4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, =gSprites
- adds r2, r0
- adds r0, r2, 0
- adds r0, 0x29
- movs r4, 0
- ldrsb r4, [r0, r4]
- lsls r0, r4, 17
- negs r0, r0
- ldrh r1, [r2, 0x22]
- ldr r3, =gSpriteCoordOffsetY
- adds r1, r4
- ldrh r3, [r3]
- adds r1, r3
- asrs r0, 16
- adds r0, r1
- negs r0, r0
- strh r0, [r2, 0x26]
- ldr r3, =gMapObjects
- ldrb r0, [r5, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r3, [r1, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r3
- strb r0, [r1, 0x1]
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
- movs r0, 0x8
- strh r0, [r6, 0xA]
- movs r0, 0x1
- strh r0, [r6, 0xC]
- adds r2, 0x42
- ldrb r0, [r2]
- lsrs r0, 6
- strh r0, [r6, 0x24]
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x26]
- movs r0, 0x2D
- bl PlaySE
-_080B82F6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8280
-
- thumb_func_start sub_80B830C
-sub_80B830C: @ 80B830C
- push {r4-r7,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, =gUnknown_0855C47C
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- ldr r2, =gPlayerAvatar
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r6, r0, r1
- ldrb r1, [r2, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r5, r0, r1
- ldrh r0, [r4, 0xA]
- ldrh r1, [r5, 0x26]
- adds r0, r1
- strh r0, [r5, 0x26]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x8
- negs r1, r1
- cmp r0, r1
- blt _080B8384
- ldrh r1, [r4, 0x22]
- movs r2, 0x22
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080B83AA
- adds r0, r1, 0x1
- strh r0, [r4, 0x22]
- ldrb r0, [r6]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r6]
- ldrh r1, [r4, 0x24]
- adds r3, r5, 0
- adds r3, 0x42
- lsls r1, 6
- ldrb r2, [r3]
- movs r0, 0x3F
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- b _080B83AA
- .pool
-_080B8384:
- ldrb r1, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r5, 0x5]
- adds r2, r5, 0
- adds r2, 0x42
- ldrb r1, [r2]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0
- beq _080B83AA
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
-_080B83AA:
- ldrh r2, [r5, 0x26]
- movs r3, 0x26
- ldrsh r1, [r5, r3]
- movs r0, 0x30
- negs r0, r0
- cmp r1, r0
- blt _080B83CE
- ldrh r1, [r4, 0xA]
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- ble _080B83CE
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- bne _080B83CE
- subs r0, r1, 0x1
- strh r0, [r4, 0xA]
-_080B83CE:
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- movs r7, 0
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _080B83F0
- movs r0, 0x4
- strh r0, [r4, 0xC]
- ldrb r0, [r6, 0x18]
- lsls r0, 28
- lsrs r0, 28
- add r0, sp
- ldrb r1, [r0]
- adds r0, r6, 0
- bl FieldObjectTurn
-_080B83F0:
- movs r1, 0x26
- ldrsh r0, [r5, r1]
- cmp r0, 0
- blt _080B8406
- strh r7, [r5, 0x26]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- strh r0, [r4, 0xA]
- strh r7, [r4, 0xC]
-_080B8406:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B830C
-
- thumb_func_start sub_80B8410
-sub_80B8410: @ 80B8410
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, =gUnknown_0855C47C
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r5, r0, r1
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bne _080B8484
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- add r0, sp
- ldrb r1, [r0]
- adds r0, r5, 0
- bl FieldObjectTurn
- movs r0, 0x8
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _080B8484
- movs r0, 0x24
- ldrsh r1, [r4, r0]
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- cmp r1, r0
- bne _080B8484
- bl ScriptContext2_Disable
- bl CameraObjectReset1
- bl UnfreezeMapObjects
- ldr r0, =sub_80B8250
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080B8484:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8410
-
- thumb_func_start sub_80B849C
-sub_80B849C: @ 80B849C
- push {r4,lr}
- bl Overworld_GetMapTypeOfSaveblockLocation
- lsls r0, 24
- lsrs r0, 24
- bl is_light_level_1_2_3_5_or_6
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B84BC
- ldr r0, =sub_80B8554
- b _080B84BE
- .pool
-_080B84BC:
- ldr r0, =sub_80B88B4
-_080B84BE:
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, =gFieldEffectArguments
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- ldr r2, [r2, 0x8]
- bl sub_80B8C60
- ldr r2, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x26]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B849C
-
- thumb_func_start sub_80B84F8
-sub_80B84F8: @ 80B84F8
- push {r4-r6,lr}
- ldr r5, =gFieldEffectArguments
- ldr r0, [r5]
- movs r6, 0x80
- lsls r6, 24
- ands r6, r0
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- adds r4, r0, 0
- muls r4, r1
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- str r0, [r5]
- adds r0, r4, 0
- movs r1, 0x1
- bl GetMonData
- str r0, [r5, 0x4]
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- str r0, [r5, 0x8]
- ldr r0, [r5]
- orrs r0, r6
- str r0, [r5]
- movs r0, 0x6
- bl FieldEffectStart
- movs r0, 0x3B
- bl FieldEffectActiveListRemove
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B84F8
-
- thumb_func_start sub_80B8554
-sub_80B8554: @ 80B8554
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_0855C4A8
- 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_80B8554
-
- thumb_func_start sub_80B8584
-sub_80B8584: @ 80B8584
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =0x04000048
- ldrh r0, [r0]
- strh r0, [r4, 0x1E]
- ldr r0, =0x0400004a
- ldrh r0, [r0]
- strh r0, [r4, 0x20]
- adds r0, r4, 0
- adds r0, 0x22
- ldr r1, =gMain
- ldr r1, [r1, 0xC]
- bl StoreWordInTwoHalfwords
- ldr r1, =0x0000f0f1
- strh r1, [r4, 0xA]
- ldr r0, =0x00005051
- strh r0, [r4, 0xC]
- movs r0, 0x3F
- strh r0, [r4, 0xE]
- movs r0, 0x3E
- strh r0, [r4, 0x10]
- movs r0, 0x40
- bl SetGpuReg
- ldrh r1, [r4, 0xC]
- movs r0, 0x44
- bl SetGpuReg
- ldrh r1, [r4, 0xE]
- movs r0, 0x48
- bl SetGpuReg
- ldrh r1, [r4, 0x10]
- movs r0, 0x4A
- bl SetGpuReg
- ldr r0, =sub_80B880C
- bl SetVBlankCallback
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8584
-
- thumb_func_start sub_80B85F8
-sub_80B85F8: @ 80B85F8
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldr r0, =0x04000008
- ldrh r1, [r0]
- lsrs r1, 2
- lsls r1, 30
- lsrs r1, 16
- ldrh r4, [r0]
- lsrs r4, 8
- lsls r4, 27
- lsrs r4, 16
- ldr r0, =gUnknown_0855AE50
- movs r5, 0xC0
- lsls r5, 19
- adds r1, r5
- movs r2, 0x80
- lsls r2, 1
- bl CpuSet
- movs r0, 0
- str r0, [sp]
- adds r5, r4, r5
- ldr r2, =0x05000200
- mov r0, sp
- adds r1, r5, 0
- bl CpuSet
- ldr r0, =gUnknown_0855B050
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- adds r0, r4, 0
- bl sub_80B8874
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B85F8
-
- thumb_func_start sub_80B8660
-sub_80B8660: @ 80B8660
- push {r4-r7,lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x12]
- subs r0, 0x10
- strh r0, [r3, 0x12]
- ldrh r6, [r3, 0xA]
- ldrh r2, [r3, 0xC]
- movs r7, 0xFF
- lsrs r1, r6, 8
- subs r1, 0x10
- lsls r1, 16
- lsrs r0, r2, 8
- subs r0, 0x2
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r7, 0
- ands r0, r2
- adds r5, r0, 0x2
- lsrs r2, r1, 16
- cmp r1, 0
- bge _080B868C
- movs r2, 0
-_080B868C:
- lsls r0, r4, 16
- asrs r0, 16
- cmp r0, 0x27
- bgt _080B8696
- movs r4, 0x28
-_080B8696:
- cmp r5, 0x78
- ble _080B869C
- movs r5, 0x78
-_080B869C:
- lsls r2, 16
- asrs r2, 16
- lsls r1, r2, 8
- adds r0, r7, 0
- ands r0, r6
- orrs r1, r0
- strh r1, [r3, 0xA]
- lsls r0, r4, 16
- asrs r4, r0, 16
- lsls r0, r4, 8
- adds r1, r5, 0
- orrs r0, r1
- strh r0, [r3, 0xC]
- cmp r2, 0
- bne _080B86DC
- cmp r4, 0x28
- bne _080B86DC
- cmp r1, 0x78
- bne _080B86DC
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_80B8CC0
- str r1, [r0]
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_080B86DC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8660
-
- thumb_func_start sub_80B86EC
-sub_80B86EC: @ 80B86EC
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x12]
- subs r0, 0x10
- strh r0, [r3, 0x12]
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r3, 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 _080B8712
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_080B8712:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B86EC
-
- thumb_func_start sub_80B871C
-sub_80B871C: @ 80B871C
- push {r4,lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x12]
- subs r0, 0x10
- strh r0, [r3, 0x12]
- ldrh r2, [r3, 0xC]
- lsls r1, r2, 16
- movs r0, 0xFF
- asrs r1, 24
- adds r1, 0x6
- lsls r1, 16
- ands r0, r2
- subs r0, 0x6
- lsls r0, 16
- lsrs r2, r0, 16
- lsrs r4, r1, 16
- asrs r1, 16
- cmp r1, 0x50
- ble _080B8744
- movs r4, 0x50
-_080B8744:
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0x50
- bgt _080B874E
- movs r2, 0x51
-_080B874E:
- lsls r0, r4, 16
- asrs r0, 16
- lsls r1, r0, 8
- lsls r2, 16
- asrs r2, 16
- orrs r1, r2
- strh r1, [r3, 0xC]
- cmp r0, 0x50
- bne _080B876A
- cmp r2, 0x51
- bne _080B876A
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_080B876A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B871C
-
- thumb_func_start sub_80B8770
-sub_80B8770: @ 80B8770
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r0, =0x04000008
- ldrh r1, [r0]
- lsrs r1, 8
- lsls r1, 27
- lsrs r1, 16
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC0
- lsls r0, 19
- adds r1, r0
- ldr r2, =0x05000200
- mov r0, sp
- bl CpuSet
- movs r0, 0xF1
- strh r0, [r4, 0xA]
- movs r0, 0xA1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x1E]
- strh r0, [r4, 0xE]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x10]
- 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_80B8770
-
- thumb_func_start overworld_bg_setup_2
-overworld_bg_setup_2: @ 80B87B8
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r0, 0x22
- mov r1, sp
- bl LoadWordFromTwoHalfwords
- ldr r0, [sp]
- bl SetVBlankCallback
- bl sub_8197200
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- bl sub_80B6070
- movs r0, 0x6
- bl FieldEffectActiveListRemove
- ldr r0, =sub_80B8554
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end overworld_bg_setup_2
-
- thumb_func_start sub_80B880C
-sub_80B880C: @ 80B880C
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =sub_80B8554
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks
- adds r4, r0
- adds r0, r4, 0
- adds r0, 0x22
- mov r1, sp
- bl LoadWordFromTwoHalfwords
- ldr r0, [sp]
- bl _call_via_r0
- ldrh r1, [r4, 0xA]
- movs r0, 0x40
- bl SetGpuReg
- ldrh r1, [r4, 0xC]
- movs r0, 0x44
- bl SetGpuReg
- ldrh r1, [r4, 0xE]
- movs r0, 0x48
- bl SetGpuReg
- ldrh r1, [r4, 0x10]
- movs r0, 0x4A
- bl SetGpuReg
- ldrh r1, [r4, 0x12]
- movs r0, 0x10
- bl SetGpuReg
- ldrh r1, [r4, 0x14]
- movs r0, 0x12
- bl SetGpuReg
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B880C
-
- thumb_func_start sub_80B8874
-sub_80B8874: @ 80B8874
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0x06000140
- adds r2, r0, r1
- movs r1, 0
- ldr r5, =gUnknown_0855B070
- movs r0, 0xF0
- lsls r0, 8
- adds r4, r0, 0
- ldr r3, =0x0000013f
-_080B888A:
- lsls r0, r1, 1
- adds r0, r5
- ldrh r0, [r0]
- orrs r0, r4
- strh r0, [r2]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, 0x2
- cmp r1, r3
- bls _080B888A
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8874
-
- thumb_func_start sub_80B88B4
-sub_80B88B4: @ 80B88B4
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_0855C4C4
- 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_80B88B4
-
- thumb_func_start sub_80B88E4
-sub_80B88E4: @ 80B88E4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0xA]
- movs r0, 0x10
- bl SetGpuReg
- ldrh r1, [r4, 0xC]
- movs r0, 0x12
- bl SetGpuReg
- adds r0, r4, 0
- adds r0, 0x22
- ldr r1, =gMain
- ldr r1, [r1, 0xC]
- bl StoreWordInTwoHalfwords
- ldr r0, =sub_80B8AE0
- bl SetVBlankCallback
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B88E4
-
- thumb_func_start sub_80B8920
-sub_80B8920: @ 80B8920
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r6, r0, 0
- ldr r0, =0x04000008
- ldrh r1, [r0]
- lsrs r1, 2
- lsls r1, 30
- lsrs r1, 16
- ldrh r4, [r0]
- lsrs r4, 8
- lsls r4, 27
- lsrs r4, 16
- movs r0, 0
- mov r8, r0
- strh r4, [r6, 0x20]
- ldr r0, =gUnknown_0855B2F0
- movs r5, 0xC0
- lsls r5, 19
- adds r1, r5
- movs r2, 0x40
- bl CpuSet
- mov r0, r8
- str r0, [sp]
- adds r4, r5
- ldr r2, =0x05000200
- mov r0, sp
- adds r1, r4, 0
- bl CpuSet
- ldr r0, =gUnknown_0855B370
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8920
-
- thumb_func_start sub_80B898C
-sub_80B898C: @ 80B898C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80B8B38
- lsls r0, 24
- cmp r0, 0
- beq _080B89C4
- movs r0, 0x42
- movs r1, 0xF0
- bl SetGpuReg
- ldr r1, =0x00002878
- movs r0, 0x46
- bl SetGpuReg
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_80B8CC0
- str r1, [r0]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B89C4:
- adds r0, r4, 0
- bl sub_80B8B28
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B898C
-
- thumb_func_start sub_80B89DC
-sub_80B89DC: @ 80B89DC
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80B8B28
- 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, 0x3C
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080B8A00
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B8A00:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B89DC
-
- thumb_func_start sub_80B8A0C
-sub_80B8A0C: @ 80B8A0C
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_80B8B28
- ldrh r1, [r4, 0xA]
- movs r0, 0x7
- ands r0, r1
- movs r1, 0
- strh r0, [r4, 0xE]
- strh r1, [r4, 0x10]
- ldr r5, =0x0000ffff
- movs r0, 0x42
- adds r1, r5, 0
- bl SetGpuReg
- movs r0, 0x46
- adds r1, r5, 0
- bl SetGpuReg
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8A0C
-
- thumb_func_start sub_80B8A44
-sub_80B8A44: @ 80B8A44
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80B8B28
- adds r0, r4, 0
- bl sub_80B8BF0
- lsls r0, 24
- cmp r0, 0
- beq _080B8A5E
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B8A5E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B8A44
-
- thumb_func_start sub_80B8A64
-sub_80B8A64: @ 80B8A64
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r0, =0x04000008
- ldrh r1, [r0]
- lsrs r1, 8
- lsls r1, 27
- lsrs r1, 16
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC0
- lsls r0, 19
- adds r1, r0
- ldr r2, =0x05000200
- mov r0, sp
- bl CpuSet
- adds r0, r4, 0
- adds r0, 0x22
- add r1, sp, 0x4
- bl LoadWordFromTwoHalfwords
- ldr r0, [sp, 0x4]
- bl SetVBlankCallback
- bl sub_8197200
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- bl sub_80B6070
- movs r0, 0x6
- bl FieldEffectActiveListRemove
- ldr r0, =sub_80B88B4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8A64
-
- thumb_func_start sub_80B8AE0
-sub_80B8AE0: @ 80B8AE0
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =sub_80B88B4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks
- adds r4, r0
- adds r0, r4, 0
- adds r0, 0x22
- mov r1, sp
- bl LoadWordFromTwoHalfwords
- ldr r0, [sp]
- bl _call_via_r0
- ldrh r1, [r4, 0xA]
- movs r0, 0x10
- bl SetGpuReg
- ldrh r1, [r4, 0xC]
- movs r0, 0x12
- bl SetGpuReg
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8AE0
-
- thumb_func_start sub_80B8B28
-sub_80B8B28: @ 80B8B28
- ldrh r1, [r0, 0xA]
- subs r1, 0x10
- strh r1, [r0, 0xA]
- ldrh r1, [r0, 0xE]
- adds r1, 0x10
- strh r1, [r0, 0xE]
- bx lr
- thumb_func_end sub_80B8B28
-
- thumb_func_start sub_80B8B38
-sub_80B8B38: @ 80B8B38
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r5, r0, 0
- ldrh r2, [r5, 0x10]
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- cmp r0, 0x1F
- ble _080B8B54
- movs r0, 0x1
- b _080B8BD8
-_080B8B54:
- ldrh r0, [r5, 0xE]
- lsls r0, 16
- asrs r3, r0, 19
- movs r1, 0x1F
- ands r3, r1
- movs r4, 0x10
- ldrsh r0, [r5, r4]
- cmp r3, r0
- blt _080B8BD6
- movs r0, 0x20
- subs r3, r0, r3
- ands r3, r1
- subs r0, r2
- mov r12, r0
- mov r7, r12
- ands r7, r1
- mov r12, r7
- ldrh r0, [r5, 0x20]
- ldr r1, =0x06000140
- adds r1, r0
- mov r8, r1
- movs r4, 0
- ldr r7, =gUnknown_0855B390
- mov r10, r7
- movs r0, 0xF0
- lsls r0, 8
- mov r9, r0
- adds r1, r3, 0x1
- movs r0, 0x1F
- ands r1, r0
- str r1, [sp]
- mov r6, r12
- adds r6, 0x1
- ands r6, r0
-_080B8B98:
- lsls r1, r4, 5
- adds r2, r1, r3
- lsls r2, 1
- add r2, r8
- mov r7, r12
- adds r0, r7, r1
- lsls r0, 1
- add r0, r10
- ldrh r0, [r0]
- mov r7, r9
- orrs r0, r7
- strh r0, [r2]
- ldr r0, [sp]
- adds r2, r1, r0
- lsls r2, 1
- add r2, r8
- adds r1, r6, r1
- lsls r1, 1
- add r1, r10
- ldrh r0, [r1]
- mov r1, r9
- orrs r0, r1
- strh r0, [r2]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x9
- bls _080B8B98
- ldrh r0, [r5, 0x10]
- adds r0, 0x2
- strh r0, [r5, 0x10]
-_080B8BD6:
- movs r0, 0
-_080B8BD8:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B8B38
-
- thumb_func_start sub_80B8BF0
-sub_80B8BF0: @ 80B8BF0
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- cmp r0, 0x1F
- ble _080B8C00
- movs r0, 0x1
- b _080B8C54
-_080B8C00:
- ldrh r0, [r5, 0xE]
- lsls r0, 16
- asrs r0, 19
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- cmp r2, r0
- blt _080B8C52
- ldrh r0, [r5, 0xA]
- lsls r0, 16
- asrs r2, r0, 19
- movs r0, 0x1F
- ands r2, r0
- ldrh r0, [r5, 0x20]
- ldr r1, =0x06000140
- adds r6, r0, r1
- movs r3, 0
- movs r0, 0xF0
- lsls r0, 8
- adds r7, r0, 0
- adds r4, r2, 0x1
- movs r0, 0x1F
- ands r4, r0
-_080B8C30:
- lsls r0, r3, 5
- adds r1, r0, r2
- lsls r1, 1
- adds r1, r6
- strh r7, [r1]
- adds r0, r4
- lsls r0, 1
- adds r0, r6
- strh r7, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x9
- bls _080B8C30
- ldrh r0, [r5, 0x10]
- adds r0, 0x2
- strh r0, [r5, 0x10]
-_080B8C52:
- movs r0, 0
-_080B8C54:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B8BF0
-
- thumb_func_start sub_80B8C60
-sub_80B8C60: @ 80B8C60
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r0, 0
- movs r5, 0x80
- lsls r5, 24
- ands r5, r6
- lsrs r5, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r0, =0x7fffffff
- ands r6, r0
- lsls r0, r6, 16
- lsrs r0, 16
- movs r3, 0xA0
- lsls r3, 1
- movs r4, 0x50
- str r4, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- bl sub_80B5FE8
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r1, =gSprites
- adds r2, r1
- ldr r1, =SpriteCallbackDummy
- str r1, [r2, 0x1C]
- ldrb r3, [r2, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- strb r1, [r2, 0x5]
- strh r6, [r2, 0x2E]
- strh r5, [r2, 0x3A]
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B8C60
-
- thumb_func_start sub_80B8CC0
-sub_80B8CC0: @ 80B8CC0
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x20]
- subs r0, 0x14
- strh r0, [r1, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x78
- bgt _080B8D00
- movs r0, 0x78
- strh r0, [r1, 0x20]
- movs r0, 0x1E
- strh r0, [r1, 0x30]
- ldr r0, =sub_80B8D04
- str r0, [r1, 0x1C]
- movs r2, 0x3A
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080B8CF8
- ldrh r0, [r1, 0x2E]
- movs r1, 0
- movs r2, 0x7D
- movs r3, 0xA
- bl PlayCry2
- b _080B8D00
- .pool
-_080B8CF8:
- ldrh r0, [r1, 0x2E]
- movs r1, 0
- bl PlayCry1
-_080B8D00:
- pop {r0}
- bx r0
- thumb_func_end sub_80B8CC0
-
- thumb_func_start sub_80B8D04
-sub_80B8D04: @ 80B8D04
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- subs r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080B8D18
- ldr r0, =sub_80B8D20
- str r0, [r1, 0x1C]
-_080B8D18:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8D04
-
- thumb_func_start sub_80B8D20
-sub_80B8D20: @ 80B8D20
- push {lr}
- adds r2, r0, 0
- ldrh r3, [r2, 0x20]
- movs r0, 0x20
- ldrsh r1, [r2, r0]
- movs r0, 0x40
- negs r0, r0
- cmp r1, r0
- bge _080B8D38
- movs r0, 0x1
- strh r0, [r2, 0x3C]
- b _080B8D3E
-_080B8D38:
- adds r0, r3, 0
- subs r0, 0x14
- strh r0, [r2, 0x20]
-_080B8D3E:
- pop {r0}
- bx r0
- thumb_func_end sub_80B8D20
-
- thumb_func_start sub_80B8D44
-sub_80B8D44: @ 80B8D44
- push {lr}
- ldr r0, =sub_80B8D84
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, =gFieldEffectArguments
- ldr r0, [r0]
- strh r0, [r1, 0x26]
- bl Overworld_ClearSavedMusic
- ldr r0, =0x0000016d
- bl Overworld_ChangeMusicTo
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B8D44
-
- thumb_func_start sub_80B8D84
-sub_80B8D84: @ 80B8D84
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_0855C4E0
- 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_80B8D84
-
- thumb_func_start sub_80B8DB4
-sub_80B8DB4: @ 80B8DB4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- bl ScriptContext2_Enable
- bl FreezeMapObjects
- ldr r5, =gPlayerAvatar
- movs r0, 0x1
- strb r0, [r5, 0x6]
- movs r0, 0x8
- bl SetPlayerAvatarStateMask
- adds r6, r4, 0
- adds r6, 0xA
- movs r0, 0xC
- adds r0, r4
- mov r8, r0
- adds r0, r6, 0
- mov r1, r8
- bl PlayerGetDestCoords
- ldr r2, =gMapObjects
- ldrb r1, [r5, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x18]
- lsrs r0, 4
- adds r1, r6, 0
- mov r2, r8
- bl MoveCoords
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8DB4
-
- thumb_func_start sub_80B8E14
-sub_80B8E14: @ 80B8E14
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080B8E3E
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B8E50
-_080B8E3E:
- bl sub_808C114
- adds r0, r4, 0
- movs r1, 0x39
- bl FieldObjectSetSpecialAnim
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_080B8E50:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8E14
-
- thumb_func_start sub_80B8E60
-sub_80B8E60: @ 80B8E60
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
- lsls r0, 24
- cmp r0, 0
- beq _080B8E96
- ldr r2, =gFieldEffectArguments
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- movs r1, 0x80
- lsls r1, 24
- orrs r0, r1
- str r0, [r2]
- movs r0, 0x3B
- bl FieldEffectStart
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B8E96:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8E60
-
- thumb_func_start sub_80B8EA8
-sub_80B8EA8: @ 80B8EA8
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r0, 0x6
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _080B8F12
- ldr r5, =gPlayerAvatar
- ldrb r0, [r5, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gMapObjects
- adds r4, r0
- movs r0, 0x3
- bl GetPlayerAvatarGraphicsIdByStateId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetGraphicsId
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- ldrb r0, [r4, 0x18]
- lsrs r0, 4
- bl sub_8093540
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
- ldr r1, =gFieldEffectArguments
- movs r2, 0xA
- ldrsh r0, [r6, r2]
- str r0, [r1]
- movs r2, 0xC
- ldrsh r0, [r6, r2]
- str r0, [r1, 0x4]
- ldrb r0, [r5, 0x5]
- str r0, [r1, 0x8]
- movs r0, 0x8
- bl FieldEffectStart
- strb r0, [r4, 0x1A]
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
-_080B8F12:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8EA8
-
- thumb_func_start sub_80B8F24
-sub_80B8F24: @ 80B8F24
- push {r4,r5,lr}
- ldr r5, =gPlayerAvatar
- ldrb r1, [r5, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B8F84
- movs r0, 0
- strb r0, [r5, 0x6]
- ldrb r1, [r5]
- movs r0, 0xDF
- ands r0, r1
- strb r0, [r5]
- ldrb r0, [r4, 0x18]
- lsrs r0, 4
- bl GetFaceDirectionAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
- ldrb r0, [r4, 0x1A]
- movs r1, 0x1
- bl sub_81555AC
- bl UnfreezeMapObjects
- bl ScriptContext2_Disable
- movs r0, 0x9
- bl FieldEffectActiveListRemove
- ldr r0, =sub_80B8D84
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080B8F84:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8F24
-
- thumb_func_start sub_80B8F98
-sub_80B8F98: @ 80B8F98
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gFieldEffectObjectTemplatePointers
- adds r0, 0x90
- ldr r0, [r0]
- movs r2, 0x18
- negs r2, r2
- movs r1, 0x78
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, r0, 4
- add r1, r8
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x4
- orrs r0, r2
- movs r2, 0xF
- ands r0, r2
- movs r2, 0x40
- orrs r0, r2
- strb r0, [r1, 0x5]
- movs r2, 0
- strh r2, [r1, 0x2E]
- strh r2, [r1, 0x30]
- strh r2, [r1, 0x32]
- ldr r0, =0x0000ffff
- strh r0, [r1, 0x34]
- ldrh r0, [r1, 0x22]
- strh r0, [r1, 0x36]
- strh r2, [r1, 0x38]
- ldr r1, =0x00003e41
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x00000e0e
- movs r0, 0x52
- bl SetGpuReg
- ldr r1, =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- ldr r0, =gUnknown_0855B610
- movs r1, 0xC0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0x12
- movs r1, 0x78
- bl SetGpuReg
- movs r4, 0x3
- ldr r7, =0x0600f800
- ldr r0, =0x0000bff4
- adds r6, r0, 0
-_080B901A:
- movs r2, 0xC
- lsls r0, r4, 1
- lsls r5, r4, 5
- adds r0, r4
- lsls r3, r0, 1
-_080B9024:
- adds r0, r5, r2
- lsls r0, 1
- adds r0, r7
- adds r1, r2, r6
- adds r1, r3, r1
- adds r1, 0x1
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x11
- bls _080B9024
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xE
- bls _080B901A
- movs r0, 0
- ldr r5, =gUnknown_0855B630
-_080B904A:
- movs r4, 0
- adds r7, r0, 0x1
- lsls r6, r0, 5
-_080B9050:
- lsls r1, r4, 2
- adds r1, r6, r1
- ldr r0, =0x06008020
- adds r3, r1, r0
- adds r0, r1, 0x1
- adds r0, r5
- ldrb r2, [r0]
- lsls r2, 8
- adds r0, r1, r5
- ldrb r0, [r0]
- adds r0, r2
- strh r0, [r3]
- ldr r0, =0x06008022
- adds r3, r1, r0
- adds r0, r1, 0x3
- adds r0, r5
- ldrb r2, [r0]
- lsls r2, 8
- adds r1, 0x2
- adds r1, r5
- ldrb r0, [r1]
- adds r0, r2
- strh r0, [r3]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _080B9050
- lsls r0, r7, 24
- lsrs r0, 24
- cmp r0, 0x59
- bls _080B904A
- mov r0, r8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B8F98
-
- thumb_func_start sub_80B90CC
-sub_80B90CC: @ 80B90CC
- push {r4,lr}
- ldr r0, =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x68]
- movs r1, 0x78
- movs r2, 0
- movs r3, 0x1
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r2, r4, 4
- adds r2, r4
- lsls r2, 2
- ldr r0, =gSprites
- adds r2, r0
- ldrb r1, [r2, 0x5]
- movs r0, 0xF
- ands r0, r1
- movs r1, 0xD
- negs r1, r1
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, =sub_80B9128
- str r0, [r2, 0x1C]
- ldr r0, =gFieldEffectArguments
- ldr r0, [r0]
- strh r0, [r2, 0x30]
- movs r0, 0x9E
- bl PlaySE
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B90CC
-
- thumb_func_start sub_80B9128
-sub_80B9128: @ 80B9128
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r1, 0x8C
- bl Cos
- movs r5, 0
- strh r0, [r4, 0x24]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- movs r1, 0x48
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x4
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x32]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080B918A
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- strb r0, [r3]
- ldrh r0, [r4, 0x24]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r1, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- subs r0, 0x8
- strh r0, [r1, 0x22]
- strh r5, [r1, 0x24]
- strh r5, [r1, 0x26]
-_080B918A:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x7F
- ble _080B919A
- adds r0, r4, 0
- movs r1, 0x1E
- bl FieldEffectStop
-_080B919A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9128
-
- thumb_func_start sub_80B91A4
-sub_80B91A4: @ 80B91A4
- push {lr}
- ldr r0, =sub_80B91D4
- movs r1, 0xFE
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, =gFieldEffectArguments
- ldr r0, [r0]
- strh r0, [r1, 0xA]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B91A4
-
- thumb_func_start sub_80B91D4
-sub_80B91D4: @ 80B91D4
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_0855C4F4
- 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_80B91D4
-
- thumb_func_start sub_80B9204
-sub_80B9204: @ 80B9204
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, =gPlayerAvatar
- ldrb r1, [r6, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080B922E
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B924C
-_080B922E:
- ldrb r0, [r6]
- strh r0, [r5, 0x26]
- movs r0, 0x1
- strb r0, [r6, 0x6]
- bl SetPlayerAvatarStateMask
- bl sub_808C114
- adds r0, r4, 0
- movs r1, 0x39
- bl FieldObjectSetSpecialAnim
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_080B924C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9204
-
- thumb_func_start sub_80B925C
-sub_80B925C: @ 80B925C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B928C
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldr r1, =gFieldEffectArguments
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- str r0, [r1]
- movs r0, 0x3B
- bl FieldEffectStart
-_080B928C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B925C
-
- thumb_func_start sub_80B92A0
-sub_80B92A0: @ 80B92A0
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x6
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _080B92E8
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r5, r0, r1
- ldrh r1, [r4, 0x26]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080B92D8
- ldrb r0, [r5, 0x1A]
- movs r1, 0x2
- bl sub_81555AC
- ldrb r0, [r5, 0x1A]
- movs r1, 0
- bl sub_81555D8
-_080B92D8:
- bl sub_80B94C4
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B92E8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B92A0
-
- thumb_func_start sub_80B92F8
-sub_80B92F8: @ 80B92F8
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xA]
- bl sub_80B9508
- lsls r0, 24
- cmp r0, 0
- beq _080B932C
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x10
- strh r0, [r4, 0xC]
- movs r0, 0x1
- bl SetPlayerAvatarTransitionFlags
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- movs r1, 0x2
- bl FieldObjectSetSpecialAnim
-_080B932C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B92F8
-
- thumb_func_start sub_80B933C
-sub_80B933C: @ 80B933C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r2, r0, r1
- ldrh r1, [r4, 0xC]
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _080B9362
- subs r0, r1, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _080B9380
-_080B9362:
- adds r0, r2, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B9380
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x9E
- bl PlaySE
- ldrb r0, [r4, 0xA]
- bl sub_80B9524
-_080B9380:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B933C
-
- thumb_func_start sub_80B9390
-sub_80B9390: @ 80B9390
- push {r4-r6,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _080B9406
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- movs r0, 0x3
- bl GetPlayerAvatarGraphicsIdByStateId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetGraphicsId
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r6, =gSprites
- adds r0, r6
- movs r1, 0x16
- bl StartSpriteAnim
- ldrb r0, [r4, 0x1]
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r4, 0x1]
- adds r0, r4, 0
- movs r1, 0x48
- bl FieldObjectSetSpecialAnim
- ldrh r1, [r5, 0x26]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080B93FC
- ldrb r1, [r4, 0x1A]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl DestroySprite
-_080B93FC:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- strh r0, [r5, 0xC]
-_080B9406:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9390
-
- thumb_func_start sub_80B9418
-sub_80B9418: @ 80B9418
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- ble _080B9464
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gMapObjects
- adds r4, r0
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimActive
- ldrb r1, [r4, 0x1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- ldrb r1, [r4, 0x2]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
- ldrb r0, [r5, 0xA]
- ldrb r1, [r4, 0x4]
- bl sub_80B9560
- bl CameraObjectReset2
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_080B9464:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9418
-
- thumb_func_start sub_80B9474
-sub_80B9474: @ 80B9474
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xA]
- bl sub_80B9508
- lsls r0, 24
- cmp r0, 0
- beq _080B948E
- bl sub_80AF0B4
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B948E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B9474
-
- thumb_func_start sub_80B9494
-sub_80B9494: @ 80B9494
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B94B6
- movs r0, 0x1F
- bl FieldEffectActiveListRemove
- ldr r0, =sub_80B91D4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080B94B6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9494
-
- thumb_func_start sub_80B94C4
-sub_80B94C4: @ 80B94C4
- push {lr}
- ldr r0, =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x68]
- movs r1, 0xFF
- movs r2, 0xB4
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r1, =gSprites
- adds r2, r1
- ldrb r3, [r2, 0x5]
- movs r1, 0xF
- ands r1, r3
- movs r3, 0xD
- negs r3, r3
- ands r1, r3
- movs r3, 0x4
- orrs r1, r3
- strb r1, [r2, 0x5]
- ldr r1, =sub_80B957C
- str r1, [r2, 0x1C]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B94C4
-
- thumb_func_start sub_80B9508
-sub_80B9508: @ 80B9508
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- bx lr
- .pool
- thumb_func_end sub_80B9508
-
- thumb_func_start sub_80B9524
-sub_80B9524: @ 80B9524
- 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
- ldr r0, =sub_80B963C
- str r0, [r4, 0x1C]
- movs r1, 0
- movs r0, 0x78
- strh r0, [r4, 0x20]
- strh r1, [r4, 0x22]
- strh r1, [r4, 0x24]
- strh r1, [r4, 0x26]
- adds r0, r4, 0
- adds r0, 0x2E
- movs r2, 0x10
- bl memset
- movs r0, 0x40
- strh r0, [r4, 0x3A]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9524
-
- thumb_func_start sub_80B9560
-sub_80B9560: @ 80B9560
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- strh r1, [r2, 0x3A]
- bx lr
- .pool
- thumb_func_end sub_80B9560
-
- thumb_func_start sub_80B957C
-sub_80B957C: @ 80B957C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B9628
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B95C0
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, =gUnknown_0855C548
- str r0, [r4, 0x10]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAffineAnim
- movs r0, 0x76
- strh r0, [r4, 0x20]
- ldr r0, =0x0000ffd0
- strh r0, [r4, 0x22]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r0, 0x40
- strh r0, [r4, 0x30]
- adds r0, 0xC0
- strh r0, [r4, 0x32]
-_080B95C0:
- ldrh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r4, 0x30]
- adds r0, r1
- strh r0, [r4, 0x30]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x78
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x78
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r2, [r4, 0x32]
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- ldr r0, =0x000007ff
- cmp r1, r0
- bgt _080B95F6
- adds r0, r2, 0
- adds r0, 0x60
- strh r0, [r4, 0x32]
-_080B95F6:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0x81
- ble _080B9628
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r1, [r4, 0x1]
- lsrs r1, 6
- ldrb r2, [r4, 0x3]
- lsrs r2, 6
- adds r0, r4, 0
- movs r3, 0
- bl CalcCenterToCornerVec
-_080B9628:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B957C
-
- thumb_func_start sub_80B963C
-sub_80B963C: @ 80B963C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r1, 0x8C
- bl Cos
- movs r5, 0
- strh r0, [r4, 0x24]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- movs r1, 0x48
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x4
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x32]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0x40
- beq _080B969A
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- strb r0, [r3]
- ldrh r0, [r4, 0x24]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r1, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- subs r0, 0x8
- strh r0, [r1, 0x22]
- strh r5, [r1, 0x24]
- strh r5, [r1, 0x26]
-_080B969A:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x7F
- ble _080B96A6
- movs r0, 0x1
- strh r0, [r4, 0x3C]
-_080B96A6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B963C
-
- thumb_func_start sub_80B96B0
-sub_80B96B0: @ 80B96B0
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B9784
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080B96FA
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, =gUnknown_0855C548
- str r0, [r4, 0x10]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- movs r0, 0x5E
- strh r0, [r4, 0x20]
- ldr r0, =0x0000ffe0
- strh r0, [r4, 0x22]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r0, 0xF0
- strh r0, [r4, 0x30]
- movs r0, 0x80
- lsls r0, 4
- strh r0, [r4, 0x32]
- movs r0, 0x80
- strh r0, [r4, 0x36]
-_080B96FA:
- ldrh r1, [r4, 0x32]
- lsls r1, 16
- asrs r1, 24
- ldrh r2, [r4, 0x30]
- adds r2, r1
- ldrh r0, [r4, 0x34]
- adds r0, r1
- strh r0, [r4, 0x34]
- movs r0, 0xFF
- ands r2, r0
- strh r2, [r4, 0x30]
- movs r3, 0x30
- ldrsh r0, [r4, r3]
- movs r1, 0x20
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x78
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r1, [r4, 0x32]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- movs r2, 0x80
- lsls r2, 1
- cmp r0, r2
- ble _080B973C
- ldrh r0, [r4, 0x36]
- subs r0, r1, r0
- strh r0, [r4, 0x32]
-_080B973C:
- ldrh r1, [r4, 0x36]
- movs r3, 0x36
- ldrsh r0, [r4, r3]
- cmp r0, 0xFF
- bgt _080B974C
- adds r0, r1, 0
- adds r0, 0x18
- strh r0, [r4, 0x36]
-_080B974C:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0xFF
- bgt _080B9756
- strh r2, [r4, 0x32]
-_080B9756:
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- cmp r0, 0x3B
- ble _080B9784
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_080B9784:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B96B0
-
- thumb_func_start sub_80B9794
-sub_80B9794: @ 80B9794
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80B9524
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_80B96B0
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9794
-
- thumb_func_start sub_80B97C0
-sub_80B97C0: @ 80B97C0
- push {lr}
- ldr r0, =sub_80B97D4
- movs r1, 0xFE
- bl CreateTask
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B97C0
-
- thumb_func_start sub_80B97D4
-sub_80B97D4: @ 80B97D4
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_0855C550
- 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_80B97D4
-
- thumb_func_start sub_80B9804
-sub_80B9804: @ 80B9804
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, =gPlayerAvatar
- ldrb r1, [r6, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080B982E
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B98A6
-_080B982E:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0x11
- strh r0, [r5, 0xC]
- ldrb r0, [r6]
- strh r0, [r5, 0x26]
- movs r0, 0x1
- strb r0, [r6, 0x6]
- bl SetPlayerAvatarStateMask
- ldrh r1, [r5, 0x26]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080B9856
- ldrb r0, [r4, 0x1A]
- movs r1, 0
- bl sub_81555AC
-_080B9856:
- movs r0, 0x3
- bl GetPlayerAvatarGraphicsIdByStateId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetGraphicsId
- bl CameraObjectReset2
- adds r0, r4, 0
- movs r1, 0x3
- bl FieldObjectTurn
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x16
- bl StartSpriteAnim
- ldrb r1, [r4, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- bl sub_80B94C4
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xA]
- bl sub_80B9524
- ldrb r0, [r5, 0xA]
- ldrb r1, [r4, 0x4]
- bl sub_80B9560
-_080B98A6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9804
-
- thumb_func_start sub_80B98B8
-sub_80B98B8: @ 80B98B8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r1, [r5, 0xC]
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _080B98D0
- subs r0, r1, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _080B9910
-_080B98D0:
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- ldrb r0, [r5, 0xA]
- movs r1, 0x40
- bl sub_80B9560
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- movs r1, 0
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- strh r1, [r4, 0x24]
- strh r1, [r4, 0x26]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- strh r1, [r5, 0xC]
-_080B9910:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B98B8
-
- thumb_func_start sub_80B9924
-sub_80B9924: @ 80B9924
- push {r4,lr}
- sub sp, 0x24
- adds r4, r0, 0
- ldr r1, =gUnknown_0855C56C
- mov r0, sp
- movs r2, 0x24
- bl memcpy
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- strh r0, [r1, 0x26]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x11
- ble _080B9962
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B9962:
- add sp, 0x24
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9924
-
- thumb_func_start sub_80B9978
-sub_80B9978: @ 80B9978
- push {r4-r6,lr}
- adds r6, r0, 0
- ldrb r0, [r6, 0xA]
- bl sub_80B9508
- lsls r0, 24
- cmp r0, 0
- beq _080B99DC
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r5, r0, 3
- adds r5, r0
- lsls r5, 2
- ldr r0, =gMapObjects
- adds r5, r0
- ldrb r0, [r5, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- ldrb r1, [r5, 0x1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- strb r0, [r5, 0x1]
- movs r0, 0x10
- ldrsh r1, [r5, r0]
- movs r0, 0x12
- ldrsh r2, [r5, r0]
- adds r0, r5, 0
- bl sub_808EB08
- movs r0, 0
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- bl sub_808C114
- adds r0, r5, 0
- movs r1, 0x39
- bl FieldObjectSetSpecialAnim
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
-_080B99DC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9978
-
- thumb_func_start sub_80B99F0
-sub_80B99F0: @ 80B99F0
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B9A18
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldrb r0, [r4, 0xA]
- bl sub_80B9794
-_080B9A18:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B99F0
-
- thumb_func_start sub_80B9A28
-sub_80B9A28: @ 80B9A28
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xA]
- bl sub_80B9508
- lsls r0, 24
- cmp r0, 0
- beq _080B9A54
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x10
- strh r0, [r4, 0xA]
-_080B9A54:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9A28
-
- thumb_func_start sub_80B9A60
-sub_80B9A60: @ 80B9A60
- push {r4-r7,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0xA]
- subs r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- cmp r0, 0
- bne _080B9ACA
- ldr r6, =gPlayerAvatar
- ldrb r1, [r6, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- movs r7, 0
- ldrh r1, [r5, 0x26]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080B9A94
- movs r7, 0x3
- ldrb r0, [r4, 0x1A]
- movs r1, 0x1
- bl sub_81555AC
-_080B9A94:
- adds r0, r7, 0
- bl GetPlayerAvatarGraphicsIdByStateId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetGraphicsId
- adds r0, r4, 0
- movs r1, 0x1
- bl FieldObjectTurn
- ldrh r0, [r5, 0x26]
- strb r0, [r6]
- movs r0, 0
- strb r0, [r6, 0x6]
- movs r0, 0x20
- bl FieldEffectActiveListRemove
- ldr r0, =sub_80B97D4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080B9ACA:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9A60
-
- thumb_func_start sub_80B9ADC
-sub_80B9ADC: @ 80B9ADC
- push {r4,lr}
- sub sp, 0x4
- ldr r4, =gFieldEffectArguments
- ldrb r0, [r4]
- ldrb r1, [r4, 0x4]
- ldrb r2, [r4, 0x8]
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _080B9B2C
- ldr r0, =sub_80B9BE8
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- mov r0, sp
- ldrb r0, [r0]
- strh r0, [r1, 0xC]
- ldr r0, [r4]
- strh r0, [r1, 0x14]
- ldr r0, [r4, 0x4]
- strh r0, [r1, 0x16]
- ldr r0, [r4, 0x8]
- strh r0, [r1, 0x18]
- b _080B9B32
- .pool
-_080B9B2C:
- movs r0, 0x41
- bl FieldEffectActiveListRemove
-_080B9B32:
- movs r0, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B9ADC
-
- thumb_func_start sub_80B9B3C
-sub_80B9B3C: @ 80B9B3C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080B9B78
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _080B9B7C
- movs r0, 0
- strh r0, [r4, 0xC]
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080B9B7C
- subs r0, r1, 0x1
- b _080B9B7A
- .pool
-_080B9B78:
- movs r0, 0x4
-_080B9B7A:
- strh r0, [r4, 0xA]
-_080B9B7C:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080B9BB6
- movs r0, 0
- strh r0, [r4]
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B9BAC
- ldrh r1, [r4, 0xA]
- negs r1, r1
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl SetCameraPanning
- b _080B9BB6
-_080B9BAC:
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0
- bl SetCameraPanning
-_080B9BB6:
- bl UpdateCameraPanning
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B9BC8
- adds r0, r5, 0
- bl DestroyTask
-_080B9BC8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80B9B3C
-
- thumb_func_start sub_80B9BD0
-sub_80B9BD0: @ 80B9BD0
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0x1
- strh r0, [r1, 0x16]
- bx lr
- .pool
- thumb_func_end sub_80B9BD0
-
- thumb_func_start sub_80B9BE8
-sub_80B9BE8: @ 80B9BE8
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- bl InstallCameraPanAheadCallback
- movs r0, 0
- bl SetCameraPanningCallback
- ldr r1, =gUnknown_0855C590
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl _call_via_r2
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9BE8
-
- thumb_func_start sub_80B9C28
-sub_80B9C28: @ 80B9C28
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =sub_80B9B3C
- movs r1, 0x5A
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x58
- bl PlaySE
- strh r4, [r5, 0xA]
- ldrh r0, [r5, 0x2]
- adds r0, 0x1
- strh r0, [r5, 0x2]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9C28
-
- thumb_func_start sub_80B9C54
-sub_80B9C54: @ 80B9C54
- push {r4-r7,lr}
- sub sp, 0x4
- adds r7, r0, 0
- ldrh r0, [r7, 0x6]
- adds r0, 0x1
- strh r0, [r7, 0x6]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x78
- ble _080B9CC2
- ldr r2, =gMapObjects
- movs r1, 0x4
- ldrsh r0, [r7, r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- ldrb r0, [r1, 0x1]
- movs r2, 0x20
- orrs r0, r2
- strb r0, [r1, 0x1]
- ldr r6, =0x0000ffff
- ldr r5, =0x00007fff
- adds r0, r6, 0
- movs r1, 0x10
- adds r2, r5, 0
- bl BlendPalettes
- str r5, [sp]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- adds r0, r4, 0
- bl sub_80B9D24
- movs r0, 0x57
- bl PlaySE
- ldrb r0, [r7, 0xA]
- bl sub_80B9BD0
- movs r0, 0
- strh r0, [r7, 0x6]
- ldrh r0, [r7, 0x2]
- adds r0, 0x1
- strh r0, [r7, 0x2]
-_080B9CC2:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9C54
-
- thumb_func_start sub_80B9CDC
-sub_80B9CDC: @ 80B9CDC
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B9D16
- ldr r0, =sub_80B9B3C
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080B9D16
- bl InstallCameraPanAheadCallback
- ldrb r0, [r4, 0xC]
- ldrb r1, [r4, 0xE]
- ldrb r2, [r4, 0x10]
- bl RemoveFieldObjectByLocalIdAndMap
- movs r0, 0x41
- bl FieldEffectActiveListRemove
- adds r0, r5, 0
- bl DestroyTask
-_080B9D16:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9CDC
-
- thumb_func_start sub_80B9D24
-sub_80B9D24: @ 80B9D24
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- ldr r0, =gUnknown_03005DEC
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r3, 0x20
- ldrsh r0, [r6, r3]
- adds r2, r0
- movs r1, 0x24
- ldrsh r0, [r6, r1]
- adds r2, r0
- ldr r0, =gUnknown_03005DE8
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r3, 0x22
- ldrsh r1, [r6, r3]
- adds r0, r1
- movs r3, 0x26
- ldrsh r1, [r6, r3]
- adds r0, r1
- subs r0, 0x4
- movs r5, 0
- lsls r2, 16
- mov r8, r2
- lsls r7, r0, 16
-_080B9D5A:
- ldr r0, =gUnknown_0855C5EC
- mov r2, r8
- asrs r1, r2, 16
- asrs r2, r7, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080B9D96
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- strh r5, [r4, 0x2E]
- ldrb r1, [r6, 0x5]
- lsrs r1, 4
- lsls r1, 4
- ldrb r2, [r4, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
-_080B9D96:
- adds r5, 0x1
- cmp r5, 0x3
- ble _080B9D5A
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9D24
-
- thumb_func_start sub_80B9DB8
-sub_80B9DB8: @ 80B9DB8
- push {lr}
- adds r1, r0, 0
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- beq _080B9DE4
- cmp r0, 0x1
- bgt _080B9DCE
- cmp r0, 0
- beq _080B9DD8
- b _080B9E02
-_080B9DCE:
- cmp r0, 0x2
- beq _080B9DF0
- cmp r0, 0x3
- beq _080B9DF6
- b _080B9E02
-_080B9DD8:
- ldrh r0, [r1, 0x20]
- subs r0, 0x10
- strh r0, [r1, 0x20]
- ldrh r0, [r1, 0x22]
- subs r0, 0xC
- b _080B9E00
-_080B9DE4:
- ldrh r0, [r1, 0x20]
- adds r0, 0x10
- strh r0, [r1, 0x20]
- ldrh r0, [r1, 0x22]
- subs r0, 0xC
- b _080B9E00
-_080B9DF0:
- ldrh r0, [r1, 0x20]
- subs r0, 0x10
- b _080B9DFA
-_080B9DF6:
- ldrh r0, [r1, 0x20]
- adds r0, 0x10
-_080B9DFA:
- strh r0, [r1, 0x20]
- ldrh r0, [r1, 0x22]
- adds r0, 0xC
-_080B9E00:
- strh r0, [r1, 0x22]
-_080B9E02:
- ldrh r0, [r1, 0x20]
- adds r0, 0x4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xF8
- bhi _080B9E1E
- movs r0, 0x22
- ldrsh r2, [r1, r0]
- movs r0, 0x4
- negs r0, r0
- cmp r2, r0
- blt _080B9E1E
- cmp r2, 0xA4
- ble _080B9E24
-_080B9E1E:
- adds r0, r1, 0
- bl DestroySprite
-_080B9E24:
- pop {r0}
- bx r0
- thumb_func_end sub_80B9DB8
-
- thumb_func_start sub_80B9E28
-sub_80B9E28: @ 80B9E28
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r7, =gFieldEffectArguments
- ldrb r0, [r7]
- ldrb r1, [r7, 0x4]
- ldrb r2, [r7, 0x8]
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _080B9EBE
- mov r0, sp
- ldrb r0, [r0]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gMapObjects
- adds r4, r0
- movs r0, 0x10
- ldrsh r5, [r4, r0]
- subs r5, 0x7
- movs r0, 0x12
- ldrsh r6, [r4, r0]
- subs r6, 0x7
- ldr r1, [r7, 0xC]
- subs r5, r1, r5
- lsls r5, 4
- ldr r2, [r7, 0x10]
- subs r6, r2, r6
- lsls r6, 4
- adds r1, 0x7
- lsls r1, 16
- asrs r1, 16
- adds r2, 0x7
- lsls r2, 16
- asrs r2, 16
- adds r0, r4, 0
- bl npc_coords_shift
- ldr r0, =sub_80B9EDC
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r1
- ldrb r0, [r4, 0x4]
- strh r0, [r2, 0xA]
- ldr r3, =gSprites
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x20]
- adds r0, r5
- strh r0, [r2, 0xC]
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x22]
- adds r0, r6
- strh r0, [r2, 0xE]
- ldr r0, [r7, 0x14]
- strh r0, [r2, 0x18]
- mov r0, sp
- ldrb r0, [r0]
- strh r0, [r2, 0x1A]
-_080B9EBE:
- movs r0, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B9E28
-
- thumb_func_start sub_80B9EDC
-sub_80B9EDC: @ 80B9EDC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r6, r0, r1
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _080B9F10
- cmp r0, 0x1
- beq _080B9F4E
- b _080B9FAC
- .pool
-_080B9F10:
- ldrh r0, [r6, 0x20]
- lsls r0, 4
- strh r0, [r5, 0x8]
- ldrh r0, [r6, 0x22]
- lsls r0, 4
- strh r0, [r5, 0xA]
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- lsls r0, 4
- movs r2, 0x8
- ldrsh r1, [r5, r2]
- subs r0, r1
- movs r2, 0x10
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r5, 0xC]
- movs r1, 0x6
- ldrsh r0, [r5, r1]
- lsls r0, 4
- movs r2, 0xA
- ldrsh r1, [r5, r2]
- subs r0, r1
- movs r2, 0x10
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r5, 0xE]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_080B9F4E:
- ldrh r1, [r5, 0x10]
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _080B9F7C
- subs r0, r1, 0x1
- strh r0, [r5, 0x10]
- ldrh r1, [r5, 0xC]
- ldrh r0, [r5, 0x8]
- adds r1, r0
- strh r1, [r5, 0x8]
- ldrh r0, [r5, 0xE]
- ldrh r2, [r5, 0xA]
- adds r0, r2
- strh r0, [r5, 0xA]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r6, 0x20]
- ldrh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r6, 0x22]
- b _080B9FAC
-_080B9F7C:
- movs r1, 0x12
- ldrsh r0, [r5, r1]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gMapObjects
- adds r4, r0
- ldrh r0, [r5, 0x4]
- strh r0, [r6, 0x20]
- ldrh r0, [r5, 0x6]
- strh r0, [r6, 0x22]
- adds r0, r4, 0
- bl npc_coords_shift_still
- ldrb r0, [r4]
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x42
- bl FieldEffectActiveListRemove
- adds r0, r7, 0
- bl DestroyTask
-_080B9FAC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9EDC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s
index 754a8f7ff..6cf62ba8b 100644
--- a/asm/field_effect_helpers.s
+++ b/asm/field_effect_helpers.s
@@ -100,7 +100,7 @@ _08153F7A:
sub_8153F98: @ 8153F98
push {lr}
ldrb r0, [r0, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
ldrh r0, [r0, 0xA]
subs r0, 0x2
lsls r0, 16
@@ -123,7 +123,7 @@ npc_pal_op: @ 8153FAC
movs r0, 0
strh r0, [r4, 0x32]
ldrb r0, [r5, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
ldrb r1, [r0, 0xC]
movs r0, 0x80
ands r0, r1
@@ -172,7 +172,7 @@ npc_pal_op_B: @ 815401C
lsls r1, 24
lsrs r4, r1, 24
ldrb r0, [r0, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
adds r2, r0, 0
ldrh r1, [r2, 0x4]
ldr r0, =0x000011ff
@@ -204,7 +204,7 @@ _0815405A:
bl pal_patch_for_npc
_0815406A:
adds r0, r4, 0
- bl sub_80ABE18
+ bl UpdateSpritePaletteWithWeather
_08154070:
pop {r4}
pop {r0}
@@ -217,7 +217,7 @@ npc_pal_op_A: @ 8154078
lsls r1, 24
lsrs r4, r1, 24
ldrb r0, [r0, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
adds r2, r0, 0
ldrh r1, [r2, 0x4]
ldr r0, =0x000011ff
@@ -227,7 +227,7 @@ npc_pal_op_A: @ 8154078
adds r1, r4, 0
bl pal_patch_for_npc
adds r0, r4, 0
- bl sub_80ABE18
+ bl UpdateSpritePaletteWithWeather
_0815409C:
pop {r4}
pop {r0}
@@ -248,7 +248,7 @@ objc_reflection_maybe: @ 81540A8
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r7, r0, r1
ldrb r1, [r7, 0x4]
lsls r0, r1, 4
@@ -578,16 +578,16 @@ oei_shadow: @ 8154340
ldrb r0, [r5]
ldrb r1, [r5, 0x4]
ldrb r2, [r5, 0x8]
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
lsls r0, 24
lsrs r0, 24
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
adds r1, r2
ldrb r0, [r1, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
adds r4, r0, 0
ldr r2, =gFieldEffectObjectTemplatePointers
ldr r1, =gUnknown_085CDC3E
@@ -659,7 +659,7 @@ oamc_shadow: @ 81543E4
lsls r2, 24
lsrs r2, 24
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
beq _08154412
@@ -673,7 +673,7 @@ _08154412:
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r4, r0, r1
ldrb r0, [r4, 0x4]
lsls r1, r0, 4
@@ -877,7 +877,7 @@ _0815459C:
adds r1, r4, 0
adds r2, r7, 0
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
bne _081545F0
@@ -909,7 +909,7 @@ _08154604:
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r2, r0, r1
ldr r0, [r2, 0x10]
ldr r1, [r5, 0x30]
@@ -931,7 +931,7 @@ _08154624:
_08154632:
adds r0, r5, 0
movs r1, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
ldrh r1, [r5, 0x2E]
lsls r1, 24
lsrs r1, 24
@@ -1216,7 +1216,7 @@ _0815484C:
adds r1, r7, 0
adds r2, r6, 0
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
bne _081548A0
@@ -1248,7 +1248,7 @@ _081548B4:
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r2, r0, r1
ldr r0, [r2, 0x10]
ldr r1, [r5, 0x30]
@@ -1262,7 +1262,7 @@ _081548B4:
_081548D4:
adds r0, r5, 0
movs r1, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
ldrh r1, [r5, 0x2E]
lsls r1, 24
lsrs r1, 24
@@ -1340,13 +1340,13 @@ sub_815496C: @ 815496C
ldrb r0, [r6]
ldrb r1, [r6, 0x4]
ldrb r2, [r6, 0x8]
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r5, r1, r0
ldr r0, =gFieldEffectObjectTemplatePointers
ldr r0, [r0, 0x78]
@@ -1428,11 +1428,11 @@ sub_8154A10: @ 8154A10
lsls r2, 24
lsrs r2, 24
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
bne _08154A4E
- ldr r5, =gMapObjects
+ ldr r5, =gEventObjects
mov r0, sp
ldrb r1, [r0]
lsls r0, r1, 3
@@ -1451,7 +1451,7 @@ _08154A4E:
.pool
_08154A5C:
ldrb r0, [r1, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
mov r8, r0
mov r0, sp
ldrb r1, [r0]
@@ -1523,7 +1523,7 @@ _08154AB2:
lsls r1, 29
lsrs r1, 31
adds r0, r4, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
_08154AF2:
add sp, 0x4
pop {r3}
@@ -1729,7 +1729,7 @@ sub_8154C7C: @ 8154C7C
_08154C92:
adds r0, r1, 0
movs r1, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
pop {r0}
bx r0
thumb_func_end sub_8154C7C
@@ -1758,7 +1758,7 @@ sub_8154CA0: @ 8154CA0
lsls r1, 29
lsrs r1, 31
adds r0, r4, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
movs r1, 0x30
ldrsh r0, [r4, r1]
cmp r0, 0x38
@@ -1781,13 +1781,13 @@ sub_8154CEC: @ 8154CEC
ldrb r0, [r6]
ldrb r1, [r6, 0x4]
ldrb r2, [r6, 0x8]
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r5, r1, r0
ldr r0, =gFieldEffectObjectTemplatePointers
ldr r0, [r0, 0x34]
@@ -1800,7 +1800,7 @@ sub_8154CEC: @ 8154CEC
cmp r4, 0x40
beq _08154D76
ldrb r0, [r5, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
lsls r3, r4, 4
adds r3, r4
lsls r3, 2
@@ -1870,7 +1870,7 @@ sub_8154D90: @ 8154D90
lsls r2, 24
lsrs r2, 24
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
beq _08154DCA
@@ -1881,7 +1881,7 @@ _08154DC0:
b _08154E0A
_08154DCA:
ldr r3, =gSprites
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
mov r0, sp
ldrb r1, [r0]
lsls r0, r1, 3
@@ -1910,7 +1910,7 @@ _08154DCA:
strh r0, [r4, 0x22]
adds r0, r4, 0
movs r1, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
_08154E0A:
add sp, 0x4
pop {r4}
@@ -2034,13 +2034,13 @@ sub_8154EFC: @ 8154EFC
ldrb r0, [r7]
ldrb r1, [r7, 0x4]
ldrb r2, [r7, 0x8]
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r6, r1, r0
ldr r0, =gFieldEffectObjectTemplatePointers
ldr r0, [r0, 0x34]
@@ -2053,7 +2053,7 @@ sub_8154EFC: @ 8154EFC
cmp r5, 0x40
beq _08154F92
ldrb r0, [r6, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
adds r4, r0, 0
lsls r0, r5, 4
adds r0, r5
@@ -2123,11 +2123,11 @@ sub_8154FB4: @ 8154FB4
lsls r2, 24
lsrs r2, 24
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
bne _08154FEE
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
mov r0, sp
ldrb r1, [r0]
lsls r0, r1, 3
@@ -2162,7 +2162,7 @@ _08154FFC:
strb r0, [r1]
adds r0, r4, 0
movs r1, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
ldr r1, [r5, 0x10]
ldr r0, [r4, 0x34]
cmp r1, r0
@@ -2242,13 +2242,13 @@ sub_81550B4: @ 81550B4
ldrb r0, [r6]
ldrb r1, [r6, 0x4]
ldrb r2, [r6, 0x8]
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r5, r1, r0
ldr r0, =gFieldEffectObjectTemplatePointers
ldr r0, [r0, 0x7C]
@@ -2328,11 +2328,11 @@ sub_8155158: @ 8155158
lsls r2, 24
lsrs r2, 24
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
bne _08155192
- ldr r5, =gMapObjects
+ ldr r5, =gEventObjects
mov r0, sp
ldrb r1, [r0]
lsls r0, r1, 3
@@ -2351,7 +2351,7 @@ _08155192:
.pool
_081551A0:
ldrb r0, [r1, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
mov r1, sp
ldrb r2, [r1]
lsls r1, r2, 3
@@ -2381,7 +2381,7 @@ _081551A0:
strb r0, [r1]
adds r0, r4, 0
movs r1, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
_081551E4:
add sp, 0x4
pop {r4,r5}
@@ -2765,7 +2765,7 @@ sub_81554AC: @ 81554AC
movs r2, 0x32
ldrsh r1, [r4, r2]
bl CurrentMapDrawMetatileAt
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
@@ -2789,7 +2789,7 @@ sub_815550C: @ 815550C
push {r4,lr}
adds r4, r0, 0
movs r1, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
adds r0, r4, 0
adds r0, 0x3F
ldrb r1, [r0]
@@ -2972,7 +2972,7 @@ sub_8155658: @ 8155658
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r4, r0
ldrb r0, [r4, 0x4]
lsls r5, r0, 4
@@ -3319,13 +3319,13 @@ sub_8155900: @ 8155900
ldrb r0, [r7]
ldrb r1, [r7, 0x4]
ldrb r2, [r7, 0x8]
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r6, r1, r0
ldr r0, =gFieldEffectObjectTemplatePointers
ldr r0, [r0, 0x74]
@@ -3338,7 +3338,7 @@ sub_8155900: @ 8155900
cmp r4, 0x40
beq _081559A4
ldrb r0, [r6, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
adds r5, r0, 0
lsls r0, r4, 4
adds r0, r4
@@ -3415,11 +3415,11 @@ sub_81559BC: @ 81559BC
lsls r2, 24
lsrs r2, 24
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
bne _081559F6
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
mov r0, sp
ldrb r1, [r0]
lsls r0, r1, 3
@@ -3474,7 +3474,7 @@ _08155A46:
strh r6, [r4, 0x20]
strh r5, [r4, 0x22]
ldr r3, =gSprites
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
mov r0, sp
ldrb r1, [r0]
lsls r0, r1, 3
@@ -3493,7 +3493,7 @@ _08155A46:
strb r0, [r1]
adds r0, r4, 0
movs r1, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
_08155A76:
add sp, 0x4
pop {r4-r6}
@@ -3567,7 +3567,7 @@ sub_8155AEC: @ 8155AEC
strh r1, [r4, 0x22]
adds r0, r4, 0
movs r1, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
ldrh r1, [r4, 0x3E]
ldr r0, =0x00001004
ands r0, r1
@@ -3694,7 +3694,7 @@ ShowDisguiseFieldEffect: @ 8155BD0
ldrb r1, [r5, 0x4]
ldrb r2, [r5, 0x8]
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
beq _08155C08
@@ -3783,7 +3783,7 @@ sub_8155C88: @ 8155C88
lsls r2, 24
lsrs r2, 24
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
beq _08155CB8
@@ -3793,7 +3793,7 @@ sub_8155C88: @ 8155C88
adds r0, r5, 0
bl FieldEffectStop
_08155CB8:
- ldr r4, =gMapObjects
+ ldr r4, =gEventObjects
mov r0, sp
ldrb r1, [r0]
lsls r0, r1, 3
@@ -3801,7 +3801,7 @@ _08155CB8:
lsls r0, 2
adds r0, r4
ldrb r0, [r0, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
mov r1, sp
ldrb r2, [r1]
lsls r1, r2, 3
@@ -4460,7 +4460,7 @@ sub_8156194: @ 8156194
_081561B2:
adds r0, r4, 0
movs r1, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
ldrh r0, [r4, 0x2E]
lsls r0, 24
lsrs r0, 24
@@ -4492,7 +4492,7 @@ sub_81561D0: @ 81561D0
_081561EE:
adds r0, r2, 0
movs r1, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
_081561F6:
pop {r0}
bx r0
@@ -4514,14 +4514,14 @@ _08156212:
lsls r0, r7, 3
adds r0, r7
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r4, r0, r1
ldrb r0, [r4]
lsls r0, 31
cmp r0, 0
beq _081562B4
ldrb r0, [r4, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
ldrb r1, [r4, 0x4]
lsls r0, r1, 4
adds r0, r1
diff --git a/asm/field_ground_effect.s b/asm/field_ground_effect.s
deleted file mode 100644
index 2152a5c5b..000000000
--- a/asm/field_ground_effect.s
+++ /dev/null
@@ -1,1929 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start GetAllGroundEffectFlags_OnSpawn
-@ void GetAllGroundEffectFlags_OnSpawn(struct npc_state *fieldObject, u32 *flags)
-GetAllGroundEffectFlags_OnSpawn: @ 8096638
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl FieldObjectUpdateMetatileBehaviors
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Reflection
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_TallGrassOnSpawn
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_LongGrassOnSpawn
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_SandHeap
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_ShallowFlowingWater
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_ShortGrass
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_HotSprings
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetAllGroundEffectFlags_OnSpawn
-
- thumb_func_start GetAllGroundEffectFlags_OnBeginStep
-@ void GetAllGroundEffectFlags_OnBeginStep(struct npc_state *fieldObject, u32 *flags)
-GetAllGroundEffectFlags_OnBeginStep: @ 8096680
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl FieldObjectUpdateMetatileBehaviors
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Reflection
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_TallGrassOnBeginStep
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_LongGrassOnBeginStep
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Tracks
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_SandHeap
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_ShallowFlowingWater
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Puddle
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_ShortGrass
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_HotSprings
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetAllGroundEffectFlags_OnBeginStep
-
- thumb_func_start GetAllGroundEffectFlags_OnFinishStep
-@ void GetAllGroundEffectFlags_OnFinishStep(struct npc_state *fieldObject, u32 *flags)
-GetAllGroundEffectFlags_OnFinishStep: @ 80966D8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl FieldObjectUpdateMetatileBehaviors
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_ShallowFlowingWater
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_SandHeap
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Puddle
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Ripple
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_ShortGrass
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_HotSprings
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Seaweed
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_JumpLanding
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetAllGroundEffectFlags_OnFinishStep
-
- thumb_func_start FieldObjectUpdateMetatileBehaviors
-@ void FieldObjectUpdateMetatileBehaviors(struct npc_state *fieldObject)
-FieldObjectUpdateMetatileBehaviors: @ 8096728
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- movs r2, 0x16
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- strb r0, [r4, 0x1F]
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- strb r0, [r4, 0x1E]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end FieldObjectUpdateMetatileBehaviors
-
- thumb_func_start GetGroundEffectFlags_Reflection
-@ void GetGroundEffectFlags_Reflection(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_Reflection: @ 8096750
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, =gUnknown_0850E5DC
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- adds r0, r4, 0
- bl FieldObjectCheckForReflectiveSurface
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _08096798
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 30
- cmp r0, 0
- blt _080967A2
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4, 0x2]
- subs r0, r2, 0x1
- lsls r0, 2
- add r0, sp
- ldr r1, [r5]
- ldr r0, [r0]
- orrs r1, r0
- str r1, [r5]
- b _080967A2
- .pool
-_08096798:
- ldrb r1, [r4, 0x2]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_080967A2:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Reflection
-
- thumb_func_start GetGroundEffectFlags_TallGrassOnSpawn
-@ void GetGroundEffectFlags_TallGrassOnSpawn(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_TallGrassOnSpawn: @ 80967AC
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsTallGrass
- lsls r0, 24
- cmp r0, 0
- beq _080967C4
- ldr r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- str r0, [r4]
-_080967C4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_TallGrassOnSpawn
-
- thumb_func_start GetGroundEffectFlags_TallGrassOnBeginStep
-@ void GetGroundEffectFlags_TallGrassOnBeginStep(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_TallGrassOnBeginStep: @ 80967CC
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsTallGrass
- lsls r0, 24
- cmp r0, 0
- beq _080967E4
- ldr r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- str r0, [r4]
-_080967E4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_TallGrassOnBeginStep
-
- thumb_func_start GetGroundEffectFlags_LongGrassOnSpawn
-@ void GetGroundEffectFlags_LongGrassOnSpawn(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_LongGrassOnSpawn: @ 80967EC
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsLongGrass
- lsls r0, 24
- cmp r0, 0
- beq _08096804
- ldr r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- str r0, [r4]
-_08096804:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_LongGrassOnSpawn
-
- thumb_func_start GetGroundEffectFlags_LongGrassOnBeginStep
-@ void GetGroundEffectFlags_LongGrassOnBeginStep(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_LongGrassOnBeginStep: @ 809680C
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsLongGrass
- lsls r0, 24
- cmp r0, 0
- beq _08096824
- ldr r0, [r4]
- movs r1, 0x8
- orrs r0, r1
- str r0, [r4]
-_08096824:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_LongGrassOnBeginStep
-
- thumb_func_start GetGroundEffectFlags_Tracks
-@ void GetGroundEffectFlags_Tracks(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_Tracks: @ 809682C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsDeepSand
- lsls r0, 24
- cmp r0, 0
- beq _08096846
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 1
- b _08096862
-_08096846:
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsSandOrDeepSand
- lsls r0, 24
- cmp r0, 0
- bne _0809685E
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsUnusedFootprintMetatile
- lsls r0, 24
- cmp r0, 0
- beq _08096866
-_0809685E:
- ldr r0, [r5]
- movs r1, 0x80
-_08096862:
- orrs r0, r1
- str r0, [r5]
-_08096866:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Tracks
-
- thumb_func_start GetGroundEffectFlags_SandHeap
-@ void GetGroundEffectFlags_SandHeap(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_SandHeap: @ 809686C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsDeepSand
- lsls r0, 24
- cmp r0, 0
- beq _080968AA
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsDeepSand
- lsls r0, 24
- cmp r0, 0
- beq _080968AA
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 27
- cmp r0, 0
- blt _080968B4
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r4, 0x2]
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 4
- orrs r0, r1
- str r0, [r5]
- b _080968B4
-_080968AA:
- ldrb r1, [r4, 0x2]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_080968B4:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_SandHeap
-
- thumb_func_start GetGroundEffectFlags_ShallowFlowingWater
-@ void GetGroundEffectFlags_ShallowFlowingWater(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_ShallowFlowingWater: @ 80968BC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsShallowFlowingWater
- lsls r0, 24
- cmp r0, 0
- beq _080968DA
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsShallowFlowingWater
- lsls r0, 24
- cmp r0, 0
- bne _080968F2
-_080968DA:
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsPacifidlogLog
- lsls r0, 24
- cmp r0, 0
- beq _08096910
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsPacifidlogLog
- lsls r0, 24
- cmp r0, 0
- beq _08096910
-_080968F2:
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 28
- cmp r0, 0
- blt _0809691A
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r4, 0x2]
- ldr r0, [r5]
- movs r1, 0x40
- orrs r0, r1
- str r0, [r5]
- b _0809691A
-_08096910:
- ldrb r1, [r4, 0x2]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_0809691A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_ShallowFlowingWater
-
- thumb_func_start GetGroundEffectFlags_Puddle
-@ void GetGroundEffectFlags_Puddle(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_Puddle: @ 8096920
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsPuddle
- lsls r0, 24
- cmp r0, 0
- beq _08096948
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsPuddle
- lsls r0, 24
- cmp r0, 0
- beq _08096948
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 3
- orrs r0, r1
- str r0, [r5]
-_08096948:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Puddle
-
- thumb_func_start GetGroundEffectFlags_Ripple
-@ void GetGroundEffectFlags_Ripple(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_Ripple: @ 8096950
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_HasRipples
- lsls r0, 24
- cmp r0, 0
- beq _0809696A
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 2
- orrs r0, r1
- str r0, [r4]
-_0809696A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Ripple
-
- thumb_func_start GetGroundEffectFlags_ShortGrass
-@ void GetGroundEffectFlags_ShortGrass(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_ShortGrass: @ 8096970
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsShortGrass
- lsls r0, 24
- cmp r0, 0
- beq _080969AE
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsShortGrass
- lsls r0, 24
- cmp r0, 0
- beq _080969AE
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 29
- cmp r0, 0
- blt _080969B8
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4, 0x2]
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 10
- orrs r0, r1
- str r0, [r5]
- b _080969B8
-_080969AE:
- ldrb r1, [r4, 0x2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_080969B8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_ShortGrass
-
- thumb_func_start GetGroundEffectFlags_HotSprings
-@ void GetGroundEffectFlags_HotSprings(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_HotSprings: @ 80969C0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsHotSprings
- lsls r0, 24
- cmp r0, 0
- beq _080969FE
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsHotSprings
- lsls r0, 24
- cmp r0, 0
- beq _080969FE
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 26
- cmp r0, 0
- blt _08096A08
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r4, 0x2]
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 11
- orrs r0, r1
- str r0, [r5]
- b _08096A08
-_080969FE:
- ldrb r1, [r4, 0x2]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_08096A08:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_HotSprings
-
- thumb_func_start GetGroundEffectFlags_Seaweed
-@ void GetGroundEffectFlags_Seaweed(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_Seaweed: @ 8096A10
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsSeaweed
- lsls r0, 24
- cmp r0, 0
- beq _08096A2A
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 12
- orrs r0, r1
- str r0, [r4]
-_08096A2A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Seaweed
-
- thumb_func_start GetGroundEffectFlags_JumpLanding
-@ void GetGroundEffectFlags_JumpLanding(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_JumpLanding: @ 8096A30
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- adds r6, r1, 0
- ldr r0, [r7]
- ldr r1, =0x02000020
- ands r0, r1
- cmp r0, 0x20
- bne _08096A82
- movs r5, 0
- ldr r0, =gUnknown_0850E5E4
- mov r8, r0
-_08096A4A:
- lsls r4, r5, 2
- mov r0, r8
- adds r1, r4, r0
- ldrb r0, [r7, 0x1E]
- ldr r1, [r1]
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- beq _08096A78
- ldr r0, =gUnknown_0850E5FC
- adds r0, r4, r0
- ldr r1, [r6]
- ldr r0, [r0]
- orrs r1, r0
- str r1, [r6]
- b _08096A82
- .pool
-_08096A78:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _08096A4A
-_08096A82:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_JumpLanding
-
- thumb_func_start FieldObjectCheckForReflectiveSurface
-@ u8 FieldObjectCheckForReflectiveSurface(struct npc_state *fieldObject)
-FieldObjectCheckForReflectiveSurface: @ 8096A8C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r5, r0, 0
- ldrb r0, [r5, 0x5]
- bl GetFieldObjectGraphicsInfo
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- adds r1, 0x8
- lsls r1, 12
- lsrs r1, 16
- str r1, [sp]
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- adds r0, 0x8
- lsls r0, 12
- movs r4, 0
- lsrs r2, r0, 16
- str r2, [sp, 0x4]
- asrs r0, 16
- cmp r4, r0
- blt _08096AC2
- b _08096BC8
-_08096AC2:
- movs r0, 0x1
- mov r10, r0
-_08096AC6:
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- add r1, r10
- lsls r4, 16
- asrs r6, r4, 16
- adds r1, r6
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- mov r9, r4
- cmp r0, 0
- bne _08096BCA
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- movs r2, 0x16
- ldrsh r1, [r5, r2]
- add r1, r10
- adds r1, r6
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08096BCA
- movs r2, 0x1
- ldr r1, [sp]
- lsls r0, r1, 16
- asrs r1, r0, 16
- mov r8, r0
- cmp r2, r1
- bge _08096BB6
- movs r0, 0x80
- lsls r0, 9
- asrs r7, r0, 16
-_08096B20:
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- lsls r1, r2, 16
- asrs r4, r1, 16
- adds r0, r4
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- adds r1, r7
- adds r1, r6
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08096BCA
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- subs r0, r4
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- adds r1, r7
- adds r1, r6
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08096BCA
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- adds r0, r4
- movs r2, 0x16
- ldrsh r1, [r5, r2]
- adds r1, r7
- adds r1, r6
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08096BCA
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- subs r0, r4
- movs r2, 0x16
- ldrsh r1, [r5, r2]
- adds r1, r7
- adds r1, r6
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08096BCA
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r0, r8
- blt _08096B20
-_08096BB6:
- movs r1, 0x80
- lsls r1, 9
- add r1, r9
- lsrs r4, r1, 16
- ldr r2, [sp, 0x4]
- lsls r0, r2, 16
- cmp r1, r0
- bge _08096BC8
- b _08096AC6
-_08096BC8:
- movs r0, 0
-_08096BCA:
- 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 FieldObjectCheckForReflectiveSurface
-
- thumb_func_start GetReflectionTypeByMetatileBehavior
-@ u8 GetReflectionTypeByMetatileBehavior(u8 metatileBehavior)
-GetReflectionTypeByMetatileBehavior: @ 8096BDC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsIce
- lsls r0, 24
- cmp r0, 0
- beq _08096BF2
- movs r0, 0x1
- b _08096C04
-_08096BF2:
- adds r0, r4, 0
- bl MetatileBehavior_IsReflective
- lsls r0, 24
- cmp r0, 0
- bne _08096C02
- movs r0, 0
- b _08096C04
-_08096C02:
- movs r0, 0x2
-_08096C04:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetReflectionTypeByMetatileBehavior
-
- thumb_func_start GetLedgeJumpDirection
-@ u8 GetLedgeJumpDirection(u16 x, u16 y, u8 direction)
-GetLedgeJumpDirection: @ 8096C0C
- push {r4,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r4, r2, 24
- cmp r4, 0
- beq _08096C52
- cmp r4, 0x4
- bls _08096C28
- subs r0, r4, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
-_08096C28:
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r3, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_0850E614
- lsls r1, r4, 2
- adds r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08096C5C
-_08096C52:
- movs r0, 0
- b _08096C62
- .pool
-_08096C5C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r0, 24
-_08096C62:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetLedgeJumpDirection
-
- thumb_func_start FieldObjectSetSpriteOamTableForLongGrass
-@ void FieldObjectSetSpriteOamTableForLongGrass(struct npc_state *fieldObject, struct obj *object)
-FieldObjectSetSpriteOamTableForLongGrass: @ 8096C68
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldrb r0, [r5]
- lsls r0, 27
- cmp r0, 0
- blt _08096CBC
- ldrb r0, [r5, 0x1E]
- bl MetatileBehavior_IsLongGrass
- lsls r0, 24
- cmp r0, 0
- beq _08096CBC
- ldrb r0, [r5, 0x1F]
- bl MetatileBehavior_IsLongGrass
- lsls r0, 24
- cmp r0, 0
- beq _08096CBC
- adds r4, 0x42
- ldrb r1, [r4]
- movs r6, 0x40
- negs r6, r6
- adds r0, r6, 0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- ldrb r0, [r5, 0xB]
- lsrs r0, 4
- bl ZCoordToPriority
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08096CBC
- ldrb r0, [r4]
- adds r1, r6, 0
- ands r1, r0
- movs r0, 0x5
- orrs r1, r0
- strb r1, [r4]
-_08096CBC:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end FieldObjectSetSpriteOamTableForLongGrass
-
- thumb_func_start IsZCoordMismatchAt
-@ bool8 IsZCoordMismatchAt(u8 z, u16 x, u16 y)
-IsZCoordMismatchAt: @ 8096CC4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsrs r0, r1, 16
- lsls r2, 16
- lsrs r1, r2, 16
- cmp r4, 0
- beq _08096CF2
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08096CF2
- cmp r0, 0xF
- beq _08096CF2
- cmp r0, r4
- bne _08096CF6
-_08096CF2:
- movs r0, 0
- b _08096CF8
-_08096CF6:
- movs r0, 0x1
-_08096CF8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end IsZCoordMismatchAt
-
- thumb_func_start FieldObjectUpdateZCoordAndPriority
-@ void FieldObjectUpdateZCoordAndPriority(struct npc_state *fieldObject, struct obj *object)
-FieldObjectUpdateZCoordAndPriority: @ 8096D00
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x3]
- lsls r0, 29
- cmp r0, 0
- blt _08096D4E
- adds r0, r4, 0
- bl FieldObjectUpdateZCoord
- ldr r1, =gUnknown_0850E644
- ldrb r2, [r4, 0xB]
- lsls r2, 24
- lsrs r0, r2, 28
- adds r0, r1
- ldrb r0, [r0]
- adds r4, r5, 0
- adds r4, 0x42
- movs r1, 0x3F
- ands r1, r0
- ldrb r3, [r4]
- movs r0, 0x40
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r4]
- ldr r0, =gUnknown_0850E634
- lsrs r2, 28
- adds r2, r0
- movs r0, 0x3
- ldrb r1, [r2]
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
-_08096D4E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectUpdateZCoordAndPriority
-
- thumb_func_start InitObjectPriorityByZCoord
-@ void InitObjectPriorityByZCoord(struct obj *object, u8 z)
-InitObjectPriorityByZCoord: @ 8096D5C
- push {r4,lr}
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gUnknown_0850E644
- adds r2, r1, r2
- ldrb r2, [r2]
- movs r3, 0x42
- adds r3, r0
- mov r12, r3
- movs r3, 0x3F
- ands r3, r2
- mov r2, r12
- ldrb r4, [r2]
- movs r2, 0x40
- negs r2, r2
- ands r2, r4
- orrs r2, r3
- mov r3, r12
- strb r2, [r3]
- ldr r2, =gUnknown_0850E634
- adds r1, r2
- movs r3, 0x3
- ldrb r2, [r1]
- ands r2, r3
- lsls r2, 2
- ldrb r3, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- strb r1, [r0, 0x5]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end InitObjectPriorityByZCoord
-
- thumb_func_start ZCoordToPriority
-@ u8 ZCoordToPriority(u8 z)
-ZCoordToPriority: @ 8096DA8
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0850E634
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end ZCoordToPriority
-
- thumb_func_start FieldObjectUpdateZCoord
-@ void FieldObjectUpdateZCoord(struct npc_state *fieldObject)
-FieldObjectUpdateZCoord: @ 8096DB8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r5, r0, 24
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- movs r2, 0x16
- ldrsh r1, [r4, r2]
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r0, 24
- cmp r5, 0xF
- beq _08096E06
- cmp r0, 0xF
- beq _08096E06
- movs r3, 0xF
- adds r0, r5, 0
- ands r0, r3
- ldrb r1, [r4, 0xB]
- movs r2, 0x10
- negs r2, r2
- ands r2, r1
- orrs r2, r0
- strb r2, [r4, 0xB]
- cmp r5, 0
- beq _08096E06
- cmp r5, 0xF
- beq _08096E06
- lsls r0, r5, 4
- ands r2, r3
- orrs r2, r0
- strb r2, [r4, 0xB]
-_08096E06:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end FieldObjectUpdateZCoord
-
- thumb_func_start SetObjectSubpriorityByZCoord
-@ void SetObjectSubpriorityByZCoord(u8 z, struct obj *object, u8 offset)
-SetObjectSubpriorityByZCoord: @ 8096E0C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 24
- lsrs r2, 24
- adds r3, r1, 0
- adds r3, 0x29
- movs r5, 0
- ldrsb r5, [r3, r5]
- ldrh r4, [r1, 0x22]
- ldr r3, =gSpriteCoordOffsetY
- subs r4, r5
- ldrh r3, [r3]
- adds r4, r3
- adds r4, 0x8
- movs r3, 0xFF
- ands r4, r3
- lsrs r4, 4
- movs r3, 0x10
- subs r3, r4
- lsls r3, 17
- ldr r4, =gUnknown_0850E624
- adds r0, r4
- lsrs r3, 16
- ldrb r0, [r0]
- adds r3, r0
- adds r2, r3
- adds r1, 0x43
- strb r2, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetObjectSubpriorityByZCoord
-
- thumb_func_start FieldObjectUpdateSubpriority
-@ void FieldObjectUpdateSubpriority(struct npc_state *fieldObject, struct obj *object)
-FieldObjectUpdateSubpriority: @ 8096E54
- push {lr}
- adds r2, r0, 0
- ldrb r0, [r2, 0x3]
- lsls r0, 29
- cmp r0, 0
- blt _08096E6A
- ldrb r0, [r2, 0xB]
- lsrs r0, 4
- movs r2, 0x1
- bl SetObjectSubpriorityByZCoord
-_08096E6A:
- pop {r0}
- bx r0
- thumb_func_end FieldObjectUpdateSubpriority
-
- thumb_func_start AreZCoordsCompatible
-@ bool8 AreZCoordsCompatible(u8 z1, u8 z2)
-AreZCoordsCompatible: @ 8096E70
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r0, 0
- beq _08096E86
- cmp r1, 0
- beq _08096E86
- cmp r0, r1
- bne _08096E8A
-_08096E86:
- movs r0, 0x1
- b _08096E8C
-_08096E8A:
- movs r0, 0
-_08096E8C:
- pop {r1}
- bx r1
- thumb_func_end AreZCoordsCompatible
-
- thumb_func_start GroundEffect_SpawnOnTallGrass
-@ void GroundEffect_SpawnOnTallGrass(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_SpawnOnTallGrass: @ 8096E90
- push {lr}
- ldr r3, =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- str r1, [r3]
- movs r2, 0x12
- ldrsh r1, [r0, r2]
- str r1, [r3, 0x4]
- ldrb r1, [r0, 0xB]
- lsrs r1, 4
- str r1, [r3, 0x8]
- movs r1, 0x2
- str r1, [r3, 0xC]
- ldrb r1, [r0, 0x8]
- lsls r1, 8
- ldrb r2, [r0, 0x9]
- orrs r1, r2
- str r1, [r3, 0x10]
- ldrb r0, [r0, 0xA]
- str r0, [r3, 0x14]
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- lsls r0, 8
- ldrb r1, [r1, 0x4]
- orrs r0, r1
- str r0, [r3, 0x18]
- movs r0, 0x1
- str r0, [r3, 0x1C]
- movs r0, 0x4
- bl FieldEffectStart
- pop {r0}
- bx r0
- .pool
- thumb_func_end GroundEffect_SpawnOnTallGrass
-
- thumb_func_start GroundEffect_StepOnTallGrass
-@ void GroundEffect_StepOnTallGrass(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_StepOnTallGrass: @ 8096EDC
- push {lr}
- ldr r3, =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- str r1, [r3]
- movs r2, 0x12
- ldrsh r1, [r0, r2]
- str r1, [r3, 0x4]
- ldrb r1, [r0, 0xB]
- lsrs r1, 4
- str r1, [r3, 0x8]
- movs r1, 0x2
- str r1, [r3, 0xC]
- ldrb r1, [r0, 0x8]
- lsls r1, 8
- ldrb r2, [r0, 0x9]
- orrs r1, r2
- str r1, [r3, 0x10]
- ldrb r0, [r0, 0xA]
- str r0, [r3, 0x14]
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- lsls r0, 8
- ldrb r1, [r1, 0x4]
- orrs r0, r1
- str r0, [r3, 0x18]
- movs r0, 0
- str r0, [r3, 0x1C]
- movs r0, 0x4
- bl FieldEffectStart
- pop {r0}
- bx r0
- .pool
- thumb_func_end GroundEffect_StepOnTallGrass
-
- thumb_func_start GroundEffect_SpawnOnLongGrass
-@ void GroundEffect_SpawnOnLongGrass(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_SpawnOnLongGrass: @ 8096F28
- push {lr}
- ldr r3, =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- str r1, [r3]
- movs r2, 0x12
- ldrsh r1, [r0, r2]
- str r1, [r3, 0x4]
- ldrb r1, [r0, 0xB]
- lsrs r1, 4
- str r1, [r3, 0x8]
- movs r1, 0x2
- str r1, [r3, 0xC]
- ldrb r1, [r0, 0x8]
- lsls r1, 8
- ldrb r2, [r0, 0x9]
- orrs r1, r2
- str r1, [r3, 0x10]
- ldrb r0, [r0, 0xA]
- str r0, [r3, 0x14]
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- lsls r0, 8
- ldrb r1, [r1, 0x4]
- orrs r0, r1
- str r0, [r3, 0x18]
- movs r0, 0x1
- str r0, [r3, 0x1C]
- movs r0, 0x11
- bl FieldEffectStart
- pop {r0}
- bx r0
- .pool
- thumb_func_end GroundEffect_SpawnOnLongGrass
-
- thumb_func_start GroundEffect_StepOnLongGrass
-@ void GroundEffect_StepOnLongGrass(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_StepOnLongGrass: @ 8096F74
- push {lr}
- ldr r3, =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- str r1, [r3]
- movs r2, 0x12
- ldrsh r1, [r0, r2]
- str r1, [r3, 0x4]
- ldrb r1, [r0, 0xB]
- lsrs r1, 4
- str r1, [r3, 0x8]
- movs r1, 0x2
- str r1, [r3, 0xC]
- ldrb r1, [r0, 0x8]
- lsls r1, 8
- ldrb r2, [r0, 0x9]
- orrs r1, r2
- str r1, [r3, 0x10]
- ldrb r0, [r0, 0xA]
- str r0, [r3, 0x14]
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- lsls r0, 8
- ldrb r1, [r1, 0x4]
- orrs r0, r1
- str r0, [r3, 0x18]
- movs r0, 0
- str r0, [r3, 0x1C]
- movs r0, 0x11
- bl FieldEffectStart
- pop {r0}
- bx r0
- .pool
- thumb_func_end GroundEffect_StepOnLongGrass
-
- thumb_func_start GroundEffect_WaterReflection
-@ void GroundEffect_WaterReflection(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_WaterReflection: @ 8096FC0
- push {lr}
- movs r2, 0
- bl SetUpReflection
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_WaterReflection
-
- thumb_func_start GroundEffect_IceReflection
-@ void GroundEffect_IceReflection(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_IceReflection: @ 8096FCC
- push {lr}
- movs r2, 0x1
- bl SetUpReflection
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_IceReflection
-
- thumb_func_start GroundEffect_FlowingWater
-@ void GroundEffect_FlowingWater(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_FlowingWater: @ 8096FD8
- push {lr}
- adds r1, r0, 0
- movs r0, 0x22
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_FlowingWater
-
- thumb_func_start GroundEffect_SandTracks
-@ void GroundEffect_SandTracks(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_SandTracks: @ 8096FE8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x5]
- bl GetFieldObjectGraphicsInfo
- ldr r1, =gUnknown_0850E654
- ldrb r0, [r0, 0xD]
- lsls r0, 2
- adds r0, r1
- ldr r3, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl _call_via_r3
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end GroundEffect_SandTracks
-
- thumb_func_start GroundEffect_DeepSandTracks
-@ void GroundEffect_DeepSandTracks(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_DeepSandTracks: @ 8097014
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x5]
- bl GetFieldObjectGraphicsInfo
- ldr r1, =gUnknown_0850E654
- ldrb r0, [r0, 0xD]
- lsls r0, 2
- adds r0, r1
- ldr r3, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl _call_via_r3
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end GroundEffect_DeepSandTracks
-
- thumb_func_start DoTracksGroundEffect_None
-@ void DoTracksGroundEffect_None(struct npc_state *fieldObject, struct obj *object)
-DoTracksGroundEffect_None: @ 8097040
- bx lr
- thumb_func_end DoTracksGroundEffect_None
-
- thumb_func_start DoTracksGroundEffect_Footprints
-@ void DoTracksGroundEffect_Footprints(struct npc_state *fieldObject, struct obj *object)
-DoTracksGroundEffect_Footprints: @ 8097044
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r4, r2, 24
- lsrs r4, 24
- ldr r1, =gUnknown_0850E660
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- ldr r1, =gFieldEffectArguments
- movs r2, 0x14
- ldrsh r0, [r5, r2]
- str r0, [r1]
- movs r2, 0x16
- ldrsh r0, [r5, r2]
- str r0, [r1, 0x4]
- movs r0, 0x95
- str r0, [r1, 0x8]
- movs r0, 0x2
- str r0, [r1, 0xC]
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- str r0, [r1, 0x10]
- lsls r4, 1
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- bl FieldEffectStart
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DoTracksGroundEffect_Footprints
-
- thumb_func_start DoTracksGroundEffect_BikeTireTracks
-@ void DoTracksGroundEffect_BikeTireTracks(struct npc_state *fieldObject, struct obj *object)
-DoTracksGroundEffect_BikeTireTracks: @ 8097094
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, [r4, 0x10]
- ldr r0, [r4, 0x14]
- cmp r1, r0
- beq _080970D6
- ldr r2, =gFieldEffectArguments
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- str r0, [r2]
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- str r0, [r2, 0x4]
- movs r0, 0x95
- str r0, [r2, 0x8]
- movs r0, 0x2
- str r0, [r2, 0xC]
- ldr r3, =gUnknown_0850E664
- ldrb r1, [r4, 0x18]
- lsls r1, 28
- lsrs r1, 28
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- lsls r0, 2
- subs r0, 0x5
- adds r1, r0
- adds r1, r3
- ldrb r0, [r1]
- str r0, [r2, 0x10]
- movs r0, 0x23
- bl FieldEffectStart
-_080970D6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DoTracksGroundEffect_BikeTireTracks
-
- thumb_func_start GroundEffect_Ripple
-@ void GroundEffect_Ripple(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_Ripple: @ 80970E4
- push {lr}
- bl DoRippleFieldEffect
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_Ripple
-
- thumb_func_start GroundEffect_StepOnPuddle
-@ void GroundEffect_StepOnPuddle(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_StepOnPuddle: @ 80970F0
- push {lr}
- adds r1, r0, 0
- movs r0, 0xF
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_StepOnPuddle
-
- thumb_func_start GroundEffect_SandHeap
-@ void GroundEffect_SandHeap(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_SandHeap: @ 8097100
- push {lr}
- adds r1, r0, 0
- movs r0, 0x27
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_SandHeap
-
- thumb_func_start GroundEffect_JumpOnTallGrass
-@ void GroundEffect_JumpOnTallGrass(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_JumpOnTallGrass: @ 8097110
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r1, =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- str r0, [r1]
- movs r4, 0x12
- ldrsh r0, [r5, r4]
- str r0, [r1, 0x4]
- ldrb r0, [r5, 0xB]
- lsrs r0, 4
- str r0, [r1, 0x8]
- movs r0, 0x2
- str r0, [r1, 0xC]
- movs r0, 0xC
- bl FieldEffectStart
- ldrb r0, [r5, 0x8]
- ldrb r1, [r5, 0x9]
- ldrb r2, [r5, 0xA]
- movs r7, 0x10
- ldrsh r3, [r5, r7]
- movs r7, 0x12
- ldrsh r4, [r5, r7]
- str r4, [sp]
- bl sub_81546C8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- bne _0809715A
- adds r0, r5, 0
- adds r1, r6, 0
- bl GroundEffect_SpawnOnTallGrass
-_0809715A:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end GroundEffect_JumpOnTallGrass
-
- thumb_func_start GroundEffect_JumpOnLongGrass
-@ void GroundEffect_JumpOnLongGrass(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_JumpOnLongGrass: @ 8097168
- push {lr}
- ldr r2, =gFieldEffectArguments
- movs r3, 0x10
- ldrsh r1, [r0, r3]
- str r1, [r2]
- movs r3, 0x12
- ldrsh r1, [r0, r3]
- str r1, [r2, 0x4]
- ldrb r0, [r0, 0xB]
- lsrs r0, 4
- str r0, [r2, 0x8]
- movs r0, 0x2
- str r0, [r2, 0xC]
- movs r0, 0x12
- bl FieldEffectStart
- pop {r0}
- bx r0
- .pool
- thumb_func_end GroundEffect_JumpOnLongGrass
-
- thumb_func_start GroundEffect_JumpOnShallowWater
-@ void GroundEffect_JumpOnShallowWater(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_JumpOnShallowWater: @ 8097190
- push {r4,lr}
- ldr r3, =gFieldEffectArguments
- movs r4, 0x10
- ldrsh r2, [r0, r4]
- str r2, [r3]
- movs r4, 0x12
- ldrsh r2, [r0, r4]
- str r2, [r3, 0x4]
- ldrb r0, [r0, 0xB]
- lsrs r0, 4
- str r0, [r3, 0x8]
- ldrb r0, [r1, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r3, 0xC]
- movs r0, 0x10
- bl FieldEffectStart
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end GroundEffect_JumpOnShallowWater
-
- thumb_func_start GroundEffect_JumpOnWater
-@ void GroundEffect_JumpOnWater(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_JumpOnWater: @ 80971C0
- push {r4,lr}
- ldr r3, =gFieldEffectArguments
- movs r4, 0x10
- ldrsh r2, [r0, r4]
- str r2, [r3]
- movs r4, 0x12
- ldrsh r2, [r0, r4]
- str r2, [r3, 0x4]
- ldrb r0, [r0, 0xB]
- lsrs r0, 4
- str r0, [r3, 0x8]
- ldrb r0, [r1, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r3, 0xC]
- movs r0, 0xE
- bl FieldEffectStart
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end GroundEffect_JumpOnWater
-
- thumb_func_start GroundEffect_JumpLandingDust
-@ void GroundEffect_JumpLandingDust(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_JumpLandingDust: @ 80971F0
- push {r4,lr}
- ldr r3, =gFieldEffectArguments
- movs r4, 0x10
- ldrsh r2, [r0, r4]
- str r2, [r3]
- movs r4, 0x12
- ldrsh r2, [r0, r4]
- str r2, [r3, 0x4]
- ldrb r0, [r0, 0xB]
- lsrs r0, 4
- str r0, [r3, 0x8]
- ldrb r0, [r1, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r3, 0xC]
- movs r0, 0xA
- bl FieldEffectStart
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end GroundEffect_JumpLandingDust
-
- thumb_func_start GroundEffect_ShortGrass
-@ void GroundEffect_ShortGrass(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_ShortGrass: @ 8097220
- push {lr}
- adds r1, r0, 0
- movs r0, 0x29
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_ShortGrass
-
- thumb_func_start GroundEffect_HotSprings
-@ void GroundEffect_HotSprings(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_HotSprings: @ 8097230
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2A
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_HotSprings
-
- thumb_func_start GroundEffect_Seaweed
-@ void GroundEffect_Seaweed(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_Seaweed: @ 8097240
- push {lr}
- ldr r2, =gFieldEffectArguments
- movs r3, 0x10
- ldrsh r1, [r0, r3]
- str r1, [r2]
- movs r1, 0x12
- ldrsh r0, [r0, r1]
- str r0, [r2, 0x4]
- movs r0, 0x35
- bl FieldEffectStart
- pop {r0}
- bx r0
- .pool
- thumb_func_end GroundEffect_Seaweed
-
- thumb_func_start DoFlaggedGroundEffects
-@ void DoFlaggedGroundEffects(struct npc_state *fieldObject, struct obj *object, u32 flags)
-DoFlaggedGroundEffects: @ 8097260
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r7, r1, 0
- adds r5, r2, 0
- bl FieldObjectIsFarawayIslandMew
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08097284
- adds r0, r6, 0
- bl sub_81D4A58
- lsls r0, 24
- cmp r0, 0
- beq _080972AC
-_08097284:
- movs r4, 0
- ldr r0, =gUnknown_0850E674
- mov r8, r0
-_0809728A:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _080972A0
- lsls r0, r4, 2
- add r0, r8
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r7, 0
- bl _call_via_r2
-_080972A0:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsrs r5, 1
- cmp r4, 0x13
- bls _0809728A
-_080972AC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DoFlaggedGroundEffects
-
- thumb_func_start filters_out_some_ground_effects
-@ void filters_out_some_ground_effects(struct npc_state *fieldObject, u32 *flags)
-filters_out_some_ground_effects: @ 80972BC
- push {lr}
- adds r2, r0, 0
- adds r3, r1, 0
- ldrb r0, [r2]
- lsls r0, 27
- cmp r0, 0
- bge _080972EA
- ldrb r1, [r2, 0x2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- adds r1, 0x8
- ands r0, r1
- subs r1, 0x18
- ands r0, r1
- strb r0, [r2, 0x2]
- ldr r0, [r3]
- ldr r1, =0xfff9f7bd
- ands r0, r1
- str r0, [r3]
-_080972EA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end filters_out_some_ground_effects
-
- thumb_func_start FilterOutStepOnPuddleGroundEffectIfJumping
-@ void FilterOutStepOnPuddleGroundEffectIfJumping(struct npc_state *fieldObject, u32 *flags)
-FilterOutStepOnPuddleGroundEffectIfJumping: @ 80972F4
- push {lr}
- adds r2, r1, 0
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _08097308
- ldr r0, [r2]
- ldr r1, =0xfffffbff
- ands r0, r1
- str r0, [r2]
-_08097308:
- pop {r0}
- bx r0
- .pool
- thumb_func_end FilterOutStepOnPuddleGroundEffectIfJumping
-
- thumb_func_start DoGroundEffects_OnSpawn
-@ void DoGroundEffects_OnSpawn(struct npc_state *fieldObject, struct obj *object)
-DoGroundEffects_OnSpawn: @ 8097310
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4]
- lsls r0, 29
- cmp r0, 0
- bge _08097354
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- bl FieldObjectUpdateZCoordAndPriority
- adds r0, r4, 0
- mov r1, sp
- bl GetAllGroundEffectFlags_OnSpawn
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetSpriteOamTableForLongGrass
- ldr r2, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- bl DoFlaggedGroundEffects
- ldrb r1, [r4]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r4]
-_08097354:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end DoGroundEffects_OnSpawn
-
- thumb_func_start DoGroundEffects_OnBeginStep
-@ void DoGroundEffects_OnBeginStep(struct npc_state *fieldObject, struct obj *object)
-DoGroundEffects_OnBeginStep: @ 809735C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4]
- lsls r0, 29
- cmp r0, 0
- bge _080973A8
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- bl FieldObjectUpdateZCoordAndPriority
- adds r0, r4, 0
- mov r1, sp
- bl GetAllGroundEffectFlags_OnBeginStep
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetSpriteOamTableForLongGrass
- adds r0, r4, 0
- mov r1, sp
- bl filters_out_some_ground_effects
- ldr r2, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- bl DoFlaggedGroundEffects
- ldrb r1, [r4]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r4]
-_080973A8:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end DoGroundEffects_OnBeginStep
-
- thumb_func_start DoGroundEffects_OnFinishStep
-@ void DoGroundEffects_OnFinishStep(struct npc_state *fieldObject, struct obj *object)
-DoGroundEffects_OnFinishStep: @ 80973B0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4]
- lsls r0, 28
- cmp r0, 0
- bge _080973FC
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- bl FieldObjectUpdateZCoordAndPriority
- adds r0, r4, 0
- mov r1, sp
- bl GetAllGroundEffectFlags_OnFinishStep
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetSpriteOamTableForLongGrass
- adds r0, r4, 0
- mov r1, sp
- bl FilterOutStepOnPuddleGroundEffectIfJumping
- ldr r2, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- bl DoFlaggedGroundEffects
- ldrb r1, [r4]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- movs r1, 0x21
- negs r1, r1
- ands r0, r1
- strb r0, [r4]
-_080973FC:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end DoGroundEffects_OnFinishStep
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s
index cd4f83681..c0becc6da 100644
--- a/asm/field_player_avatar.s
+++ b/asm/field_player_avatar.s
@@ -5,9 +5,9 @@
.text
- thumb_func_start FieldObjectCB_NoMovement2
-@ void FieldObjectCB_NoMovement2(struct obj *object)
-FieldObjectCB_NoMovement2: @ 808A998
+ thumb_func_start MovementType_Player
+@ void MovementType_Player(struct obj *object)
+MovementType_Player: @ 808A998
push {lr}
adds r1, r0, 0
movs r0, 0x2E
@@ -15,20 +15,20 @@ FieldObjectCB_NoMovement2: @ 808A998
lsls r0, r2, 3
adds r0, r2
lsls r0, 2
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
adds r0, r2
- ldr r2, =FieldObjectCB2_NoMovement2
- bl FieldObjectStep
+ ldr r2, =EventObjectCB2_NoMovement2
+ bl UpdateEventObjectCurrentMovement
pop {r0}
bx r0
.pool
- thumb_func_end FieldObjectCB_NoMovement2
+ thumb_func_end MovementType_Player
- thumb_func_start FieldObjectCB2_NoMovement2
-FieldObjectCB2_NoMovement2: @ 808A9BC
+ thumb_func_start EventObjectCB2_NoMovement2
+EventObjectCB2_NoMovement2: @ 808A9BC
movs r0, 0
bx lr
- thumb_func_end FieldObjectCB2_NoMovement2
+ thumb_func_end EventObjectCB2_NoMovement2
thumb_func_start player_step
@ void player_step(int dpad_direction, int buttons_new, int buttons_held)
@@ -48,7 +48,7 @@ player_step: @ 808A9C0
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r5, r0, r1
adds r0, r5, 0
bl sub_808C280
@@ -60,7 +60,7 @@ player_step: @ 808A9C0
bl Bike_TryAcroBikeHistoryUpdate
adds r0, r5, 0
mov r1, r8
- bl TryInterruptFieldObjectSpecialAnim
+ bl TryInterruptEventObjectSpecialAnim
lsls r0, 24
cmp r0, 0
bne _0808AA26
@@ -85,25 +85,25 @@ _0808AA26:
.pool
thumb_func_end player_step
- thumb_func_start TryInterruptFieldObjectSpecialAnim
-@ bool8 TryInterruptFieldObjectSpecialAnim(struct npc_state *fieldObject, u8 direction)
-TryInterruptFieldObjectSpecialAnim: @ 808AA38
+ thumb_func_start TryInterruptEventObjectSpecialAnim
+@ bool8 TryInterruptEventObjectSpecialAnim(struct npc_state *eventObject, u8 direction)
+TryInterruptEventObjectSpecialAnim: @ 808AA38
push {r4-r6,lr}
adds r4, r0, 0
lsls r1, 24
lsrs r5, r1, 24
adds r6, r5, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl EventObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
beq _0808AA92
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
bne _0808AA92
adds r0, r4, 0
- bl FieldObjectGetSpecialAnim
+ bl EventObjectGetHeldMovementActionId
lsls r0, 24
movs r1, 0xE7
lsls r1, 24
@@ -123,7 +123,7 @@ _0808AA74:
beq _0808AA84
_0808AA7C:
adds r0, r4, 0
- bl FieldObjectClearAnim
+ bl EventObjectClearHeldMovement
b _0808AA92
_0808AA84:
adds r0, r6, 0
@@ -138,10 +138,10 @@ _0808AA94:
pop {r4-r6}
pop {r1}
bx r1
- thumb_func_end TryInterruptFieldObjectSpecialAnim
+ thumb_func_end TryInterruptEventObjectSpecialAnim
thumb_func_start npc_clear_strange_bits
-@ void npc_clear_strange_bits(struct npc_state *fieldObject)
+@ void npc_clear_strange_bits(struct npc_state *eventObject)
npc_clear_strange_bits: @ 808AA9C
ldrb r2, [r0, 0x1]
movs r1, 0x11
@@ -240,7 +240,7 @@ GetForcedMovementByMetatileBehavior: @ 808AB38
ands r0, r1
cmp r0, 0
bne _0808AB8A
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldrb r1, [r3, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -290,7 +290,7 @@ ForcedMovement_None: @ 808AB94
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r0, r1
ldrb r2, [r0, 0x1]
movs r1, 0x3
@@ -302,7 +302,7 @@ ForcedMovement_None: @ 808AB94
ldrb r1, [r0, 0x18]
lsls r1, 28
lsrs r1, 28
- bl FieldObjectSetDirection
+ bl SetEventObjectDirection
ldrb r1, [r4]
movs r0, 0xBF
ands r0, r1
@@ -386,7 +386,7 @@ DoForcedMovementInCurrentDirection: @ 808AC58
lsls r0, r2, 3
adds r0, r2
lsls r0, 2
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
adds r0, r2
ldrb r2, [r0, 0x1]
movs r3, 0x4
@@ -528,7 +528,7 @@ ForcedMovement_Slide: @ 808AD60
lsls r2, r3, 3
adds r2, r3
lsls r2, 2
- ldr r3, =gMapObjects
+ ldr r3, =gEventObjects
adds r2, r3
ldrb r3, [r2, 0x1]
movs r4, 0x4
@@ -623,7 +623,7 @@ ForcedMovement_MuddySlope: @ 808AE10
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r4, r0, r1
ldrb r1, [r4, 0x18]
movs r0, 0xF0
@@ -697,7 +697,7 @@ CheckMovementInputNotOnBike: @ 808AE98
b _0808AED2
.pool
_0808AEB0:
- bl player_get_direction_upper_nybble
+ bl GetPlayerMovementDirection
lsls r0, 24
lsrs r0, 24
cmp r4, r0
@@ -725,7 +725,7 @@ _0808AED2:
@ void PlayerNotOnBikeNotMoving(u8 direction, u8 heldKeys)
PlayerNotOnBikeNotMoving: @ 808AEDC
push {lr}
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
bl PlayerFaceDirection
@@ -809,7 +809,7 @@ _0808AF68:
lsls r0, 24
cmp r0, 0
beq _0808AFB0
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldrb r1, [r4, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -848,7 +848,7 @@ CheckForPlayerAvatarCollision: @ 808AFBC
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r4, r0
ldrh r1, [r4, 0x10]
add r0, sp, 0x4
@@ -877,7 +877,7 @@ CheckForPlayerAvatarCollision: @ 808AFBC
str r0, [sp]
adds r0, r4, 0
adds r3, r6, 0
- bl CheckForFieldObjectCollision
+ bl CheckForEventObjectCollision
lsls r0, 24
lsrs r0, 24
add sp, 0x8
@@ -899,7 +899,7 @@ sub_808B028: @ 808B028
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r4, r0
ldrh r1, [r4, 0x10]
add r0, sp, 0x4
@@ -938,9 +938,9 @@ sub_808B028: @ 808B028
.pool
thumb_func_end sub_808B028
- thumb_func_start CheckForFieldObjectCollision
-@ u8 CheckForFieldObjectCollision(struct npc_state *fieldObject, u16 x, u16 y, u8 direction, u8 metatileBehavior)
-CheckForFieldObjectCollision: @ 808B094
+ thumb_func_start CheckForEventObjectCollision
+@ u8 CheckForEventObjectCollision(struct npc_state *eventObject, u16 x, u16 y, u8 direction, u8 metatileBehavior)
+CheckForEventObjectCollision: @ 808B094
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -963,7 +963,7 @@ CheckForFieldObjectCollision: @ 808B094
adds r1, r5, 0
adds r2, r4, 0
adds r3, r6, 0
- bl npc_block_way
+ bl GetCollisionAtCoords
lsls r0, 24
lsrs r0, 24
mov r1, sp
@@ -1043,7 +1043,7 @@ _0808B152:
pop {r4-r7}
pop {r1}
bx r1
- thumb_func_end CheckForFieldObjectCollision
+ thumb_func_end CheckForEventObjectCollision
thumb_func_start sub_808B164
sub_808B164: @ 808B164
@@ -1061,7 +1061,7 @@ sub_808B164: @ 808B164
adds r1, r5, 0
adds r2, r4, 0
adds r3, r6, 0
- bl npc_block_way
+ bl GetCollisionAtCoords
lsls r0, 24
lsrs r0, 24
mov r1, sp
@@ -1071,7 +1071,7 @@ sub_808B164: @ 808B164
adds r0, r6, 0
adds r1, r5, 0
adds r2, r4, 0
- bl sub_80FBFD4
+ bl CheckForRotatingGatePuzzleCollisionWithoutAnimation
cmp r0, 0
beq _0808B1A2
movs r0, 0x8
@@ -1120,7 +1120,7 @@ sub_808B1BC: @ 808B1BC
lsrs r0, r5, 16
lsrs r1, r4, 16
movs r2, 0x3
- bl GetFieldObjectIdByXYZ
+ bl GetEventObjectIdByXYZ
lsls r0, 24
lsrs r0, 24
cmp r0, 0x10
@@ -1182,12 +1182,12 @@ sub_808B238: @ 808B238
ldrsh r0, [r0, r1]
movs r2, 0
ldrsh r1, [r5, r2]
- bl GetFieldObjectIdByXY
+ bl GetEventObjectIdByXY
lsls r0, 24
lsrs r6, r0, 24
cmp r6, 0x10
beq _0808B2D8
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
lsls r1, r6, 3
adds r1, r6
lsls r1, 2
@@ -1211,7 +1211,7 @@ sub_808B238: @ 808B238
ldrsh r2, [r5, r0]
adds r0, r4, 0
adds r3, r7, 0
- bl npc_block_way
+ bl GetCollisionAtCoords
lsls r0, 24
cmp r0, 0
bne _0808B2D8
@@ -1290,7 +1290,7 @@ IsPlayerCollidingWithFarawayIslandMew: @ 808B324
lsls r1, r2, 3
adds r1, r2
lsls r1, 2
- ldr r5, =gMapObjects
+ ldr r5, =gEventObjects
adds r3, r1, r5
ldrh r2, [r3, 0x10]
mov r1, sp
@@ -1305,7 +1305,7 @@ IsPlayerCollidingWithFarawayIslandMew: @ 808B324
movs r0, 0x1
movs r1, 0x39
movs r2, 0x1A
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
lsls r0, 24
lsrs r1, r0, 24
adds r6, r4, 0
@@ -1401,7 +1401,7 @@ _0808B3F4:
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r0, r1
ldr r1, [r2]
bl _call_via_r1
@@ -1423,13 +1423,13 @@ _0808B428:
thumb_func_end DoPlayerAvatarTransition
thumb_func_start PlayerAvatarTransition_Dummy
-@ void PlayerAvatarTransition_Dummy(struct npc_state *fieldObject)
+@ void PlayerAvatarTransition_Dummy(struct npc_state *eventObject)
PlayerAvatarTransition_Dummy: @ 808B43C
bx lr
thumb_func_end PlayerAvatarTransition_Dummy
thumb_func_start PlayerAvatarTransition_Normal
-@ void PlayerAvatarTransition_Normal(struct npc_state *fieldObject)
+@ void PlayerAvatarTransition_Normal(struct npc_state *eventObject)
PlayerAvatarTransition_Normal: @ 808B440
push {r4,lr}
adds r4, r0, 0
@@ -1439,11 +1439,11 @@ PlayerAvatarTransition_Normal: @ 808B440
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetGraphicsId
+ bl EventObjectSetGraphicsId
ldrb r1, [r4, 0x18]
lsrs r1, 4
adds r0, r4, 0
- bl FieldObjectTurn
+ bl EventObjectTurn
movs r0, 0x1
bl SetPlayerAvatarStateMask
pop {r4}
@@ -1452,7 +1452,7 @@ PlayerAvatarTransition_Normal: @ 808B440
thumb_func_end PlayerAvatarTransition_Normal
thumb_func_start PlayerAvatarTransition_MachBike
-@ void PlayerAvatarTransition_MachBike(struct npc_state *fieldObject)
+@ void PlayerAvatarTransition_MachBike(struct npc_state *eventObject)
PlayerAvatarTransition_MachBike: @ 808B46C
push {r4,lr}
adds r4, r0, 0
@@ -1462,11 +1462,11 @@ PlayerAvatarTransition_MachBike: @ 808B46C
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetGraphicsId
+ bl EventObjectSetGraphicsId
ldrb r1, [r4, 0x18]
lsrs r1, 4
adds r0, r4, 0
- bl FieldObjectTurn
+ bl EventObjectTurn
movs r0, 0x2
bl SetPlayerAvatarStateMask
movs r0, 0
@@ -1478,7 +1478,7 @@ PlayerAvatarTransition_MachBike: @ 808B46C
thumb_func_end PlayerAvatarTransition_MachBike
thumb_func_start PlayerAvatarTransition_AcroBike
-@ void PlayerAvatarTransition_AcroBike(struct npc_state *fieldObject)
+@ void PlayerAvatarTransition_AcroBike(struct npc_state *eventObject)
PlayerAvatarTransition_AcroBike: @ 808B4A0
push {r4,lr}
adds r4, r0, 0
@@ -1488,11 +1488,11 @@ PlayerAvatarTransition_AcroBike: @ 808B4A0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetGraphicsId
+ bl EventObjectSetGraphicsId
ldrb r1, [r4, 0x18]
lsrs r1, 4
adds r0, r4, 0
- bl FieldObjectTurn
+ bl EventObjectTurn
movs r0, 0x4
bl SetPlayerAvatarStateMask
movs r0, 0
@@ -1505,7 +1505,7 @@ PlayerAvatarTransition_AcroBike: @ 808B4A0
thumb_func_end PlayerAvatarTransition_AcroBike
thumb_func_start PlayerAvatarTransition_Surfing
-@ void PlayerAvatarTransition_Surfing(struct npc_state *fieldObject)
+@ void PlayerAvatarTransition_Surfing(struct npc_state *eventObject)
PlayerAvatarTransition_Surfing: @ 808B4D8
push {r4,lr}
adds r4, r0, 0
@@ -1515,11 +1515,11 @@ PlayerAvatarTransition_Surfing: @ 808B4D8
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetGraphicsId
+ bl EventObjectSetGraphicsId
ldrb r1, [r4, 0x18]
lsrs r1, 4
adds r0, r4, 0
- bl FieldObjectTurn
+ bl EventObjectTurn
movs r0, 0x8
bl SetPlayerAvatarStateMask
ldr r1, =gFieldEffectArguments
@@ -1546,7 +1546,7 @@ PlayerAvatarTransition_Surfing: @ 808B4D8
thumb_func_end PlayerAvatarTransition_Surfing
thumb_func_start PlayerAvatarTransition_Underwater
-@ void PlayerAvatarTransition_Underwater(struct npc_state *fieldObject)
+@ void PlayerAvatarTransition_Underwater(struct npc_state *eventObject)
PlayerAvatarTransition_Underwater: @ 808B534
push {r4,lr}
adds r4, r0, 0
@@ -1556,11 +1556,11 @@ PlayerAvatarTransition_Underwater: @ 808B534
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetGraphicsId
+ bl EventObjectSetGraphicsId
ldrb r1, [r4, 0x18]
lsrs r1, 4
adds r0, r4, 0
- bl FieldObjectTurn
+ bl EventObjectTurn
movs r0, 0x10
bl SetPlayerAvatarStateMask
ldrb r0, [r4, 0x4]
@@ -1572,7 +1572,7 @@ PlayerAvatarTransition_Underwater: @ 808B534
thumb_func_end PlayerAvatarTransition_Underwater
thumb_func_start PlayerAvatarTransition_ReturnToField
-@ void PlayerAvatarTransition_ReturnToField(struct npc_state *fieldObject)
+@ void PlayerAvatarTransition_ReturnToField(struct npc_state *eventObject)
PlayerAvatarTransition_ReturnToField: @ 808B568
ldr r2, =gPlayerAvatar
ldrb r1, [r2]
@@ -1621,7 +1621,7 @@ _0808B5B6:
thumb_func_start player_is_anim_in_certain_ranges
player_is_anim_in_certain_ranges: @ 808B5BC
push {lr}
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
@@ -1696,9 +1696,9 @@ PlayerIsAnimActive: @ 808B63C
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r0, r1
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl EventObjectIsMovementOverridden
lsls r0, 24
lsrs r0, 24
pop {r1}
@@ -1715,9 +1715,9 @@ PlayerCheckIfAnimFinishedOrInactive: @ 808B660
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r0, r1
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
+ bl EventObjectCheckHeldMovementStatus
lsls r0, 24
lsrs r0, 24
pop {r1}
@@ -1727,7 +1727,7 @@ PlayerCheckIfAnimFinishedOrInactive: @ 808B660
thumb_func_start player_set_x22
player_set_x22: @ 808B684
- ldr r3, =gMapObjects
+ ldr r3, =gEventObjects
ldr r1, =gPlayerAvatar
ldrb r2, [r1, 0x5]
lsls r1, r2, 3
@@ -1740,9 +1740,9 @@ player_set_x22: @ 808B684
.pool
thumb_func_end player_set_x22
- thumb_func_start player_get_x22
-player_get_x22: @ 808B6A0
- ldr r2, =gMapObjects
+ thumb_func_start PlayerGetCopyableMovement
+PlayerGetCopyableMovement: @ 808B6A0
+ ldr r2, =gEventObjects
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
@@ -1753,7 +1753,7 @@ player_get_x22: @ 808B6A0
ldrb r0, [r0]
bx lr
.pool
- thumb_func_end player_get_x22
+ thumb_func_end PlayerGetCopyableMovement
thumb_func_start sub_808B6BC
sub_808B6BC: @ 808B6BC
@@ -1766,9 +1766,9 @@ sub_808B6BC: @ 808B6BC
lsls r0, r2, 3
adds r0, r2
lsls r0, 2
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
adds r0, r2
- bl FieldObjectForceSetSpecialAnim
+ bl EventObjectForceSetHeldMovement
pop {r0}
bx r0
.pool
@@ -1793,10 +1793,10 @@ PlayerSetAnimId: @ 808B6E4
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r0, r1
adds r1, r5, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
_0808B712:
pop {r4,r5}
pop {r0}
@@ -1810,7 +1810,7 @@ PlayerGoSpeed1: @ 808B720
push {lr}
lsls r0, 24
lsrs r0, 24
- bl GetGoSpeed0AnimId
+ bl GetWalkNormalMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
@@ -1825,7 +1825,7 @@ PlayerGoSpeed2: @ 808B738
push {lr}
lsls r0, 24
lsrs r0, 24
- bl GetGoSpeed1AnimId
+ bl GetWalkFastMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
@@ -1840,7 +1840,7 @@ PlayerGoSpeed3: @ 808B750
push {lr}
lsls r0, 24
lsrs r0, 24
- bl GetGoSpeed2AnimId
+ bl GetRideWaterCurrentMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
@@ -1855,7 +1855,7 @@ PlayerGoSpeed4: @ 808B768
push {lr}
lsls r0, 24
lsrs r0, 24
- bl GetGoSpeed3AnimId
+ bl GetWalkFastestMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
@@ -1870,7 +1870,7 @@ PlayerRun: @ 808B780
push {lr}
lsls r0, 24
lsrs r0, 24
- bl GetRunAnimId
+ bl GetPlayerRunMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
@@ -1889,7 +1889,7 @@ PlayerOnBikeCollide: @ 808B798
adds r0, r4, 0
bl PlayCollisionSoundIfNotFacingWarp
adds r0, r4, 0
- bl GetStepInPlaceDelay16AnimId
+ bl GetWalkInPlaceNormalMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
@@ -1905,7 +1905,7 @@ PlayerOnBikeCollideWithFarawayIslandMew: @ 808B7BC
push {lr}
lsls r0, 24
lsrs r0, 24
- bl GetStepInPlaceDelay16AnimId
+ bl GetWalkInPlaceNormalMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
@@ -1924,7 +1924,7 @@ PlayerNotOnBikeCollide: @ 808B7D4
adds r0, r4, 0
bl PlayCollisionSoundIfNotFacingWarp
adds r0, r4, 0
- bl GetStepInPlaceDelay32AnimId
+ bl GetWalkInPlaceSlowMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
@@ -1940,7 +1940,7 @@ PlayerNotOnBikeCollideWithFarawayIslandMew: @ 808B7F8
push {lr}
lsls r0, 24
lsrs r0, 24
- bl GetStepInPlaceDelay32AnimId
+ bl GetWalkInPlaceSlowMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
@@ -1955,7 +1955,7 @@ PlayerFaceDirection: @ 808B810
push {lr}
lsls r0, 24
lsrs r0, 24
- bl GetFaceDirectionAnimId
+ bl GetFaceDirectionMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
@@ -1970,7 +1970,7 @@ PlayerTurnInPlace: @ 808B828
push {lr}
lsls r0, 24
lsrs r0, 24
- bl GetStepInPlaceDelay8AnimId
+ bl GetWalkInPlaceFastMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
@@ -1989,7 +1989,7 @@ PlayerJumpLedge: @ 808B840
movs r0, 0xA
bl PlaySE
adds r0, r4, 0
- bl GetJumpLedgeAnimId
+ bl GetJump2MovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x8
@@ -2013,7 +2013,7 @@ _0808B872:
lsls r0, 24
cmp r0, 0
beq _0808B89A
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldrb r1, [r4, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -2022,7 +2022,7 @@ _0808B872:
ldrb r0, [r0, 0x18]
lsls r0, 28
lsrs r0, 28
- bl GetFaceDirectionAnimId
+ bl GetFaceDirectionMovementAction
lsls r0, 24
lsrs r0, 24
bl sub_808B6BC
@@ -2038,7 +2038,7 @@ PlayerIdleWheelie: @ 808B8A8
push {lr}
lsls r0, 24
lsrs r0, 24
- bl sub_8093648
+ bl GetAcroWheelieFaceDirectionMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
@@ -2052,7 +2052,7 @@ PlayerStartWheelie: @ 808B8C0
push {lr}
lsls r0, 24
lsrs r0, 24
- bl sub_8093674
+ bl GetAcroPopWheelieFaceDirectionMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
@@ -2066,7 +2066,7 @@ PlayerEndWheelie: @ 808B8D8
push {lr}
lsls r0, 24
lsrs r0, 24
- bl sub_80936A0
+ bl GetAcroEndWheelieFaceDirectionMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
@@ -2084,7 +2084,7 @@ PlayerStandingHoppingWheelie: @ 808B8F0
movs r0, 0x22
bl PlaySE
adds r0, r4, 0
- bl sub_80936CC
+ bl GetAcroWheelieHopFaceDirectionMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
@@ -2103,7 +2103,7 @@ PlayerMovingHoppingWheelie: @ 808B914
movs r0, 0x22
bl PlaySE
adds r0, r4, 0
- bl sub_80936F8
+ bl GetAcroWheelieHopDirectionMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
@@ -2122,7 +2122,7 @@ PlayerLedgeHoppingWheelie: @ 808B938
movs r0, 0x22
bl PlaySE
adds r0, r4, 0
- bl sub_8093724
+ bl GetAcroWheelieJumpDirectionMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x8
@@ -2141,7 +2141,7 @@ PlayerAcroTurnJump: @ 808B95C
movs r0, 0x22
bl PlaySE
adds r0, r4, 0
- bl sub_80934E8
+ bl GetJumpInPlaceTurnAroundMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
@@ -2160,7 +2160,7 @@ sub_808B980: @ 808B980
movs r0, 0x7
bl PlaySE
adds r0, r4, 0
- bl sub_8093750
+ bl GetAcroWheelieInPlaceDirectionMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
@@ -2175,7 +2175,7 @@ sub_808B9A4: @ 808B9A4
push {lr}
lsls r0, 24
lsrs r0, 24
- bl sub_809377C
+ bl GetAcroPopWheelieMoveDirectionMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
@@ -2189,7 +2189,7 @@ sub_808B9BC: @ 808B9BC
push {lr}
lsls r0, 24
lsrs r0, 24
- bl sub_80937A8
+ bl GetAcroWheelieMoveDirectionMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
@@ -2203,7 +2203,7 @@ npc_use_some_d2s: @ 808B9D4
push {lr}
lsls r0, 24
lsrs r0, 24
- bl d2s_08064034
+ bl GetAcroEndWheelieMoveDirectionMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
@@ -2219,7 +2219,7 @@ PlayCollisionSoundIfNotFacingWarp: @ 808B9EC
sub sp, 0x4
lsls r0, 24
lsrs r4, r0, 24
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
@@ -2275,7 +2275,7 @@ GetXYCoordsOneStepInFrontOfPlayer: @ 808BA68
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
- ldr r3, =gMapObjects
+ ldr r3, =gEventObjects
ldr r2, =gPlayerAvatar
ldrb r1, [r2, 0x5]
lsls r0, r1, 3
@@ -2291,7 +2291,7 @@ GetXYCoordsOneStepInFrontOfPlayer: @ 808BA68
adds r0, r3
ldrh r0, [r0, 0x12]
strh r0, [r5]
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
adds r1, r4, 0
@@ -2307,7 +2307,7 @@ GetXYCoordsOneStepInFrontOfPlayer: @ 808BA68
@ void PlayerGetDestCoords(u16 *x, u16 *y)
PlayerGetDestCoords: @ 808BAAC
push {r4,r5,lr}
- ldr r5, =gMapObjects
+ ldr r5, =gEventObjects
ldr r4, =gPlayerAvatar
ldrb r3, [r4, 0x5]
lsls r2, r3, 3
@@ -2339,7 +2339,7 @@ plaer_get_pos_including_state_based_drift: @ 808BADC
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r3, r0, r1
ldrb r1, [r3]
movs r0, 0xC0
@@ -2462,10 +2462,10 @@ _0808BC30:
bx r1
thumb_func_end plaer_get_pos_including_state_based_drift
- thumb_func_start player_get_direction_lower_nybble
-@ u8 player_get_direction_lower_nybble()
-player_get_direction_lower_nybble: @ 808BC38
- ldr r2, =gMapObjects
+ thumb_func_start GetPlayerFacingDirection
+@ u8 GetPlayerFacingDirection()
+GetPlayerFacingDirection: @ 808BC38
+ ldr r2, =gEventObjects
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
@@ -2477,12 +2477,12 @@ player_get_direction_lower_nybble: @ 808BC38
lsrs r0, 28
bx lr
.pool
- thumb_func_end player_get_direction_lower_nybble
+ thumb_func_end GetPlayerFacingDirection
- thumb_func_start player_get_direction_upper_nybble
-@ u8 player_get_direction_upper_nybble()
-player_get_direction_upper_nybble: @ 808BC58
- ldr r2, =gMapObjects
+ thumb_func_start GetPlayerMovementDirection
+@ u8 GetPlayerMovementDirection()
+GetPlayerMovementDirection: @ 808BC58
+ ldr r2, =gEventObjects
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
@@ -2493,12 +2493,12 @@ player_get_direction_upper_nybble: @ 808BC58
lsrs r0, 4
bx lr
.pool
- thumb_func_end player_get_direction_upper_nybble
+ thumb_func_end GetPlayerMovementDirection
thumb_func_start PlayerGetZCoord
@ u8 PlayerGetZCoord()
PlayerGetZCoord: @ 808BC74
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
@@ -2521,7 +2521,7 @@ sub_808BC90: @ 808BC90
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r0, r1
lsls r3, 16
asrs r3, 16
@@ -2578,7 +2578,7 @@ sub_808BCF4: @ 808BCF4
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r4, r0
adds r0, r4, 0
bl npc_clear_strange_bits
@@ -2586,7 +2586,7 @@ sub_808BCF4: @ 808BCF4
lsls r1, 28
lsrs r1, 28
adds r0, r4, 0
- bl FieldObjectSetDirection
+ bl SetEventObjectDirection
movs r0, 0x6
bl TestPlayerAvatarFlags
lsls r0, 24
@@ -2780,7 +2780,7 @@ _0808BE46:
@ bool8 IsPlayerSurfingNorth()
IsPlayerSurfingNorth: @ 808BE50
push {lr}
- bl player_get_direction_upper_nybble
+ bl GetPlayerMovementDirection
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
@@ -2809,7 +2809,7 @@ IsPlayerFacingSurfableFishableWater: @ 808BE74
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r4, r0
ldrh r1, [r4, 0x10]
mov r0, sp
@@ -2833,7 +2833,7 @@ IsPlayerFacingSurfableFishableWater: @ 808BE74
lsls r3, 28
lsrs r3, 28
adds r0, r4, 0
- bl npc_block_way
+ bl GetCollisionAtCoords
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
@@ -3053,14 +3053,14 @@ InitPlayerAvatar: @ 808BFE0
strh r3, [r0, 0xE]
str r3, [sp, 0x10]
strh r3, [r0, 0x14]
- bl SpawnSpecialFieldObject
+ bl SpawnSpecialEventObject
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
lsls r4, r5, 3
adds r4, r5
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r4, r0
ldrb r0, [r4, 0x2]
movs r1, 0x1
@@ -3070,7 +3070,7 @@ InitPlayerAvatar: @ 808BFE0
strb r0, [r4, 0x1B]
adds r0, r4, 0
mov r1, r9
- bl FieldObjectTurn
+ bl EventObjectTurn
bl ClearPlayerAvatarInfo
ldr r0, =gPlayerAvatar
strb r6, [r0, 0x2]
@@ -3097,7 +3097,7 @@ sub_808C0A8: @ 808C0A8
push {r4-r6,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r6, =gMapObjects
+ ldr r6, =gEventObjects
ldr r5, =gPlayerAvatar
ldrb r0, [r5, 0x5]
lsls r1, r0, 3
@@ -3152,7 +3152,7 @@ sub_808C114: @ 808C114
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r4, r0
movs r0, 0x5
bl GetPlayerAvatarGraphicsIdByStateId
@@ -3160,7 +3160,7 @@ sub_808C114: @ 808C114
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetGraphicsId
+ bl EventObjectSetGraphicsId
ldrb r1, [r5, 0x4]
lsls r0, r1, 4
adds r0, r1
@@ -3186,7 +3186,7 @@ sub_808C15C: @ 808C15C
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r4, r0
movs r0, 0x6
bl GetPlayerAvatarGraphicsIdByStateId
@@ -3194,7 +3194,7 @@ sub_808C15C: @ 808C15C
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetGraphicsId
+ bl EventObjectSetGraphicsId
ldrb r0, [r6, 0x4]
lsls r4, r0, 4
adds r4, r0
@@ -3202,7 +3202,7 @@ sub_808C15C: @ 808C15C
ldr r0, =gSprites
adds r4, r0
adds r0, r5, 0
- bl sub_8092A0C
+ bl GetFishingDirectionAnimNum
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -3227,7 +3227,7 @@ sub_808C1B4: @ 808C1B4
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r4, r0
movs r0, 0x2
bl GetPlayerAvatarGraphicsIdByStateId
@@ -3235,7 +3235,7 @@ sub_808C1B4: @ 808C1B4
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetGraphicsId
+ bl EventObjectSetGraphicsId
ldrb r0, [r6, 0x4]
lsls r4, r0, 4
adds r4, r0
@@ -3244,7 +3244,7 @@ sub_808C1B4: @ 808C1B4
mov r8, r0
add r4, r8
adds r0, r5, 0
- bl sub_80929BC
+ bl GetAcroWheelieDirectionAnimNum
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -3276,7 +3276,7 @@ sub_808C228: @ 808C228
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r4, r0
movs r0, 0x7
bl GetPlayerAvatarGraphicsIdByStateId
@@ -3284,7 +3284,7 @@ sub_808C228: @ 808C228
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetGraphicsId
+ bl EventObjectSetGraphicsId
ldrb r0, [r6, 0x4]
lsls r4, r0, 4
adds r4, r0
@@ -3292,7 +3292,7 @@ sub_808C228: @ 808C228
ldr r0, =gSprites
adds r4, r0
adds r0, r5, 0
- bl FieldObjectDirectionToImageAnimId
+ bl GetFaceDirectionAnimNum
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -3414,7 +3414,7 @@ taskFF_bump_boulder: @ 808C34C
lsrs r0, 24
ldr r6, =gUnknown_08497530
ldr r2, =gTasks
- ldr r5, =gMapObjects
+ ldr r5, =gEventObjects
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
@@ -3474,49 +3474,49 @@ do_boulder_dust: @ 808C3C4
adds r5, r1, 0
adds r4, r2, 0
adds r0, r5, 0
- bl FieldObjectIsSpecialAnimActive
+ bl EventObjectIsHeldMovementActive
lsls r0, 24
cmp r0, 0
beq _0808C3DE
adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
_0808C3DE:
adds r0, r4, 0
- bl FieldObjectIsSpecialAnimActive
+ bl EventObjectIsHeldMovementActive
lsls r0, 24
cmp r0, 0
beq _0808C3F0
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
_0808C3F0:
adds r0, r5, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl EventObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
bne _0808C472
adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl EventObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
bne _0808C472
adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
ldrb r0, [r6, 0xC]
- bl GetStepInPlaceDelay16AnimId
+ bl GetWalkInPlaceNormalMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r5, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
ldrb r0, [r6, 0xC]
- bl GetSimpleGoAnimId
+ bl GetWalkSlowMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
ldr r2, =gFieldEffectArguments
movs r1, 0x10
ldrsh r0, [r4, r1]
@@ -3558,19 +3558,19 @@ sub_808C484: @ 808C484
adds r4, r1, 0
adds r5, r2, 0
adds r0, r4, 0
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
+ bl EventObjectCheckHeldMovementStatus
lsls r0, 24
cmp r0, 0
beq _0808C4C6
adds r0, r5, 0
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
+ bl EventObjectCheckHeldMovementStatus
lsls r0, 24
cmp r0, 0
beq _0808C4C6
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
ldr r1, =gPlayerAvatar
movs r0, 0
strb r0, [r1, 0x6]
@@ -3625,7 +3625,7 @@ _0808C50A:
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r1, r0
ldr r2, [r2]
adds r0, r4, 0
@@ -3648,7 +3648,7 @@ sub_808C544: @ 808C544
movs r0, 0x1
strb r0, [r5, 0x6]
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0808C5A0
@@ -3657,12 +3657,12 @@ sub_808C544: @ 808C544
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl sub_80934BC
+ bl GetJumpInPlaceMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
ldrh r0, [r6, 0xA]
adds r0, 0x1
strh r0, [r6, 0xA]
@@ -3726,7 +3726,7 @@ _0808C5E2:
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r1, r0
ldr r2, [r2]
adds r0, r4, 0
@@ -3772,7 +3772,7 @@ sub_808C644: @ 808C644
movs r2, 0x4
bl memcpy
adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0808C6AC
@@ -3782,12 +3782,12 @@ sub_808C644: @ 808C644
add r0, sp
ldrb r6, [r0]
adds r0, r6, 0
- bl GetFaceDirectionAnimId
+ bl GetFaceDirectionMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r5, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
ldrb r0, [r4, 0xA]
cmp r6, r0
bne _0808C68A
@@ -3831,7 +3831,7 @@ sub_808C6BC: @ 808C6BC
movs r2, 0x5
bl memcpy
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0808C6EC
@@ -3840,7 +3840,7 @@ sub_808C6BC: @ 808C6BC
add r0, sp
ldrb r1, [r0]
adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
movs r0, 0x1
strh r0, [r5, 0x8]
_0808C6EC:
@@ -3858,7 +3858,7 @@ sub_808C6FC: @ 808C6FC
adds r4, r0, 0
adds r5, r1, 0
adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0808C740
@@ -3866,12 +3866,12 @@ sub_808C6FC: @ 808C6FC
bl GetOppositeDirection
lsls r0, 24
lsrs r0, 24
- bl GetSimpleGoAnimId
+ bl GetWalkSlowMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r5, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
bl ScriptContext2_Disable
ldr r1, =gPlayerAvatar
movs r0, 0
@@ -3936,15 +3936,15 @@ taskFF_0805D1D4: @ 808C7A8
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r5, r0, r1
adds r0, r5, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl EventObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
beq _0808C7D4
adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0808C7FC
@@ -3958,12 +3958,12 @@ _0808C7D4:
lsls r4, 3
adds r4, r0
ldrb r0, [r4, 0x8]
- bl sub_8093540
+ bl GetJumpSpecialMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r5, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
ldr r0, =sub_808C814
str r0, [r4]
_0808C7FC:
@@ -3983,10 +3983,10 @@ sub_808C814: @ 808C814
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r4, r0, r1
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0808C87A
@@ -3996,16 +3996,16 @@ sub_808C814: @ 808C814
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetGraphicsId
+ bl EventObjectSetGraphicsId
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl GetFaceDirectionAnimId
+ bl GetFaceDirectionMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
movs r0, 0
strb r0, [r6, 0x6]
bl ScriptContext2_Disable
@@ -4127,7 +4127,7 @@ fish1: @ 808C918
ldrh r1, [r6]
adds r1, r0
strh r1, [r5, 0x22]
- ldr r3, =gMapObjects
+ ldr r3, =gEventObjects
ldr r2, =gPlayerAvatar
ldrb r1, [r2, 0x5]
lsls r0, r1, 3
@@ -4142,7 +4142,7 @@ fish1: @ 808C918
lsls r4, 2
adds r4, r3
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimActive
+ bl EventObjectClearHeldMovementIfActive
ldrb r0, [r4, 0x1]
movs r1, 0x8
orrs r0, r1
@@ -4373,10 +4373,10 @@ _0808CB32:
lsls r4, 2
ldr r0, =gSprites
adds r4, r0
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
- bl sub_8092A2C
+ bl GetFishingBiteDirectionAnimNum
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -4579,18 +4579,18 @@ _0808CCBC:
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
mov r8, r0
add r4, r8
ldrh r1, [r5, 0x24]
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetGraphicsId
+ bl EventObjectSetGraphicsId
ldrb r1, [r4, 0x18]
lsrs r1, 4
adds r0, r4, 0
- bl FieldObjectTurn
+ bl EventObjectTurn
ldrb r1, [r7]
movs r0, 0x8
ands r0, r1
@@ -4671,10 +4671,10 @@ fishB: @ 808CD94
lsls r4, 2
ldr r0, =gSprites
adds r4, r0
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
- bl sub_8092A1C
+ bl GetFishingNoCatchDirectionAnimNum
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -4719,10 +4719,10 @@ fishC: @ 808CE04
lsls r4, 2
ldr r0, =gSprites
adds r4, r0
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
- bl sub_8092A1C
+ bl GetFishingNoCatchDirectionAnimNum
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -4792,18 +4792,18 @@ fishE: @ 808CE8C
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
mov r8, r0
add r4, r8
ldrh r1, [r6, 0x24]
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetGraphicsId
+ bl EventObjectSetGraphicsId
ldrb r1, [r4, 0x18]
lsrs r1, 4
adds r0, r4, 0
- bl FieldObjectTurn
+ bl EventObjectTurn
ldrb r1, [r5]
movs r0, 0x8
ands r0, r1
@@ -4858,7 +4858,7 @@ fishF: @ 808CF2C
ldr r0, =gPlayerAvatar
strb r1, [r0, 0x6]
bl ScriptContext2_Disable
- bl UnfreezeMapObjects
+ bl UnfreezeEventObjects
movs r0, 0
movs r1, 0x1
bl sub_8197434
@@ -4956,7 +4956,7 @@ _0808CFF0:
bhi _0808D022
movs r0, 0x8
strh r0, [r4, 0x24]
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
@@ -4984,7 +4984,7 @@ _0808D03A:
ands r0, r1
cmp r0, 0
beq _0808D05E
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldrb r1, [r3, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -5037,7 +5037,7 @@ sub_808D094: @ 808D094
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r4, r0, r1
ldrb r1, [r4, 0x4]
lsls r0, r1, 4
@@ -5066,7 +5066,7 @@ _0808D0E8:
b _0808D18A
_0808D0EE:
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0808D18A
@@ -5217,7 +5217,7 @@ sub_808D1FC: @ 808D1FC
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r4, r0, r1
ldrb r1, [r4, 0x4]
lsls r0, r1, 4
@@ -5257,12 +5257,12 @@ _0808D25E:
ldrsh r0, [r5, r3]
adds r0, r1
ldrb r0, [r0]
- bl GetFaceDirectionAnimId
+ bl GetFaceDirectionMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectForceSetSpecialAnim
+ bl EventObjectForceSetHeldMovement
movs r0, 0
mov r9, r0
strh r6, [r5, 0x2]
@@ -5414,7 +5414,7 @@ sub_808D38C: @ 808D38C
ble _0808D3E4
_0808D3A8:
adds r0, r5, 0
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
+ bl EventObjectCheckHeldMovementStatus
lsls r0, 24
cmp r0, 0
beq _0808D3E4
@@ -5424,12 +5424,12 @@ _0808D3A8:
lsrs r0, 28
adds r0, r4
ldrb r0, [r0]
- bl GetFaceDirectionAnimId
+ bl GetFaceDirectionMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r5, 0
- bl FieldObjectForceSetSpecialAnim
+ bl EventObjectForceSetHeldMovement
movs r0, 0
strh r0, [r6]
ldrb r0, [r5, 0x18]
diff --git a/asm/field_screen.s b/asm/field_screen.s
index 2a539d111..27627ac58 100644
--- a/asm/field_screen.s
+++ b/asm/field_screen.s
@@ -1764,8 +1764,8 @@ _080ABDE4:
.pool
thumb_func_end FadeScreen
- thumb_func_start sub_80ABDFC
-sub_80ABDFC: @ 80ABDFC
+ thumb_func_start IsWeatherNotFadingIn
+IsWeatherNotFadingIn: @ 80ABDFC
ldr r0, =gUnknown_02038454
ldr r1, =0x000006c6
adds r0, r1
@@ -1777,11 +1777,11 @@ sub_80ABDFC: @ 80ABDFC
lsrs r0, 31
bx lr
.pool
- thumb_func_end sub_80ABDFC
+ thumb_func_end IsWeatherNotFadingIn
- thumb_func_start sub_80ABE18
-@ void sub_80ABE18(u8 a1)
-sub_80ABE18: @ 80ABE18
+ thumb_func_start UpdateSpritePaletteWithWeather
+@ void UpdateSpritePaletteWithWeather(u8 a1)
+UpdateSpritePaletteWithWeather: @ 80ABE18
push {r4-r6,lr}
lsls r0, 24
lsrs r0, 8
@@ -1882,7 +1882,7 @@ _080ABEF4:
pop {r0}
bx r0
.pool
- thumb_func_end sub_80ABE18
+ thumb_func_end UpdateSpritePaletteWithWeather
thumb_func_start ApplyWeatherGammaShiftToPal
ApplyWeatherGammaShiftToPal: @ 80ABF00
@@ -1939,7 +1939,7 @@ sub_80ABF4C: @ 80ABF4C
movs r2, 0x20
bl LoadPalette
ldrb r0, [r4]
- bl sub_80ABE18
+ bl UpdateSpritePaletteWithWeather
pop {r4}
pop {r0}
bx r0
@@ -2504,8 +2504,8 @@ sub_80AC3E4: @ 80AC3E4
.pool
thumb_func_end sub_80AC3E4
- thumb_func_start sub_80AC3F8
-sub_80AC3F8: @ 80AC3F8
+ thumb_func_start PreservePaletteInWeather
+PreservePaletteInWeather: @ 80AC3F8
push {r4,r5,lr}
adds r4, r0, 0
lsls r4, 24
@@ -2524,16 +2524,16 @@ sub_80AC3F8: @ 80AC3F8
pop {r0}
bx r0
.pool
- thumb_func_end sub_80AC3F8
+ thumb_func_end PreservePaletteInWeather
- thumb_func_start sub_80AC428
-sub_80AC428: @ 80AC428
+ thumb_func_start ResetPreservedPalettesInWeather
+ResetPreservedPalettesInWeather: @ 80AC428
ldr r1, =gUnknown_03000F50
ldr r0, =gUnknown_0854C250
str r0, [r1]
bx lr
.pool
- thumb_func_end sub_80AC428
+ thumb_func_end ResetPreservedPalettesInWeather
thumb_func_start sub_80AC438
sub_80AC438: @ 80AC438
@@ -8382,7 +8382,7 @@ _080AF46C:
_080AF480:
movs r0, 0
bl sub_80AF0F4
- bl FreezeMapObjects
+ bl FreezeEventObjects
adds r0, r6, 0
adds r1, r7, 0
bl PlayerGetDestCoords
@@ -8403,17 +8403,17 @@ _080AF4A4:
movs r0, 0xFF
movs r1, 0
movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r0, r1
movs r1, 0x8
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
movs r0, 0x2
strh r0, [r5, 0x8]
b _080AF54A
@@ -8434,16 +8434,16 @@ _080AF4DC:
movs r0, 0xFF
movs r1, 0
movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
movs r0, 0x3
strh r0, [r5, 0x8]
b _080AF54A
@@ -8461,7 +8461,7 @@ _080AF520:
cmp r0, 0x1
beq _080AF54A
_080AF536:
- bl UnfreezeMapObjects
+ bl UnfreezeEventObjects
movs r0, 0x4
strh r0, [r5, 0x8]
b _080AF54A
@@ -8508,7 +8508,7 @@ _080AF580:
_080AF58A:
movs r0, 0
bl sub_80AF0F4
- bl FreezeMapObjects
+ bl FreezeEventObjects
adds r0, r6, 0
adds r1, r7, 0
bl PlayerGetDestCoords
@@ -8524,23 +8524,23 @@ _080AF5A2:
movs r0, 0xFF
movs r1, 0
movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
lsls r0, 24
lsrs r0, 24
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r4, r0
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
- bl GetGoSpeed0AnimId
+ bl GetWalkNormalMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
movs r0, 0x2
strh r0, [r5, 0x8]
b _080AF60A
@@ -8550,7 +8550,7 @@ _080AF5EC:
lsls r0, 24
cmp r0, 0
beq _080AF60A
- bl UnfreezeMapObjects
+ bl UnfreezeEventObjects
movs r0, 0x3
strh r0, [r5, 0x8]
b _080AF60A
@@ -8583,7 +8583,7 @@ task_map_chg_seq_0807E2CC: @ 80AF610
b _080AF65A
.pool
_080AF634:
- bl FreezeMapObjects
+ bl FreezeEventObjects
bl ScriptContext2_Enable
ldrh r0, [r4, 0x8]
adds r0, 0x1
@@ -8593,7 +8593,7 @@ _080AF644:
bl sub_80AF71C
cmp r0, 0
beq _080AF65A
- bl UnfreezeMapObjects
+ bl UnfreezeEventObjects
bl ScriptContext2_Disable
adds r0, r5, 0
bl DestroyTask
@@ -8656,7 +8656,7 @@ task_mpl_807E3C8: @ 80AF6B0
bl ScriptContext2_Disable
adds r0, r4, 0
bl DestroyTask
- bl sub_80984F4
+ bl ScriptUnfreezeEventObjects
_080AF6CC:
pop {r4}
pop {r0}
@@ -8702,7 +8702,7 @@ sub_80AF710: @ 80AF710
thumb_func_start sub_80AF71C
sub_80AF71C: @ 80AF71C
push {lr}
- bl sub_80ABDFC
+ bl IsWeatherNotFadingIn
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -8861,7 +8861,7 @@ sub_80AF87C: @ 80AF87C
movs r0, 0x1
bl sub_8085540
bl ScriptContext2_Enable
- bl save_serialize_npcs
+ bl SaveEventObjects
bl music_something
bl sub_80AF0B4
movs r0, 0x2D
@@ -9062,7 +9062,7 @@ _080AFA34:
beq _080AFA6C
b _080AFA7C
_080AFA3A:
- bl FreezeMapObjects
+ bl FreezeEventObjects
bl ScriptContext2_Enable
b _080AFA64
_080AFA44:
@@ -9133,7 +9133,7 @@ _080AFAC0:
.4byte _080AFBB8
.4byte _080AFBD4
_080AFAD4:
- bl FreezeMapObjects
+ bl FreezeEventObjects
adds r0, r4, 0
adds r1, r6, 0
bl PlayerGetDestCoords
@@ -9174,20 +9174,20 @@ _080AFB26:
movs r0, 0xFF
movs r1, 0
movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r4, =gMapObjects
+ ldr r4, =gEventObjects
adds r0, r4
- bl FieldObjectClearAnimIfSpecialAnimActive
+ bl EventObjectClearHeldMovementIfActive
movs r0, 0xFF
movs r1, 0
movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -9196,7 +9196,7 @@ _080AFB26:
lsls r0, 2
adds r0, r4
movs r1, 0x9
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
movs r0, 0x2
strh r0, [r5, 0x8]
b _080AFBE8
@@ -9218,16 +9218,16 @@ _080AFB6C:
movs r0, 0xFF
movs r1, 0
movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
movs r0, 0
bl sub_80AF0F4
movs r0, 0x3
@@ -9290,7 +9290,7 @@ _080AFC1C:
beq _080AFC46
b _080AFC56
_080AFC22:
- bl FreezeMapObjects
+ bl FreezeEventObjects
bl ScriptContext2_Enable
b _080AFC3E
_080AFC2C:
@@ -9982,7 +9982,7 @@ task0A_mpl_807E31C: @ 80B0160
b _080B01B6
.pool
_080B0184:
- bl FreezeMapObjects
+ bl FreezeEventObjects
bl ScriptContext2_Enable
bl sub_808D194
ldrh r0, [r4, 0x8]
@@ -9996,7 +9996,7 @@ _080B0198:
bl sub_808D1B4
cmp r0, 0x1
beq _080B01B6
- bl UnfreezeMapObjects
+ bl UnfreezeEventObjects
bl ScriptContext2_Disable
adds r0, r5, 0
bl DestroyTask
@@ -10033,7 +10033,7 @@ _080B01E4:
beq _080B022A
b _080B023A
_080B01EE:
- bl FreezeMapObjects
+ bl FreezeEventObjects
bl ScriptContext2_Enable
movs r0, 0x2D
bl PlaySE
diff --git a/asm/field_specials.s b/asm/field_specials.s
deleted file mode 100644
index 7e3185556..000000000
--- a/asm/field_specials.s
+++ /dev/null
@@ -1,8075 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start Special_ShowDiploma
-Special_ShowDiploma: @ 8137CB4
- push {lr}
- ldr r0, =CB2_ShowDiploma
- bl SetMainCallback2
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .pool
- thumb_func_end Special_ShowDiploma
-
- thumb_func_start Special_ViewWallClock
-Special_ViewWallClock: @ 8137CC8
- push {lr}
- ldr r0, =gMain
- ldr r1, =CB2_ReturnToField
- str r1, [r0, 0x8]
- ldr r0, =Cb2_ViewWallClock
- bl SetMainCallback2
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .pool
- thumb_func_end Special_ViewWallClock
-
- thumb_func_start ResetCyclingRoadChallengeData
-ResetCyclingRoadChallengeData: @ 8137CEC
- ldr r0, =gBikeCyclingChallenge
- movs r1, 0
- strb r1, [r0]
- ldr r0, =0x0203ab55
- strb r1, [r0]
- ldr r1, =gUnknown_0203AB58
- movs r0, 0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end ResetCyclingRoadChallengeData
-
- thumb_func_start Special_BeginCyclingRoadChallenge
-Special_BeginCyclingRoadChallenge: @ 8137D0C
- ldr r1, =gBikeCyclingChallenge
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, =0x0203ab55
- movs r0, 0
- strb r0, [r1]
- ldr r1, =gUnknown_0203AB58
- ldr r0, =gMain
- ldr r0, [r0, 0x20]
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end Special_BeginCyclingRoadChallenge
-
- thumb_func_start GetPlayerAvatarBike
-GetPlayerAvatarBike: @ 8137D34
- push {lr}
- movs r0, 0x4
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _08137D46
- movs r0, 0x1
- b _08137D58
-_08137D46:
- movs r0, 0x2
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- bne _08137D56
- movs r0, 0
- b _08137D58
-_08137D56:
- movs r0, 0x2
-_08137D58:
- pop {r1}
- bx r1
- thumb_func_end GetPlayerAvatarBike
-
- thumb_func_start DetermineCyclingRoadResults
-DetermineCyclingRoadResults: @ 8137D5C
- push {r4-r7,lr}
- adds r7, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- cmp r6, 0x63
- bhi _08137D88
- ldr r4, =gStringVar1
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r1, =gText_SpaceTimes
- adds r0, r4, 0
- bl StringAppend
- b _08137D90
- .pool
-_08137D88:
- ldr r0, =gStringVar1
- ldr r1, =gText_99TimesPlus
- bl StringCopy
-_08137D90:
- ldr r0, =0x00000e0f
- cmp r7, r0
- bhi _08137DF0
- ldr r4, =gStringVar2
- adds r0, r7, 0
- movs r1, 0x3C
- bl __udivsi3
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- movs r0, 0xAD
- strb r0, [r4, 0x2]
- adds r5, r4, 0x3
- adds r0, r7, 0
- movs r1, 0x3C
- bl __umodsi3
- movs r1, 0x64
- muls r0, r1
- movs r1, 0x3C
- bl __udivsi3
- adds r1, r0, 0
- adds r0, r5, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r1, =gText_SpaceSeconds
- adds r0, r4, 0
- bl StringAppend
- b _08137DF8
- .pool
-_08137DF0:
- ldr r0, =gStringVar2
- ldr r1, =gText_1MinutePlus
- bl StringCopy
-_08137DF8:
- movs r4, 0
- cmp r6, 0
- bne _08137E0C
- movs r4, 0x5
- b _08137E2A
- .pool
-_08137E0C:
- cmp r6, 0x3
- bhi _08137E14
- movs r4, 0x4
- b _08137E2A
-_08137E14:
- cmp r6, 0x9
- bhi _08137E1C
- movs r4, 0x3
- b _08137E2A
-_08137E1C:
- cmp r6, 0x13
- bhi _08137E24
- movs r4, 0x2
- b _08137E2A
-_08137E24:
- cmp r6, 0x63
- bhi _08137E2A
- movs r4, 0x1
-_08137E2A:
- adds r0, r7, 0
- movs r1, 0x3C
- bl __udivsi3
- cmp r0, 0xA
- bhi _08137E3A
- adds r0, r4, 0x5
- b _08137E58
-_08137E3A:
- cmp r0, 0xF
- bhi _08137E42
- adds r0, r4, 0x4
- b _08137E58
-_08137E42:
- cmp r0, 0x14
- bhi _08137E4A
- adds r0, r4, 0x3
- b _08137E58
-_08137E4A:
- cmp r0, 0x28
- bhi _08137E52
- adds r0, r4, 0x2
- b _08137E58
-_08137E52:
- cmp r0, 0x3B
- bhi _08137E5C
- adds r0, r4, 0x1
-_08137E58:
- lsls r0, 24
- lsrs r4, r0, 24
-_08137E5C:
- ldr r0, =gSpecialVar_Result
- strh r4, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DetermineCyclingRoadResults
-
- thumb_func_start FinishCyclingRoadChallenge
-FinishCyclingRoadChallenge: @ 8137E6C
- push {r4,r5,lr}
- ldr r0, =gMain
- ldr r1, =gUnknown_0203AB58
- ldr r4, [r0, 0x20]
- ldr r0, [r1]
- subs r4, r0
- ldr r5, =0x0203ab55
- ldrb r1, [r5]
- adds r0, r4, 0
- bl DetermineCyclingRoadResults
- ldrb r1, [r5]
- adds r0, r4, 0
- bl RecordCyclingRoadResults
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FinishCyclingRoadChallenge
-
- thumb_func_start RecordCyclingRoadResults
-RecordCyclingRoadResults: @ 8137E9C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- ldr r6, =0x00004028
- adds r0, r6, 0
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r7, =0x00004029
- adds r0, r7, 0
- bl VarGet
- lsls r0, 16
- adds r4, r0
- cmp r4, r5
- bhi _08137ECC
- cmp r4, 0
- bne _08137EE6
-_08137ECC:
- lsls r1, r5, 16
- lsrs r1, 16
- adds r0, r6, 0
- bl VarSet
- lsrs r1, r5, 16
- adds r0, r7, 0
- bl VarSet
- ldr r0, =0x00004027
- mov r1, r8
- bl VarSet
-_08137EE6:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RecordCyclingRoadResults
-
- thumb_func_start GetRecordedCyclingRoadResults
-GetRecordedCyclingRoadResults: @ 8137EFC
- push {r4,lr}
- ldr r0, =0x00004028
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =0x00004029
- bl VarGet
- lsls r0, 16
- adds r4, r0
- cmp r4, 0
- beq _08137F3C
- ldr r0, =0x00004027
- bl VarGet
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl DetermineCyclingRoadResults
- movs r0, 0x1
- b _08137F3E
- .pool
-_08137F3C:
- movs r0, 0
-_08137F3E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetRecordedCyclingRoadResults
-
- thumb_func_start UpdateCyclingRoadState
-UpdateCyclingRoadState: @ 8137F44
- push {r4,lr}
- ldr r0, =gUnknown_020322DC
- ldrh r1, [r0]
- ldr r0, =0x00000c1d
- cmp r1, r0
- beq _08137F7C
- ldr r4, =0x000040a9
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- beq _08137F6E
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- bne _08137F7C
-_08137F6E:
- adds r0, r4, 0
- movs r1, 0
- bl VarSet
- movs r0, 0
- bl Overworld_SetSavedMusic
-_08137F7C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end UpdateCyclingRoadState
-
- thumb_func_start SetSSTidalFlag
-SetSSTidalFlag: @ 8137F90
- push {lr}
- ldr r0, =0x0000088d
- bl FlagSet
- ldr r0, =0x0000404a
- bl GetVarPointer
- movs r1, 0
- strh r1, [r0]
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetSSTidalFlag
-
- thumb_func_start ResetSSTidalFlag
-ResetSSTidalFlag: @ 8137FB0
- push {lr}
- ldr r0, =0x0000088d
- bl FlagClear
- pop {r0}
- bx r0
- .pool
- thumb_func_end ResetSSTidalFlag
-
- thumb_func_start CountSSTidalStep
-CountSSTidalStep: @ 8137FC0
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =0x0000088d
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08137FE6
- ldr r0, =0x0000404a
- bl GetVarPointer
- ldrh r1, [r0]
- adds r1, r4, r1
- strh r1, [r0]
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0xCC
- bhi _08137FF4
-_08137FE6:
- movs r0, 0
- b _08137FF6
- .pool
-_08137FF4:
- movs r0, 0x1
-_08137FF6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end CountSSTidalStep
-
- thumb_func_start GetSSTidalLocation
-GetSSTidalLocation: @ 8137FFC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- adds r5, r1, 0
- adds r6, r2, 0
- adds r7, r3, 0
- ldr r0, =0x0000404a
- bl GetVarPointer
- adds r4, r0, 0
- ldr r0, =0x000040b4
- bl GetVarPointer
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r0, 0x9
- bhi _081380C2
- lsls r0, 2
- ldr r1, =_08138038
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08138038:
- .4byte _08138060
- .4byte _08138070
- .4byte _08138064
- .4byte _08138068
- .4byte _08138068
- .4byte _0813806C
- .4byte _08138098
- .4byte _08138060
- .4byte _08138064
- .4byte _0813806C
-_08138060:
- movs r0, 0x1
- b _081380CE
-_08138064:
- movs r0, 0x4
- b _081380CE
-_08138068:
- movs r0, 0x2
- b _081380CE
-_0813806C:
- movs r0, 0x3
- b _081380CE
-_08138070:
- ldrh r0, [r4]
- cmp r0, 0x3B
- bhi _08138080
- movs r0, 0x31
- strb r0, [r5]
- ldrh r0, [r4]
- adds r0, 0x13
- b _081380C0
-_08138080:
- cmp r0, 0x8B
- bhi _0813808E
- movs r0, 0x30
- strb r0, [r5]
- ldrh r0, [r4]
- subs r0, 0x3C
- b _081380C0
-_0813808E:
- movs r0, 0x2F
- strb r0, [r5]
- ldrh r0, [r4]
- subs r0, 0x8C
- b _081380C0
-_08138098:
- ldrh r0, [r4]
- cmp r0, 0x41
- bhi _081380A8
- movs r0, 0x2F
- strb r0, [r5]
- ldrh r1, [r4]
- movs r0, 0x41
- b _081380BE
-_081380A8:
- cmp r0, 0x91
- bhi _081380B6
- movs r0, 0x30
- strb r0, [r5]
- ldrh r1, [r4]
- movs r0, 0x91
- b _081380BE
-_081380B6:
- movs r0, 0x31
- strb r0, [r5]
- ldrh r1, [r4]
- movs r0, 0xE0
-_081380BE:
- subs r0, r1
-_081380C0:
- strh r0, [r6]
-_081380C2:
- movs r0, 0
- mov r1, r8
- strb r0, [r1]
- movs r0, 0x14
- strh r0, [r7]
- movs r0, 0
-_081380CE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end GetSSTidalLocation
-
- thumb_func_start is_tile_that_overrides_player_control
-is_tile_that_overrides_player_control: @ 81380D8
- push {lr}
- movs r0, 0x88
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0813810A
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- cmp r0, 0x1
- blt _0813810A
- cmp r0, 0x3
- ble _081380F6
- cmp r0, 0x6
- bne _0813810A
-_081380F6:
- ldr r0, =0x000040f2
- bl GetVarPointer
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0xF9
- bhi _08138118
-_0813810A:
- movs r0, 0
- b _0813811A
- .pool
-_08138118:
- movs r0, 0x1
-_0813811A:
- pop {r1}
- bx r1
- thumb_func_end is_tile_that_overrides_player_control
-
- thumb_func_start sub_8138120
-sub_8138120: @ 8138120
- push {lr}
- movs r0, 0x8A
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08138152
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- cmp r0, 0x1
- blt _08138152
- cmp r0, 0x3
- ble _0813813E
- cmp r0, 0x6
- bne _08138152
-_0813813E:
- ldr r0, =0x000040f3
- bl GetVarPointer
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0x9
- bhi _08138160
-_08138152:
- movs r0, 0
- b _08138162
- .pool
-_08138160:
- movs r0, 0x1
-_08138162:
- pop {r1}
- bx r1
- thumb_func_end sub_8138120
-
- thumb_func_start sub_8138168
-sub_8138168: @ 8138168
- push {lr}
- movs r0, 0x72
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0813819A
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- cmp r0, 0x1
- blt _0813819A
- cmp r0, 0x3
- ble _08138186
- cmp r0, 0x6
- bne _0813819A
-_08138186:
- ldr r0, =0x000040f5
- bl GetVarPointer
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0x9
- bhi _081381A8
-_0813819A:
- movs r0, 0
- b _081381AA
- .pool
-_081381A8:
- movs r0, 0x1
-_081381AA:
- pop {r1}
- bx r1
- thumb_func_end sub_8138168
-
- thumb_func_start sub_81381B0
-sub_81381B0: @ 81381B0
- push {lr}
- movs r0, 0x80
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _081381E2
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- cmp r0, 0x1
- blt _081381E2
- cmp r0, 0x3
- ble _081381CE
- cmp r0, 0x6
- bne _081381E2
-_081381CE:
- ldr r0, =0x000040f4
- bl GetVarPointer
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0xF9
- bhi _081381F0
-_081381E2:
- movs r0, 0
- b _081381F2
- .pool
-_081381F0:
- movs r0, 0x1
-_081381F2:
- pop {r1}
- bx r1
- thumb_func_end sub_81381B0
-
- thumb_func_start sub_81381F8
-sub_81381F8: @ 81381F8
- push {lr}
- movs r0, 0x75
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0813822A
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- cmp r0, 0x1
- blt _0813822A
- cmp r0, 0x3
- ble _08138216
- cmp r0, 0x6
- bne _0813822A
-_08138216:
- ldr r0, =0x000040f6
- bl GetVarPointer
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0xF9
- bhi _08138238
-_0813822A:
- movs r0, 0
- b _0813823A
- .pool
-_08138238:
- movs r0, 0x1
-_0813823A:
- pop {r1}
- bx r1
- thumb_func_end sub_81381F8
-
- thumb_func_start GetLinkPartnerNames
-GetLinkPartnerNames: @ 8138240
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r6, 0
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r7, r0, 24
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- cmp r4, r5
- bcs _0813828A
- ldr r0, =gTVStringVarPtrs
- mov r8, r0
-_08138262:
- cmp r7, r4
- beq _08138280
- lsls r0, r6, 2
- add r0, r8
- ldr r0, [r0]
- lsls r1, r4, 3
- subs r1, r4
- lsls r1, 2
- ldr r2, =gLinkPlayers + 8
- adds r1, r2
- bl StringCopy
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_08138280:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08138262
-_0813828A:
- adds r0, r5, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetLinkPartnerNames
-
- thumb_func_start SpawnLinkPartnerFieldObject
-SpawnLinkPartnerFieldObject: @ 81382A0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- movs r7, 0
- movs r0, 0
- mov r9, r0
- mov r8, r0
- ldr r1, =gUnknown_085B2B5C
- add r0, sp, 0x8
- movs r2, 0x4
- bl memcpy
- add r4, sp, 0xC
- ldr r1, =gUnknown_085B2B60
- adds r0, r4, 0
- movs r2, 0x8
- bl memcpy
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x2
- beq _08138310
- cmp r0, 0x2
- bgt _081382F4
- cmp r0, 0x1
- beq _0813833C
- b _08138350
- .pool
-_081382F4:
- cmp r1, 0x3
- beq _081382FE
- cmp r1, 0x4
- beq _08138324
- b _08138350
-_081382FE:
- movs r7, 0x2
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrh r0, [r1]
- subs r0, 0x1
- b _0813832C
- .pool
-_08138310:
- movs r7, 0x1
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0]
- mov r9, r1
- ldrh r0, [r0, 0x2]
- subs r0, 0x1
- b _0813834A
- .pool
-_08138324:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
-_0813832C:
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- ldrh r1, [r1, 0x2]
- mov r8, r1
- b _08138350
- .pool
-_0813833C:
- movs r7, 0x3
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r3, [r0]
- mov r9, r3
- ldrh r0, [r0, 0x2]
- adds r0, 0x1
-_0813834A:
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
-_08138350:
- movs r6, 0
- b _08138410
- .pool
-_08138358:
- cmp r10, r6
- beq _0813840A
- ldr r0, =gLinkPlayers
- lsls r2, r6, 3
- subs r1, r2, r6
- lsls r1, 2
- adds r1, r0
- ldrb r3, [r1]
- adds r4, r0, 0
- cmp r3, 0x1
- blt _0813838C
- cmp r3, 0x2
- ble _0813837C
- cmp r3, 0x3
- beq _08138388
- b _0813838C
- .pool
-_0813837C:
- ldrb r0, [r1, 0x13]
- movs r5, 0xEC
- cmp r0, 0
- bne _0813839C
- movs r5, 0xEB
- b _0813839C
-_08138388:
- ldrb r0, [r1, 0x13]
- b _08138394
-_0813838C:
- subs r0, r2, r6
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x13]
-_08138394:
- movs r5, 0x69
- cmp r0, 0
- bne _0813839C
- movs r5, 0x64
-_0813839C:
- mov r0, sp
- adds r0, r7
- adds r0, 0x8
- ldrb r1, [r0]
- movs r4, 0xF0
- subs r4, r6
- lsls r4, 24
- lsrs r4, 24
- lsls r2, r7, 1
- mov r0, sp
- adds r0, r2
- adds r0, 0xC
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- mov r3, r9
- lsls r3, 16
- asrs r3, 16
- mov r12, r3
- add r0, r12
- adds r3, r0, 0x7
- lsls r3, 16
- asrs r3, 16
- mov r12, r3
- mov r0, sp
- adds r0, 0xD
- adds r0, r2
- movs r2, 0
- ldrsb r2, [r0, r2]
- mov r3, r8
- lsls r0, r3, 16
- asrs r0, 16
- adds r0, r2
- adds r0, 0x7
- lsls r0, 16
- asrs r0, 16
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r5, 0
- adds r2, r4, 0
- mov r3, r12
- bl SpawnSpecialFieldObjectParametrized
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r6, 0
- bl sub_813842C
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x4
- bne _0813840A
- movs r7, 0
-_0813840A:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_08138410:
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r6, r0
- bcc _08138358
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SpawnLinkPartnerFieldObject
-
- thumb_func_start sub_813842C
-sub_813842C: @ 813842C
- push {r4,r5,lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r2, 24
- movs r1, 0xC0
- lsls r1, 19
- adds r2, r1
- lsrs r5, r2, 24
- lsrs r4, r0, 24
- movs r2, 0xA8
- lsls r2, 21
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0x1
- bls _08138454
- cmp r4, 0x64
- beq _08138454
- cmp r4, 0x69
- bne _081384E6
-_08138454:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- adds r0, r3, 0
- bl GetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x10
- beq _081384E6
- ldr r1, =gMapObjects
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- lsls r3, r5, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- cmp r4, 0x69
- beq _081384D8
- cmp r4, 0x69
- bgt _081384A8
- cmp r4, 0x64
- beq _081384C4
- b _081384E6
- .pool
-_081384A8:
- cmp r4, 0xEB
- beq _081384B2
- cmp r4, 0xEC
- beq _081384BC
- b _081384E6
-_081384B2:
- ldr r0, =gFieldObjectPalette33
- b _081384C6
- .pool
-_081384BC:
- ldr r0, =gFieldObjectPalette34
- b _081384C6
- .pool
-_081384C4:
- ldr r0, =gFieldObjectPalette8
-_081384C6:
- movs r2, 0x80
- lsls r2, 1
- adds r1, r3, r2
- movs r2, 0x20
- bl LoadPalette
- b _081384E6
- .pool
-_081384D8:
- ldr r0, =gFieldObjectPalette17
- movs r2, 0x80
- lsls r2, 1
- adds r1, r3, r2
- movs r2, 0x20
- bl LoadPalette
-_081384E6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813842C
-
- thumb_func_start MauvilleGymSpecial1
-MauvilleGymSpecial1: @ 81384F0
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =gUnknown_085B2B68
-_081384F6:
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r4, r0
- bne _0813851C
- lsls r1, r4, 2
- adds r1, r5
- ldrb r0, [r1]
- ldrb r1, [r1, 0x1]
- ldr r2, =0x00000206
- bl MapGridSetMetatileIdAt
- b _0813852A
- .pool
-_0813851C:
- lsls r1, r4, 2
- adds r1, r5
- ldrb r0, [r1]
- ldrb r1, [r1, 0x1]
- ldr r2, =0x00000205
- bl MapGridSetMetatileIdAt
-_0813852A:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081384F6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end MauvilleGymSpecial1
-
- thumb_func_start MauvilleGymSpecial2
-MauvilleGymSpecial2: @ 8138540
- push {r4-r6,lr}
- movs r5, 0xC
-_08138544:
- movs r4, 0x7
- adds r6, r5, 0x1
-_08138548:
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileIdAt
- ldr r1, =0xfffffde6
- adds r0, r1
- cmp r0, 0x37
- bls _0813855A
- b _08138734
-_0813855A:
- lsls r0, 2
- ldr r1, =_0813856C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0813856C:
- .4byte _081386F2
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _0813864C
- .4byte _08138652
- .4byte _0813868C
- .4byte _08138694
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _0813865C
- .4byte _08138662
- .4byte _0813869C
- .4byte _081386A4
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _0813866C
- .4byte _08138672
- .4byte _081386AC
- .4byte _081386B4
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _0813867C
- .4byte _08138684
- .4byte _081386BC
- .4byte _081386C4
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _081386CC
- .4byte _081386DC
- .4byte _081386EC
- .4byte _08138714
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _081386D4
- .4byte _081386E4
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _0813872A
- .4byte _0813871C
-_0813864C:
- movs r2, 0x8C
- lsls r2, 2
- b _08138720
-_08138652:
- ldr r2, =0x00000231
- b _08138720
- .pool
-_0813865C:
- movs r2, 0x8E
- lsls r2, 2
- b _08138720
-_08138662:
- ldr r2, =0x00000239
- b _08138720
- .pool
-_0813866C:
- movs r2, 0x88
- lsls r2, 2
- b _08138720
-_08138672:
- ldr r2, =0x00000221
- b _08138720
- .pool
-_0813867C:
- ldr r2, =0x00000e28
- b _08138720
- .pool
-_08138684:
- ldr r2, =0x00000e29
- b _08138720
- .pool
-_0813868C:
- ldr r2, =0x00000232
- b _08138720
- .pool
-_08138694:
- ldr r2, =0x00000233
- b _08138720
- .pool
-_0813869C:
- ldr r2, =0x0000023a
- b _08138720
- .pool
-_081386A4:
- ldr r2, =0x0000023b
- b _08138720
- .pool
-_081386AC:
- ldr r2, =0x00000222
- b _08138720
- .pool
-_081386B4:
- ldr r2, =0x00000223
- b _08138720
- .pool
-_081386BC:
- ldr r2, =0x00000e2a
- b _08138720
- .pool
-_081386C4:
- ldr r2, =0x00000e2b
- b _08138720
- .pool
-_081386CC:
- ldr r2, =0x00000e42
- b _08138720
- .pool
-_081386D4:
- ldr r2, =0x0000021a
- b _08138720
- .pool
-_081386DC:
- ldr r2, =0x00000e43
- b _08138720
- .pool
-_081386E4:
- ldr r2, =0x0000021a
- b _08138720
- .pool
-_081386EC:
- movs r2, 0xE4
- lsls r2, 4
- b _08138720
-_081386F2:
- subs r1, r5, 0x1
- adds r0, r4, 0
- bl MapGridGetMetatileIdAt
- movs r1, 0x90
- lsls r1, 2
- cmp r0, r1
- bne _0813870C
- ldr r2, =0x00000e48
- b _08138720
- .pool
-_0813870C:
- ldr r2, =0x00000e49
- b _08138720
- .pool
-_08138714:
- ldr r2, =0x00000e41
- b _08138720
- .pool
-_0813871C:
- movs r2, 0xE5
- lsls r2, 4
-_08138720:
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
- b _08138734
-_0813872A:
- ldr r2, =0x00000251
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
-_08138734:
- adds r4, 0x1
- cmp r4, 0xF
- bgt _0813873C
- b _08138548
-_0813873C:
- adds r5, r6, 0
- cmp r5, 0x17
- bgt _08138744
- b _08138544
-_08138744:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end MauvilleGymSpecial2
-
- thumb_func_start MauvilleGymSpecial3
-MauvilleGymSpecial3: @ 8138750
- push {r4-r6,lr}
- ldr r4, =gUnknown_085B2B68
- movs r5, 0x3
-_08138756:
- ldrb r0, [r4]
- ldrb r1, [r4, 0x1]
- ldr r2, =0x00000206
- bl MapGridSetMetatileIdAt
- adds r4, 0x4
- subs r5, 0x1
- cmp r5, 0
- bge _08138756
- movs r5, 0xC
-_0813876A:
- movs r4, 0x7
- adds r6, r5, 0x1
-_0813876E:
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileIdAt
- ldr r1, =0xfffffde0
- adds r0, r1
- cmp r0, 0x30
- bls _08138780
- b _081388CA
-_08138780:
- lsls r0, 2
- ldr r1, =_0813879C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0813879C:
- .4byte _08138860
- .4byte _08138866
- .4byte _08138880
- .4byte _08138888
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _08138870
- .4byte _08138876
- .4byte _08138890
- .4byte _08138898
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388A0
- .4byte _081388A8
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388B0
- .4byte _081388B0
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388C0
-_08138860:
- movs r2, 0x8C
- lsls r2, 2
- b _081388B2
-_08138866:
- ldr r2, =0x00000231
- b _081388B2
- .pool
-_08138870:
- movs r2, 0x8E
- lsls r2, 2
- b _081388B2
-_08138876:
- ldr r2, =0x00000239
- b _081388B2
- .pool
-_08138880:
- ldr r2, =0x00000232
- b _081388B2
- .pool
-_08138888:
- ldr r2, =0x00000233
- b _081388B2
- .pool
-_08138890:
- ldr r2, =0x0000023a
- b _081388B2
- .pool
-_08138898:
- ldr r2, =0x0000023b
- b _081388B2
- .pool
-_081388A0:
- ldr r2, =0x00000e42
- b _081388B2
- .pool
-_081388A8:
- ldr r2, =0x00000e43
- b _081388B2
- .pool
-_081388B0:
- ldr r2, =0x0000021a
-_081388B2:
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
- b _081388CA
- .pool
-_081388C0:
- ldr r2, =0x00000251
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
-_081388CA:
- adds r4, 0x1
- cmp r4, 0xF
- bgt _081388D2
- b _0813876E
-_081388D2:
- adds r5, r6, 0
- cmp r5, 0x17
- bgt _081388DA
- b _0813876A
-_081388DA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end MauvilleGymSpecial3
-
- thumb_func_start PetalburgGymSpecial1
-PetalburgGymSpecial1: @ 81388E4
- push {lr}
- ldr r0, =gUnknown_0203AB5C
- movs r1, 0
- strb r1, [r0]
- ldr r0, =gUnknown_0203AB5D
- strb r1, [r0]
- movs r0, 0x2C
- bl PlaySE
- ldr r0, =Task_PetalburgGym
- movs r1, 0x8
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end PetalburgGymSpecial1
-
- thumb_func_start Task_PetalburgGym
-Task_PetalburgGym: @ 8138910
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gUnknown_085B2B78
- ldr r5, =gUnknown_0203AB5D
- ldrb r1, [r5]
- adds r0, r1, r0
- ldr r4, =gUnknown_0203AB5C
- ldrb r2, [r4]
- ldrb r0, [r0]
- cmp r0, r2
- bne _0813896C
- ldr r0, =gSpecialVar_0x8004
- ldrb r0, [r0]
- ldr r2, =gUnknown_085B2B7E
- lsls r1, 1
- adds r1, r2
- ldrh r1, [r1]
- bl PetalburgGymFunc
- movs r0, 0
- strb r0, [r4]
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _08138970
- adds r0, r6, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- b _08138970
- .pool
-_0813896C:
- adds r0, r2, 0x1
- strb r0, [r4]
-_08138970:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end Task_PetalburgGym
-
- thumb_func_start PetalburgGymFunc
-PetalburgGymFunc: @ 8138978
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r2, r1, 16
- movs r7, 0
- subs r0, 0x1
- cmp r0, 0x7
- bhi _08138A40
- lsls r0, 2
- ldr r1, =_081389A0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081389A0:
- .4byte _081389C0
- .4byte _081389D2
- .4byte _081389E4
- .4byte _081389F6
- .4byte _08138A04
- .4byte _08138A1A
- .4byte _08138A26
- .4byte _08138A34
-_081389C0:
- movs r7, 0x2
- mov r1, sp
- movs r0, 0x1
- strh r0, [r1]
- movs r0, 0x7
- strh r0, [r1, 0x2]
- add r1, sp, 0x8
- movs r0, 0x68
- b _08138A14
-_081389D2:
- movs r7, 0x2
- mov r1, sp
- movs r0, 0x1
- strh r0, [r1]
- movs r0, 0x7
- strh r0, [r1, 0x2]
- add r1, sp, 0x8
- movs r0, 0x4E
- b _08138A14
-_081389E4:
- movs r7, 0x2
- mov r1, sp
- movs r0, 0x1
- strh r0, [r1]
- movs r0, 0x7
- strh r0, [r1, 0x2]
- add r1, sp, 0x8
- movs r0, 0x5B
- b _08138A14
-_081389F6:
- movs r7, 0x1
- mov r1, sp
- movs r0, 0x7
- strh r0, [r1]
- add r1, sp, 0x8
- movs r0, 0x27
- b _08138A3E
-_08138A04:
- movs r7, 0x2
- mov r1, sp
- movs r0, 0x1
- strh r0, [r1]
- movs r0, 0x7
- strh r0, [r1, 0x2]
- add r1, sp, 0x8
- movs r0, 0x34
-_08138A14:
- strh r0, [r1]
- strh r0, [r1, 0x2]
- b _08138A40
-_08138A1A:
- movs r7, 0x1
- mov r0, sp
- strh r7, [r0]
- add r1, sp, 0x8
- movs r0, 0x41
- b _08138A3E
-_08138A26:
- movs r7, 0x1
- mov r1, sp
- movs r0, 0x7
- strh r0, [r1]
- add r1, sp, 0x8
- movs r0, 0xD
- b _08138A3E
-_08138A34:
- movs r7, 0x1
- mov r0, sp
- strh r7, [r0]
- add r1, sp, 0x8
- movs r0, 0x1A
-_08138A3E:
- strh r0, [r1]
-_08138A40:
- movs r6, 0
- cmp r6, r7
- bcs _08138A92
- movs r1, 0xC0
- lsls r1, 4
- adds r0, r1, 0
- adds r1, r2, 0
- orrs r1, r0
- lsls r1, 16
- mov r9, r1
- adds r1, r2, 0
- adds r1, 0x8
- orrs r1, r0
- lsls r1, 16
- mov r8, r1
-_08138A5E:
- lsls r1, r6, 1
- mov r3, sp
- adds r5, r3, r1
- ldrh r0, [r5]
- adds r0, 0x7
- add r4, sp, 0x8
- adds r4, r1
- ldrh r1, [r4]
- adds r1, 0x7
- mov r3, r9
- lsrs r2, r3, 16
- bl MapGridSetMetatileIdAt
- ldrh r0, [r5]
- adds r0, 0x7
- ldrh r1, [r4]
- adds r1, 0x8
- mov r3, r8
- lsrs r2, r3, 16
- bl MapGridSetMetatileIdAt
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, r7
- bcc _08138A5E
-_08138A92:
- bl DrawWholeMapView
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end PetalburgGymFunc
-
- thumb_func_start PetalburgGymSpecial2
-PetalburgGymSpecial2: @ 8138AA4
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrb r0, [r0]
- ldr r1, =gUnknown_085B2B7E
- ldrh r1, [r1, 0x8]
- bl PetalburgGymFunc
- pop {r0}
- bx r0
- .pool
- thumb_func_end PetalburgGymSpecial2
-
- thumb_func_start ShowFieldMessageStringVar4
-ShowFieldMessageStringVar4: @ 8138AC0
- push {lr}
- ldr r0, =gStringVar4
- bl ShowFieldMessage
- pop {r0}
- bx r0
- .pool
- thumb_func_end ShowFieldMessageStringVar4
-
- thumb_func_start StorePlayerCoordsInVars
-StorePlayerCoordsInVars: @ 8138AD0
- ldr r1, =gSpecialVar_0x8004
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldrh r0, [r2]
- strh r0, [r1]
- ldr r1, =gSpecialVar_0x8005
- ldrh r0, [r2, 0x2]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end StorePlayerCoordsInVars
-
- thumb_func_start GetPlayerTrainerIdOnesDigit
-GetPlayerTrainerIdOnesDigit: @ 8138AF0
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0xB]
- lsls r1, 8
- ldrb r0, [r0, 0xA]
- orrs r0, r1
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetPlayerTrainerIdOnesDigit
-
- thumb_func_start GetPlayerBigGuyGirlString
-GetPlayerBigGuyGirlString: @ 8138B10
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _08138B34
- ldr r0, =gStringVar1
- ldr r1, =gText_BigGuy
- bl StringCopy
- b _08138B3C
- .pool
-_08138B34:
- ldr r0, =gStringVar1
- ldr r1, =gText_BigGirl
- bl StringCopy
-_08138B3C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end GetPlayerBigGuyGirlString
-
- thumb_func_start GetRivalSonDaughterString
-GetRivalSonDaughterString: @ 8138B48
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _08138B6C
- ldr r0, =gStringVar1
- ldr r1, =gText_Daughter
- bl StringCopy
- b _08138B74
- .pool
-_08138B6C:
- ldr r0, =gStringVar1
- ldr r1, =gText_Son
- bl StringCopy
-_08138B74:
- pop {r0}
- bx r0
- .pool
- thumb_func_end GetRivalSonDaughterString
-
- thumb_func_start sub_8138B80
-sub_8138B80: @ 8138B80
- ldr r0, =gBattleOutcome
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8138B80
-
- thumb_func_start CableCarWarp
-CableCarWarp: @ 8138B8C
- push {lr}
- sub sp, 0x4
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- beq _08138BB0
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x4
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r3, 0x6
- bl Overworld_SetWarpDestination
- b _08138BC2
- .pool
-_08138BB0:
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x4
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0x1
- movs r3, 0x6
- bl Overworld_SetWarpDestination
-_08138BC2:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end CableCarWarp
-
- thumb_func_start SetFlagInVar
-SetFlagInVar: @ 8138BC8
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- bl FlagSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetFlagInVar
-
- thumb_func_start GetWeekCount
-GetWeekCount: @ 8138BDC
- push {lr}
- ldr r0, =gLocalTime
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x7
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _08138BF6
- adds r0, r1, 0
-_08138BF6:
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetWeekCount
-
- thumb_func_start GetLeadMonFriendshipScore
-GetLeadMonFriendshipScore: @ 8138C04
- push {r4,lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0xFF
- bne _08138C2C
- movs r0, 0x6
- b _08138C7E
- .pool
-_08138C2C:
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0xC7
- bls _08138C3C
- movs r0, 0x5
- b _08138C7E
-_08138C3C:
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0x95
- bls _08138C4C
- movs r0, 0x4
- b _08138C7E
-_08138C4C:
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0x63
- bls _08138C5C
- movs r0, 0x3
- b _08138C7E
-_08138C5C:
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0x31
- bls _08138C6C
- movs r0, 0x2
- b _08138C7E
-_08138C6C:
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0
- bne _08138C7C
- movs r0, 0
- b _08138C7E
-_08138C7C:
- movs r0, 0x1
-_08138C7E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetLeadMonFriendshipScore
-
- thumb_func_start CB2_FieldShowRegionMap
-CB2_FieldShowRegionMap: @ 8138C84
- push {lr}
- ldr r0, =CB2_ReturnToFieldContinueScript
- bl sub_817018C
- pop {r0}
- bx r0
- .pool
- thumb_func_end CB2_FieldShowRegionMap
-
- thumb_func_start FieldShowRegionMap
-FieldShowRegionMap: @ 8138C94
- push {lr}
- ldr r0, =CB2_FieldShowRegionMap
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldShowRegionMap
-
- thumb_func_start DoPCTurnOnEffect
-DoPCTurnOnEffect: @ 8138CA4
- push {r4,lr}
- ldr r4, =Task_PCTurnOnEffect
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08138CD8
- adds r0, r4, 0
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- strh r2, [r1, 0x8]
- strh r0, [r1, 0xA]
- strh r2, [r1, 0xC]
- strh r2, [r1, 0xE]
- strh r2, [r1, 0x10]
-_08138CD8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DoPCTurnOnEffect
-
- thumb_func_start Task_PCTurnOnEffect
-Task_PCTurnOnEffect: @ 8138CE8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r1, r0
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08138D06
- adds r0, r1, 0
- bl PCTurnOnEffect_0
-_08138D06:
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_PCTurnOnEffect
-
- thumb_func_start PCTurnOnEffect_0
-PCTurnOnEffect_0: @ 8138D10
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r6, 0
- movs r5, 0
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0x6
- bne _08138D7C
- strh r5, [r4, 0xE]
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x3
- beq _08138D44
- cmp r0, 0x3
- bgt _08138D3A
- cmp r0, 0x2
- beq _08138D40
- b _08138D4C
-_08138D3A:
- cmp r1, 0x4
- beq _08138D48
- b _08138D4C
-_08138D40:
- movs r6, 0
- b _08138D4A
-_08138D44:
- movs r6, 0xFF
- b _08138D4A
-_08138D48:
- movs r6, 0x1
-_08138D4A:
- movs r5, 0xFF
-_08138D4C:
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- lsls r1, r6, 24
- asrs r1, 24
- lsls r2, r5, 24
- asrs r2, 24
- bl PCTurnOnEffect_1
- bl DrawWholeMapView
- ldrh r0, [r4, 0x10]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0x10]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _08138D7C
- ldrb r0, [r4, 0xA]
- bl DestroyTask
-_08138D7C:
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end PCTurnOnEffect_0
-
- thumb_func_start PCTurnOnEffect_1
-PCTurnOnEffect_1: @ 8138D88
- push {r4,r5,lr}
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- movs r3, 0
- lsls r0, 16
- cmp r0, 0
- beq _08138DC4
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _08138DAC
- movs r3, 0x4
- b _08138DE6
- .pool
-_08138DAC:
- cmp r0, 0x1
- bne _08138DB8
- ldr r3, =0x0000025a
- b _08138DE6
- .pool
-_08138DB8:
- cmp r0, 0x2
- bne _08138DE6
- ldr r3, =0x00000259
- b _08138DE6
- .pool
-_08138DC4:
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _08138DD4
- movs r3, 0x5
- b _08138DE6
- .pool
-_08138DD4:
- cmp r0, 0x1
- bne _08138DE0
- ldr r3, =0x0000027f
- b _08138DE6
- .pool
-_08138DE0:
- cmp r0, 0x2
- bne _08138DE6
- ldr r3, =0x0000027e
-_08138DE6:
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r5, 0
- ldrsh r0, [r2, r5]
- lsls r1, 24
- asrs r1, 24
- adds r0, r1
- adds r0, 0x7
- movs r5, 0x2
- ldrsh r1, [r2, r5]
- lsls r2, r4, 24
- asrs r2, 24
- adds r1, r2
- adds r1, 0x7
- movs r4, 0xC0
- lsls r4, 4
- adds r2, r4, 0
- orrs r3, r2
- adds r2, r3, 0
- bl MapGridSetMetatileIdAt
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end PCTurnOnEffect_1
-
- thumb_func_start DoPCTurnOffEffect
-DoPCTurnOffEffect: @ 8138E20
- push {lr}
- bl PCTurnOffEffect
- pop {r0}
- bx r0
- thumb_func_end DoPCTurnOffEffect
-
- thumb_func_start PCTurnOffEffect
-PCTurnOffEffect: @ 8138E2C
- push {r4-r6,lr}
- movs r6, 0
- movs r5, 0
- movs r4, 0
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x3
- beq _08138E56
- cmp r0, 0x3
- bgt _08138E4C
- cmp r0, 0x2
- beq _08138E52
- b _08138E5E
-_08138E4C:
- cmp r1, 0x4
- beq _08138E5A
- b _08138E5E
-_08138E52:
- movs r6, 0
- b _08138E5C
-_08138E56:
- movs r6, 0xFF
- b _08138E5C
-_08138E5A:
- movs r6, 0x1
-_08138E5C:
- movs r5, 0xFF
-_08138E5E:
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _08138E70
- movs r4, 0x4
- b _08138E82
- .pool
-_08138E70:
- cmp r0, 0x1
- bne _08138E7C
- ldr r4, =0x0000025a
- b _08138E82
- .pool
-_08138E7C:
- cmp r0, 0x2
- bne _08138E82
- ldr r4, =0x00000259
-_08138E82:
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r1, 0
- ldrsh r0, [r2, r1]
- lsls r1, r6, 24
- asrs r1, 24
- adds r0, r1
- adds r0, 0x7
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- lsls r2, r5, 24
- asrs r2, 24
- adds r1, r2
- adds r1, 0x7
- movs r3, 0xC0
- lsls r3, 4
- adds r2, r3, 0
- orrs r4, r2
- adds r2, r4, 0
- bl MapGridSetMetatileIdAt
- bl DrawWholeMapView
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end PCTurnOffEffect
-
- thumb_func_start DoLotteryCornerComputerEffect
-DoLotteryCornerComputerEffect: @ 8138EC0
- push {r4,lr}
- ldr r4, =Task_LotteryCornerComputerEffect
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08138EF4
- adds r0, r4, 0
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- strh r2, [r1, 0x8]
- strh r0, [r1, 0xA]
- strh r2, [r1, 0xC]
- strh r2, [r1, 0xE]
- strh r2, [r1, 0x10]
-_08138EF4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DoLotteryCornerComputerEffect
-
- thumb_func_start Task_LotteryCornerComputerEffect
-Task_LotteryCornerComputerEffect: @ 8138F04
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r1, r0
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08138F22
- adds r0, r1, 0
- bl LotteryCornerComputerEffect
-_08138F22:
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_LotteryCornerComputerEffect
-
- thumb_func_start LotteryCornerComputerEffect
-LotteryCornerComputerEffect: @ 8138F2C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0x6
- bne _08138F9A
- movs r0, 0
- strh r0, [r4, 0xE]
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08138F64
- ldr r2, =0x00000e9d
- movs r0, 0x12
- movs r1, 0x8
- bl MapGridSetMetatileIdAt
- ldr r2, =0x00000ea5
- movs r0, 0x12
- movs r1, 0x9
- bl MapGridSetMetatileIdAt
- b _08138F7A
- .pool
-_08138F64:
- ldr r2, =0x00000e58
- movs r0, 0x12
- movs r1, 0x8
- bl MapGridSetMetatileIdAt
- movs r2, 0xE6
- lsls r2, 4
- movs r0, 0x12
- movs r1, 0x9
- bl MapGridSetMetatileIdAt
-_08138F7A:
- bl DrawWholeMapView
- ldrh r0, [r4, 0x10]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0x10]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _08138F9A
- ldrb r0, [r4, 0xA]
- bl DestroyTask
-_08138F9A:
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end LotteryCornerComputerEffect
-
- thumb_func_start EndLotteryCornerComputerEffect
-EndLotteryCornerComputerEffect: @ 8138FAC
- push {lr}
- ldr r2, =0x00000e9d
- movs r0, 0x12
- movs r1, 0x8
- bl MapGridSetMetatileIdAt
- ldr r2, =0x00000ea5
- movs r0, 0x12
- movs r1, 0x9
- bl MapGridSetMetatileIdAt
- bl DrawWholeMapView
- pop {r0}
- bx r0
- .pool
- thumb_func_end EndLotteryCornerComputerEffect
-
- thumb_func_start SetTrickHouseEndRoomFlag
-SetTrickHouseEndRoomFlag: @ 8138FD4
- push {lr}
- ldr r1, =gSpecialVar_0x8004
- ldr r0, =0x000001f5
- strh r0, [r1]
- bl FlagSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetTrickHouseEndRoomFlag
-
- thumb_func_start ResetTrickHouseEndRoomFlag
-ResetTrickHouseEndRoomFlag: @ 8138FEC
- push {lr}
- ldr r1, =gSpecialVar_0x8004
- ldr r0, =0x000001f5
- strh r0, [r1]
- bl FlagClear
- pop {r0}
- bx r0
- .pool
- thumb_func_end ResetTrickHouseEndRoomFlag
-
- thumb_func_start CheckLeadMonCool
-CheckLeadMonCool: @ 8139004
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x16
- bl GetMonData
- cmp r0, 0xC7
- bls _08139028
- movs r0, 0x1
- b _0813902A
- .pool
-_08139028:
- movs r0, 0
-_0813902A:
- pop {r1}
- bx r1
- thumb_func_end CheckLeadMonCool
-
- thumb_func_start CheckLeadMonBeauty
-CheckLeadMonBeauty: @ 8139030
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x17
- bl GetMonData
- cmp r0, 0xC7
- bls _08139054
- movs r0, 0x1
- b _08139056
- .pool
-_08139054:
- movs r0, 0
-_08139056:
- pop {r1}
- bx r1
- thumb_func_end CheckLeadMonBeauty
-
- thumb_func_start CheckLeadMonCute
-CheckLeadMonCute: @ 813905C
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x18
- bl GetMonData
- cmp r0, 0xC7
- bls _08139080
- movs r0, 0x1
- b _08139082
- .pool
-_08139080:
- movs r0, 0
-_08139082:
- pop {r1}
- bx r1
- thumb_func_end CheckLeadMonCute
-
- thumb_func_start CheckLeadMonSmart
-CheckLeadMonSmart: @ 8139088
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x21
- bl GetMonData
- cmp r0, 0xC7
- bls _081390AC
- movs r0, 0x1
- b _081390AE
- .pool
-_081390AC:
- movs r0, 0
-_081390AE:
- pop {r1}
- bx r1
- thumb_func_end CheckLeadMonSmart
-
- thumb_func_start CheckLeadMonTough
-CheckLeadMonTough: @ 81390B4
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2F
- bl GetMonData
- cmp r0, 0xC7
- bls _081390D8
- movs r0, 0x1
- b _081390DA
- .pool
-_081390D8:
- movs r0, 0
-_081390DA:
- pop {r1}
- bx r1
- thumb_func_end CheckLeadMonTough
-
- thumb_func_start IsGrassTypeInParty
-IsGrassTypeInParty: @ 81390E0
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, =gBaseStats
-_081390E6:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x5
- bl GetMonData
- cmp r0, 0
- beq _0813913C
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0813913C
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r0, [r1, 0x6]
- cmp r0, 0xC
- beq _08139128
- ldrb r0, [r1, 0x7]
- cmp r0, 0xC
- bne _0813913C
-_08139128:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- b _0813914A
- .pool
-_0813913C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _081390E6
- ldr r1, =gSpecialVar_Result
- movs r0, 0
-_0813914A:
- strh r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end IsGrassTypeInParty
-
- thumb_func_start SpawnScriptFieldObject
-SpawnScriptFieldObject: @ 8139158
- push {lr}
- sub sp, 0x8
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r3, [r0]
- adds r3, 0x7
- lsls r3, 16
- asrs r3, 16
- ldrh r0, [r0, 0x2]
- adds r0, 0x7
- lsls r0, 16
- asrs r0, 16
- str r0, [sp]
- movs r0, 0x3
- str r0, [sp, 0x4]
- movs r0, 0x7
- movs r1, 0x8
- movs r2, 0x7F
- bl SpawnSpecialFieldObjectParametrized
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gMapObjects
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x1]
- movs r2, 0x20
- orrs r0, r2
- strb r0, [r1, 0x1]
- ldrb r0, [r1, 0x4]
- bl CameraObjectSetFollowedObjectId
- add sp, 0x8
- pop {r0}
- bx r0
- .pool
- thumb_func_end SpawnScriptFieldObject
-
- thumb_func_start RemoveScriptFieldObject
-RemoveScriptFieldObject: @ 81391AC
- push {lr}
- bl GetPlayerAvatarObjectId
- lsls r0, 24
- lsrs r0, 24
- bl CameraObjectSetFollowedObjectId
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- movs r0, 0x7F
- bl RemoveFieldObjectByLocalIdAndMap
- pop {r0}
- bx r0
- .pool
- thumb_func_end RemoveScriptFieldObject
-
- thumb_func_start GetPokeblockNameByMonNature
-GetPokeblockNameByMonNature: @ 81391D0
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- bl GetNature
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gStringVar1
- bl CopyMonFavoritePokeblockName
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetPokeblockNameByMonNature
-
- thumb_func_start GetSecretBaseNearbyMapName
-GetSecretBaseNearbyMapName: @ 8139200
- push {r4,lr}
- ldr r4, =gStringVar1
- ldr r0, =0x00004026
- bl VarGet
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0
- bl GetMapName
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end GetSecretBaseNearbyMapName
-
- thumb_func_start sub_8139228
-sub_8139228: @ 8139228
- push {lr}
- movs r0, 0x20
- bl GetGameStat
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_8139228
-
- thumb_func_start sub_8139238
-sub_8139238: @ 8139238
- push {lr}
- ldr r0, =gStringVar1
- bl GetEreaderTrainerName
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8139238
-
- thumb_func_start sub_8139248
-sub_8139248: @ 8139248
- push {r4,r5,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r1, =0x00002e68
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r1, 25
- ldr r0, =0x00002e6a
- adds r2, r0
- lsrs r1, 25
- ldrh r2, [r2]
- adds r1, r2
- ldr r2, =gUnknown_085B2B88
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- adds r5, r1, r0
- movs r0, 0x2
- bl GetPriceReduction
- lsls r0, 24
- cmp r0, 0
- bne _08139294
- ldr r4, =gUnknown_085B2B94
- b _08139296
- .pool
-_08139294:
- ldr r4, =gUnknown_085B2BA0
-_08139296:
- adds r0, r5, 0
- movs r1, 0xC
- bl __umodsi3
- adds r0, r4
- ldrb r0, [r0]
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8139248
-
- thumb_func_start sub_81392AC
-sub_81392AC: @ 81392AC
- push {lr}
- ldr r1, =gSpecialVar_0x8004
- ldr r0, =0x00000213
- strh r0, [r1]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _081392CC
- movs r0, 0x1
- b _081392CE
- .pool
-_081392CC:
- movs r0, 0
-_081392CE:
- pop {r1}
- bx r1
- thumb_func_end sub_81392AC
-
- thumb_func_start sub_81392D4
-sub_81392D4: @ 81392D4
- push {lr}
- ldr r1, =gSpecialVar_0x8004
- movs r0, 0x85
- lsls r0, 2
- strh r0, [r1]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _081392F0
- movs r0, 0x1
- b _081392F2
- .pool
-_081392F0:
- movs r0, 0
-_081392F2:
- pop {r1}
- bx r1
- thumb_func_end sub_81392D4
-
- thumb_func_start sub_81392F8
-sub_81392F8: @ 81392F8
- push {lr}
- ldr r1, =gSpecialVar_0x8004
- ldr r0, =0x00000215
- strh r0, [r1]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08139318
- movs r0, 0x1
- b _0813931A
- .pool
-_08139318:
- movs r0, 0
-_0813931A:
- pop {r1}
- bx r1
- thumb_func_end sub_81392F8
-
- thumb_func_start sub_8139320
-sub_8139320: @ 8139320
- push {lr}
- ldr r1, =gSpecialVar_0x8004
- ldr r0, =0x00000216
- strh r0, [r1]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08139340
- movs r0, 0x1
- b _08139342
- .pool
-_08139340:
- movs r0, 0
-_08139342:
- pop {r1}
- bx r1
- thumb_func_end sub_8139320
-
- thumb_func_start LeadMonHasEffortRibbon
-LeadMonHasEffortRibbon: @ 8139348
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x47
- movs r2, 0
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end LeadMonHasEffortRibbon
-
- thumb_func_start GiveLeadMonEffortRibbon
-GiveLeadMonEffortRibbon: @ 8139370
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0x2A
- bl IncrementGameStat
- ldr r0, =0x0000089b
- bl FlagSet
- movs r1, 0x1
- mov r0, sp
- strb r1, [r0]
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x47
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- bl GetRibbonCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bls _081393B6
- adds r0, r4, 0
- movs r1, 0x47
- bl sub_80EE4DC
-_081393B6:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end GiveLeadMonEffortRibbon
-
- thumb_func_start Special_AreLeadMonEVsMaxedOut
-Special_AreLeadMonEVsMaxedOut: @ 81393C8
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- bl GetMonEVCount
- lsls r0, 16
- ldr r1, =0x01fd0000
- cmp r0, r1
- bhi _081393F4
- movs r0, 0
- b _081393F6
- .pool
-_081393F4:
- movs r0, 0x1
-_081393F6:
- pop {r1}
- bx r1
- thumb_func_end Special_AreLeadMonEVsMaxedOut
-
- thumb_func_start sub_81393FC
-sub_81393FC: @ 81393FC
- push {lr}
- movs r0, 0xC7
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _08139454
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- movs r0, 0x83
- lsls r0, 3
- cmp r1, r0
- bne _08139454
- subs r0, 0x75
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08139434
- ldr r0, =0x0000409a
- movs r1, 0x4
- b _08139446
- .pool
-_08139434:
- movs r0, 0xE9
- lsls r0, 2
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08139454
- ldr r0, =0x0000409a
- movs r1, 0x5
-_08139446:
- bl VarSet
- movs r0, 0x1
- b _08139456
- .pool
-_08139454:
- movs r0, 0
-_08139456:
- pop {r1}
- bx r1
- thumb_func_end sub_81393FC
-
- thumb_func_start SetShoalItemFlag
-SetShoalItemFlag: @ 813945C
- push {lr}
- ldr r0, =0x000008bf
- bl FlagSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetShoalItemFlag
-
- thumb_func_start PutZigzagoonInPlayerParty
-PutZigzagoonInPlayerParty: @ 813946C
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r5, =gPlayerParty
- movs r1, 0x90
- lsls r1, 1
- movs r4, 0
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r0, r5, 0
- movs r2, 0x7
- movs r3, 0x20
- bl CreateMon
- movs r1, 0x1
- add r0, sp, 0x10
- strh r1, [r0]
- adds r0, r5, 0
- movs r1, 0x2E
- add r2, sp, 0x10
- bl SetMonData
- add r1, sp, 0x10
- movs r0, 0x21
- strh r0, [r1]
- adds r0, r5, 0
- movs r1, 0xD
- add r2, sp, 0x10
- bl SetMonData
- add r0, sp, 0x10
- strh r4, [r0]
- adds r0, r5, 0
- movs r1, 0xE
- add r2, sp, 0x10
- bl SetMonData
- adds r0, r5, 0
- movs r1, 0xF
- add r2, sp, 0x10
- bl SetMonData
- adds r0, r5, 0
- movs r1, 0x10
- add r2, sp, 0x10
- bl SetMonData
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end PutZigzagoonInPlayerParty
-
- thumb_func_start IsStarterInParty
-IsStarterInParty: @ 81394D8
- push {r4-r6,lr}
- ldr r0, =0x00004023
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- bl GetStarterPokemon
- lsls r0, 16
- lsrs r6, r0, 16
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- cmp r4, r5
- bcs _08139526
-_081394FA:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- cmp r0, r6
- bne _0813951C
- movs r0, 0x1
- b _08139528
- .pool
-_0813951C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _081394FA
-_08139526:
- movs r0, 0
-_08139528:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end IsStarterInParty
-
- thumb_func_start ScriptCheckFreePokemonStorageSpace
-ScriptCheckFreePokemonStorageSpace: @ 8139530
- push {lr}
- bl CheckFreePokemonStorageSpace
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end ScriptCheckFreePokemonStorageSpace
-
- thumb_func_start IsPokerusInParty
-IsPokerusInParty: @ 8139540
- push {lr}
- ldr r0, =gPlayerParty
- movs r1, 0x3F
- bl CheckPartyPokerus
- lsls r0, 24
- cmp r0, 0
- beq _08139558
- movs r0, 0x1
- b _0813955A
- .pool
-_08139558:
- movs r0, 0
-_0813955A:
- pop {r1}
- bx r1
- thumb_func_end IsPokerusInParty
-
- thumb_func_start sub_8139560
-sub_8139560: @ 8139560
- push {lr}
- ldr r0, =sub_81395BC
- movs r1, 0x9
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- movs r2, 0
- strh r0, [r1, 0x8]
- strh r2, [r1, 0xA]
- ldr r0, =gSpecialVar_0x8006
- ldrh r0, [r0]
- strh r0, [r1, 0xC]
- ldr r0, =gSpecialVar_0x8007
- ldrh r0, [r0]
- strh r0, [r1, 0xE]
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- strh r0, [r1, 0x10]
- movs r0, 0
- bl SetCameraPanningCallback
- movs r0, 0xD6
- bl PlaySE
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8139560
-
- thumb_func_start sub_81395BC
-sub_81395BC: @ 81395BC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl __modsi3
- cmp r0, 0
- bne _08139614
- strh r0, [r4, 0x2]
- ldrh r0, [r4, 0x4]
- subs r0, 0x1
- strh r0, [r4, 0x4]
- ldrh r0, [r4]
- negs r0, r0
- strh r0, [r4]
- ldrh r0, [r4, 0x8]
- negs r0, r0
- strh r0, [r4, 0x8]
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- bl SetCameraPanning
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08139614
- adds r0, r5, 0
- bl sub_8139620
- bl InstallCameraPanAheadCallback
-_08139614:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81395BC
-
- thumb_func_start sub_8139620
-sub_8139620: @ 8139620
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_8139620
-
- thumb_func_start sub_8139634
-sub_8139634: @ 8139634
- push {lr}
- movs r0, 0x95
- lsls r0, 2
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8139634
-
- thumb_func_start SetRoute119Weather
-SetRoute119Weather: @ 8139648
- push {lr}
- bl get_map_light_from_warp0
- lsls r0, 24
- lsrs r0, 24
- bl is_light_level_1_2_3_5_or_6
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08139664
- movs r0, 0x14
- bl SetSav1Weather
-_08139664:
- pop {r0}
- bx r0
- thumb_func_end SetRoute119Weather
-
- thumb_func_start SetRoute123Weather
-SetRoute123Weather: @ 8139668
- push {lr}
- bl get_map_light_from_warp0
- lsls r0, 24
- lsrs r0, 24
- bl is_light_level_1_2_3_5_or_6
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08139684
- movs r0, 0x15
- bl SetSav1Weather
-_08139684:
- pop {r0}
- bx r0
- thumb_func_end SetRoute123Weather
-
- thumb_func_start GetLeadMonIndex
-GetLeadMonIndex: @ 8139688
- push {r4-r6,lr}
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- cmp r5, r6
- bcs _081396D6
-_08139698:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- beq _081396CC
- adds r0, r4, 0
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- beq _081396CC
- adds r0, r5, 0
- b _081396D8
- .pool
-_081396CC:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r6
- bcc _08139698
-_081396D6:
- movs r0, 0
-_081396D8:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end GetLeadMonIndex
-
- thumb_func_start ScriptGetPartyMonSpecies
-ScriptGetPartyMonSpecies: @ 81396E0
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .pool
- thumb_func_end ScriptGetPartyMonSpecies
-
- thumb_func_start nullsub_54
-nullsub_54: @ 8139708
- bx lr
- thumb_func_end nullsub_54
-
- thumb_func_start sub_813970C
-sub_813970C: @ 813970C
- push {r4,lr}
- ldr r0, =0x000040c2
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- adds r3, r0, 0
- ldr r2, =gLocalTime
- movs r1, 0
- ldrsh r0, [r2, r1]
- subs r0, r3
- cmp r0, 0x6
- ble _08139734
- movs r0, 0
- b _0813974C
- .pool
-_08139734:
- ldrh r1, [r2]
- movs r4, 0
- ldrsh r0, [r2, r4]
- cmp r0, 0
- blt _0813974A
- subs r1, r3
- movs r0, 0x7
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- b _0813974C
-_0813974A:
- movs r0, 0x8
-_0813974C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_813970C
-
- thumb_func_start sub_8139754
-sub_8139754: @ 8139754
- push {r4,lr}
- ldr r0, =0x000040c2
- ldr r4, =gLocalTime
- ldrh r1, [r4]
- bl VarSet
- ldrh r0, [r4]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8139754
-
- thumb_func_start sub_8139770
-sub_8139770: @ 8139770
- push {r4-r6,lr}
- ldr r6, =gSpecialVar_0x8004
- ldrh r0, [r6]
- movs r5, 0x64
- muls r0, r5
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x3
- bl GetMonData
- cmp r0, 0x2
- bne _081397A6
- ldrh r0, [r6]
- muls r0, r5
- adds r0, r4
- ldr r4, =gStringVar1
- movs r1, 0x7
- adds r2, r4, 0
- bl GetMonData
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r1, r4, 0
- bl StringCompare
- cmp r0, 0
- beq _081397BC
-_081397A6:
- movs r0, 0x1
- b _081397BE
- .pool
-_081397BC:
- movs r0, 0
-_081397BE:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8139770
-
- thumb_func_start sub_81397C4
-sub_81397C4: @ 81397C4
- push {r4,r5,lr}
- ldr r2, =gSpecialVar_Result
- ldrh r1, [r2]
- ldr r0, =0x0000270f
- cmp r1, r0
- bls _081397E0
- movs r0, 0
- bl TV_PrintIntToStringVar
- b _08139862
- .pool
-_081397E0:
- ldr r0, =0x000003e7
- cmp r1, r0
- bls _081397F8
- ldr r4, =gStringVar1
- movs r0, 0xA1
- strb r0, [r4]
- adds r4, 0x1
- b _0813981C
- .pool
-_081397F8:
- cmp r1, 0x63
- bls _0813980C
- ldr r4, =gStringVar1
- movs r0, 0xA1
- strb r0, [r4]
- strb r0, [r4, 0x1]
- adds r4, 0x2
- b _0813981C
- .pool
-_0813980C:
- cmp r1, 0x9
- bls _0813983C
- ldr r4, =gStringVar1
- movs r0, 0xA1
- strb r0, [r4]
- strb r0, [r4, 0x1]
- strb r0, [r4, 0x2]
- adds r4, 0x3
-_0813981C:
- ldrh r5, [r2]
- adds r0, r5, 0
- bl CountDigits
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl ConvertIntToDecimalStringN
- b _08139862
- .pool
-_0813983C:
- ldr r4, =gStringVar1
- movs r0, 0xA1
- strb r0, [r4]
- strb r0, [r4, 0x1]
- strb r0, [r4, 0x2]
- strb r0, [r4, 0x3]
- adds r4, 0x4
- ldrh r5, [r2]
- adds r0, r5, 0
- bl CountDigits
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl ConvertIntToDecimalStringN
-_08139862:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81397C4
-
- thumb_func_start sub_813986C
-sub_813986C: @ 813986C
- push {lr}
- ldr r0, =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _081398B8
- lsls r0, 2
- ldr r1, =_08139888
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08139888:
- .4byte _0813989C
- .4byte _081398A0
- .4byte _081398A4
- .4byte _081398A8
- .4byte _081398AC
-_0813989C:
- movs r0, 0x3
- b _081398AE
-_081398A0:
- movs r0, 0x4
- b _081398AE
-_081398A4:
- movs r0, 0
- b _081398AE
-_081398A8:
- movs r0, 0x1
- b _081398AE
-_081398AC:
- movs r0, 0x2
-_081398AE:
- bl mevent_081445C0
- lsls r0, 16
- lsrs r0, 16
- b _081398BA
-_081398B8:
- movs r0, 0
-_081398BA:
- pop {r1}
- bx r1
- thumb_func_end sub_813986C
-
- thumb_func_start sub_81398C0
-sub_81398C0: @ 81398C0
- push {r4,lr}
- ldr r1, =gSpecialVar_0x8004
- ldr r2, =0xfffffedf
- adds r0, r2, 0
- ldrh r2, [r1]
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x39
- bls _081398E0
- movs r0, 0
- b _081398FC
- .pool
-_081398E0:
- ldr r4, =gStringVar2
- ldrh r0, [r1]
- bl ItemIdToBattleMoveId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xD
- muls r1, r0
- ldr r0, =gMoveNames
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy
- movs r0, 0x1
-_081398FC:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81398C0
-
- thumb_func_start sub_813990C
-sub_813990C: @ 813990C
- push {r4,r5,lr}
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- cmp r4, r5
- bcs _08139942
-_0813991C:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x4
- bl GetMonData
- cmp r0, 0x1
- bne _08139938
- movs r0, 0x1
- b _08139944
- .pool
-_08139938:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _0813991C
-_08139942:
- movs r0, 0
-_08139944:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_813990C
-
- thumb_func_start InMultiBattleRoom
-InMultiBattleRoom: @ 813994C
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldr r0, =0x00000f1a
- cmp r1, r0
- bne _08139978
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bne _08139978
- movs r0, 0x1
- b _0813997A
- .pool
-_08139978:
- movs r0, 0
-_0813997A:
- pop {r1}
- bx r1
- thumb_func_end InMultiBattleRoom
-
- thumb_func_start sub_8139980
-sub_8139980: @ 8139980
- push {lr}
- movs r0, 0
- bl SetCameraPanningCallback
- movs r0, 0x8
- movs r1, 0
- bl SetCameraPanning
- pop {r0}
- bx r0
- thumb_func_end sub_8139980
-
- thumb_func_start sub_8139994
-sub_8139994: @ 8139994
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x15]
- subs r0, 0x10
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x5
- bhi _081399E4
- lsls r0, 2
- ldr r1, =_081399B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081399B8:
- .4byte _081399E4
- .4byte _081399D0
- .4byte _081399D4
- .4byte _081399D8
- .4byte _081399DC
- .4byte _081399E0
-_081399D0:
- movs r1, 0x5
- b _081399E6
-_081399D4:
- movs r1, 0x6
- b _081399E6
-_081399D8:
- movs r1, 0x7
- b _081399E6
-_081399DC:
- movs r1, 0x8
- b _081399E6
-_081399E0:
- movs r1, 0xF
- b _081399E6
-_081399E4:
- movs r1, 0x4
-_081399E6:
- ldr r0, =0x00004043
- bl VarSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8139994
-
- thumb_func_start sub_81399F4
-sub_81399F4: @ 81399F4
- push {r4,lr}
- ldr r2, =gUnknown_0203AB60
- movs r0, 0
- strh r0, [r2]
- ldr r1, =gUnknown_0203AB62
- strh r0, [r1]
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- movs r0, 0x14
- ldrsb r0, [r3, r0]
- adds r4, r1, 0
- cmp r0, 0xD
- bne _08139A6E
- ldrb r0, [r3, 0x15]
- subs r0, 0x10
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x4
- bhi _08139A6E
- lsls r0, 2
- ldr r1, =_08139A34
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08139A34:
- .4byte _08139A66
- .4byte _08139A5E
- .4byte _08139A56
- .4byte _08139A4E
- .4byte _08139A48
-_08139A48:
- movs r0, 0
- strh r0, [r2]
- b _08139A6C
-_08139A4E:
- movs r0, 0
- strh r0, [r2]
- movs r0, 0x1
- b _08139A6C
-_08139A56:
- movs r0, 0
- strh r0, [r2]
- movs r0, 0x2
- b _08139A6C
-_08139A5E:
- movs r0, 0
- strh r0, [r2]
- movs r0, 0x3
- b _08139A6C
-_08139A66:
- movs r0, 0
- strh r0, [r2]
- movs r0, 0x4
-_08139A6C:
- strh r0, [r4]
-_08139A6E:
- ldrh r0, [r4]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81399F4
-
- thumb_func_start sub_8139A78
-sub_8139A78: @ 8139A78
- push {r4-r6,lr}
- ldr r0, =sub_8139AF4
- movs r1, 0x9
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- movs r3, 0
- strh r3, [r4, 0x2]
- strh r3, [r4, 0x4]
- movs r6, 0x1
- strh r6, [r4, 0x8]
- ldr r0, =gSpecialVar_0x8005
- ldr r1, =gSpecialVar_0x8006
- ldrh r2, [r0]
- ldrh r0, [r1]
- cmp r2, r0
- bls _08139AC0
- subs r0, r2, r0
- lsls r0, 16
- lsrs r5, r0, 16
- strh r6, [r4, 0xC]
- b _08139AC8
- .pool
-_08139AC0:
- subs r0, r2
- lsls r0, 16
- lsrs r5, r0, 16
- strh r3, [r4, 0xC]
-_08139AC8:
- cmp r5, 0x8
- bls _08139ACE
- movs r5, 0x8
-_08139ACE:
- ldr r0, =gUnknown_085B2C18
- adds r0, r5, r0
- ldrb r0, [r0]
- strh r0, [r4, 0xA]
- movs r0, 0
- bl SetCameraPanningCallback
- ldrb r1, [r4, 0xC]
- adds r0, r5, 0
- bl sub_8139C2C
- movs r0, 0x59
- bl PlaySE
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8139A78
-
- thumb_func_start sub_8139AF4
-sub_8139AF4: @ 8139AF4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bne _08139B54
- strh r0, [r4, 0x2]
- ldrh r0, [r4, 0x4]
- adds r0, 0x1
- strh r0, [r4, 0x4]
- ldrh r0, [r4, 0x8]
- negs r0, r0
- strh r0, [r4, 0x8]
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- movs r0, 0
- bl SetCameraPanning
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _08139B54
- movs r0, 0x49
- bl PlaySE
- adds r0, r5, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- bl InstallCameraPanAheadCallback
-_08139B54:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8139AF4
-
- thumb_func_start sub_8139B60
-sub_8139B60: @ 8139B60
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0xC
- ldr r5, =gUnknown_0203AB5E
- ldr r0, =gUnknown_085B2BAC
- bl AddWindow
- strb r0, [r5]
- ldrb r0, [r5]
- movs r1, 0
- bl SetStandardWindowBorderStyle
- ldr r4, =gText_ElevatorNowOn
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0x40
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- ldrb r0, [r5]
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- mov r9, r1
- str r1, [sp, 0x4]
- movs r1, 0
- mov r8, r1
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- bl PrintTextOnWindow
- ldr r6, =gElevatorFloorsTable
- ldr r4, =gSpecialVar_0x8005
- ldrh r0, [r4]
- lsls r0, 2
- adds r0, r6
- ldr r1, [r0]
- movs r0, 0x1
- movs r2, 0x40
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- ldrb r0, [r5]
- ldrh r1, [r4]
- lsls r1, 2
- adds r1, r6
- ldr r2, [r1]
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x11
- str r1, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- movs r1, 0x1
- bl PrintTextOnWindow
- ldrb r0, [r5]
- bl PutWindowTilemap
- ldrb r0, [r5]
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8139B60
-
- thumb_func_start sub_8139C10
-sub_8139C10: @ 8139C10
- push {r4,lr}
- ldr r4, =gUnknown_0203AB5E
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8198070
- ldrb r0, [r4]
- bl RemoveWindow
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8139C10
-
- thumb_func_start sub_8139C2C
-sub_8139C2C: @ 8139C2C
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r4, =sub_8139C80
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08139C6C
- adds r0, r4, 0
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x8]
- strh r0, [r1, 0xA]
- strh r5, [r1, 0xC]
- ldr r0, =gUnknown_085B2C21
- adds r0, r6, r0
- ldrb r0, [r0]
- strh r0, [r1, 0xE]
-_08139C6C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8139C2C
-
- thumb_func_start sub_8139C80
-sub_8139C80: @ 8139C80
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- lsls r0, 2
- ldr r1, [sp]
- adds r0, r1
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- movs r2, 0x2
- ldrsh r0, [r6, r2]
- cmp r0, 0x6
- bne _08139D7C
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _08139D10
- movs r1, 0
- ldr r2, =gUnknown_085B2BF4
- mov r10, r2
-_08139CBA:
- movs r5, 0
- adds r7, r1, 0x7
- lsls r0, r1, 1
- adds r2, r1, 0x1
- mov r8, r2
- adds r0, r1
- lsls r0, 1
- mov r9, r0
-_08139CCA:
- adds r4, r5, 0
- adds r4, 0x8
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- asrs r0, 15
- add r0, r9
- add r0, r10
- ldrh r0, [r0]
- movs r1, 0xC0
- lsls r1, 4
- adds r2, r1, 0
- orrs r2, r0
- adds r0, r4, 0
- adds r1, r7, 0
- bl MapGridSetMetatileIdAt
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _08139CCA
- mov r2, r8
- lsls r0, r2, 24
- lsrs r1, r0, 24
- cmp r1, 0x2
- bls _08139CBA
- b _08139D62
- .pool
-_08139D10:
- movs r1, 0
- ldr r0, =gUnknown_085B2C06
- mov r10, r0
-_08139D16:
- movs r5, 0
- adds r7, r1, 0x7
- lsls r0, r1, 1
- adds r2, r1, 0x1
- mov r8, r2
- adds r0, r1
- lsls r0, 1
- mov r9, r0
-_08139D26:
- adds r4, r5, 0
- adds r4, 0x8
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- asrs r0, 15
- add r0, r9
- add r0, r10
- ldrh r0, [r0]
- movs r1, 0xC0
- lsls r1, 4
- adds r2, r1, 0
- orrs r2, r0
- adds r0, r4, 0
- adds r1, r7, 0
- bl MapGridSetMetatileIdAt
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _08139D26
- mov r2, r8
- lsls r0, r2, 24
- lsrs r1, r0, 24
- cmp r1, 0x2
- bls _08139D16
-_08139D62:
- bl DrawWholeMapView
- movs r0, 0
- strh r0, [r6, 0x2]
- movs r0, 0
- ldrsh r1, [r6, r0]
- movs r2, 0x6
- ldrsh r0, [r6, r2]
- cmp r1, r0
- bne _08139D7C
- ldr r0, [sp]
- bl DestroyTask
-_08139D7C:
- ldrh r0, [r6, 0x2]
- adds r0, 0x1
- strh r0, [r6, 0x2]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8139C80
-
- thumb_func_start sub_8139D98
-sub_8139D98: @ 8139D98
- push {r4-r7,lr}
- sub sp, 0x18
- ldr r6, =gSpecialVar_0x8004
- ldrh r0, [r6]
- movs r5, 0x64
- muls r0, r5
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x27
- bl GetMonData
- str r0, [sp]
- ldrh r0, [r6]
- muls r0, r5
- adds r0, r4
- movs r1, 0x28
- bl GetMonData
- str r0, [sp, 0x4]
- ldrh r0, [r6]
- muls r0, r5
- adds r0, r4
- movs r1, 0x29
- bl GetMonData
- str r0, [sp, 0x8]
- ldrh r0, [r6]
- muls r0, r5
- adds r0, r4
- movs r1, 0x2A
- bl GetMonData
- str r0, [sp, 0xC]
- ldrh r0, [r6]
- muls r0, r5
- adds r0, r4
- movs r1, 0x2B
- bl GetMonData
- str r0, [sp, 0x10]
- ldrh r0, [r6]
- muls r0, r5
- adds r0, r4
- movs r1, 0x2C
- bl GetMonData
- str r0, [sp, 0x14]
- ldr r1, =gSpecialVar_0x8005
- movs r0, 0
- strh r0, [r1]
- movs r4, 0
- adds r2, r1, 0
-_08139E00:
- lsls r0, r4, 2
- add r0, sp
- ldr r1, [r0]
- ldrh r0, [r2]
- adds r0, r1
- strh r0, [r2]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _08139E00
- ldr r2, =gSpecialVar_0x8006
- movs r0, 0
- strh r0, [r2]
- ldr r1, =gSpecialVar_0x8007
- ldr r0, [sp]
- strh r0, [r1]
- movs r4, 0x1
- adds r6, r2, 0
- adds r7, r1, 0
-_08139E28:
- ldrh r0, [r6]
- lsls r0, 2
- mov r2, sp
- adds r1, r2, r0
- lsls r0, r4, 2
- adds r5, r2, r0
- ldr r1, [r1]
- ldr r0, [r5]
- cmp r1, r0
- bcs _08139E54
- strh r4, [r6]
- b _08139E6C
- .pool
-_08139E54:
- cmp r1, r0
- bne _08139E6E
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08139E6E
- strh r4, [r6]
- ldr r0, [r5]
-_08139E6C:
- strh r0, [r7]
-_08139E6E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _08139E28
- add sp, 0x18
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8139D98
-
- thumb_func_start warp0_in_pokecenter
-warp0_in_pokecenter: @ 8139E80
- push {r4,lr}
- ldr r0, =gUnknown_020322DC
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r1, 8
- ldrb r0, [r0, 0x1]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r2, =gUnknown_085B2C2A
- ldrh r0, [r2]
- ldr r1, =0x0000ffff
- cmp r0, r1
- beq _08139EC6
- adds r4, r1, 0
- adds r1, r2, 0
-_08139EA4:
- ldrh r0, [r2]
- cmp r0, r3
- bne _08139EBC
- movs r0, 0x1
- b _08139EC8
- .pool
-_08139EBC:
- adds r1, 0x2
- adds r2, 0x2
- ldrh r0, [r1]
- cmp r0, r4
- bne _08139EA4
-_08139EC6:
- movs r0, 0
-_08139EC8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end warp0_in_pokecenter
-
- thumb_func_start sub_8139ED0
-sub_8139ED0: @ 8139ED0
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldr r0, =0x00003c1a
- cmp r1, r0
- beq _08139EEC
- movs r0, 0x1
- b _08139EEE
- .pool
-_08139EEC:
- movs r0, 0
-_08139EEE:
- pop {r1}
- bx r1
- thumb_func_end sub_8139ED0
-
- thumb_func_start UpdateFrontierManiac
-UpdateFrontierManiac: @ 8139EF4
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =0x0000402f
- bl GetVarPointer
- adds r5, r0, 0
- ldrh r0, [r5]
- adds r4, r0
- strh r4, [r5]
- ldrh r0, [r5]
- movs r1, 0xA
- bl __umodsi3
- strh r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end UpdateFrontierManiac
-
- thumb_func_start sub_8139F20
-sub_8139F20: @ 8139F20
- push {r4-r7,lr}
- movs r4, 0
- ldr r0, =0x0000402f
- bl VarGet
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x9
- bls _08139F34
- b _0813A03A
-_08139F34:
- lsls r0, r6, 2
- ldr r1, =_08139F48
- adds r1, r0, r1
- ldr r1, [r1]
- adds r2, r0, 0
- mov pc, r1
- .pool
- .align 2, 0
-_08139F48:
- .4byte _08139F70
- .4byte _08139F70
- .4byte _08139F70
- .4byte _08139F70
- .4byte _08139F94
- .4byte _08139FB4
- .4byte _08139FCC
- .4byte _08139FE4
- .4byte _08139FFC
- .4byte _0813A014
-_08139F70:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r3, 0xCE
- lsls r3, 4
- adds r1, r0, r3
- adds r3, r1, r2
- ldr r1, =0x00000ce2
- adds r0, r1
- adds r1, r0, r2
- ldrh r0, [r3]
- ldrh r2, [r1]
- cmp r0, r2
- bcs _0813A028
- b _0813A038
- .pool
-_08139F94:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r3, =0x00000d0c
- adds r2, r0, r3
- adds r3, 0x2
-_08139F9E:
- adds r1, r0, r3
- ldrh r0, [r2]
- ldrh r3, [r1]
- cmp r0, r3
- bcs _0813A028
- b _0813A038
- .pool
-_08139FB4:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000de2
- adds r2, r0, r1
- ldr r3, =0x00000de4
- b _08139F9E
- .pool
-_08139FCC:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000dc8
- adds r2, r0, r1
- ldr r3, =0x00000dca
- b _08139F9E
- .pool
-_08139FE4:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000dda
- adds r2, r0, r1
- ldr r3, =0x00000ddc
- b _08139F9E
- .pool
-_08139FFC:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000e04
- adds r2, r0, r1
- ldr r3, =0x00000e06
- b _08139F9E
- .pool
-_0813A014:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000e1a
- adds r2, r0, r1
- ldr r3, =0x00000e1c
- adds r1, r0, r3
- ldrh r0, [r2]
- ldrh r3, [r1]
- cmp r0, r3
- bcc _0813A038
-_0813A028:
- adds r4, r0, 0
- b _0813A03A
- .pool
-_0813A038:
- ldrh r4, [r1]
-_0813A03A:
- movs r2, 0
- ldr r5, =gUnknown_085B2CC8
- lsls r0, r6, 1
- adds r1, r0, r5
- ldrb r1, [r1]
- adds r3, r0, 0
- ldr r7, =gUnknown_085B2C50
- cmp r1, r4
- bcs _0813A062
- adds r1, r3, 0
-_0813A04E:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1
- bhi _0813A062
- adds r0, r2, r1
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, r4
- bcc _0813A04E
-_0813A062:
- adds r0, r3, r6
- adds r0, r2
- lsls r0, 2
- adds r0, r7
- ldr r0, [r0]
- bl ShowFieldMessage
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8139F20
-
- thumb_func_start sub_813A080
-sub_813A080: @ 813A080
- push {r4-r7,lr}
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r4, r0, 30
- cmp r5, 0x2
- bne _0813A0D8
- movs r0, 0xA9
- lsls r0, 1
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _0813A0D8
- ldr r1, =gSpecialVar_0x8005
- movs r0, 0x5
- strh r0, [r1]
- ldr r1, =gSpecialVar_0x8006
- movs r0, 0x4
- strh r0, [r1]
- b _0813A110
- .pool
-_0813A0D0:
- movs r0, 0x4
- strh r0, [r6]
- adds r0, r3, 0x5
- b _0813A10E
-_0813A0D8:
- movs r3, 0
- ldr r6, =gSpecialVar_0x8005
- ldr r7, =gSpecialVar_0x8006
- lsls r1, r4, 1
- lsls r2, r5, 2
- ldr r4, =gUnknown_085B2CDC
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r1, r2
- movs r2, 0xCE
- lsls r2, 4
- adds r0, r2
- adds r0, r1
- ldrh r1, [r0]
-_0813A0F4:
- lsls r0, r3, 1
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, r1
- bhi _0813A0D0
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x8
- bls _0813A0F4
- movs r0, 0x4
- strh r0, [r6]
- movs r0, 0xC
-_0813A10E:
- strh r0, [r7]
-_0813A110:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A080
-
- thumb_func_start sub_813A128
-sub_813A128: @ 813A128
- push {r4,lr}
- ldr r0, =sub_813A2DC
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks
- adds r3, r0, r1
- ldr r1, =gSpecialVar_0x8004
- ldrh r0, [r1]
- strh r0, [r3, 0x1E]
- ldrh r0, [r1]
- cmp r0, 0xC
- bls _0813A14E
- b _0813A2C6
-_0813A14E:
- lsls r0, 2
- ldr r1, =_0813A168
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0813A168:
- .4byte _0813A19C
- .4byte _0813A1AA
- .4byte _0813A1C2
- .4byte _0813A1D6
- .4byte _0813A1F0
- .4byte _0813A208
- .4byte _0813A222
- .4byte _0813A23C
- .4byte _0813A25A
- .4byte _0813A274
- .4byte _0813A274
- .4byte _0813A28E
- .4byte _0813A2A8
-_0813A19C:
- movs r1, 0
- movs r0, 0x1
- strh r0, [r3, 0x8]
- strh r0, [r3, 0xA]
- strh r0, [r3, 0xC]
- strh r0, [r3, 0xE]
- b _0813A2BC
-_0813A1AA:
- movs r1, 0
- movs r0, 0x5
- strh r0, [r3, 0x8]
- movs r0, 0x8
- strh r0, [r3, 0xA]
- movs r0, 0x1
- strh r0, [r3, 0xC]
- strh r0, [r3, 0xE]
- movs r0, 0x9
- strh r0, [r3, 0x10]
- movs r0, 0xA
- b _0813A2BE
-_0813A1C2:
- movs r2, 0
- movs r0, 0x6
- strh r0, [r3, 0x8]
- movs r1, 0xC
- strh r1, [r3, 0xA]
- movs r0, 0x1
- strh r0, [r3, 0xC]
- strh r0, [r3, 0xE]
- movs r0, 0x7
- b _0813A250
-_0813A1D6:
- movs r1, 0
- movs r0, 0x6
- strh r0, [r3, 0x8]
- movs r0, 0xB
- strh r0, [r3, 0xA]
- movs r0, 0xE
- strh r0, [r3, 0xC]
- movs r0, 0x1
- strh r0, [r3, 0xE]
- movs r0, 0xF
- strh r0, [r3, 0x10]
- movs r0, 0xC
- b _0813A2BE
-_0813A1F0:
- movs r1, 0
- movs r0, 0x6
- strh r0, [r3, 0x8]
- strh r0, [r3, 0xA]
- movs r0, 0xE
- strh r0, [r3, 0xC]
- movs r0, 0x1
- strh r0, [r3, 0xE]
- movs r0, 0xF
- strh r0, [r3, 0x10]
- movs r0, 0xC
- b _0813A2BE
-_0813A208:
- movs r1, 0
- movs r0, 0x6
- strh r0, [r3, 0x8]
- movs r0, 0x7
- strh r0, [r3, 0xA]
- movs r0, 0xE
- strh r0, [r3, 0xC]
- movs r0, 0x1
- strh r0, [r3, 0xE]
- movs r0, 0xF
- strh r0, [r3, 0x10]
- movs r0, 0xC
- b _0813A2BE
-_0813A222:
- movs r1, 0
- movs r0, 0x6
- strh r0, [r3, 0x8]
- movs r0, 0xA
- strh r0, [r3, 0xA]
- movs r0, 0xE
- strh r0, [r3, 0xC]
- movs r0, 0x1
- strh r0, [r3, 0xE]
- movs r0, 0xF
- strh r0, [r3, 0x10]
- movs r0, 0xC
- b _0813A2BE
-_0813A23C:
- movs r2, 0
- movs r0, 0x6
- strh r0, [r3, 0x8]
- movs r1, 0xC
- strh r1, [r3, 0xA]
- movs r0, 0xF
- strh r0, [r3, 0xC]
- movs r0, 0x1
- strh r0, [r3, 0xE]
- movs r0, 0xE
-_0813A250:
- strh r0, [r3, 0x10]
- strh r1, [r3, 0x12]
- strh r2, [r3, 0x14]
- strh r4, [r3, 0x26]
- b _0813A2D2
-_0813A25A:
- movs r1, 0
- movs r0, 0x6
- strh r0, [r3, 0x8]
- movs r0, 0xA
- strh r0, [r3, 0xA]
- movs r0, 0x11
- strh r0, [r3, 0xC]
- movs r0, 0x1
- strh r0, [r3, 0xE]
- movs r0, 0xB
- strh r0, [r3, 0x10]
- movs r0, 0xC
- b _0813A2BE
-_0813A274:
- movs r1, 0
- movs r0, 0x6
- strh r0, [r3, 0x8]
- movs r0, 0xB
- strh r0, [r3, 0xA]
- movs r0, 0xF
- strh r0, [r3, 0xC]
- movs r0, 0x1
- strh r0, [r3, 0xE]
- movs r0, 0xE
- strh r0, [r3, 0x10]
- movs r0, 0xC
- b _0813A2BE
-_0813A28E:
- movs r1, 0
- movs r0, 0x6
- strh r0, [r3, 0x8]
- movs r0, 0x7
- strh r0, [r3, 0xA]
- movs r0, 0x13
- strh r0, [r3, 0xC]
- movs r0, 0x1
- strh r0, [r3, 0xE]
- movs r0, 0xA
- strh r0, [r3, 0x10]
- movs r0, 0xC
- b _0813A2BE
-_0813A2A8:
- movs r1, 0
- movs r0, 0x6
- strh r0, [r3, 0x8]
- movs r0, 0x7
- strh r0, [r3, 0xA]
- movs r0, 0x11
- strh r0, [r3, 0xC]
- movs r0, 0x1
- strh r0, [r3, 0xE]
- movs r0, 0xC
-_0813A2BC:
- strh r0, [r3, 0x10]
-_0813A2BE:
- strh r0, [r3, 0x12]
- strh r1, [r3, 0x14]
- strh r4, [r3, 0x26]
- b _0813A2D2
-_0813A2C6:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x7F
- strh r0, [r1]
- adds r0, r4, 0
- bl DestroyTask
-_0813A2D2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A128
-
- thumb_func_start sub_813A2DC
-sub_813A2DC: @ 813A2DC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x20
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks
- adds r6, r0, r1
- bl ScriptContext2_Enable
- ldr r0, =gUnknown_0203AB68
- movs r5, 0
- strh r5, [r0]
- ldr r1, =gUnknown_0203AB6C
- movs r0, 0x40
- strb r0, [r1]
- ldrh r0, [r6, 0x1E]
- movs r1, 0
- bl sub_813AA60
- ldrb r0, [r6, 0x1E]
- movs r1, 0
- bl sub_813ACE8
- ldr r4, =gUnknown_0203AB64
- movs r1, 0xA
- ldrsh r0, [r6, r1]
- lsls r0, 3
- bl AllocZeroed
- str r0, [r4]
- ldr r0, =gUnknown_0203AB6A
- strh r5, [r0]
- bl sub_813A42C
- movs r3, 0
- movs r4, 0
- movs r2, 0xA
- ldrsh r0, [r6, r2]
- add r1, sp, 0x18
- mov r8, r1
- cmp r3, r0
- bge _0813A36A
- ldr r5, =gUnknown_085B2CF0
-_0813A33A:
- lsls r1, r4, 2
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r0, 6
- adds r1, r0
- adds r1, r5
- ldr r0, [r1]
- ldr r1, =gUnknown_0203AB64
- ldr r2, [r1]
- lsls r1, r4, 3
- adds r1, r2
- str r0, [r1]
- str r4, [r1, 0x4]
- adds r1, r3, 0
- bl display_text_and_get_width
- adds r3, r0, 0
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- movs r2, 0xA
- ldrsh r0, [r6, r2]
- cmp r4, r0
- blt _0813A33A
-_0813A36A:
- adds r0, r3, 0
- bl convert_pixel_width_to_tile_width
- strh r0, [r6, 0x10]
- movs r1, 0xC
- ldrsh r0, [r6, r1]
- movs r2, 0x10
- ldrsh r1, [r6, r2]
- adds r0, r1
- cmp r0, 0x1D
- ble _0813A38C
- movs r0, 0x1D
- subs r0, r1
- cmp r0, 0
- bge _0813A38A
- movs r0, 0
-_0813A38A:
- strh r0, [r6, 0xC]
-_0813A38C:
- ldrb r2, [r6, 0xC]
- ldrb r3, [r6, 0xE]
- ldrb r0, [r6, 0x10]
- str r0, [sp]
- ldrb r0, [r6, 0x12]
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0x64
- str r0, [sp, 0xC]
- add r0, sp, 0x10
- movs r1, 0
- bl sub_8198A50
- ldr r0, [sp, 0x10]
- ldr r1, [sp, 0x14]
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- mov r0, r8
- bl AddWindow
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x22]
- movs r1, 0
- bl SetStandardWindowBorderStyle
- ldr r4, =gUnknown_030061D0
- ldrh r0, [r6, 0xA]
- strh r0, [r4, 0xC]
- ldrh r0, [r6, 0x8]
- strh r0, [r4, 0xE]
- ldrh r0, [r6, 0x22]
- strb r0, [r4, 0x10]
- adds r0, r7, 0
- bl sub_813A694
- ldrh r1, [r6, 0x16]
- ldrh r2, [r6, 0x18]
- adds r0, r4, 0
- bl ListMenuInit
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x24]
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_813A4EC
- str r1, [r0]
- add sp, 0x20
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A2DC
-
- thumb_func_start sub_813A42C
-sub_813A42C: @ 813A42C
- ldr r1, =gUnknown_030061D0
- ldr r0, =gUnknown_0203AB64
- ldr r0, [r0]
- str r0, [r1]
- ldr r0, =sub_813A46C
- str r0, [r1, 0x4]
- movs r0, 0
- str r0, [r1, 0x8]
- movs r2, 0
- movs r0, 0x1
- strh r0, [r1, 0xC]
- strh r0, [r1, 0xE]
- strb r2, [r1, 0x10]
- strb r2, [r1, 0x11]
- movs r0, 0x8
- strb r0, [r1, 0x12]
- strb r2, [r1, 0x13]
- movs r0, 0x21
- strb r0, [r1, 0x14]
- movs r0, 0x31
- strb r0, [r1, 0x15]
- movs r0, 0
- strb r0, [r1, 0x16]
- movs r0, 0x1
- strb r0, [r1, 0x17]
- bx lr
- .pool
- thumb_func_end sub_813A42C
-
- thumb_func_start sub_813A46C
-sub_813A46C: @ 813A46C
- push {r4,r5,lr}
- sub sp, 0x4
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_813A4EC
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _0813A4D4
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks
- adds r4, r0
- ldrh r0, [r4, 0x24]
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- movs r2, 0
- bl ListMenuGetScrollAndRow
- ldr r1, =gUnknown_0203AB68
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r1]
- ldrh r0, [r4, 0x24]
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- bl ListMenuGetCurrentItemArrayId
- ldrh r0, [r4, 0x1E]
- ldr r5, =gUnknown_0203AB6A
- ldrh r1, [r5]
- bl sub_813AC44
- ldrh r0, [r4, 0x1E]
- mov r1, sp
- ldrh r1, [r1]
- bl sub_813AA60
- ldrb r0, [r4, 0x1E]
- mov r1, sp
- ldrh r1, [r1]
- bl sub_813AD34
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r5]
-_0813A4D4:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A46C
-
- thumb_func_start sub_813A4EC
-sub_813A4EC: @ 813A4EC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r6, r0, r1
- ldrh r0, [r6, 0x24]
- lsls r0, 24
- lsrs r0, 24
- bl ListMenuHandleInputGetItemId
- adds r4, r0, 0
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _0813A51C
- adds r0, 0x1
- cmp r4, r0
- bne _0813A530
- b _0813A566
- .pool
-_0813A51C:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x7F
- strh r0, [r1]
- movs r0, 0x5
- bl PlaySE
- b _0813A54C
- .pool
-_0813A530:
- ldr r0, =gSpecialVar_Result
- strh r4, [r0]
- movs r0, 0x5
- bl PlaySE
- movs r1, 0x14
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _0813A54C
- movs r1, 0xA
- ldrsh r0, [r6, r1]
- subs r0, 0x1
- cmp r4, r0
- bne _0813A558
-_0813A54C:
- adds r0, r5, 0
- bl sub_813A570
- b _0813A566
- .pool
-_0813A558:
- adds r0, r5, 0
- bl sub_813A738
- ldr r0, =sub_813A600
- str r0, [r6]
- bl EnableBothScriptContexts
-_0813A566:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A4EC
-
- thumb_func_start sub_813A570
-sub_813A570: @ 813A570
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, =gTasks
- adds r4, r0
- ldrh r0, [r4, 0x24]
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- bl ListMenuGetCurrentItemArrayId
- ldrh r0, [r4, 0x1E]
- mov r1, sp
- ldrh r1, [r1]
- bl sub_813AC44
- adds r0, r5, 0
- bl sub_813A738
- ldrh r0, [r4, 0x24]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- movs r2, 0
- bl DestroyListMenuTask
- ldr r0, =gUnknown_0203AB64
- ldr r0, [r0]
- bl Free
- ldrh r0, [r4, 0x22]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_8198070
- ldrh r0, [r4, 0x22]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl FillWindowPixelBuffer
- ldrh r0, [r4, 0x22]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl CopyWindowToVram
- ldrh r0, [r4, 0x22]
- lsls r0, 24
- lsrs r0, 24
- bl RemoveWindow
- adds r0, r5, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A570
-
- thumb_func_start sub_813A600
-sub_813A600: @ 813A600
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0x14
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- beq _0813A624
- cmp r0, 0x2
- bne _0813A624
- movs r0, 0x1
- strh r0, [r1, 0x14]
- ldr r0, =sub_813A664
- str r0, [r1]
-_0813A624:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A600
-
- thumb_func_start sub_813A630
-sub_813A630: @ 813A630
- push {lr}
- ldr r0, =sub_813A600
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- bne _0813A64C
- bl EnableBothScriptContexts
- b _0813A65C
- .pool
-_0813A64C:
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x14]
- adds r0, 0x1
- strh r0, [r1, 0x14]
-_0813A65C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A630
-
- thumb_func_start sub_813A664
-sub_813A664: @ 813A664
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ScriptContext2_Enable
- adds r0, r4, 0
- bl sub_813A694
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_813A4EC
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A664
-
- thumb_func_start sub_813A694
-sub_813A694: @ 813A694
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- mov r1, sp
- ldr r0, =gUnknown_085B3030
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r0, [r0]
- str r0, [r1]
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r1, r0
- beq _0813A724
- mov r2, sp
- movs r3, 0x10
- ldrsh r1, [r4, r3]
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- lsls r1, 3
- adds r1, 0xC
- movs r5, 0xC
- ldrsh r0, [r4, r5]
- subs r0, 0x1
- lsls r0, 3
- adds r1, r0
- movs r3, 0
- strb r1, [r2, 0x1]
- mov r1, sp
- movs r0, 0x8
- strb r0, [r1, 0x2]
- movs r0, 0x10
- ldrsh r1, [r4, r0]
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- lsls r1, 3
- adds r1, 0xC
- movs r5, 0xC
- ldrsh r0, [r4, r5]
- subs r0, 0x1
- lsls r0, 3
- adds r1, r0
- strb r1, [r2, 0x4]
- mov r1, sp
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- lsls r0, 3
- adds r0, 0xA
- strb r0, [r1, 0x5]
- mov r0, sp
- strh r3, [r0, 0x6]
- mov r2, sp
- ldrh r0, [r4, 0xA]
- ldrh r1, [r4, 0x8]
- subs r0, r1
- strh r0, [r2, 0x8]
- ldr r1, =gUnknown_0203AB68
- mov r0, sp
- bl AddScrollIndicatorArrowPair
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
-_0813A724:
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A694
-
- thumb_func_start sub_813A738
-sub_813A738: @ 813A738
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r2, r1, r0
- movs r0, 0x8
- ldrsh r1, [r2, r0]
- movs r3, 0xA
- ldrsh r0, [r2, r3]
- cmp r1, r0
- beq _0813A75E
- ldrh r0, [r2, 0x20]
- lsls r0, 24
- lsrs r0, 24
- bl RemoveScrollIndicatorArrowPair
-_0813A75E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A738
-
- thumb_func_start nullsub_55
-nullsub_55: @ 813A768
- bx lr
- thumb_func_end nullsub_55
-
- thumb_func_start sub_813A76C
-sub_813A76C: @ 813A76C
- push {r4-r6,lr}
- movs r4, 0
- ldr r6, =gLinkPlayers
- ldr r0, =0x0000401f
- adds r5, r0, 0
-_0813A776:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x13]
- cmp r0, 0
- bne _0813A79C
- subs r0, r5, r4
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl VarSet
- b _0813A7A8
- .pool
-_0813A79C:
- subs r0, r5, r4
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x69
- bl VarSet
-_0813A7A8:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _0813A776
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_813A76C
-
- thumb_func_start sub_813A7B8
-sub_813A7B8: @ 813A7B8
- push {lr}
- ldr r1, =gSpecialVar_0x8004
- ldrh r0, [r1]
- cmp r0, 0x5
- bls _0813A7C6
- movs r0, 0
- strh r0, [r1]
-_0813A7C6:
- ldrh r1, [r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- bl GetNature
- lsls r0, 24
- ldr r1, =gUnknown_085B3040
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bl ShowFieldMessage
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A7B8
-
- thumb_func_start UpdateFrontierGambler
-UpdateFrontierGambler: @ 813A7F4
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =0x00004030
- bl GetVarPointer
- adds r5, r0, 0
- ldrh r0, [r5]
- adds r4, r0
- strh r4, [r5]
- ldrh r0, [r5]
- movs r1, 0xC
- bl __umodsi3
- strh r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end UpdateFrontierGambler
-
- thumb_func_start sub_813A820
-sub_813A820: @ 813A820
- push {r4,lr}
- ldr r0, =0x00004030
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r1, =gUnknown_085B30A4
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- bl ShowFieldMessage
- ldr r0, =0x00004031
- adds r1, r4, 0
- bl VarSet
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A820
-
- thumb_func_start sub_813A854
-sub_813A854: @ 813A854
- push {r4,lr}
- ldr r4, =gUnknown_085B30D4
- ldr r0, =0x00004031
- bl VarGet
- lsls r0, 16
- lsrs r0, 14
- adds r0, r4
- ldr r0, [r0]
- bl ShowFieldMessage
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A854
-
- thumb_func_start sub_813A878
-sub_813A878: @ 813A878
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, =0x00004031
- bl VarGet
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r4, =0x00004033
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bne _0813A8F0
- ldr r1, =gUnknown_085B3104
- lsls r0, r6, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r5, 8
- adds r0, r7
- cmp r1, r0
- bne _0813A8F0
- mov r0, r8
- cmp r0, 0
- beq _0813A8E8
- adds r0, r4, 0
- movs r1, 0x2
- bl VarSet
- b _0813A8F0
- .pool
-_0813A8E8:
- adds r0, r4, 0
- movs r1, 0x3
- bl VarSet
-_0813A8F0:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_813A878
-
- thumb_func_start sub_813A8FC
-sub_813A8FC: @ 813A8FC
- push {lr}
- sub sp, 0x2C
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000eb8
- adds r0, r1
- ldrh r1, [r0]
- add r0, sp, 0xC
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r1, =gText_BP
- bl StringCopy
- movs r0, 0x1
- add r1, sp, 0xC
- movs r2, 0x30
- bl GetStringRightAlignXOffset
- adds r3, r0, 0
- ldr r0, =gUnknown_0203AB6D
- ldrb r0, [r0]
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- add r2, sp, 0xC
- bl PrintTextOnWindow
- add sp, 0x2C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A8FC
-
- thumb_func_start sub_813A958
-sub_813A958: @ 813A958
- push {r4,lr}
- ldr r4, =gUnknown_0203AB6D
- ldr r0, =gUnknown_085B311C
- bl AddWindow
- strb r0, [r4]
- ldrb r0, [r4]
- movs r1, 0
- bl SetStandardWindowBorderStyle
- bl sub_813A8FC
- ldrb r0, [r4]
- movs r1, 0x2
- bl CopyWindowToVram
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A958
-
- thumb_func_start sub_813A988
-sub_813A988: @ 813A988
- push {r4,lr}
- ldr r4, =gUnknown_0203AB6D
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8198070
- ldrb r0, [r4]
- bl RemoveWindow
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A988
-
- thumb_func_start sub_813A9A4
-sub_813A9A4: @ 813A9A4
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000eb8
- adds r1, r0, r2
- ldr r0, =gSpecialVar_0x8004
- ldrh r2, [r1]
- ldrh r0, [r0]
- cmp r2, r0
- bcs _0813A9C8
- movs r0, 0
- b _0813A9CA
- .pool
-_0813A9C8:
- subs r0, r2, r0
-_0813A9CA:
- strh r0, [r1]
- pop {r0}
- bx r0
- thumb_func_end sub_813A9A4
-
- thumb_func_start sub_813A9D0
-sub_813A9D0: @ 813A9D0
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000eb8
- adds r2, r0, r1
- ldrh r1, [r2]
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- adds r1, r0
- ldr r0, =0x0000270f
- cmp r1, r0
- ble _0813A9FC
- strh r0, [r2]
- b _0813A9FE
- .pool
-_0813A9FC:
- strh r1, [r2]
-_0813A9FE:
- pop {r0}
- bx r0
- thumb_func_end sub_813A9D0
-
- thumb_func_start sub_813AA04
-sub_813AA04: @ 813AA04
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000eb8
- adds r0, r1
- ldrh r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_813AA04
-
- thumb_func_start sub_813AA18
-sub_813AA18: @ 813AA18
- push {r4,lr}
- ldr r4, =gUnknown_0203AB6E
- ldr r0, =gUnknown_085B3124
- bl AddWindow
- strb r0, [r4]
- ldrb r0, [r4]
- movs r1, 0
- bl SetStandardWindowBorderStyle
- ldrb r0, [r4]
- movs r1, 0x2
- bl CopyWindowToVram
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813AA18
-
- thumb_func_start sub_813AA44
-sub_813AA44: @ 813AA44
- push {r4,lr}
- ldr r4, =gUnknown_0203AB6E
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8198070
- ldrb r0, [r4]
- bl RemoveWindow
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813AA44
-
- thumb_func_start sub_813AA60
-sub_813AA60: @ 813AA60
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 16
- lsls r1, 16
- lsrs r5, r1, 16
- lsrs r4, r0, 16
- ldr r1, =0xfffd0000
- adds r0, r1
- lsrs r0, 16
- cmp r0, 0x3
- bls _0813AA78
- b _0813ABC2
-_0813AA78:
- movs r0, 0xD8
- str r0, [sp]
- movs r0, 0x20
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x11
- movs r2, 0
- movs r3, 0
- bl FillWindowPixelRect
- cmp r4, 0x4
- beq _0813AAE8
- cmp r4, 0x4
- bgt _0813AAA0
- cmp r4, 0x3
- beq _0813AAAA
- b _0813ABC2
- .pool
-_0813AAA0:
- cmp r4, 0x5
- beq _0813AB5C
- cmp r4, 0x6
- beq _0813AB94
- b _0813ABC2
-_0813AAAA:
- ldr r1, =gUnknown_085B3170
- lsls r0, r5, 2
- adds r0, r1
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r1, =gUnknown_085B312C
- lsls r0, r5, 1
- adds r1, r0, r1
- ldrh r5, [r1]
- ldr r0, =0x0000ffff
- cmp r5, r0
- beq _0813AB18
- b _0813AB2C
- .pool
-_0813AAE8:
- ldr r1, =gUnknown_085B319C
- lsls r0, r5, 2
- adds r0, r1
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r1, =gUnknown_085B3142
- lsls r0, r5, 1
- adds r1, r0, r1
- ldrh r5, [r1]
- ldr r0, =0x0000ffff
- cmp r5, r0
- bne _0813AB2C
-_0813AB18:
- ldrh r0, [r1]
- bl sub_813ABD4
- b _0813ABC2
- .pool
-_0813AB2C:
- ldr r4, =0x0000157c
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- lsls r0, r5, 24
- lsrs r0, 24
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r1, 0x21
- movs r2, 0x58
- movs r3, 0
- bl AddDecorationIconObject
- ldr r1, =gUnknown_0203AB6C
- strb r0, [r1]
- b _0813ABC2
- .pool
-_0813AB5C:
- ldr r1, =gUnknown_085B31B4
- lsls r0, r5, 2
- adds r0, r1
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r1, =gUnknown_085B314E
- lsls r0, r5, 1
- adds r0, r1
- ldrh r0, [r0]
- bl sub_813ABD4
- b _0813ABC2
- .pool
-_0813AB94:
- ldr r1, =gUnknown_085B31D0
- lsls r0, r5, 2
- adds r0, r1
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r1, =gUnknown_085B315C
- lsls r0, r5, 1
- adds r0, r1
- ldrh r0, [r0]
- bl sub_813ABD4
-_0813ABC2:
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813AA60
-
- thumb_func_start sub_813ABD4
-sub_813ABD4: @ 813ABD4
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- ldr r4, =0x0000157c
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl AddItemIconSprite
- ldr r4, =gUnknown_0203AB6C
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _0813AC32
- ldr r3, =gSprites
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x24
- strh r1, [r0, 0x20]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x5C
- strh r1, [r0, 0x22]
-_0813AC32:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813ABD4
-
- thumb_func_start sub_813AC44
-sub_813AC44: @ 813AC44
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r2, =gUnknown_0203AB6C
- ldrb r0, [r2]
- cmp r0, 0x40
- beq _0813AC70
- cmp r1, 0x6
- bgt _0813AC6A
- cmp r1, 0x3
- blt _0813AC6A
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySpriteAndFreeResources
-_0813AC6A:
- ldr r1, =gUnknown_0203AB6C
- movs r0, 0x40
- strb r0, [r1]
-_0813AC70:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813AC44
-
- thumb_func_start sub_813AC7C
-sub_813AC7C: @ 813AC7C
- push {lr}
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0
- beq _0813ACB8
- ldr r0, =gStringVar1
- ldr r2, =gUnknown_085B320C
- ldr r1, =gSpecialVar_0x8004
- ldrh r1, [r1]
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0xD
- muls r1, r2
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- b _0813ACD2
- .pool
-_0813ACB8:
- ldr r0, =gStringVar1
- ldr r2, =gUnknown_085B31F8
- ldr r1, =gSpecialVar_0x8004
- ldrh r1, [r1]
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0xD
- muls r1, r2
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
-_0813ACD2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813AC7C
-
- thumb_func_start sub_813ACE8
-sub_813ACE8: @ 813ACE8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r1, 16
- lsrs r6, r1, 16
- subs r0, 0x9
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0813AD20
- ldr r0, =gSpecialVar_0x8006
- ldrh r0, [r0]
- cmp r0, 0
- bne _0813AD18
- ldr r4, =gUnknown_0203AB5E
- ldr r0, =gUnknown_085B3220
- bl AddWindow
- strb r0, [r4]
- ldrb r0, [r4]
- movs r1, 0
- bl SetStandardWindowBorderStyle
-_0813AD18:
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_813AD34
-_0813AD20:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813ACE8
-
- thumb_func_start sub_813AD34
-sub_813AD34: @ 813AD34
- push {r4-r7,lr}
- sub sp, 0xC
- lsls r0, 24
- lsls r1, 16
- lsrs r5, r1, 16
- adds r7, r5, 0
- lsrs r6, r0, 24
- movs r1, 0xF7
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0813ADAC
- ldr r4, =gUnknown_0203AB5E
- ldrb r0, [r4]
- movs r1, 0x60
- str r1, [sp]
- movs r1, 0x30
- str r1, [sp, 0x4]
- movs r1, 0x11
- movs r2, 0
- movs r3, 0
- bl FillWindowPixelRect
- cmp r6, 0xA
- bne _0813AD90
- ldrb r0, [r4]
- ldr r2, =gUnknown_085B3254
- lsls r1, r5, 2
- adds r1, r2
- ldr r2, [r1]
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- b _0813ADAC
- .pool
-_0813AD90:
- ldrb r0, [r4]
- ldr r2, =gUnknown_085B3228
- lsls r1, r7, 2
- adds r1, r2
- ldr r2, [r1]
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
-_0813ADAC:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813AD34
-
- thumb_func_start sub_813ADB8
-sub_813ADB8: @ 813ADB8
- push {r4,lr}
- ldr r4, =gUnknown_0203AB5E
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8198070
- ldrb r0, [r4]
- bl RemoveWindow
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813ADB8
-
- thumb_func_start sub_813ADD4
-sub_813ADD4: @ 813ADD4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x18
- ldr r0, =sub_813A600
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xFF
- beq _0813AE90
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, =gTasks
- adds r6, r0, r1
- ldrh r0, [r6, 0x24]
- lsls r0, 24
- lsrs r0, 24
- mov r4, sp
- adds r4, 0x16
- add r1, sp, 0x14
- adds r2, r4, 0
- bl ListMenuGetScrollAndRow
- ldrh r0, [r6, 0x22]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl SetStandardWindowBorderStyle
- movs r5, 0
- mov r9, r4
- ldr r0, =gUnknown_085B2CF0
- mov r8, r0
- movs r4, 0
-_0813AE1E:
- ldrh r0, [r6, 0x22]
- lsls r0, 24
- lsrs r0, 24
- add r1, sp, 0x14
- ldrh r2, [r1]
- adds r2, r5
- lsls r2, 2
- ldr r1, =gSpecialVar_0x8004
- ldrh r1, [r1]
- lsls r1, 6
- adds r2, r1
- add r2, r8
- ldr r2, [r2]
- lsls r1, r5, 28
- lsrs r1, 24
- str r1, [sp]
- movs r7, 0xFF
- str r7, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1
- movs r3, 0xA
- bl sub_8199F74
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _0813AE1E
- ldrh r0, [r6, 0x22]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gText_SelectorArrow
- mov r3, r9
- ldrh r1, [r3]
- lsls r1, 28
- lsrs r1, 24
- str r1, [sp]
- str r7, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- ldrh r0, [r6, 0x22]
- lsls r0, 24
- lsrs r0, 24
- bl PutWindowTilemap
- ldrh r0, [r6, 0x22]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl CopyWindowToVram
-_0813AE90:
- add sp, 0x18
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813ADD4
-
- thumb_func_start sub_813AEB4
-sub_813AEB4: @ 813AEB4
- push {r4,lr}
- movs r1, 0
- ldr r0, =gSpecialVar_0x8005
- strh r1, [r0]
- ldr r0, =0x0000400e
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =0x0000400d
- bl VarGet
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r4, 0
- beq _0813AF18
- movs r2, 0
- lsls r1, 1
- ldr r3, =gUnknown_0861500C
- ldr r0, =gUnknown_085B320C
- adds r0, r1, r0
- ldrh r1, [r0]
-_0813AEE2:
- lsls r0, r2, 1
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, r1
- beq _0813AF0C
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1D
- bls _0813AEE2
- b _0813AF38
- .pool
-_0813AF0C:
- ldr r0, =gSpecialVar_0x8005
- strh r2, [r0]
- b _0813AF38
- .pool
-_0813AF18:
- movs r2, 0
- lsls r1, 1
- ldr r3, =gUnknown_0861500C
- ldr r0, =gUnknown_085B31F8
- adds r0, r1, r0
- ldrh r1, [r0]
-_0813AF24:
- lsls r0, r2, 1
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, r1
- beq _0813AF0C
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1D
- bls _0813AF24
-_0813AF38:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813AEB4
-
- thumb_func_start sub_813AF48
-sub_813AF48: @ 813AF48
- push {r4,r5,lr}
- ldr r0, =sub_813A600
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xFF
- beq _0813AFB6
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, =gTasks
- adds r4, r0
- ldrh r0, [r4, 0x24]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- movs r2, 0
- bl DestroyListMenuTask
- ldr r0, =gUnknown_0203AB64
- ldr r0, [r0]
- bl Free
- ldrh r0, [r4, 0x22]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_8198070
- ldrh r0, [r4, 0x22]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl FillWindowPixelBuffer
- ldrh r0, [r4, 0x22]
- lsls r0, 24
- lsrs r0, 24
- bl ClearWindowTilemap
- ldrh r0, [r4, 0x22]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl CopyWindowToVram
- ldrh r0, [r4, 0x22]
- lsls r0, 24
- lsrs r0, 24
- bl RemoveWindow
- adds r0, r5, 0
- bl DestroyTask
-_0813AFB6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813AF48
-
- thumb_func_start sub_813AFC8
-sub_813AFC8: @ 813AFC8
- push {lr}
- ldr r0, =task_deoxys_sound
- movs r1, 0x8
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813AFC8
-
- thumb_func_start task_deoxys_sound
-task_deoxys_sound: @ 813AFDC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =0x000008d4
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0813B004
- ldr r1, =gSpecialVar_Result
- movs r0, 0x3
- b _0813B06A
- .pool
-_0813B004:
- ldr r0, =0x00004035
- mov r8, r0
- bl VarGet
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r4, =0x00004034
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r4, 0
- movs r1, 0
- bl VarSet
- cmp r5, 0
- beq _0813B05C
- ldr r0, =gUnknown_085B33F6
- subs r1, r5, 0x1
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, r6
- bcs _0813B05C
- movs r0, 0
- bl sub_813B0B4
- mov r0, r8
- movs r1, 0
- bl VarSet
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- b _0813B070
- .pool
-_0813B05C:
- cmp r5, 0xA
- bne _0813B080
- ldr r0, =0x000008d4
- bl FlagSet
- ldr r1, =gSpecialVar_Result
- movs r0, 0x2
-_0813B06A:
- strh r0, [r1]
- bl EnableBothScriptContexts
-_0813B070:
- adds r0, r7, 0
- bl DestroyTask
- b _0813B0A2
- .pool
-_0813B080:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_813B0B4
- ldr r0, =0x00004035
- adds r1, r5, 0
- bl VarSet
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
- adds r0, r7, 0
- bl DestroyTask
-_0813B0A2:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_deoxys_sound
-
- thumb_func_start sub_813B0B4
-sub_813B0B4: @ 813B0B4
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 5
- ldr r1, =gUnknown_085B3280
- adds r0, r1
- movs r1, 0xD0
- lsls r1, 1
- movs r2, 0x8
- bl LoadPalette
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- movs r0, 0x1
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- cmp r4, 0
- bne _0813B0F0
- movs r0, 0xC4
- bl PlaySE
- b _0813B0F8
- .pool
-_0813B0F0:
- movs r0, 0x82
- lsls r0, 1
- bl PlaySE
-_0813B0F8:
- ldr r0, =sub_813B160
- movs r1, 0x8
- bl CreateTask
- ldr r3, =gFieldEffectArguments
- movs r0, 0x1
- str r0, [r3]
- movs r0, 0x3A
- str r0, [r3, 0x4]
- movs r0, 0x1A
- str r0, [r3, 0x8]
- ldr r0, =gUnknown_085B33E0
- lsls r2, r4, 1
- adds r1, r2, r0
- ldrb r1, [r1]
- str r1, [r3, 0xC]
- adds r0, 0x1
- adds r0, r2, r0
- ldrb r0, [r0]
- str r0, [r3, 0x10]
- adds r5, r2, 0
- cmp r4, 0
- bne _0813B138
- movs r0, 0x3C
- b _0813B13A
- .pool
-_0813B138:
- movs r0, 0x5
-_0813B13A:
- str r0, [r3, 0x14]
- movs r0, 0x42
- bl FieldEffectStart
- ldr r0, =gUnknown_085B33E0
- adds r1, r5, r0
- ldrb r1, [r1]
- adds r0, 0x1
- adds r0, r5, r0
- ldrb r2, [r0]
- movs r0, 0x1
- bl Overworld_SetMapObjTemplateCoords
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813B0B4
-
- thumb_func_start sub_813B160
-sub_813B160: @ 813B160
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x42
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _0813B17C
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
-_0813B17C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_813B160
-
- thumb_func_start increment_var_x4026_on_birth_island_modulo_100
-increment_var_x4026_on_birth_island_modulo_100: @ 813B184
- push {r4,lr}
- ldr r4, =0x00004034
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldr r0, =0x00003a1a
- cmp r1, r0
- bne _0813B1C8
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x63
- bls _0813B1C0
- adds r0, r4, 0
- movs r1, 0
- bl VarSet
- b _0813B1C8
- .pool
-_0813B1C0:
- adds r0, r4, 0
- adds r1, r2, 0
- bl VarSet
-_0813B1C8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end increment_var_x4026_on_birth_island_modulo_100
-
- thumb_func_start sub_813B1D0
-sub_813B1D0: @ 813B1D0
- push {lr}
- ldr r0, =0x00004035
- bl VarGet
- lsls r0, 24
- lsrs r0, 19
- ldr r1, =gUnknown_085B3280
- adds r0, r1
- movs r1, 0xD0
- lsls r1, 1
- movs r2, 0x8
- bl LoadPalette
- movs r0, 0x80
- lsls r0, 19
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813B1D0
-
- thumb_func_start set_unknown_box_id
-@ void set_unknown_box_id(char id)
-set_unknown_box_id: @ 813B204
- ldr r1, =gUnknown_0203AB6F
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end set_unknown_box_id
-
- thumb_func_start get_unknown_box_id
-get_unknown_box_id: @ 813B210
- ldr r0, =gUnknown_0203AB6F
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end get_unknown_box_id
-
- thumb_func_start sub_813B21C
-sub_813B21C: @ 813B21C
- push {r4,r5,lr}
- ldr r5, =0x000008d7
- adds r0, r5, 0
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _0813B258
- bl StorageGetCurrentBox
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =0x00004036
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r4, r0
- beq _0813B258
- adds r0, r5, 0
- bl FlagSet
- movs r0, 0x1
- b _0813B25A
- .pool
-_0813B258:
- movs r0, 0
-_0813B25A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_813B21C
-
- thumb_func_start sub_813B260
-sub_813B260: @ 813B260
- push {r4-r7,lr}
- ldr r0, =0x00004036
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- bl set_unknown_box_id
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r4, r0, 24
-_0813B278:
- movs r5, 0
- lsls r6, r4, 24
- lsls r7, r4, 16
-_0813B27E:
- lsls r1, r5, 24
- lsrs r1, 24
- lsrs r0, r6, 24
- bl GetBoxedMonPtr
- movs r1, 0xB
- movs r2, 0
- bl GetBoxMonData
- cmp r0, 0
- bne _0813B2C0
- bl get_unknown_box_id
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r4
- beq _0813B2A6
- ldr r0, =0x000008d7
- bl FlagClear
-_0813B2A6:
- ldr r0, =0x00004036
- lsrs r1, r7, 16
- bl VarSet
- bl sub_813B21C
- lsls r0, 24
- lsrs r0, 24
- b _0813B2DC
- .pool
-_0813B2C0:
- adds r5, 0x1
- cmp r5, 0x1D
- ble _0813B27E
- adds r4, 0x1
- cmp r4, 0xE
- bne _0813B2CE
- movs r4, 0
-_0813B2CE:
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _0813B278
- movs r0, 0
-_0813B2DC:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_813B260
-
- thumb_func_start sub_813B2E4
-sub_813B2E4: @ 813B2E4
- push {r4,lr}
- bl Random
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =0x00004038
- movs r1, 0
- bl VarSet
- movs r0, 0xDF
- lsls r0, 1
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0813B340
- ldr r0, =0x000001bf
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0813B330
- ldr r0, =0x00004037
- movs r1, 0x7
- ands r4, r1
- adds r1, r4, 0
- adds r1, 0x9
- bl VarSet
- b _0813B36A
- .pool
-_0813B330:
- movs r0, 0x1
- ands r4, r0
- cmp r4, 0
- bne _0813B354
- bl Random
- lsls r0, 16
- lsrs r4, r0, 16
-_0813B340:
- ldr r0, =0x00004037
- movs r1, 0x7
- ands r4, r1
- adds r1, r4, 0x1
- bl VarSet
- b _0813B36A
- .pool
-_0813B354:
- bl Random
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =0x00004037
- movs r1, 0x7
- ands r4, r1
- adds r1, r4, 0
- adds r1, 0x9
- bl VarSet
-_0813B36A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813B2E4
-
- thumb_func_start sub_813B374
-sub_813B374: @ 813B374
- push {r4,lr}
- ldr r0, =0x00004037
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =gStringVar1
- ldr r2, =gUnknown_085B3400
- subs r1, r4, 0x1
- adds r1, r2
- ldrb r1, [r1]
- movs r2, 0
- bl GetMapName
- cmp r4, 0x8
- bls _0813B3A8
- movs r0, 0x1
- b _0813B3AA
- .pool
-_0813B3A8:
- movs r0, 0
-_0813B3AA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_813B374
-
- thumb_func_start sub_813B3B0
-sub_813B3B0: @ 813B3B0
- push {r4-r6,lr}
- ldr r5, =0x00004038
- adds r0, r5, 0
- bl VarGet
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =0x00004037
- bl VarGet
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0
- beq _0813B47C
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =0x000003e7
- cmp r4, r0
- bls _0813B474
- adds r0, r5, 0
- movs r1, 0
- bl VarSet
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- cmp r0, 0x18
- bne _0813B414
- movs r0, 0x5
- ldrsb r0, [r1, r0]
- cmp r0, 0x69
- bgt _0813B414
- cmp r0, 0x65
- blt _0813B414
- ldr r0, =0x00004039
- movs r1, 0x1
- b _0813B478
- .pool
-_0813B414:
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r1, 0x4
- ldrsb r1, [r2, r1]
- adds r3, r0, 0
- cmp r1, 0
- bne _0813B444
- movs r0, 0x5
- ldrsb r0, [r2, r0]
- cmp r0, 0x34
- beq _0813B436
- cmp r0, 0x34
- blt _0813B444
- cmp r0, 0x38
- bgt _0813B444
- cmp r0, 0x36
- blt _0813B444
-_0813B436:
- ldr r0, =0x00004039
- movs r1, 0x1
- b _0813B478
- .pool
-_0813B444:
- ldr r3, [r3]
- movs r2, 0x5
- ldrsb r2, [r3, r2]
- ldr r1, =gUnknown_085B3410
- subs r0, r6, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r2, r0
- bne _0813B468
- movs r0, 0x4
- ldrsb r0, [r3, r0]
- cmp r0, 0
- bne _0813B468
- movs r0, 0x1
- b _0813B47E
- .pool
-_0813B468:
- ldr r0, =0x00004037
- movs r1, 0
- b _0813B478
- .pool
-_0813B474:
- adds r0, r5, 0
- adds r1, r4, 0
-_0813B478:
- bl VarSet
-_0813B47C:
- movs r0, 0
-_0813B47E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_813B3B0
-
- thumb_func_start sub_813B484
-sub_813B484: @ 813B484
- push {lr}
- movs r0, 0x2
- bl sub_80AB104
- pop {r0}
- bx r0
- thumb_func_end sub_813B484
-
- thumb_func_start sub_813B490
-sub_813B490: @ 813B490
- push {r4-r7,lr}
- movs r3, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r4, [r0]
- movs r6, 0x4
- ldrsb r6, [r4, r6]
- ldr r5, =gUnknown_085B3420
- adds r0, r5, 0x2
- mov r12, r0
- adds r7, r5, 0x1
-_0813B4A4:
- lsls r0, r3, 1
- adds r2, r0, r3
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r6, r0
- bne _0813B4CC
- movs r1, 0x5
- ldrsb r1, [r4, r1]
- adds r0, r2, r7
- ldrb r0, [r0]
- cmp r1, r0
- bne _0813B4CC
- mov r1, r12
- adds r0, r2, r1
- ldrb r0, [r0]
- b _0813B4D8
- .pool
-_0813B4CC:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xB
- bls _0813B4A4
- movs r0, 0x1
-_0813B4D8:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_813B490
-
- thumb_func_start sub_813B4E0
-sub_813B4E0: @ 813B4E0
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- bl sub_81D15CC
- cmp r0, 0
- blt _0813B50C
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0813B50C
- movs r0, 0x1
- b _0813B50E
- .pool
-_0813B50C:
- movs r0, 0
-_0813B50E:
- pop {r1}
- bx r1
- thumb_func_end sub_813B4E0
-
- thumb_func_start sub_813B514
-sub_813B514: @ 813B514
- push {lr}
- ldr r0, =0x0000403f
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- beq _0813B52C
- movs r0, 0x1
- b _0813B52E
- .pool
-_0813B52C:
- movs r0, 0
-_0813B52E:
- pop {r1}
- bx r1
- thumb_func_end sub_813B514
-
- thumb_func_start sub_813B534
-sub_813B534: @ 813B534
- push {lr}
- ldr r2, =gUnknown_0203AB70
- ldr r1, =gBattleTypeFlags
- ldr r0, [r1]
- str r0, [r2]
- movs r0, 0
- str r0, [r1]
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0813B552
- ldr r0, =sub_80B3AF8
- movs r1, 0x5
- bl CreateTask
-_0813B552:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813B534
-
- thumb_func_start sub_813B568
-sub_813B568: @ 813B568
- push {lr}
- ldr r0, =sub_813B57C
- movs r1, 0x5
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813B568
-
- thumb_func_start sub_813B57C
-sub_813B57C: @ 813B57C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0x9
- bls _0813B596
- b _0813B7C6
-_0813B596:
- lsls r0, 2
- ldr r1, =_0813B5A8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0813B5A8:
- .4byte _0813B5D0
- .4byte _0813B5E4
- .4byte _0813B614
- .4byte _0813B6B4
- .4byte _0813B6E4
- .4byte _0813B728
- .4byte _0813B764
- .4byte _0813B772
- .4byte _0813B784
- .4byte _0813B7A8
-_0813B5D0:
- ldr r0, =sub_80B3AF8
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _0813B5DE
- b _0813B7C6
-_0813B5DE:
- b _0813B790
- .pool
-_0813B5E4:
- bl sub_800A520
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0813B5F2
- b _0813B7C6
-_0813B5F2:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _0813B5FE
- b _0813B790
-_0813B5FE:
- bl bitmask_all_link_players_but_self
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSpecialVar_0x8004
- movs r2, 0x2
- bl SendBlock
- b _0813B708
- .pool
-_0813B614:
- bl GetBlockReceivedStatus
- movs r1, 0x2
- ands r1, r0
- cmp r1, 0
- bne _0813B622
- b _0813B7C6
-_0813B622:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- beq _0813B62E
- b _0813B790
-_0813B62E:
- ldr r5, =gSpecialVar_0x8005
- ldr r0, =gBlockRecvBuffer
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r5]
- movs r0, 0x1
- bl ResetBlockReceivedFlag
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0x1
- bne _0813B668
- ldrh r1, [r5]
- cmp r1, 0x1
- bne _0813B668
- ldr r0, =gSpecialVar_Result
- strh r1, [r0]
- b _0813B790
- .pool
-_0813B668:
- ldr r0, =gSpecialVar_0x8004
- ldrh r1, [r0]
- adds r2, r0, 0
- cmp r1, 0
- bne _0813B68C
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0x1
- bne _0813B68C
- ldr r1, =gSpecialVar_Result
- movs r0, 0x2
- b _0813B6AC
- .pool
-_0813B68C:
- ldrh r0, [r2]
- cmp r0, 0x1
- bne _0813B6A8
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0
- bne _0813B6A8
- ldr r1, =gSpecialVar_Result
- movs r0, 0x3
- b _0813B6AC
- .pool
-_0813B6A8:
- ldr r1, =gSpecialVar_Result
- movs r0, 0
-_0813B6AC:
- strh r0, [r1]
- b _0813B790
- .pool
-_0813B6B4:
- bl sub_800A520
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0813B6C2
- b _0813B7C6
-_0813B6C2:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _0813B790
- bl bitmask_all_link_players_but_self
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSpecialVar_Result
- movs r2, 0x2
- bl SendBlock
- b _0813B708
- .pool
-_0813B6E4:
- bl GetBlockReceivedStatus
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0813B7C6
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- beq _0813B790
- ldr r1, =gSpecialVar_Result
- ldr r0, =gBlockRecvBuffer
- ldrh r0, [r0]
- strh r0, [r1]
- movs r0, 0
- bl ResetBlockReceivedFlag
-_0813B708:
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _0813B7C6
- .pool
-_0813B728:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _0813B74C
- ldr r0, =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0x2
- bne _0813B790
- ldr r0, =gText_YourPartnerHasRetired
- bl ShowFieldAutoScrollMessage
- b _0813B790
- .pool
-_0813B74C:
- ldr r0, =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0x3
- bne _0813B790
- ldr r0, =gText_YourPartnerHasRetired
- bl ShowFieldAutoScrollMessage
- b _0813B790
- .pool
-_0813B764:
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _0813B7C6
- b _0813B790
-_0813B772:
- bl sub_800A520
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0813B7C6
- bl sub_800ADF8
- b _0813B790
-_0813B784:
- bl sub_800A520
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0813B7C6
-_0813B790:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0813B7C6
- .pool
-_0813B7A8:
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- bne _0813B7B4
- bl sub_800AC34
-_0813B7B4:
- ldr r0, =gBattleTypeFlags
- ldr r1, =gUnknown_0203AB70
- ldr r1, [r1]
- str r1, [r0]
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
-_0813B7C6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813B57C
-
- thumb_func_start sub_813B7D8
-sub_813B7D8: @ 813B7D8
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _0813B7F8
- ldr r2, =CB2_ReturnToFieldContinueScript
- movs r0, 0
- movs r1, 0x1
- bl DoRayquazaScene
- b _0813B802
- .pool
-_0813B7F8:
- ldr r2, =CB2_ReturnToFieldContinueScript
- movs r0, 0x1
- movs r1, 0
- bl DoRayquazaScene
-_0813B802:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813B7D8
-
- thumb_func_start sub_813B80C
-sub_813B80C: @ 813B80C
- push {lr}
- ldr r0, =sub_813B824
- movs r1, 0x8
- bl CreateTask
- movs r0, 0x9D
- bl PlaySE
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813B80C
-
- thumb_func_start sub_813B824
-sub_813B824: @ 813B824
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r1, r0
- bne _0813B858
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- movs r0, 0
- strh r0, [r4, 0x2]
- movs r0, 0x9D
- bl PlaySE
-_0813B858:
- movs r0, 0
- ldrsh r1, [r4, r0]
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bne _0813B86C
- adds r0, r5, 0
- bl DestroyTask
-_0813B86C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813B824
-
- thumb_func_start sub_813B880
-sub_813B880: @ 813B880
- push {lr}
- ldr r0, =_fwalk
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- movs r0, 0x4
- strh r0, [r1, 0x8]
- strh r0, [r1, 0xA]
- strh r0, [r1, 0xC]
- strh r2, [r1, 0xE]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813B880
-
- thumb_func_start _fwalk
-_fwalk: @ 813B8B0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r0, 2
- add r0, r9
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- movs r0, 0x6
- ldrsh r1, [r5, r0]
- lsls r1, 1
- adds r1, r5
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- movs r1, 0x6
- ldrsh r0, [r5, r1]
- lsls r0, 1
- adds r0, r5
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _0813B94E
- movs r6, 0
-_0813B8EA:
- movs r4, 0
- lsls r3, r6, 3
- mov r10, r3
- adds r7, r6, 0x1
- mov r8, r7
-_0813B8F4:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r2, 0
- ldrsh r0, [r1, r2]
- adds r0, r4
- adds r0, 0x6
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- adds r1, r6
- adds r1, 0x4
- ldr r7, =0x00000201
- adds r2, r4, r7
- add r2, r10
- movs r7, 0x6
- ldrsh r3, [r5, r7]
- lsls r3, 5
- adds r2, r3
- lsls r2, 16
- lsrs r2, 16
- bl MapGridSetMetatileIdAt
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _0813B8F4
- mov r1, r8
- lsls r0, r1, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _0813B8EA
- bl DrawWholeMapView
- ldrh r0, [r5, 0x6]
- adds r0, 0x1
- strh r0, [r5, 0x6]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _0813B94E
- mov r0, r9
- bl DestroyTask
- bl EnableBothScriptContexts
-_0813B94E:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end _fwalk
-
- thumb_func_start sub_813B968
-sub_813B968: @ 813B968
- push {r4,r5,lr}
- ldr r5, =gSpecialVar_Result
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- movs r1, 0x7
- bl __udivsi3
- strh r0, [r5]
- ldrh r4, [r5]
- adds r0, r4, 0
- movs r1, 0x14
- bl __udivsi3
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- subs r4, r1
- strh r4, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813B968
-
- thumb_func_start sub_813B9A0
-sub_813B9A0: @ 813B9A0
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x1C]
- movs r0, 0xB0
- lsls r0, 4
- cmp r1, r0
- bne _0813B9B6
- movs r0, 0x3
- bl Overworld_SetHealLocationWarp
-_0813B9B6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813B9A0
-
- thumb_func_start sub_813B9C0
-sub_813B9C0: @ 813B9C0
- push {r4,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x4
- ldrsb r1, [r0, r1]
- lsls r1, 8
- ldrb r0, [r0, 0x5]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r2, =gUnknown_085B3444
- ldrh r0, [r2]
- ldr r1, =0x0000ffff
- cmp r0, r1
- beq _0813BA06
- adds r4, r1, 0
- adds r1, r2, 0
-_0813B9E6:
- ldrh r0, [r2]
- cmp r0, r3
- bne _0813B9FC
- movs r0, 0x1
- b _0813BA08
- .pool
-_0813B9FC:
- adds r1, 0x2
- adds r2, 0x2
- ldrh r0, [r1]
- cmp r0, r4
- bne _0813B9E6
-_0813BA06:
- movs r0, 0
-_0813BA08:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_813B9C0
-
- thumb_func_start ResetFanClub
-ResetFanClub: @ 813BA10
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x0000141e
- adds r1, r0, r2
- movs r2, 0
- strh r2, [r1]
- movs r1, 0xA1
- lsls r1, 5
- adds r0, r1
- strh r2, [r0]
- bx lr
- .pool
- thumb_func_end ResetFanClub
-
- thumb_func_start sub_813BA30
-sub_813BA30: @ 813BA30
- push {lr}
- bl sub_813BF44
- lsls r0, 24
- cmp r0, 0
- beq _0813BA52
- bl sub_813BCE8
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrh r0, [r0, 0xE]
- movs r2, 0xA1
- lsls r2, 5
- adds r1, r2
- strh r0, [r1]
-_0813BA52:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813BA30
-
- thumb_func_start sub_813BA60
-sub_813BA60: @ 813BA60
- push {r4,lr}
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- ldr r1, =0x0000141e
- adds r0, r1
- ldrh r0, [r0]
- lsrs r0, 7
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0813BAB6
- bl sub_813BF60
- bl sub_813BD84
- ldr r1, [r4]
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrh r0, [r0, 0xE]
- movs r2, 0xA1
- lsls r2, 5
- adds r1, r2
- strh r0, [r1]
- ldr r0, =0x00000315
- bl FlagClear
- ldr r0, =0x00000316
- bl FlagClear
- ldr r0, =0x00000317
- bl FlagClear
- movs r0, 0xC6
- lsls r0, 2
- bl FlagClear
- ldr r0, =0x000002da
- bl FlagClear
- ldr r0, =0x00004095
- movs r1, 0x1
- bl VarSet
-_0813BAB6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813BA60
-
- thumb_func_start sub_813BADC
-sub_813BADC: @ 813BADC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =0x00004095
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bne _0813BB58
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- ldr r5, =0x0000141e
- adds r3, r0, r5
- ldrh r2, [r3]
- movs r1, 0x7F
- ands r1, r2
- ldr r0, =gUnknown_085B3470
- adds r0, r6, r0
- ldrb r0, [r0]
- adds r1, r0
- cmp r1, 0x13
- ble _0813BB54
- bl sub_813BCA8
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bhi _0813BB3C
- bl sub_813BB74
- ldr r0, [r4]
- adds r0, r5
- ldrh r2, [r0]
- ldr r1, =0x0000ff80
- ands r1, r2
- strh r1, [r0]
- b _0813BB58
- .pool
-_0813BB3C:
- ldr r2, [r4]
- adds r2, r5
- ldrh r1, [r2]
- ldr r0, =0x0000ff80
- ands r0, r1
- movs r1, 0x14
- orrs r0, r1
- strh r0, [r2]
- b _0813BB58
- .pool
-_0813BB54:
- adds r0, r2, r0
- strh r0, [r3]
-_0813BB58:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x0000141e
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x7F
- ands r0, r1
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_813BADC
-
- thumb_func_start sub_813BB74
-sub_813BB74: @ 813BB74
- push {r4-r7,lr}
- sub sp, 0x8
- movs r3, 0
- movs r5, 0
- ldr r7, =gSaveBlock1Ptr
- ldr r2, =0x0000141e
- movs r6, 0x1
-_0813BB82:
- ldr r0, [r7]
- adds r0, r2
- ldrh r1, [r0]
- ldr r0, =gUnknown_085B3474
- adds r0, r5, r0
- ldrb r4, [r0]
- asrs r1, r4
- ands r1, r6
- cmp r1, 0
- bne _0813BBC8
- adds r3, r5, 0
- str r2, [sp]
- str r3, [sp, 0x4]
- bl Random
- adds r1, r6, 0
- ands r1, r0
- ldr r2, [sp]
- ldr r3, [sp, 0x4]
- cmp r1, 0
- beq _0813BBC8
- ldr r0, [r7]
- adds r0, r2
- adds r1, r6, 0
- lsls r1, r4
- ldrh r2, [r0]
- orrs r1, r2
- strh r1, [r0]
- b _0813BBEA
- .pool
-_0813BBC8:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x7
- bls _0813BB82
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r0, =0x0000141e
- adds r2, r0
- ldr r1, =gUnknown_085B3474
- adds r1, r3, r1
- movs r0, 0x1
- ldrb r1, [r1]
- lsls r0, r1
- ldrh r1, [r2]
- orrs r0, r1
- strh r0, [r2]
-_0813BBEA:
- adds r0, r3, 0
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_813BB74
-
- thumb_func_start sub_813BC00
-sub_813BC00: @ 813BC00
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0
- mov r10, r0
- bl sub_813BCA8
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bne _0813BC2E
- movs r0, 0
- b _0813BC8E
-_0813BC1E:
- mov r1, r8
- ldr r0, [r1]
- add r0, r9
- lsls r4, r6
- ldrh r1, [r0]
- eors r4, r1
- strh r4, [r0]
- b _0813BC8C
-_0813BC2E:
- movs r5, 0
- ldr r2, =gSaveBlock1Ptr
- mov r8, r2
- ldr r0, =0x0000141e
- mov r9, r0
- movs r4, 0x1
-_0813BC3A:
- mov r1, r8
- ldr r0, [r1]
- add r0, r9
- ldrh r1, [r0]
- ldr r7, =gUnknown_085B347C
- adds r0, r5, r7
- ldrb r6, [r0]
- asrs r1, r6
- ands r1, r4
- cmp r1, 0
- beq _0813BC5E
- mov r10, r5
- bl Random
- adds r1, r4, 0
- ands r1, r0
- cmp r1, 0
- bne _0813BC1E
-_0813BC5E:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x7
- bls _0813BC3A
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x0000141e
- adds r4, r0, r2
- ldrh r1, [r4]
- mov r2, r10
- adds r0, r2, r7
- ldrb r2, [r0]
- adds r0, r1, 0
- asrs r0, r2
- movs r3, 0x1
- ands r0, r3
- cmp r0, 0
- beq _0813BC8C
- adds r0, r3, 0
- lsls r0, r2
- eors r1, r0
- strh r1, [r4]
-_0813BC8C:
- mov r0, r10
-_0813BC8E:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_813BC00
-
- thumb_func_start sub_813BCA8
-sub_813BCA8: @ 813BCA8
- push {r4,r5,lr}
- movs r3, 0
- movs r2, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x0000141e
- adds r0, r1
- ldrh r4, [r0]
- movs r5, 0x1
-_0813BCBA:
- adds r1, r2, 0
- adds r1, 0x8
- adds r0, r4, 0
- asrs r0, r1
- ands r0, r5
- cmp r0, 0
- beq _0813BCCE
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
-_0813BCCE:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _0813BCBA
- adds r0, r3, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_813BCA8
-
- thumb_func_start sub_813BCE8
-sub_813BCE8: @ 813BCE8
- push {r4-r6,lr}
- movs r5, 0
- ldr r2, =gSaveBlock2Ptr
- ldr r0, [r2]
- ldrh r1, [r0, 0xE]
- ldr r0, =0x000003e6
- cmp r1, r0
- bhi _0813BD58
- adds r6, r2, 0
- b _0813BD32
- .pool
-_0813BD04:
- ldr r0, [r6]
- ldrh r1, [r0, 0xE]
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- movs r2, 0xA1
- lsls r2, 5
- adds r0, r2
- ldrh r0, [r0]
- subs r1, r0
- cmp r1, 0xB
- ble _0813BD58
- bl sub_813BC00
- ldr r0, [r4]
- movs r1, 0xA1
- lsls r1, 5
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0xC
- strh r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_0813BD32:
- bl sub_813BCA8
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x4
- bhi _0813BD54
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, [r6]
- ldrh r0, [r0, 0xE]
- movs r2, 0xA1
- lsls r2, 5
- adds r1, r2
- strh r0, [r1]
- b _0813BD58
- .pool
-_0813BD54:
- cmp r5, 0x8
- bne _0813BD04
-_0813BD58:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_813BCE8
-
- thumb_func_start sub_813BD60
-sub_813BD60: @ 813BD60
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x0000141e
- adds r0, r1
- ldrh r0, [r0]
- ldr r1, =gSpecialVar_0x8004
- ldrh r1, [r1]
- asrs r0, r1
- movs r1, 0x1
- ands r0, r1
- bx lr
- .pool
- thumb_func_end sub_813BD60
-
- thumb_func_start sub_813BD84
-sub_813BD84: @ 813BD84
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r0, =0x0000141e
- adds r2, r0
- ldrh r1, [r2]
- movs r3, 0x80
- lsls r3, 6
- adds r0, r3, 0
- orrs r0, r1
- movs r3, 0x80
- lsls r3, 1
- adds r1, r3, 0
- orrs r0, r1
- movs r3, 0x80
- lsls r3, 3
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_813BD84
-
- thumb_func_start sub_813BDB4
-sub_813BDB4: @ 813BDB4
- push {lr}
- movs r3, 0
- movs r2, 0
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- subs r0, 0x8
- cmp r0, 0x7
- bhi _0813BE14
- lsls r0, 2
- ldr r1, =_0813BDD8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0813BDD8:
- .4byte _0813BE14
- .4byte _0813BE14
- .4byte _0813BDF8
- .4byte _0813BDFE
- .4byte _0813BE04
- .4byte _0813BE0A
- .4byte _0813BE10
- .4byte _0813BE14
-_0813BDF8:
- movs r3, 0
- movs r2, 0x3
- b _0813BE14
-_0813BDFE:
- movs r3, 0
- movs r2, 0x1
- b _0813BE14
-_0813BE04:
- movs r3, 0x1
- movs r2, 0
- b _0813BE14
-_0813BE0A:
- movs r3, 0
- movs r2, 0x4
- b _0813BE14
-_0813BE10:
- movs r3, 0x1
- movs r2, 0x5
-_0813BE14:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003150
- adds r0, r1
- adds r1, r3, 0
- bl sub_813BE30
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813BDB4
-
- thumb_func_start sub_813BE30
-sub_813BE30: @ 813BE30
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r0, r5, 4
- adds r1, r6, r0
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _0813BEE8
- cmp r2, 0x5
- bhi _0813BED4
- lsls r0, r2, 2
- ldr r1, =_0813BE58
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0813BE58:
- .4byte _0813BED4
- .4byte _0813BE70
- .4byte _0813BE84
- .4byte _0813BE98
- .4byte _0813BEAC
- .4byte _0813BEC0
-_0813BE70:
- ldr r0, =gStringVar1
- ldr r1, =gText_Steven
- bl StringCopy
- b _0813BF04
- .pool
-_0813BE84:
- ldr r0, =gStringVar1
- ldr r1, =gText_Brawly
- bl StringCopy
- b _0813BF04
- .pool
-_0813BE98:
- ldr r0, =gStringVar1
- ldr r1, =gText_Winona
- bl StringCopy
- b _0813BF04
- .pool
-_0813BEAC:
- ldr r0, =gStringVar1
- ldr r1, =gText_Phoebe
- bl StringCopy
- b _0813BF04
- .pool
-_0813BEC0:
- ldr r0, =gStringVar1
- ldr r1, =gText_Glacia
- bl StringCopy
- b _0813BF04
- .pool
-_0813BED4:
- ldr r0, =gStringVar1
- ldr r1, =gText_Wallace
- bl StringCopy
- b _0813BF04
- .pool
-_0813BEE8:
- ldr r4, =gStringVar1
- adds r0, r4, 0
- movs r2, 0x7
- bl StringCopyN
- movs r0, 0xFF
- strb r0, [r4, 0x7]
- adds r0, r6, 0
- adds r0, 0x50
- adds r0, r5
- ldrb r1, [r0]
- adds r0, r4, 0
- bl ConvertInternationalString
-_0813BF04:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813BE30
-
- thumb_func_start sub_813BF10
-sub_813BF10: @ 813BF10
- push {lr}
- ldr r0, =0x00004095
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bne _0813BF40
- bl sub_813BA30
- ldr r0, =gBattleOutcome
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0813BF3C
- bl sub_813BB74
- b _0813BF40
- .pool
-_0813BF3C:
- bl sub_813BC00
-_0813BF40:
- pop {r0}
- bx r0
- thumb_func_end sub_813BF10
-
- thumb_func_start sub_813BF44
-sub_813BF44: @ 813BF44
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x0000141e
- adds r0, r1
- ldrh r0, [r0]
- lsrs r0, 7
- movs r1, 0x1
- ands r0, r1
- bx lr
- .pool
- thumb_func_end sub_813BF44
-
- thumb_func_start sub_813BF60
-sub_813BF60: @ 813BF60
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =0x0000141e
- adds r1, r0
- ldrh r2, [r1]
- movs r0, 0x80
- orrs r0, r2
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_813BF60
-
- thumb_func_start sub_813BF7C
-sub_813BF7C: @ 813BF7C
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrb r0, [r0]
- bl sub_813BADC
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_813BF7C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_tasks.s b/asm/field_tasks.s
deleted file mode 100644
index 09f5bbc9b..000000000
--- a/asm/field_tasks.s
+++ /dev/null
@@ -1,1921 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start task_per_step_callback_manager
-task_per_step_callback_manager: @ 809D88C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0x8
- ldrsh r1, [r1, r2]
- ldr r2, =gUnknown_08510348
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_per_step_callback_manager
-
- thumb_func_start sub_809D8B8
-sub_809D8B8: @ 809D8B8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0809D8CA
- cmp r0, 0x1
- beq _0809D8E8
- b _0809D8FC
-_0809D8CA:
- ldr r0, =gMain
- ldr r0, [r0, 0x20]
- movs r1, 0x80
- lsls r1, 5
- ands r0, r1
- cmp r0, 0
- beq _0809D8FC
- bl DoTimeBasedEvents
- ldrh r0, [r4]
- adds r0, 0x1
- b _0809D8FA
- .pool
-_0809D8E8:
- ldr r0, =gMain
- ldr r0, [r0, 0x20]
- movs r1, 0x80
- lsls r1, 5
- ands r0, r1
- cmp r0, 0
- bne _0809D8FC
- ldrh r0, [r4]
- subs r0, 0x1
-_0809D8FA:
- strh r0, [r4]
-_0809D8FC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809D8B8
-
- thumb_func_start sub_809D908
-sub_809D908: @ 809D908
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- bl ScriptContext2_IsEnabled
- lsls r0, 24
- cmp r0, 0
- bne _0809D930
- adds r0, r4, 0
- bl sub_809D8B8
- adds r0, r4, 0x2
- adds r1, r4, 0x4
- bl UpdateAmbientCry
-_0809D930:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809D908
-
- thumb_func_start SetUpFieldTasks
-SetUpFieldTasks: @ 809D93C
- push {r4,r5,lr}
- ldr r5, =task_per_step_callback_manager
- adds r0, r5, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0809D966
- adds r0, r5, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
-_0809D966:
- ldr r4, =sub_809E638
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _0809D97C
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
-_0809D97C:
- ldr r4, =sub_809D908
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _0809D992
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
-_0809D992:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetUpFieldTasks
-
- thumb_func_start ActivatePerStepCallback
-ActivatePerStepCallback: @ 809D9A8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =task_per_step_callback_manager
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xFF
- beq _0809D9EA
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r1, r0, r1
- movs r2, 0
- adds r0, r1, 0
- adds r0, 0x1E
-_0809D9CC:
- strh r2, [r0]
- subs r0, 0x2
- cmp r0, r1
- bge _0809D9CC
- cmp r4, 0x7
- bls _0809D9E8
- movs r0, 0
- strh r0, [r1]
- b _0809D9EA
- .pool
-_0809D9E8:
- strh r4, [r1]
-_0809D9EA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ActivatePerStepCallback
-
- thumb_func_start ResetFieldTasksArgs
-ResetFieldTasksArgs: @ 809D9F0
- push {lr}
- ldr r0, =task_per_step_callback_manager
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, =sub_809D908
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xFF
- beq _0809DA1A
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x2]
- strh r1, [r0, 0x4]
-_0809DA1A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end ResetFieldTasksArgs
-
- thumb_func_start nullsub_34
-nullsub_34: @ 809DA2C
- bx lr
- thumb_func_end nullsub_34
-
- thumb_func_start sub_809DA30
-sub_809DA30: @ 809DA30
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsPacifilogVerticalLog1
- lsls r0, 24
- cmp r0, 0
- beq _0809DA48
- adds r0, r5, 0
- b _0809DA80
-_0809DA48:
- adds r0, r4, 0
- bl MetatileBehavior_IsPacifilogVerticalLog2
- lsls r0, 24
- cmp r0, 0
- beq _0809DA5A
- adds r0, r5, 0
- adds r0, 0x8
- b _0809DA80
-_0809DA5A:
- adds r0, r4, 0
- bl MetatileBehavior_IsPacifilogHorizontalLog1
- lsls r0, 24
- cmp r0, 0
- beq _0809DA6C
- adds r0, r5, 0
- adds r0, 0x10
- b _0809DA80
-_0809DA6C:
- adds r0, r4, 0
- bl MetatileBehavior_IsPacifilogHorizontalLog2
- lsls r0, 24
- cmp r0, 0
- bne _0809DA7C
- movs r0, 0
- b _0809DA80
-_0809DA7C:
- adds r0, r5, 0
- adds r0, 0x18
-_0809DA80:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809DA30
-
- thumb_func_start sub_809DA88
-sub_809DA88: @ 809DA88
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- mov r8, r3
- lsls r1, 16
- asrs r6, r1, 16
- lsls r2, 16
- asrs r7, r2, 16
- adds r0, r6, 0
- adds r1, r7, 0
- bl MapGridGetMetatileBehaviorAt
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r5, 0
- bl sub_809DA30
- adds r4, r0, 0
- adds r5, r4, 0
- cmp r4, 0
- beq _0809DB06
- movs r0, 0
- ldrsb r0, [r4, r0]
- adds r0, r6, r0
- movs r1, 0x1
- ldrsb r1, [r4, r1]
- adds r1, r7, r1
- ldrh r2, [r4, 0x2]
- bl MapGridSetMetatileIdAt
- mov r0, r8
- cmp r0, 0
- beq _0809DADE
- movs r0, 0
- ldrsb r0, [r4, r0]
- adds r0, r6, r0
- movs r1, 0x1
- ldrsb r1, [r4, r1]
- adds r1, r7, r1
- bl CurrentMapDrawMetatileAt
-_0809DADE:
- movs r0, 0x4
- ldrsb r0, [r5, r0]
- adds r0, r6, r0
- movs r1, 0x5
- ldrsb r1, [r5, r1]
- adds r1, r7, r1
- ldrh r2, [r5, 0x6]
- bl MapGridSetMetatileIdAt
- mov r0, r8
- cmp r0, 0
- beq _0809DB06
- movs r0, 0x4
- ldrsb r0, [r5, r0]
- adds r0, r6, r0
- movs r1, 0x5
- ldrsb r1, [r5, r1]
- adds r1, r7, r1
- bl CurrentMapDrawMetatileAt
-_0809DB06:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809DA88
-
- thumb_func_start sub_809DB10
-sub_809DB10: @ 809DB10
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- ldr r0, =gUnknown_08510368
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_809DA88
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809DB10
-
- thumb_func_start sub_809DB34
-sub_809DB34: @ 809DB34
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- ldr r0, =gUnknown_08510388
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_809DA88
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809DB34
-
- thumb_func_start sub_809DB58
-sub_809DB58: @ 809DB58
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- ldr r0, =gUnknown_085103A8
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_809DA88
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809DB58
-
- thumb_func_start sub_809DB7C
-sub_809DB7C: @ 809DB7C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- mov r10, r8
- lsls r1, 16
- lsrs r7, r1, 16
- mov r9, r7
- lsls r2, 16
- asrs r6, r2, 16
- lsls r3, 16
- asrs r5, r3, 16
- adds r0, r6, 0
- adds r1, r5, 0
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsPacifilogVerticalLog1
- lsls r0, 24
- cmp r0, 0
- beq _0809DBC0
- lsls r0, r7, 16
- asrs r0, 16
- cmp r0, r5
- ble _0809DC06
-_0809DBBC:
- movs r0, 0
- b _0809DC08
-_0809DBC0:
- adds r0, r4, 0
- bl MetatileBehavior_IsPacifilogVerticalLog2
- lsls r0, 24
- cmp r0, 0
- beq _0809DBD8
- mov r1, r9
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, r5
- bge _0809DC06
- b _0809DBBC
-_0809DBD8:
- adds r0, r4, 0
- bl MetatileBehavior_IsPacifilogHorizontalLog1
- lsls r0, 24
- cmp r0, 0
- beq _0809DBF0
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, r6
- ble _0809DC06
- b _0809DBBC
-_0809DBF0:
- adds r0, r4, 0
- bl MetatileBehavior_IsPacifilogHorizontalLog2
- lsls r0, 24
- cmp r0, 0
- beq _0809DC06
- mov r1, r10
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, r6
- blt _0809DBBC
-_0809DC06:
- movs r0, 0x1
-_0809DC08:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809DB7C
-
- thumb_func_start sub_809DC18
-sub_809DC18: @ 809DC18
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- mov r10, r8
- lsls r3, 16
- lsrs r7, r3, 16
- mov r9, r7
- lsls r0, 16
- asrs r6, r0, 16
- lsls r1, 16
- asrs r5, r1, 16
- adds r0, r6, 0
- adds r1, r5, 0
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsPacifilogVerticalLog1
- lsls r0, 24
- cmp r0, 0
- beq _0809DC5C
- lsls r0, r7, 16
- asrs r0, 16
- cmp r5, r0
- bge _0809DCA2
-_0809DC58:
- movs r0, 0
- b _0809DCA4
-_0809DC5C:
- adds r0, r4, 0
- bl MetatileBehavior_IsPacifilogVerticalLog2
- lsls r0, 24
- cmp r0, 0
- beq _0809DC74
- mov r1, r9
- lsls r0, r1, 16
- asrs r0, 16
- cmp r5, r0
- ble _0809DCA2
- b _0809DC58
-_0809DC74:
- adds r0, r4, 0
- bl MetatileBehavior_IsPacifilogHorizontalLog1
- lsls r0, 24
- cmp r0, 0
- beq _0809DC8C
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- cmp r6, r0
- bge _0809DCA2
- b _0809DC58
-_0809DC8C:
- adds r0, r4, 0
- bl MetatileBehavior_IsPacifilogHorizontalLog2
- lsls r0, 24
- cmp r0, 0
- beq _0809DCA2
- mov r1, r10
- lsls r0, r1, 16
- asrs r0, 16
- cmp r6, r0
- bgt _0809DC58
-_0809DCA2:
- movs r0, 0x1
-_0809DCA4:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809DC18
-
- thumb_func_start sub_809DCB4
-sub_809DCB4: @ 809DCB4
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- mov r5, sp
- adds r5, 0x2
- mov r0, sp
- adds r1, r5, 0
- bl PlayerGetDestCoords
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- adds r6, r5, 0
- cmp r0, 0x1
- beq _0809DD0E
- cmp r0, 0x1
- bgt _0809DCEC
- cmp r0, 0
- beq _0809DCF2
- b _0809DE1E
- .pool
-_0809DCEC:
- cmp r0, 0x2
- beq _0809DDDC
- b _0809DE1E
-_0809DCF2:
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x4]
- ldrh r0, [r5]
- strh r0, [r4, 0x6]
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r3, 0
- ldrsh r1, [r5, r3]
- movs r2, 0x1
- bl sub_809DB34
- b _0809DE1A
-_0809DD0E:
- mov r0, sp
- movs r7, 0
- ldrsh r1, [r0, r7]
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _0809DD28
- movs r3, 0
- ldrsh r1, [r5, r3]
- movs r7, 0x6
- ldrsh r0, [r4, r7]
- cmp r1, r0
- beq _0809DE1E
-_0809DD28:
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r5, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r5, 0x6
- ldrsh r3, [r4, r5]
- bl sub_809DB7C
- cmp r0, 0
- beq _0809DD70
- movs r7, 0x4
- ldrsh r0, [r4, r7]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- movs r2, 0x1
- bl sub_809DB10
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- movs r5, 0x6
- ldrsh r1, [r4, r5]
- movs r2, 0
- bl sub_809DB58
- ldrh r0, [r4, 0x4]
- strh r0, [r4, 0x8]
- ldrh r0, [r4, 0x6]
- strh r0, [r4, 0xA]
- movs r0, 0x2
- strh r0, [r4, 0x2]
- movs r0, 0x8
- strh r0, [r4, 0xC]
- b _0809DD7A
-_0809DD70:
- movs r7, 0x1
- negs r7, r7
- adds r0, r7, 0
- strh r0, [r4, 0x8]
- strh r0, [r4, 0xA]
-_0809DD7A:
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r5, r6, 0
- movs r2, 0
- ldrsh r1, [r5, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r7, 0x6
- ldrsh r3, [r4, r7]
- bl sub_809DC18
- cmp r0, 0
- beq _0809DDAE
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r5, r2]
- movs r2, 0x1
- bl sub_809DB10
- movs r0, 0x2
- strh r0, [r4, 0x2]
- movs r0, 0x8
- strh r0, [r4, 0xC]
-_0809DDAE:
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x4]
- ldrh r0, [r6]
- strh r0, [r4, 0x6]
- mov r0, sp
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r5, 0
- ldrsh r1, [r6, r5]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsPacifidlogLog
- lsls r0, 24
- cmp r0, 0
- beq _0809DE1E
- movs r0, 0x46
- bl PlaySE
- b _0809DE1E
-_0809DDDC:
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _0809DE1E
- mov r0, sp
- movs r7, 0
- ldrsh r0, [r0, r7]
- movs r2, 0
- ldrsh r1, [r5, r2]
- movs r2, 0x1
- bl sub_809DB34
- movs r3, 0x8
- ldrsh r0, [r4, r3]
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _0809DE1A
- movs r5, 0xA
- ldrsh r0, [r4, r5]
- cmp r0, r1
- beq _0809DE1A
- movs r7, 0x8
- ldrsh r0, [r4, r7]
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- movs r2, 0x1
- bl sub_809DB58
-_0809DE1A:
- movs r0, 0x1
- strh r0, [r4, 0x2]
-_0809DE1E:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809DCB4
-
- thumb_func_start sub_809DE28
-sub_809DE28: @ 809DE28
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- lsrs r5, r1, 16
- bl PlayerGetZCoord
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0809DE82
- lsls r0, r4, 16
- asrs r4, r0, 16
- lsls r0, r5, 16
- asrs r5, r0, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileIdAt
- adds r1, r0, 0
- ldr r0, =0x0000024e
- cmp r1, r0
- beq _0809DE68
- adds r0, 0x8
- cmp r1, r0
- beq _0809DE78
- b _0809DE82
- .pool
-_0809DE68:
- ldr r2, =0x0000024f
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
- b _0809DE82
- .pool
-_0809DE78:
- ldr r2, =0x00000257
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
-_0809DE82:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809DE28
-
- thumb_func_start sub_809DE8C
-sub_809DE8C: @ 809DE8C
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- lsrs r5, r1, 16
- bl PlayerGetZCoord
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0809DEE6
- lsls r0, r4, 16
- asrs r4, r0, 16
- lsls r0, r5, 16
- asrs r5, r0, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileIdAt
- adds r1, r0, 0
- ldr r0, =0x0000024f
- cmp r1, r0
- beq _0809DECC
- adds r0, 0x8
- cmp r1, r0
- beq _0809DEDC
- b _0809DEE6
- .pool
-_0809DECC:
- ldr r2, =0x0000024e
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
- b _0809DEE6
- .pool
-_0809DEDC:
- ldr r2, =0x00000256
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
-_0809DEE6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809DE8C
-
- thumb_func_start sub_809DEF0
-sub_809DEF0: @ 809DEF0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r6, r1, r0
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- movs r0, 0x2
- ldrsh r5, [r6, r0]
- mov r9, r4
- cmp r5, 0x1
- beq _0809DF84
- cmp r5, 0x1
- bgt _0809DF30
- cmp r5, 0
- beq _0809DF38
- b _0809E0F6
- .pool
-_0809DF30:
- cmp r5, 0x2
- bne _0809DF36
- b _0809E064
-_0809DF36:
- b _0809E0F6
-_0809DF38:
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r6, 0x4]
- mov r1, r9
- ldrh r0, [r1]
- strh r0, [r6, 0x6]
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r3, 0
- ldrsh r1, [r1, r3]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsFortreeBridge
- lsls r0, 24
- cmp r0, 0
- bne _0809DF62
- b _0809E0F2
-_0809DF62:
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- mov r2, r9
- movs r3, 0
- ldrsh r1, [r2, r3]
- bl sub_809DE28
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- mov r2, r9
- movs r3, 0
- ldrsh r1, [r2, r3]
- bl CurrentMapDrawMetatileAt
- b _0809E0F2
-_0809DF84:
- ldrh r0, [r6, 0x6]
- mov r8, r0
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- ldrh r2, [r6, 0x4]
- mov r10, r2
- movs r3, 0x4
- ldrsh r7, [r6, r3]
- cmp r0, r7
- bne _0809DFAC
- mov r0, r9
- movs r2, 0
- ldrsh r1, [r0, r2]
- mov r3, r8
- lsls r0, r3, 16
- asrs r0, 16
- cmp r1, r0
- bne _0809DFAC
- b _0809E0F6
-_0809DFAC:
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- mov r2, r9
- movs r3, 0
- ldrsh r1, [r2, r3]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsFortreeBridge
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- mov r0, r8
- lsls r4, r0, 16
- asrs r1, r4, 16
- adds r0, r7, 0
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsFortreeBridge
- lsls r0, 24
- lsrs r7, r0, 24
- bl PlayerGetZCoord
- movs r1, 0
- ands r5, r0
- lsls r0, r5, 24
- adds r5, r4, 0
- cmp r0, 0
- bne _0809DFF4
- movs r1, 0x1
-_0809DFF4:
- cmp r1, 0
- beq _0809E008
- ldr r1, [sp, 0x4]
- cmp r1, 0x1
- beq _0809E002
- cmp r7, 0x1
- bne _0809E008
-_0809E002:
- movs r0, 0x47
- bl PlaySE
-_0809E008:
- cmp r7, 0
- beq _0809E044
- mov r2, r10
- lsls r4, r2, 16
- asrs r4, 16
- asrs r5, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809DE8C
- adds r0, r4, 0
- adds r1, r5, 0
- bl CurrentMapDrawMetatileAt
- mov r0, sp
- movs r3, 0
- ldrsh r0, [r0, r3]
- mov r2, r9
- movs r3, 0
- ldrsh r1, [r2, r3]
- bl sub_809DE28
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- mov r2, r9
- movs r3, 0
- ldrsh r1, [r2, r3]
- bl CurrentMapDrawMetatileAt
-_0809E044:
- mov r0, r10
- strh r0, [r6, 0x8]
- mov r1, r8
- strh r1, [r6, 0xA]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r6, 0x4]
- mov r2, r9
- ldrh r0, [r2]
- strh r0, [r6, 0x6]
- cmp r7, 0
- beq _0809E0F6
- movs r0, 0x10
- strh r0, [r6, 0xC]
- movs r0, 0x2
- strh r0, [r6, 0x2]
-_0809E064:
- ldrh r0, [r6, 0xC]
- subs r0, 0x1
- strh r0, [r6, 0xC]
- ldrh r3, [r6, 0x8]
- mov r10, r3
- ldrh r0, [r6, 0xA]
- mov r8, r0
- movs r1, 0xC
- ldrsh r0, [r6, r1]
- movs r1, 0x7
- bl __modsi3
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- bhi _0809E0EA
- lsls r0, 2
- ldr r1, =_0809E094
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0809E094:
- .4byte _0809E0B4
- .4byte _0809E0EA
- .4byte _0809E0EA
- .4byte _0809E0EA
- .4byte _0809E0C6
- .4byte _0809E0EA
- .4byte _0809E0EA
- .4byte _0809E0EA
-_0809E0B4:
- mov r2, r10
- lsls r0, r2, 16
- asrs r0, 16
- mov r3, r8
- lsls r1, r3, 16
- asrs r1, 16
- bl CurrentMapDrawMetatileAt
- b _0809E0EA
-_0809E0C6:
- mov r0, r10
- lsls r5, r0, 16
- asrs r5, 16
- mov r1, r8
- lsls r4, r1, 16
- asrs r4, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_809DE28
- adds r0, r5, 0
- adds r1, r4, 0
- bl CurrentMapDrawMetatileAt
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_809DE8C
-_0809E0EA:
- movs r2, 0xC
- ldrsh r0, [r6, r2]
- cmp r0, 0
- bne _0809E0F6
-_0809E0F2:
- movs r0, 0x1
- strh r0, [r6, 0x2]
-_0809E0F6:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809DEF0
-
- thumb_func_start sub_809E108
-sub_809E108: @ 809E108
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- lsls r0, 16
- ldr r2, =0xfffd0000
- adds r0, r2
- lsrs r0, 16
- cmp r0, 0xA
- bhi _0809E144
- lsls r0, r1, 16
- asrs r1, r0, 16
- ldr r2, =0xfffa0000
- adds r0, r2
- lsrs r0, 16
- cmp r0, 0xD
- bhi _0809E144
- ldr r0, =gUnknown_085103C8
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _0809E144
- movs r0, 0x1
- b _0809E146
- .pool
-_0809E144:
- movs r0, 0
-_0809E146:
- pop {r1}
- bx r1
- thumb_func_end sub_809E108
-
- thumb_func_start sub_809E14C
-sub_809E14C: @ 809E14C
- push {r4,r5,lr}
- lsls r0, 16
- asrs r5, r0, 16
- lsls r1, 16
- asrs r4, r1, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_809E108
- cmp r0, 0
- beq _0809E17A
- ldr r1, =gUnknown_085103C8
- lsls r0, r4, 1
- adds r0, r1
- ldrh r0, [r0]
- bl GetVarPointer
- subs r2, r5, 0x3
- movs r1, 0x1
- lsls r1, r2
- ldrh r2, [r0]
- orrs r1, r2
- strh r1, [r0]
-_0809E17A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809E14C
-
- thumb_func_start sub_809E184
-sub_809E184: @ 809E184
- push {r4,r5,lr}
- lsls r0, 16
- asrs r5, r0, 16
- lsls r1, 16
- asrs r4, r1, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_809E108
- cmp r0, 0
- beq _0809E1B6
- ldr r1, =gUnknown_085103C8
- lsls r0, r4, 1
- adds r0, r1
- ldrh r0, [r0]
- bl VarGet
- lsls r0, 16
- subs r2, r5, 0x3
- movs r1, 0x80
- lsls r1, 9
- lsls r1, r2
- ands r1, r0
- cmp r1, 0
- bne _0809E1C0
-_0809E1B6:
- movs r0, 0
- b _0809E1C2
- .pool
-_0809E1C0:
- movs r0, 0x1
-_0809E1C2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809E184
-
- thumb_func_start sub_809E1C8
-sub_809E1C8: @ 809E1C8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r1, [r0]
- mov r9, r1
- ldr r7, [r0, 0x4]
- movs r5, 0
- cmp r5, r9
- bge _0809E210
-_0809E1E0:
- movs r4, 0
- adds r0, r5, 0x1
- mov r8, r0
- cmp r4, r7
- bge _0809E20A
- lsls r6, r5, 16
-_0809E1EC:
- lsls r1, r4, 16
- asrs r1, 16
- asrs r0, r6, 16
- bl sub_809E184
- cmp r0, 0x1
- bne _0809E204
- adds r1, r4, 0x7
- adds r0, r5, 0x7
- ldr r2, =0x0000020e
- bl MapGridSetMetatileIdAt
-_0809E204:
- adds r4, 0x1
- cmp r4, r7
- blt _0809E1EC
-_0809E20A:
- mov r5, r8
- cmp r5, r9
- blt _0809E1E0
-_0809E210:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809E1C8
-
- thumb_func_start sub_809E224
-sub_809E224: @ 809E224
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r5, r1, r0
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _0809E270
- cmp r0, 0x1
- bgt _0809E24C
- cmp r0, 0
- beq _0809E258
- b _0809E3A6
- .pool
-_0809E24C:
- cmp r0, 0x2
- beq _0809E306
- cmp r0, 0x3
- bne _0809E256
- b _0809E360
-_0809E256:
- b _0809E3A6
-_0809E258:
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r5, 0x4]
- ldrh r0, [r4]
- strh r0, [r5, 0x6]
- b _0809E3A2
-_0809E270:
- mov r7, sp
- adds r7, 0x2
- mov r0, sp
- adds r1, r7, 0
- bl PlayerGetDestCoords
- mov r0, sp
- ldrh r2, [r0]
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0x4
- ldrsh r0, [r5, r3]
- cmp r1, r0
- bne _0809E29A
- movs r0, 0
- ldrsh r1, [r7, r0]
- movs r3, 0x6
- ldrsh r0, [r5, r3]
- cmp r1, r0
- bne _0809E29A
- b _0809E3A6
-_0809E29A:
- strh r2, [r5, 0x4]
- ldrh r0, [r7]
- strh r0, [r5, 0x6]
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r7, r2]
- bl MapGridGetMetatileBehaviorAt
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =0x00004022
- bl GetVarPointer
- adds r6, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsThinIce
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809E2E0
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- movs r0, 0x4
- strh r0, [r5, 0xC]
- movs r0, 0x2
- b _0809E2F8
- .pool
-_0809E2E0:
- adds r0, r4, 0
- bl MetatileBehavior_IsCrackedIce
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809E3A6
- movs r0, 0
- strh r0, [r6]
- movs r0, 0x4
- strh r0, [r5, 0xC]
- movs r0, 0x3
-_0809E2F8:
- strh r0, [r5, 0x2]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r5, 0x8]
- ldrh r0, [r7]
- strh r0, [r5, 0xA]
- b _0809E3A6
-_0809E306:
- ldrh r1, [r5, 0xC]
- movs r3, 0xC
- ldrsh r0, [r5, r3]
- cmp r0, 0
- bne _0809E36A
- mov r1, sp
- ldrh r0, [r5, 0x8]
- strh r0, [r1]
- mov r4, sp
- adds r4, 0x2
- ldrh r0, [r5, 0xA]
- strh r0, [r4]
- movs r0, 0x2A
- bl PlaySE
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- ldr r2, =0x0000020e
- bl MapGridSetMetatileIdAt
- mov r0, sp
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl CurrentMapDrawMetatileAt
- mov r0, sp
- ldrh r0, [r0]
- subs r0, 0x7
- lsls r0, 16
- asrs r0, 16
- ldrh r1, [r4]
- subs r1, 0x7
- lsls r1, 16
- asrs r1, 16
- bl sub_809E14C
- b _0809E3A2
- .pool
-_0809E360:
- ldrh r1, [r5, 0xC]
- movs r3, 0xC
- ldrsh r0, [r5, r3]
- cmp r0, 0
- beq _0809E370
-_0809E36A:
- subs r0, r1, 0x1
- strh r0, [r5, 0xC]
- b _0809E3A6
-_0809E370:
- mov r1, sp
- ldrh r0, [r5, 0x8]
- strh r0, [r1]
- mov r4, sp
- adds r4, 0x2
- ldrh r0, [r5, 0xA]
- strh r0, [r4]
- movs r0, 0x29
- bl PlaySE
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- ldr r2, =0x00000206
- bl MapGridSetMetatileIdAt
- mov r0, sp
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl CurrentMapDrawMetatileAt
-_0809E3A2:
- movs r0, 0x1
- strh r0, [r5, 0x2]
-_0809E3A6:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809E224
-
- thumb_func_start sub_809E3B4
-sub_809E3B4: @ 809E3B4
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r5, r1, r0
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- ldrh r2, [r0]
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0x2
- ldrsh r0, [r5, r3]
- cmp r1, r0
- bne _0809E3EE
- movs r0, 0
- ldrsh r1, [r4, r0]
- movs r3, 0x4
- ldrsh r0, [r5, r3]
- cmp r1, r0
- beq _0809E47A
-_0809E3EE:
- strh r2, [r5, 0x2]
- ldrh r0, [r4]
- strh r0, [r5, 0x4]
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsAsh
- lsls r0, 24
- cmp r0, 0
- beq _0809E47A
- mov r0, sp
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileIdAt
- ldr r1, =0x0000020a
- cmp r0, r1
- bne _0809E444
- mov r0, sp
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r2, 0
- ldrsh r1, [r4, r2]
- ldr r2, =0x00000212
- movs r3, 0x4
- bl ash
- b _0809E456
- .pool
-_0809E444:
- mov r0, sp
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r2, 0
- ldrsh r1, [r4, r2]
- ldr r2, =0x00000206
- movs r3, 0x4
- bl ash
-_0809E456:
- movs r0, 0x87
- lsls r0, 1
- movs r1, 0x1
- bl CheckBagHasItem
- lsls r0, 24
- cmp r0, 0
- beq _0809E47A
- ldr r0, =0x00004048
- bl GetVarPointer
- adds r2, r0, 0
- ldrh r1, [r2]
- ldr r0, =0x0000270e
- cmp r1, r0
- bhi _0809E47A
- adds r0, r1, 0x1
- strh r0, [r2]
-_0809E47A:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809E3B4
-
- thumb_func_start sub_809E490
-sub_809E490: @ 809E490
- push {r4,r5,lr}
- lsls r0, 16
- asrs r5, r0, 16
- lsls r1, 16
- asrs r4, r1, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, =0x0000022f
- ldr r2, =0x00000237
- cmp r0, r1
- bne _0809E4AC
- subs r2, 0x31
-_0809E4AC:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
- adds r0, r5, 0
- adds r1, r4, 0
- bl CurrentMapDrawMetatileAt
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809E490
-
- thumb_func_start sub_809E4CC
-sub_809E4CC: @ 809E4CC
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r5, r1, r0
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 16
- lsrs r6, r0, 16
- ldrh r1, [r5, 0x8]
- movs r3, 0x8
- ldrsh r0, [r5, r3]
- adds r7, r4, 0
- cmp r0, 0
- beq _0809E51E
- subs r0, r1, 0x1
- strh r0, [r5, 0x8]
- lsls r0, 16
- cmp r0, 0
- bne _0809E51E
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- bl sub_809E490
-_0809E51E:
- ldrh r1, [r5, 0xE]
- movs r3, 0xE
- ldrsh r0, [r5, r3]
- cmp r0, 0
- beq _0809E53E
- subs r0, r1, 0x1
- strh r0, [r5, 0xE]
- lsls r0, 16
- cmp r0, 0
- bne _0809E53E
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- bl sub_809E490
-_0809E53E:
- lsls r0, r6, 24
- lsrs r6, r0, 24
- adds r0, r6, 0
- bl MetatileBehavior_IsCrackedFloorHole
- lsls r0, 24
- cmp r0, 0
- beq _0809E556
- ldr r0, =0x00004022
- movs r1, 0
- bl VarSet
-_0809E556:
- mov r0, sp
- ldrh r2, [r0]
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0x4
- ldrsh r0, [r5, r3]
- cmp r1, r0
- bne _0809E572
- movs r0, 0
- ldrsh r1, [r7, r0]
- movs r3, 0x6
- ldrsh r0, [r5, r3]
- cmp r1, r0
- beq _0809E5D2
-_0809E572:
- strh r2, [r5, 0x4]
- adds r4, r7, 0
- ldrh r0, [r4]
- strh r0, [r5, 0x6]
- adds r0, r6, 0
- bl MetatileBehavior_IsCrackedFloor
- lsls r0, 24
- cmp r0, 0
- beq _0809E5D2
- bl GetPlayerSpeed
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- beq _0809E59A
- ldr r0, =0x00004022
- movs r1, 0
- bl VarSet
-_0809E59A:
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0809E5BC
- movs r0, 0x3
- strh r0, [r5, 0x8]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r5, 0xA]
- ldrh r0, [r4]
- strh r0, [r5, 0xC]
- b _0809E5D2
- .pool
-_0809E5BC:
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bne _0809E5D2
- movs r0, 0x3
- strh r0, [r5, 0xE]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r5, 0x10]
- ldrh r0, [r7]
- strh r0, [r5, 0x12]
-_0809E5D2:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809E4CC
-
- thumb_func_start sub_809E5DC
-sub_809E5DC: @ 809E5DC
- push {r4,r5,lr}
- adds r3, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 16
- lsrs r4, r2, 16
- ldrh r0, [r3]
- subs r0, 0x1
- strh r0, [r3]
- lsls r0, 16
- cmp r0, 0
- bne _0809E5F8
- movs r2, 0xE8
- b _0809E60C
-_0809E5F8:
- ldr r1, =gUnknown_085103FC
- movs r2, 0
- ldrsh r0, [r3, r2]
- cmp r0, 0
- bge _0809E604
- adds r0, 0x7
-_0809E604:
- asrs r0, 3
- lsls r0, 1
- adds r0, r1
- ldrh r2, [r0]
-_0809E60C:
- lsls r5, 16
- asrs r5, 16
- lsls r4, 16
- asrs r4, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
- adds r0, r5, 0
- adds r1, r4, 0
- bl CurrentMapDrawMetatileAt
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0xE8
- bl MapGridSetMetatileIdAt
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809E5DC
-
- thumb_func_start sub_809E638
-sub_809E638: @ 809E638
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- mov r5, sp
- adds r5, 0x2
- mov r0, sp
- adds r1, r5, 0
- bl PlayerGetDestCoords
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x4
- ldrsb r1, [r0, r1]
- lsls r1, 8
- ldrb r0, [r0, 0x5]
- lsls r0, 24
- asrs r0, 24
- orrs r0, r1
- lsls r0, 16
- lsrs r7, r0, 16
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- mov r8, r5
- cmp r1, 0
- beq _0809E688
- cmp r1, 0x1
- beq _0809E6B4
- b _0809E708
- .pool
-_0809E688:
- strh r7, [r4]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x4]
- ldrh r0, [r5]
- strh r0, [r4, 0x6]
- movs r0, 0x1
- strh r0, [r4, 0x2]
- strh r1, [r4, 0x8]
- strh r1, [r4, 0xE]
- strh r1, [r4, 0x14]
- strh r1, [r4, 0x1A]
- b _0809E708
-_0809E6A2:
- movs r0, 0x20
- strh r0, [r1]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r1, 0x2]
- mov r2, r8
- ldrh r0, [r2]
- strh r0, [r1, 0x4]
- b _0809E708
-_0809E6B4:
- mov r0, sp
- movs r3, 0x4
- ldrsh r1, [r4, r3]
- ldrh r2, [r0]
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r1, r0
- bne _0809E6D0
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- movs r3, 0
- ldrsh r0, [r5, r3]
- cmp r1, r0
- beq _0809E708
-_0809E6D0:
- strh r2, [r4, 0x4]
- ldrh r0, [r5]
- strh r0, [r4, 0x6]
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsMuddySlope
- lsls r0, 24
- cmp r0, 0
- beq _0809E708
- movs r6, 0x4
- adds r1, r4, 0
- adds r1, 0x8
-_0809E6F8:
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _0809E6A2
- adds r1, 0x6
- adds r6, 0x3
- cmp r6, 0xD
- ble _0809E6F8
-_0809E708:
- ldr r2, =gCamera
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809E728
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r7, r0
- beq _0809E728
- strh r7, [r4]
- ldrh r0, [r2, 0x4]
- ldrh r1, [r2, 0x8]
- b _0809E72C
- .pool
-_0809E728:
- movs r0, 0
- movs r1, 0
-_0809E72C:
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- lsls r0, r1, 16
- asrs r7, r0, 16
- adds r5, r4, 0
- adds r5, 0x8
- adds r4, r5, 0
- movs r6, 0x9
-_0809E73E:
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0809E762
- ldrh r0, [r4, 0x2]
- mov r3, r8
- subs r0, r3
- strh r0, [r4, 0x2]
- ldrh r0, [r4, 0x4]
- subs r0, r7
- strh r0, [r4, 0x4]
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- adds r0, r5, 0
- bl sub_809E5DC
-_0809E762:
- adds r4, 0x6
- adds r5, 0x6
- subs r6, 0x3
- cmp r6, 0
- bge _0809E73E
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809E638
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/fieldmap.s b/asm/fieldmap.s
deleted file mode 100644
index 21aea8ad7..000000000
--- a/asm/fieldmap.s
+++ /dev/null
@@ -1,2285 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start mapconnection_get_mapheader
-mapconnection_get_mapheader: @ 8087D44
- push {lr}
- ldrb r2, [r0, 0x8]
- ldrb r1, [r0, 0x9]
- adds r0, r2, 0
- bl Overworld_GetMapHeaderByGroupAndId
- pop {r1}
- bx r1
- thumb_func_end mapconnection_get_mapheader
-
- thumb_func_start not_trainer_hill_battle_pyramid
-not_trainer_hill_battle_pyramid: @ 8087D54
- push {r4,lr}
- ldr r4, =gMapHeader
- adds r0, r4, 0
- bl mapheader_copy_mapdata_with_padding
- ldr r0, [r4, 0x4]
- bl sub_80E8EE0
- bl mapheader_run_script_with_tag_x1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end not_trainer_hill_battle_pyramid
-
- thumb_func_start sub_8087D74
-sub_8087D74: @ 8087D74
- push {r4,lr}
- ldr r4, =gMapHeader
- adds r0, r4, 0
- bl mapheader_copy_mapdata_with_padding
- movs r0, 0
- bl sub_80E9238
- ldr r0, [r4, 0x4]
- bl sub_80E8EE0
- bl mapdata_from_sav2
- bl mapheader_run_script_with_tag_x1
- ldr r1, =gUnknown_03005DC0
- ldr r0, [r1]
- ldr r1, [r1, 0x4]
- bl UpdateTVScreensOnMap
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8087D74
-
- thumb_func_start battle_pyramid_map_load_related
-battle_pyramid_map_load_related: @ 8087DAC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =0x03ff03ff
- str r0, [sp]
- ldr r5, =gUnknown_02032318
- ldr r2, =0x01001400
- mov r0, sp
- adds r1, r5, 0
- bl CpuFastSet
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_81AA078
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end battle_pyramid_map_load_related
-
- thumb_func_start trainer_hill_map_load_related
-trainer_hill_map_load_related: @ 8087DE4
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =0x03ff03ff
- str r0, [sp]
- ldr r4, =gUnknown_02032318
- ldr r2, =0x01001400
- mov r0, sp
- adds r1, r4, 0
- bl CpuFastSet
- adds r0, r4, 0
- bl sub_81D5FB4
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end trainer_hill_map_load_related
-
- thumb_func_start mapheader_copy_mapdata_with_padding
-@ void mapheader_copy_mapdata_with_padding(struct mapheader *mapHeader)
-mapheader_copy_mapdata_with_padding: @ 8087E14
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldr r5, [r6]
- ldr r0, =0x03ff03ff
- str r0, [sp]
- ldr r4, =gUnknown_02032318
- ldr r2, =0x01001400
- mov r0, sp
- adds r1, r4, 0
- bl CpuFastSet
- ldr r2, =gUnknown_03005DC0
- str r4, [r2, 0x8]
- ldr r1, [r5]
- adds r1, 0xF
- str r1, [r2]
- ldr r0, [r5, 0x4]
- adds r0, 0xE
- str r0, [r2, 0x4]
- muls r1, r0
- movs r0, 0xA0
- lsls r0, 6
- cmp r1, r0
- bgt _08087E56
- ldr r0, [r5, 0xC]
- ldrh r1, [r5]
- ldrh r2, [r5, 0x4]
- bl map_copy_with_padding
- adds r0, r6, 0
- bl mapheader_copy_mapdata_of_adjacent_maps
-_08087E56:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end mapheader_copy_mapdata_with_padding
-
- thumb_func_start map_copy_with_padding
-@ int map_copy_with_padding(void *src)
-map_copy_with_padding: @ 8087E70
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- lsls r2, 16
- lsrs r2, 16
- ldr r0, =gUnknown_03005DC0
- ldr r4, [r0, 0x8]
- ldr r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- adds r0, 0xE
- adds r4, r0
- cmp r2, 0
- beq _08087EB8
- mov r0, r8
- lsls r6, r0, 1
- adds r5, r2, 0
- movs r0, 0x1E
- adds r0, r6
- mov r9, r0
-_08087EA4:
- adds r0, r7, 0
- adds r1, r4, 0
- mov r2, r8
- bl CpuSet
- add r4, r9
- adds r7, r6
- subs r5, 0x1
- cmp r5, 0
- bne _08087EA4
-_08087EB8:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end map_copy_with_padding
-
- thumb_func_start mapheader_copy_mapdata_of_adjacent_maps
-@ void mapheader_copy_mapdata_of_adjacent_maps(struct mapheader *mapHeader)
-mapheader_copy_mapdata_of_adjacent_maps: @ 8087EC8
- push {r4-r7,lr}
- adds r6, r0, 0
- ldr r0, [r6, 0xC]
- cmp r0, 0
- beq _08087F4C
- ldr r1, [r0]
- ldr r5, [r0, 0x4]
- ldr r2, =gUnknown_02037340
- ldr r0, =gUnknown_08486EF8
- ldr r0, [r0]
- str r0, [r2]
- cmp r1, 0
- ble _08087F4C
- adds r4, r2, 0
- adds r7, r1, 0
-_08087EE6:
- adds r0, r5, 0
- bl mapconnection_get_mapheader
- adds r1, r0, 0
- ldr r2, [r5, 0x4]
- ldrb r0, [r5]
- cmp r0, 0x2
- beq _08087F1E
- cmp r0, 0x2
- bgt _08087F08
- cmp r0, 0x1
- beq _08087F12
- b _08087F44
- .pool
-_08087F08:
- cmp r0, 0x3
- beq _08087F2A
- cmp r0, 0x4
- beq _08087F36
- b _08087F44
-_08087F12:
- adds r0, r6, 0
- bl sub_8087FB8
- ldrb r0, [r4]
- movs r1, 0x1
- b _08087F40
-_08087F1E:
- adds r0, r6, 0
- bl sub_8088020
- ldrb r0, [r4]
- movs r1, 0x2
- b _08087F40
-_08087F2A:
- adds r0, r6, 0
- bl sub_8088080
- ldrb r0, [r4]
- movs r1, 0x4
- b _08087F40
-_08087F36:
- adds r0, r6, 0
- bl sub_80880E0
- ldrb r0, [r4]
- movs r1, 0x8
-_08087F40:
- orrs r0, r1
- strb r0, [r4]
-_08087F44:
- subs r7, 0x1
- adds r5, 0xC
- cmp r7, 0
- bne _08087EE6
-_08087F4C:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end mapheader_copy_mapdata_of_adjacent_maps
-
- thumb_func_start sub_8087F54
-sub_8087F54: @ 8087F54
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r5, [sp, 0x18]
- ldr r4, [r2]
- ldr r7, [r4]
- adds r2, r7, 0
- muls r2, r5
- adds r2, r3
- lsls r2, 1
- ldr r3, [r4, 0xC]
- adds r6, r3, r2
- ldr r3, =gUnknown_03005DC0
- ldr r2, [r3]
- muls r1, r2
- adds r1, r0
- lsls r1, 1
- ldr r0, [r3, 0x8]
- adds r5, r0, r1
- ldr r0, [sp, 0x20]
- cmp r0, 0
- ble _08087FA6
- adds r4, r0, 0
- ldr r3, =0x001fffff
- mov r8, r3
-_08087F86:
- adds r0, r6, 0
- adds r1, r5, 0
- ldr r2, [sp, 0x1C]
- mov r3, r8
- ands r2, r3
- bl CpuSet
- ldr r0, =gUnknown_03005DC0
- ldr r0, [r0]
- lsls r0, 1
- adds r5, r0
- lsls r0, r7, 1
- adds r6, r0
- subs r4, 0x1
- cmp r4, 0
- bne _08087F86
-_08087FA6:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8087F54
-
- thumb_func_start sub_8087FB8
-sub_8087FB8: @ 8087FB8
- push {r4-r7,lr}
- sub sp, 0xC
- adds r3, r0, 0
- adds r5, r1, 0
- cmp r5, 0
- beq _08088012
- ldr r0, [r5]
- ldr r4, [r0]
- adds r2, 0x7
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- adds r7, r0, 0x7
- cmp r2, 0
- bge _08087FEC
- negs r6, r2
- adds r2, r4
- ldr r0, =gUnknown_03005DC0
- ldr r3, [r0]
- cmp r2, r3
- bge _08087FE2
- adds r3, r2, 0
-_08087FE2:
- movs r2, 0
- b _08087FFC
- .pool
-_08087FEC:
- movs r6, 0
- adds r0, r2, r4
- ldr r1, =gUnknown_03005DC0
- ldr r1, [r1]
- subs r3, r1, r2
- cmp r0, r1
- bge _08087FFC
- adds r3, r4, 0
-_08087FFC:
- movs r0, 0
- str r0, [sp]
- str r3, [sp, 0x4]
- movs r0, 0x7
- str r0, [sp, 0x8]
- adds r0, r2, 0
- adds r1, r7, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_8087F54
-_08088012:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8087FB8
-
- thumb_func_start sub_8088020
-sub_8088020: @ 8088020
- push {r4-r7,lr}
- sub sp, 0xC
- adds r5, r1, 0
- cmp r5, 0
- beq _08088074
- ldr r0, [r5]
- ldr r4, [r0]
- ldr r0, [r0, 0x4]
- adds r2, 0x7
- subs r7, r0, 0x7
- cmp r2, 0
- bge _08088050
- negs r6, r2
- adds r2, r4
- ldr r0, =gUnknown_03005DC0
- ldr r3, [r0]
- cmp r2, r3
- bge _08088046
- adds r3, r2, 0
-_08088046:
- movs r2, 0
- b _08088060
- .pool
-_08088050:
- movs r6, 0
- adds r0, r2, r4
- ldr r1, =gUnknown_03005DC0
- ldr r1, [r1]
- subs r3, r1, r2
- cmp r0, r1
- bge _08088060
- adds r3, r4, 0
-_08088060:
- str r7, [sp]
- str r3, [sp, 0x4]
- movs r0, 0x7
- str r0, [sp, 0x8]
- adds r0, r2, 0
- movs r1, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_8087F54
-_08088074:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8088020
-
- thumb_func_start sub_8088080
-sub_8088080: @ 8088080
- push {r4-r7,lr}
- sub sp, 0xC
- adds r5, r1, 0
- cmp r5, 0
- beq _080880D4
- ldr r0, [r5]
- ldr r1, [r0]
- ldr r4, [r0, 0x4]
- adds r2, 0x7
- subs r7, r1, 0x7
- cmp r2, 0
- bge _080880B0
- negs r6, r2
- adds r1, r2, r4
- ldr r0, =gUnknown_03005DC0
- ldr r3, [r0, 0x4]
- cmp r1, r3
- bge _080880A6
- adds r3, r1, 0
-_080880A6:
- movs r2, 0
- b _080880C0
- .pool
-_080880B0:
- movs r6, 0
- adds r0, r2, r4
- ldr r1, =gUnknown_03005DC0
- ldr r1, [r1, 0x4]
- subs r3, r1, r2
- cmp r0, r1
- bge _080880C0
- adds r3, r4, 0
-_080880C0:
- str r6, [sp]
- movs r0, 0x7
- str r0, [sp, 0x4]
- str r3, [sp, 0x8]
- movs r0, 0
- adds r1, r2, 0
- adds r2, r5, 0
- adds r3, r7, 0
- bl sub_8087F54
-_080880D4:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8088080
-
- thumb_func_start sub_80880E0
-sub_80880E0: @ 80880E0
- push {r4-r7,lr}
- sub sp, 0xC
- adds r3, r0, 0
- adds r5, r1, 0
- cmp r5, 0
- beq _08088138
- ldr r0, [r5]
- ldr r4, [r0, 0x4]
- ldr r0, [r3]
- ldr r0, [r0]
- adds r7, r0, 0x7
- adds r2, 0x7
- cmp r2, 0
- bge _08088114
- negs r6, r2
- adds r1, r2, r4
- ldr r0, =gUnknown_03005DC0
- ldr r3, [r0, 0x4]
- cmp r1, r3
- bge _0808810A
- adds r3, r1, 0
-_0808810A:
- movs r2, 0
- b _08088124
- .pool
-_08088114:
- movs r6, 0
- adds r0, r2, r4
- ldr r1, =gUnknown_03005DC0
- ldr r1, [r1, 0x4]
- subs r3, r1, r2
- cmp r0, r1
- bge _08088124
- adds r3, r4, 0
-_08088124:
- str r6, [sp]
- movs r0, 0x8
- str r0, [sp, 0x4]
- str r3, [sp, 0x8]
- adds r0, r7, 0
- adds r1, r2, 0
- adds r2, r5, 0
- movs r3, 0
- bl sub_8087F54
-_08088138:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80880E0
-
- thumb_func_start MapGridGetZCoordAt
-@ u8 MapGridGetZCoordAt(s32 x, s32 y)
-MapGridGetZCoordAt: @ 8088144
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- cmp r2, 0
- blt _08088174
- ldr r1, =gUnknown_03005DC0
- ldr r3, [r1]
- cmp r2, r3
- bge _08088174
- cmp r4, 0
- blt _08088174
- ldr r0, [r1, 0x4]
- cmp r4, r0
- bge _08088174
- adds r0, r3, 0
- muls r0, r4
- adds r0, r2, r0
- ldr r1, [r1, 0x8]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- b _08088196
- .pool
-_08088174:
- ldr r0, =gMapHeader
- ldr r3, [r0]
- adds r1, r2, 0x1
- movs r2, 0x1
- ands r1, r2
- adds r0, r4, 0x1
- ands r0, r2
- lsls r0, 1
- adds r1, r0
- ldr r0, [r3, 0x8]
- lsls r1, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r2, 0xC0
- lsls r2, 4
- adds r0, r2, 0
- orrs r1, r0
-_08088196:
- ldr r0, =0x000003ff
- cmp r1, r0
- beq _080881A8
- lsrs r0, r1, 12
- b _080881AA
- .pool
-_080881A8:
- movs r0, 0
-_080881AA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end MapGridGetZCoordAt
-
- thumb_func_start MapGridIsImpassableAt
-@ u8 MapGridIsImpassableAt(s32 x, s32 y)
-MapGridIsImpassableAt: @ 80881B0
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- cmp r2, 0
- blt _080881E0
- ldr r1, =gUnknown_03005DC0
- ldr r3, [r1]
- cmp r2, r3
- bge _080881E0
- cmp r4, 0
- blt _080881E0
- ldr r0, [r1, 0x4]
- cmp r4, r0
- bge _080881E0
- adds r0, r3, 0
- muls r0, r4
- adds r0, r2, r0
- ldr r1, [r1, 0x8]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- b _08088202
- .pool
-_080881E0:
- ldr r0, =gMapHeader
- ldr r3, [r0]
- adds r1, r2, 0x1
- movs r2, 0x1
- ands r1, r2
- adds r0, r4, 0x1
- ands r0, r2
- lsls r0, 1
- adds r1, r0
- ldr r0, [r3, 0x8]
- lsls r1, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r2, 0xC0
- lsls r2, 4
- adds r0, r2, 0
- orrs r1, r0
-_08088202:
- ldr r0, =0x000003ff
- cmp r1, r0
- beq _0808821C
- movs r0, 0xC0
- lsls r0, 4
- ands r1, r0
- lsrs r0, r1, 10
- b _0808821E
- .pool
-_0808821C:
- movs r0, 0x1
-_0808821E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end MapGridIsImpassableAt
-
- thumb_func_start MapGridGetMetatileIdAt
-@ u16 MapGridGetMetatileIdAt(s32 x, s32 y)
-MapGridGetMetatileIdAt: @ 8088224
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- cmp r5, 0
- blt _08088254
- ldr r1, =gUnknown_03005DC0
- ldr r2, [r1]
- cmp r5, r2
- bge _08088254
- cmp r6, 0
- blt _08088254
- ldr r0, [r1, 0x4]
- cmp r6, r0
- bge _08088254
- adds r0, r2, 0
- muls r0, r6
- adds r0, r5, r0
- ldr r1, [r1, 0x8]
- lsls r0, 1
- adds r0, r1
- ldrh r4, [r0]
- b _08088278
- .pool
-_08088254:
- ldr r0, =gMapHeader
- ldr r3, [r0]
- adds r1, r5, 0x1
- movs r2, 0x1
- ands r1, r2
- adds r0, r6, 0x1
- ands r0, r2
- lsls r0, 1
- adds r1, r0
- ldr r0, [r3, 0x8]
- lsls r1, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r2, 0xC0
- lsls r2, 4
- adds r0, r2, 0
- adds r4, r0, 0
- orrs r4, r1
-_08088278:
- ldr r0, =0x000003ff
- cmp r4, r0
- beq _0808828C
- ands r4, r0
- adds r0, r4, 0
- b _080882B0
- .pool
-_0808828C:
- ldr r0, =gMapHeader
- ldr r3, [r0]
- adds r1, r5, 0x1
- movs r2, 0x1
- ands r1, r2
- adds r0, r6, 0x1
- ands r0, r2
- lsls r0, 1
- adds r1, r0
- ldr r0, [r3, 0x8]
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- movs r2, 0xC0
- lsls r2, 4
- adds r1, r2, 0
- orrs r0, r1
- ands r0, r4
-_080882B0:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end MapGridGetMetatileIdAt
-
- thumb_func_start MapGridGetMetatileBehaviorAt
-@ u8 MapGridGetMetatileBehaviorAt(s32 x, s32 y)
-MapGridGetMetatileBehaviorAt: @ 80882BC
- push {lr}
- bl MapGridGetMetatileIdAt
- lsls r0, 16
- lsrs r0, 16
- bl GetBehaviorByMetatileId
- adds r1, r0, 0
- movs r0, 0xFF
- ands r0, r1
- pop {r1}
- bx r1
- thumb_func_end MapGridGetMetatileBehaviorAt
-
- thumb_func_start MapGridGetMetatileLayerTypeAt
-@ u8 MapGridGetMetatileLayerTypeAt(s32 x, s32 y)
-MapGridGetMetatileLayerTypeAt: @ 80882D4
- push {lr}
- bl MapGridGetMetatileIdAt
- lsls r0, 16
- lsrs r0, 16
- bl GetBehaviorByMetatileId
- adds r1, r0, 0
- movs r0, 0xF0
- lsls r0, 8
- ands r0, r1
- lsrs r0, 12
- pop {r1}
- bx r1
- thumb_func_end MapGridGetMetatileLayerTypeAt
-
- thumb_func_start MapGridSetMetatileIdAt
-@ void MapGridSetMetatileIdAt(s32 x, s32 y, u16 metatileId)
-MapGridSetMetatileIdAt: @ 80882F0
- push {r4,r5,lr}
- adds r3, r0, 0
- lsls r2, 16
- lsrs r5, r2, 16
- cmp r3, 0
- blt _08088328
- ldr r2, =gUnknown_03005DC0
- ldr r4, [r2]
- cmp r3, r4
- bge _08088328
- cmp r1, 0
- blt _08088328
- ldr r0, [r2, 0x4]
- cmp r1, r0
- bge _08088328
- muls r1, r4
- adds r1, r3, r1
- ldr r0, [r2, 0x8]
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- movs r2, 0xF0
- lsls r2, 8
- ands r2, r0
- ldr r0, =0x00000fff
- ands r0, r5
- orrs r2, r0
- strh r2, [r1]
-_08088328:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end MapGridSetMetatileIdAt
-
- thumb_func_start MapGridSetMetatileEntryAt
-@ void MapGridSetMetatileEntryAt(s32 x, s32 y, u16 metatileEntry)
-MapGridSetMetatileEntryAt: @ 8088338
- push {r4,r5,lr}
- adds r3, r0, 0
- lsls r2, 16
- lsrs r5, r2, 16
- cmp r3, 0
- blt _08088364
- ldr r2, =gUnknown_03005DC0
- ldr r4, [r2]
- cmp r3, r4
- bge _08088364
- cmp r1, 0
- blt _08088364
- ldr r0, [r2, 0x4]
- cmp r1, r0
- bge _08088364
- adds r0, r4, 0
- muls r0, r1
- adds r0, r3, r0
- ldr r1, [r2, 0x8]
- lsls r0, 1
- adds r0, r1
- strh r5, [r0]
-_08088364:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end MapGridSetMetatileEntryAt
-
- thumb_func_start GetBehaviorByMetatileId
-@ u16 GetBehaviorByMetatileId(u16 metatileId)
-GetBehaviorByMetatileId: @ 8088370
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- adds r3, r2, 0
- ldr r0, =0x000001ff
- cmp r2, r0
- bhi _08088394
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- ldr r1, [r0, 0x10]
- lsls r0, r2, 1
- b _080883B2
- .pool
-_08088394:
- ldr r0, =0x000003ff
- cmp r2, r0
- bls _080883A4
- movs r0, 0xFF
- b _080883B6
- .pool
-_080883A4:
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r0, [r0, 0x14]
- ldr r1, [r0, 0x10]
- lsls r0, r3, 1
- adds r0, r1
- ldr r1, =0xfffffc00
-_080883B2:
- adds r0, r1
- ldrh r0, [r0]
-_080883B6:
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetBehaviorByMetatileId
-
- thumb_func_start save_serialize_map
-save_serialize_map: @ 80883C4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- adds r4, r1, 0
- adds r4, 0x34
- ldr r0, =gUnknown_03005DC0
- ldr r0, [r0]
- mov r8, r0
- movs r0, 0
- ldrsh r6, [r1, r0]
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- adds r1, r0, 0
- adds r1, 0xE
- cmp r0, r1
- bge _08088420
- mov r12, r1
- ldr r1, =gUnknown_02032318
- mov r9, r1
- lsls r7, r6, 1
-_080883F2:
- adds r1, r6, 0
- adds r3, r1, 0
- adds r3, 0xF
- adds r5, r0, 0x1
- cmp r1, r3
- bge _0808841A
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- lsls r0, 1
- add r0, r9
- adds r2, r7, r0
- subs r1, r3, r1
-_0808840C:
- ldrh r0, [r2]
- strh r0, [r4]
- adds r4, 0x2
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bne _0808840C
-_0808841A:
- adds r0, r5, 0
- cmp r0, r12
- blt _080883F2
-_08088420:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end save_serialize_map
-
- thumb_func_start sub_8088438
-sub_8088438: @ 8088438
- push {r4,lr}
- movs r2, 0
- movs r1, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r3, r0, 0
- adds r3, 0x34
- ldr r4, =0x000001ff
-_08088448:
- lsls r0, r1, 1
- adds r0, r3, r0
- ldrh r0, [r0]
- orrs r2, r0
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r4
- bls _08088448
- cmp r2, 0
- beq _0808846C
- movs r0, 0
- b _0808846E
- .pool
-_0808846C:
- movs r0, 0x1
-_0808846E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8088438
-
- thumb_func_start sav2_mapdata_clear
-sav2_mapdata_clear: @ 8088474
- push {lr}
- sub sp, 0x4
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- adds r1, 0x34
- ldr r2, =0x01000100
- mov r0, sp
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sav2_mapdata_clear
-
- thumb_func_start mapdata_from_sav2
-mapdata_from_sav2: @ 808849C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- adds r7, r0, 0
- adds r7, 0x34
- bl sub_8088438
- cmp r0, 0
- bne _080885AC
- ldr r0, =gUnknown_03005DC0
- ldr r0, [r0]
- str r0, [sp]
- ldr r0, [r4]
- movs r2, 0
- ldrsh r1, [r0, r2]
- mov r10, r1
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- mov r8, r1
- mov r6, r8
- adds r0, r6, 0
- adds r0, 0xE
- cmp r6, r0
- bge _0808855A
-_080884D6:
- cmp r6, r8
- bne _080884EC
- cmp r6, 0
- beq _080884EC
- movs r0, 0
- mov r9, r0
- b _08088508
- .pool
-_080884EC:
- mov r0, r8
- adds r0, 0xD
- movs r1, 0xFF
- mov r9, r1
- cmp r6, r0
- bne _08088508
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- subs r0, 0x1
- cmp r6, r0
- beq _08088508
- movs r2, 0x1
- mov r9, r2
-_08088508:
- mov r5, r10
- adds r0, r5, 0
- adds r0, 0xF
- mov r1, r8
- adds r1, 0xE
- str r1, [sp, 0x8]
- adds r2, r6, 0x1
- str r2, [sp, 0x4]
- cmp r5, r0
- bge _08088552
- ldr r0, [sp]
- lsls r3, r0, 16
-_08088520:
- ldr r1, [sp]
- adds r0, r1, 0
- muls r0, r6
- adds r0, r5, r0
- lsls r0, 1
- ldr r1, =gUnknown_02032318
- adds r4, r0, r1
- adds r0, r4, 0
- lsrs r1, r3, 16
- mov r2, r9
- str r3, [sp, 0xC]
- bl sub_8088BF0
- lsls r0, 24
- ldr r3, [sp, 0xC]
- cmp r0, 0
- bne _08088546
- ldrh r0, [r7]
- strh r0, [r4]
-_08088546:
- adds r7, 0x2
- adds r5, 0x1
- mov r0, r10
- adds r0, 0xF
- cmp r5, r0
- blt _08088520
-_08088552:
- ldr r6, [sp, 0x4]
- ldr r2, [sp, 0x8]
- cmp r6, r2
- blt _080884D6
-_0808855A:
- mov r5, r10
- adds r0, r5, 0
- adds r0, 0xF
- cmp r5, r0
- bge _080885A8
- mov r0, r8
- subs r0, 0x1
- lsls r0, 16
- mov r9, r0
- lsls r4, r5, 16
- mov r0, r8
- adds r0, 0xD
- lsls r7, r0, 16
-_08088574:
- mov r0, r8
- cmp r0, 0
- beq _08088584
- asrs r0, r4, 16
- mov r2, r9
- asrs r1, r2, 16
- bl sub_80D423C
-_08088584:
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- subs r0, 0x1
- cmp r6, r0
- bge _08088598
- asrs r0, r4, 16
- asrs r1, r7, 16
- bl sub_80D42B8
-_08088598:
- movs r0, 0x80
- lsls r0, 9
- adds r4, r0
- adds r5, 0x1
- mov r0, r10
- adds r0, 0xF
- cmp r5, r0
- blt _08088574
-_080885A8:
- bl sav2_mapdata_clear
-_080885AC:
- 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 mapdata_from_sav2
-
- thumb_func_start sub_80885C4
-sub_80885C4: @ 80885C4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r3, r0, 24
- adds r2, r3, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x34
- str r0, [sp, 0x4]
- ldr r0, =gUnknown_03005DC0
- ldr r0, [r0]
- str r0, [sp]
- movs r4, 0
- mov r9, r4
- mov r8, r4
- movs r0, 0
- ldrsh r6, [r1, r0]
- str r6, [sp, 0x8]
- movs r4, 0x2
- ldrsh r5, [r1, r4]
- movs r7, 0xF
- movs r6, 0xE
- mov r12, r6
- cmp r3, 0x2
- beq _0808861E
- cmp r3, 0x2
- bgt _08088614
- cmp r3, 0x1
- beq _08088626
- b _0808863E
- .pool
-_08088614:
- cmp r2, 0x3
- beq _08088630
- cmp r2, 0x4
- beq _08088638
- b _0808863E
-_0808861E:
- adds r5, 0x1
- movs r0, 0xD
- mov r12, r0
- b _0808863E
-_08088626:
- movs r1, 0x1
- mov r8, r1
- movs r3, 0xD
- mov r12, r3
- b _0808863E
-_08088630:
- ldr r4, [sp, 0x8]
- adds r4, 0x1
- str r4, [sp, 0x8]
- b _0808863C
-_08088638:
- movs r6, 0x1
- mov r9, r6
-_0808863C:
- movs r7, 0xE
-_0808863E:
- movs r1, 0
- cmp r1, r12
- bge _08088682
- ldr r0, =gUnknown_02032318
- mov r10, r0
-_08088648:
- adds r4, r1, 0x1
- cmp r7, 0
- beq _0808867C
- adds r0, r1, r5
- ldr r3, [sp]
- adds r2, r3, 0
- muls r2, r0
- add r1, r8
- lsls r0, r1, 4
- subs r0, r1
- add r0, r9
- ldr r6, [sp, 0x8]
- adds r2, r6, r2
- adds r3, r7, 0
- lsls r2, 1
- add r2, r10
- lsls r0, 1
- ldr r6, [sp, 0x4]
- adds r1, r0, r6
-_0808866E:
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, 0x2
- adds r2, 0x2
- subs r3, 0x1
- cmp r3, 0
- bne _0808866E
-_0808867C:
- adds r1, r4, 0
- cmp r1, r12
- blt _08088648
-_08088682:
- bl sav2_mapdata_clear
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80885C4
-
- thumb_func_start GetMapBorderIdAt
-@ u32 GetMapBorderIdAt(s32 x, s32 y)
-GetMapBorderIdAt: @ 808869C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- cmp r4, 0
- blt _080886D8
- ldr r1, =gUnknown_03005DC0
- ldr r2, [r1]
- cmp r4, r2
- bge _080886D8
- cmp r5, 0
- blt _080886D8
- ldr r0, [r1, 0x4]
- cmp r5, r0
- bge _080886D8
- adds r0, r2, 0
- muls r0, r5
- adds r0, r4, r0
- ldr r1, [r1, 0x8]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- ldr r0, =0x000003ff
- cmp r1, r0
- beq _08088770
- b _08088700
- .pool
-_080886D8:
- ldr r0, =gMapHeader
- ldr r3, [r0]
- adds r1, r4, 0x1
- movs r2, 0x1
- ands r1, r2
- adds r0, r5, 0x1
- ands r0, r2
- lsls r0, 1
- adds r1, r0
- ldr r0, [r3, 0x8]
- lsls r1, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r2, 0xC0
- lsls r2, 4
- adds r0, r2, 0
- orrs r0, r1
- ldr r1, =0x000003ff
- cmp r0, r1
- beq _08088770
-_08088700:
- ldr r1, =gUnknown_03005DC0
- ldr r0, [r1]
- subs r0, 0x8
- cmp r4, r0
- blt _0808872C
- ldr r0, =gUnknown_02037340
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08088770
- movs r0, 0x4
- b _08088782
- .pool
-_0808872C:
- cmp r4, 0x6
- bgt _08088744
- ldr r0, =gUnknown_02037340
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08088770
- movs r0, 0x3
- b _08088782
- .pool
-_08088744:
- ldr r0, [r1, 0x4]
- subs r0, 0x7
- cmp r5, r0
- blt _08088760
- ldr r0, =gUnknown_02037340
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08088770
- movs r0, 0x1
- b _08088782
- .pool
-_08088760:
- cmp r5, 0x6
- bgt _08088780
- ldr r0, =gUnknown_02037340
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0808877C
-_08088770:
- movs r0, 0x1
- negs r0, r0
- b _08088782
- .pool
-_0808877C:
- movs r0, 0x2
- b _08088782
-_08088780:
- movs r0, 0
-_08088782:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end GetMapBorderIdAt
-
- thumb_func_start GetPostCameraMoveMapBorderId
-@ u32 GetPostCameraMoveMapBorderId(s32 deltaX, s32 deltaY)
-GetPostCameraMoveMapBorderId: @ 8088788
- push {r4,lr}
- adds r3, r1, 0
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- movs r4, 0
- ldrsh r2, [r1, r4]
- adds r0, 0x7
- adds r2, r0
- movs r0, 0x2
- ldrsh r1, [r1, r0]
- adds r3, 0x7
- adds r1, r3
- adds r0, r2, 0
- bl GetMapBorderIdAt
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetPostCameraMoveMapBorderId
-
- thumb_func_start CanCameraMoveInDirection
-@ bool32 CanCameraMoveInDirection(u8 direction)
-CanCameraMoveInDirection: @ 80887B0
- push {r4,r5,lr}
- ldr r1, =gSaveBlock1Ptr
- ldr r4, [r1]
- movs r1, 0
- ldrsh r3, [r4, r1]
- ldr r2, =gUnknown_08339D64
- lsls r0, 3
- adds r1, r0, r2
- ldr r1, [r1]
- adds r1, 0x7
- adds r3, r1
- movs r5, 0x2
- ldrsh r1, [r4, r5]
- adds r2, 0x4
- adds r0, r2
- ldr r0, [r0]
- adds r0, 0x7
- adds r1, r0
- adds r0, r3, 0
- bl GetMapBorderIdAt
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _080887F0
- movs r0, 0x1
- b _080887F2
- .pool
-_080887F0:
- movs r0, 0
-_080887F2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end CanCameraMoveInDirection
-
- thumb_func_start sub_80887F8
-sub_80887F8: @ 80887F8
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- adds r7, r3, 0
- bl mapconnection_get_mapheader
- adds r3, r0, 0
- cmp r4, 0x2
- beq _08088860
- cmp r4, 0x2
- bgt _08088816
- cmp r4, 0x1
- beq _0808884C
- b _08088872
-_08088816:
- cmp r4, 0x3
- beq _08088834
- cmp r4, 0x4
- bne _08088872
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- negs r0, r6
- strh r0, [r1]
- ldr r2, [r5, 0x4]
- ldrh r0, [r1, 0x2]
- subs r0, r2
- b _08088870
- .pool
-_08088834:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, [r3]
- ldr r0, [r0]
- strh r0, [r1]
- ldr r2, [r5, 0x4]
- ldrh r0, [r1, 0x2]
- subs r0, r2
- b _08088870
- .pool
-_0808884C:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r2, [r5, 0x4]
- ldrh r0, [r1]
- subs r0, r2
- strh r0, [r1]
- negs r0, r7
- b _08088870
- .pool
-_08088860:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r2, [r5, 0x4]
- ldrh r0, [r1]
- subs r0, r2
- strh r0, [r1]
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
-_08088870:
- strh r0, [r1, 0x2]
-_08088872:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80887F8
-
- thumb_func_start CameraMove
-@ u8 CameraMove(s32 deltaX, s32 deltaY)
-CameraMove: @ 808887C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r10, r0
- mov r9, r1
- ldr r1, =gCamera
- ldrb r0, [r1]
- movs r1, 0x2
- negs r1, r1
- ands r1, r0
- ldr r2, =gCamera
- strb r1, [r2]
- mov r0, r10
- mov r1, r9
- bl GetPostCameraMoveMapBorderId
- adds r7, r0, 0
- adds r0, r7, 0x1
- cmp r0, 0x1
- bhi _080888C4
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrh r0, [r1]
- add r0, r10
- strh r0, [r1]
- ldrh r0, [r1, 0x2]
- add r0, r9
- strh r0, [r1, 0x2]
- b _08088932
- .pool
-_080888C4:
- bl save_serialize_map
- bl sub_81BE72C
- ldr r1, =gSaveBlock1Ptr
- ldr r0, [r1]
- movs r2, 0
- ldrsh r5, [r0, r2]
- movs r1, 0x2
- ldrsh r6, [r0, r1]
- lsls r2, r7, 24
- lsrs r2, 24
- mov r8, r2
- mov r0, r8
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_8088950
- adds r4, r0, 0
- adds r1, r7, 0
- mov r2, r10
- mov r3, r9
- bl sub_80887F8
- ldrb r0, [r4, 0x8]
- ldrb r1, [r4, 0x9]
- bl mliX_load_map
- ldr r1, =gCamera
- ldrb r0, [r1]
- movs r1, 0x1
- orrs r0, r1
- ldr r2, =gCamera
- strb r0, [r2]
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r2, 0
- ldrsh r0, [r1, r2]
- subs r5, r0
- ldr r0, =gCamera
- str r5, [r0, 0x4]
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- subs r6, r0
- ldr r0, =gCamera
- str r6, [r0, 0x8]
- ldrh r0, [r1]
- add r0, r10
- strh r0, [r1]
- ldrh r0, [r1, 0x2]
- add r0, r9
- strh r0, [r1, 0x2]
- mov r0, r8
- bl sub_80885C4
-_08088932:
- ldr r0, =gCamera
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CameraMove
-
- thumb_func_start sub_8088950
-sub_8088950: @ 8088950
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r1
- mov r8, r2
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gMapHeader
- ldr r0, [r0, 0xC]
- ldr r7, [r0]
- ldr r4, [r0, 0x4]
- movs r5, 0
- cmp r5, r7
- bge _08088998
-_0808896E:
- ldrb r0, [r4]
- cmp r0, r6
- bne _08088990
- adds r0, r6, 0
- mov r1, r9
- mov r2, r8
- adds r3, r4, 0
- bl sub_80889A8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08088990
- adds r0, r4, 0
- b _0808899A
- .pool
-_08088990:
- adds r5, 0x1
- adds r4, 0xC
- cmp r5, r7
- blt _0808896E
-_08088998:
- movs r0, 0
-_0808899A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8088950
-
- thumb_func_start sub_80889A8
-sub_80889A8: @ 80889A8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r1, 0
- mov r8, r2
- adds r5, r3, 0
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- adds r0, r5, 0
- bl mapconnection_get_mapheader
- adds r2, r0, 0
- cmp r4, 0x1
- blt _08088A00
- cmp r4, 0x2
- bgt _080889E0
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r1, [r0]
- ldr r0, [r2]
- ldr r2, [r0]
- ldr r3, [r5, 0x4]
- adds r0, r7, 0
- b _080889F2
- .pool
-_080889E0:
- cmp r6, 0x4
- bgt _08088A00
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- ldr r0, [r2]
- ldr r2, [r0, 0x4]
- ldr r3, [r5, 0x4]
- mov r0, r8
-_080889F2:
- bl sub_8088A0C
- lsls r0, 24
- lsrs r0, 24
- b _08088A02
- .pool
-_08088A00:
- movs r0, 0
-_08088A02:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80889A8
-
- thumb_func_start sub_8088A0C
-sub_8088A0C: @ 8088A0C
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r2, 0
- adds r2, r3, 0
- cmp r3, 0
- bge _08088A1A
- movs r3, 0
-_08088A1A:
- adds r2, r0, r2
- cmp r2, r1
- bge _08088A22
- adds r1, r2, 0
-_08088A22:
- cmp r3, r4
- bgt _08088A2E
- cmp r4, r1
- bgt _08088A2E
- movs r0, 0x1
- b _08088A30
-_08088A2E:
- movs r0, 0
-_08088A30:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8088A0C
-
- thumb_func_start sub_8088A38
-sub_8088A38: @ 8088A38
- push {lr}
- cmp r0, 0
- blt _08088A46
- cmp r0, r1
- bge _08088A46
- movs r0, 0x1
- b _08088A48
-_08088A46:
- movs r0, 0
-_08088A48:
- pop {r1}
- bx r1
- thumb_func_end sub_8088A38
-
- thumb_func_start sub_8088A4C
-sub_8088A4C: @ 8088A4C
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- bl mapconnection_get_mapheader
- adds r1, r0, 0
- ldrb r0, [r4]
- cmp r0, 0x1
- blt _08088A84
- cmp r0, 0x2
- bgt _08088A72
- ldr r0, [r4, 0x4]
- subs r0, r5, r0
- ldr r1, [r1]
- ldr r1, [r1]
- bl sub_8088A38
- b _08088A86
-_08088A72:
- cmp r0, 0x4
- bgt _08088A84
- ldr r0, [r4, 0x4]
- subs r0, r6, r0
- ldr r1, [r1]
- ldr r1, [r1, 0x4]
- bl sub_8088A38
- b _08088A86
-_08088A84:
- movs r0, 0
-_08088A86:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8088A4C
-
- thumb_func_start sub_8088A8C
-sub_8088A8C: @ 8088A8C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 16
- lsrs r1, 16
- ldr r2, =gMapHeader
- ldr r0, [r2, 0xC]
- cmp r0, 0
- bne _08088AB4
- b _08088B2A
- .pool
-_08088AB0:
- adds r0, r4, 0
- b _08088B2C
-_08088AB4:
- ldr r7, [r0]
- ldr r4, [r0, 0x4]
- movs r6, 0
- cmp r6, r7
- bge _08088B2A
- lsls r0, r1, 16
- asrs r5, r0, 16
- mov r9, r2
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- mov r10, r0
-_08088ACC:
- ldrb r1, [r4]
- adds r3, r1, 0
- subs r0, r1, 0x5
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _08088B22
- cmp r1, 0x2
- bne _08088AE2
- cmp r5, 0x6
- bgt _08088B22
-_08088AE2:
- cmp r1, 0x1
- bne _08088AF2
- mov r2, r9
- ldr r0, [r2]
- ldr r0, [r0, 0x4]
- adds r0, 0x7
- cmp r5, r0
- blt _08088B22
-_08088AF2:
- mov r0, r8
- lsls r2, r0, 16
- cmp r1, 0x3
- bne _08088B00
- mov r1, r10
- cmp r1, 0x6
- bgt _08088B22
-_08088B00:
- cmp r3, 0x4
- bne _08088B12
- asrs r1, r2, 16
- mov r3, r9
- ldr r0, [r3]
- ldr r0, [r0]
- adds r0, 0x7
- cmp r1, r0
- blt _08088B22
-_08088B12:
- asrs r1, r2, 16
- subs r1, 0x7
- adds r0, r4, 0
- subs r2, r5, 0x7
- bl sub_8088A4C
- cmp r0, 0x1
- beq _08088AB0
-_08088B22:
- adds r6, 0x1
- adds r4, 0xC
- cmp r6, r7
- blt _08088ACC
-_08088B2A:
- movs r0, 0
-_08088B2C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8088A8C
-
- thumb_func_start sub_8088B3C
-sub_8088B3C: @ 8088B3C
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- ldr r2, =gSaveBlock1Ptr
- ldr r2, [r2]
- subs r0, 0x7
- strh r0, [r2]
- subs r1, 0x7
- strh r1, [r2, 0x2]
- bx lr
- .pool
- thumb_func_end sub_8088B3C
-
- thumb_func_start sav1_camera_get_focus_coords
-sav1_camera_get_focus_coords: @ 8088B58
- ldr r2, =gSaveBlock1Ptr
- ldr r3, [r2]
- ldrh r2, [r3]
- adds r2, 0x7
- strh r2, [r0]
- ldrh r0, [r3, 0x2]
- adds r0, 0x7
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sav1_camera_get_focus_coords
-
- thumb_func_start SetCameraCoords
-@ void SetCameraCoords(u16 x, u16 y)
-SetCameraCoords: @ 8088B70
- ldr r2, =gSaveBlock1Ptr
- ldr r2, [r2]
- strh r0, [r2]
- strh r1, [r2, 0x2]
- bx lr
- .pool
- thumb_func_end SetCameraCoords
-
- thumb_func_start GetCameraCoords
-@ void GetCameraCoords(u16 *x, u16 *y)
-GetCameraCoords: @ 8088B80
- ldr r2, =gSaveBlock1Ptr
- ldr r3, [r2]
- ldrh r2, [r3]
- strh r2, [r0]
- ldrh r0, [r3, 0x2]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end GetCameraCoords
-
- thumb_func_start sub_8088B94
-sub_8088B94: @ 8088B94
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r3, r1, 0
- adds r5, r2, 0
- cmp r4, 0
- blt _08088BE6
- ldr r2, =gUnknown_03005DC0
- ldr r1, [r2]
- cmp r4, r1
- bge _08088BE6
- cmp r3, 0
- blt _08088BE6
- ldr r0, [r2, 0x4]
- cmp r3, r0
- bge _08088BE6
- cmp r5, 0
- beq _08088BD4
- adds r0, r1, 0
- muls r0, r3
- adds r0, r4, r0
- ldr r1, [r2, 0x8]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r3, 0xC0
- lsls r3, 4
- adds r2, r3, 0
- orrs r1, r2
- strh r1, [r0]
- b _08088BE6
- .pool
-_08088BD4:
- muls r1, r3
- adds r1, r4, r1
- ldr r0, [r2, 0x8]
- lsls r1, 1
- adds r1, r0
- ldrh r2, [r1]
- ldr r0, =0x0000f3ff
- ands r0, r2
- strh r0, [r1]
-_08088BE6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8088B94
-
- thumb_func_start sub_8088BF0
-sub_8088BF0: @ 8088BF0
- push {lr}
- adds r3, r0, 0
- lsls r1, 16
- lsrs r0, r1, 16
- adds r1, r0, 0
- lsls r2, 24
- lsrs r2, 24
- cmp r2, 0xFF
- beq _08088C24
- cmp r2, 0
- bne _08088C0C
- lsls r0, 1
- subs r3, r0
- b _08088C10
-_08088C0C:
- lsls r0, r1, 1
- adds r3, r0
-_08088C10:
- ldrh r1, [r3]
- ldr r0, =0x000003ff
- ands r0, r1
- adds r1, r2, 0
- bl sub_80FADE4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08088C2C
-_08088C24:
- movs r0, 0
- b _08088C2E
- .pool
-_08088C2C:
- movs r0, 0x1
-_08088C2E:
- pop {r1}
- bx r1
- thumb_func_end sub_8088BF0
-
- thumb_func_start copy_tileset_patterns_to_vram
-@ void copy_tileset_patterns_to_vram(tileset *tileset, int num_tiles, int offset)
-copy_tileset_patterns_to_vram: @ 8088C34
- push {r4-r7,lr}
- sub sp, 0x4
- adds r3, r0, 0
- lsls r1, 16
- lsrs r4, r1, 16
- adds r6, r4, 0
- lsls r2, 16
- lsrs r5, r2, 16
- adds r7, r5, 0
- cmp r3, 0
- beq _08088C70
- ldrb r0, [r3]
- cmp r0, 0
- bne _08088C60
- ldr r1, [r3, 0x4]
- lsls r2, r4, 21
- lsrs r2, 16
- movs r0, 0x2
- adds r3, r5, 0
- bl LoadBgTiles
- b _08088C70
-_08088C60:
- ldr r1, [r3, 0x4]
- lsls r2, r6, 5
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- adds r3, r7, 0
- bl decompress_and_copy_tile_data_to_vram
-_08088C70:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end copy_tileset_patterns_to_vram
-
- thumb_func_start copy_tileset_patterns_to_vram2
-@ void copy_tileset_patterns_to_vram2(tileset *tileset, int num_tiles, int offset)
-copy_tileset_patterns_to_vram2: @ 8088C78
- push {r4-r7,lr}
- sub sp, 0x4
- adds r3, r0, 0
- lsls r1, 16
- lsrs r4, r1, 16
- adds r6, r4, 0
- lsls r2, 16
- lsrs r5, r2, 16
- adds r7, r5, 0
- cmp r3, 0
- beq _08088CB4
- ldrb r0, [r3]
- cmp r0, 0
- bne _08088CA4
- ldr r1, [r3, 0x4]
- lsls r2, r4, 21
- lsrs r2, 16
- movs r0, 0x2
- adds r3, r5, 0
- bl LoadBgTiles
- b _08088CB4
-_08088CA4:
- ldr r1, [r3, 0x4]
- lsls r2, r6, 5
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- adds r3, r7, 0
- bl copy_decompressed_tile_data_to_vram_autofree
-_08088CB4:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end copy_tileset_patterns_to_vram2
-
- thumb_func_start nullsub_3
-nullsub_3: @ 8088CBC
- bx lr
- thumb_func_end nullsub_3
-
- thumb_func_start nullsub_90
-nullsub_90: @ 8088CC0
- bx lr
- thumb_func_end nullsub_90
-
- thumb_func_start apply_map_tileset_palette
-@ void apply_map_tileset_palette(tileset *tileset, int dest_offset, int size)
-apply_map_tileset_palette: @ 8088CC4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- mov r8, r5
- lsls r6, r2, 16
- lsrs r7, r6, 16
- adds r2, r7, 0
- movs r1, 0
- mov r0, sp
- strh r1, [r0]
- cmp r4, 0
- beq _08088D42
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- bne _08088D18
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0x2
- bl LoadPalette
- ldr r0, [r4, 0x8]
- adds r0, 0x2
- adds r5, 0x1
- lsls r5, 16
- lsrs r5, 16
- subs r4, r7, 0x2
- lsls r2, r4, 16
- lsrs r2, 16
- adds r1, r5, 0
- bl LoadPalette
- lsls r4, 15
- lsrs r4, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl nullsub_3
- b _08088D42
-_08088D18:
- cmp r0, 0x1
- bne _08088D32
- ldr r0, [r4, 0x8]
- adds r0, 0xC0
- adds r1, r5, 0
- adds r2, r7, 0
- bl LoadPalette
- lsrs r1, r6, 17
- adds r0, r5, 0
- bl nullsub_3
- b _08088D42
-_08088D32:
- ldr r0, [r4, 0x8]
- mov r1, r8
- bl LoadCompressedPalette
- lsrs r1, r6, 17
- mov r0, r8
- bl nullsub_3
-_08088D42:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end apply_map_tileset_palette
-
- thumb_func_start copy_map_tileset1_to_vram
-@ void copy_map_tileset1_to_vram(mapdata_header *a1)
-copy_map_tileset1_to_vram: @ 8088D50
- push {lr}
- ldr r0, [r0, 0x10]
- movs r1, 0x80
- lsls r1, 2
- movs r2, 0
- bl copy_tileset_patterns_to_vram
- pop {r0}
- bx r0
- thumb_func_end copy_map_tileset1_to_vram
-
- thumb_func_start copy_map_tileset2_to_vram
-@ void copy_map_tileset2_to_vram(mapdata_header *a1)
-copy_map_tileset2_to_vram: @ 8088D64
- push {lr}
- ldr r0, [r0, 0x14]
- movs r2, 0x80
- lsls r2, 2
- adds r1, r2, 0
- bl copy_tileset_patterns_to_vram
- pop {r0}
- bx r0
- thumb_func_end copy_map_tileset2_to_vram
-
- thumb_func_start copy_map_tileset2_to_vram_2
-@ void copy_map_tileset2_to_vram_2(mapdata_header *a1)
-copy_map_tileset2_to_vram_2: @ 8088D78
- push {lr}
- ldr r0, [r0, 0x14]
- movs r2, 0x80
- lsls r2, 2
- adds r1, r2, 0
- bl copy_tileset_patterns_to_vram2
- pop {r0}
- bx r0
- thumb_func_end copy_map_tileset2_to_vram_2
-
- thumb_func_start apply_map_tileset1_palette
-@ void apply_map_tileset1_palette(mapdata_header *a1)
-apply_map_tileset1_palette: @ 8088D8C
- push {lr}
- ldr r0, [r0, 0x10]
- movs r1, 0
- movs r2, 0xC0
- bl apply_map_tileset_palette
- pop {r0}
- bx r0
- thumb_func_end apply_map_tileset1_palette
-
- thumb_func_start apply_map_tileset2_palette
-@ void apply_map_tileset2_palette(mapdata_header *a1)
-apply_map_tileset2_palette: @ 8088D9C
- push {lr}
- ldr r0, [r0, 0x14]
- movs r1, 0x60
- movs r2, 0xE0
- bl apply_map_tileset_palette
- pop {r0}
- bx r0
- thumb_func_end apply_map_tileset2_palette
-
- thumb_func_start copy_map_tileset1_tileset2_to_vram
-@ void copy_map_tileset1_tileset2_to_vram(mapdata_header *a1)
-copy_map_tileset1_tileset2_to_vram: @ 8088DAC
- push {r4,r5,lr}
- adds r5, r0, 0
- cmp r5, 0
- beq _08088DCC
- ldr r0, [r5, 0x10]
- movs r4, 0x80
- lsls r4, 2
- adds r1, r4, 0
- movs r2, 0
- bl copy_tileset_patterns_to_vram2
- ldr r0, [r5, 0x14]
- adds r1, r4, 0
- adds r2, r4, 0
- bl copy_tileset_patterns_to_vram2
-_08088DCC:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end copy_map_tileset1_tileset2_to_vram
-
- thumb_func_start apply_map_tileset1_tileset2_palette
-@ void apply_map_tileset1_tileset2_palette(mapdata_header *a1)
-apply_map_tileset1_tileset2_palette: @ 8088DD4
- push {r4,lr}
- adds r4, r0, 0
- cmp r4, 0
- beq _08088DE6
- bl apply_map_tileset1_palette
- adds r0, r4, 0
- bl apply_map_tileset2_palette
-_08088DE6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end apply_map_tileset1_tileset2_palette
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/fldeff_80F9BCC.s b/asm/fldeff_80F9BCC.s
index e31375f9f..3cfbe215a 100644
--- a/asm/fldeff_80F9BCC.s
+++ b/asm/fldeff_80F9BCC.s
@@ -467,7 +467,7 @@ _080F9F54:
thumb_func_start sub_80F9F5C
sub_80F9F5C: @ 80F9F5C
push {lr}
- ldr r0, =gUnknown_0203AB40
+ ldr r0, =gPlayerFacingPosition
ldr r1, =gMapHeader
ldr r1, [r1, 0x4]
bl sub_80E9608
@@ -567,12 +567,12 @@ sub_80FA004: @ 80FA004
ldrh r0, [r0]
cmp r0, 0x1
beq _080FA0AE
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
bne _080FA0AE
- ldr r4, =gUnknown_0203AB40
+ ldr r4, =gPlayerFacingPosition
adds r1, r4, 0x2
adds r0, r4, 0
bl GetXYCoordsOneStepInFrontOfPlayer
@@ -590,10 +590,10 @@ sub_80FA004: @ 80FA004
cmp r0, 0x1
bne _080FA070
bl sub_80F9F5C
- ldr r1, =gUnknown_03005DB0
- ldr r0, =FieldCallback_Teleport
+ ldr r1, =gFieldCallback2
+ ldr r0, =FieldCallback_PrepareFadeInFromMenu
str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
+ ldr r1, =gPostMenuFieldCallback
ldr r0, =sub_80FA0DC
b _080FA0C0
.pool
@@ -605,10 +605,10 @@ _080FA070:
cmp r0, 0x1
bne _080FA0A0
bl sub_80F9F5C
- ldr r1, =gUnknown_03005DB0
- ldr r0, =FieldCallback_Teleport
+ ldr r1, =gFieldCallback2
+ ldr r0, =FieldCallback_PrepareFadeInFromMenu
str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
+ ldr r1, =gPostMenuFieldCallback
ldr r0, =sub_80FA1E8
b _080FA0C0
.pool
@@ -624,10 +624,10 @@ _080FA0AE:
b _080FA0C4
_080FA0B2:
bl sub_80F9F5C
- ldr r1, =gUnknown_03005DB0
- ldr r0, =FieldCallback_Teleport
+ ldr r1, =gFieldCallback2
+ ldr r0, =FieldCallback_PrepareFadeInFromMenu
str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
+ ldr r1, =gPostMenuFieldCallback
ldr r0, =sub_80FA34C
_080FA0C0:
str r0, [r1]
@@ -824,7 +824,7 @@ sub_80FA234: @ 80FA234
thumb_func_start sub_80FA248
sub_80FA248: @ 80FA248
push {r4,lr}
- ldr r1, =gUnknown_0203AB40
+ ldr r1, =gPlayerFacingPosition
movs r2, 0
ldrsh r0, [r1, r2]
movs r2, 0x2
@@ -1493,7 +1493,7 @@ sub_80FA794: @ 80FA794
lsls r1, 16
lsrs r4, r1, 16
adds r6, r4, 0
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1722,7 +1722,7 @@ _080FA9CA:
sub_80FA9D0: @ 80FA9D0
push {r4,lr}
sub sp, 0x4
- ldr r3, =gMapObjects
+ ldr r3, =gEventObjects
ldr r2, =gPlayerAvatar
ldrb r1, [r2, 0x5]
lsls r0, r1, 3
@@ -1815,7 +1815,7 @@ sub_80FAA7C: @ 80FAA7C
movs r3, 0
ldrsh r0, [r4, r3]
str r0, [r1, 0x18]
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
@@ -2312,32 +2312,32 @@ sub_80FAEF0: @ 80FAEF0
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r4, r0, r1
adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl EventObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
beq _080FAF1C
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _080FAF4E
_080FAF1C:
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
bl sub_808C228
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
- bl GetStepInPlaceDelay16AnimId
+ bl GetWalkInPlaceNormalMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
ldr r1, =gTasks
lsls r0, r5, 2
adds r0, r5
@@ -2362,10 +2362,10 @@ sub_80FAF64: @ 80FAF64
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r5, r0, r1
adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _080FAFC8
@@ -2381,15 +2381,15 @@ sub_80FAF64: @ 80FAF64
asrs r0, 16
cmp r0, 0x9
bgt _080FAFC4
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
- bl GetStepInPlaceDelay16AnimId
+ bl GetWalkInPlaceNormalMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r5, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
b _080FAFC8
.pool
_080FAFC4:
@@ -2431,8 +2431,8 @@ sub_80FAFF8: @ 80FAFF8
.pool
thumb_func_end sub_80FAFF8
- thumb_func_start sub_80FB00C
-sub_80FB00C: @ 80FB00C
+ thumb_func_start CreateRecordMixingSprite
+CreateRecordMixingSprite: @ 80FB00C
push {r4,r5,lr}
ldr r0, =gUnknown_0858E864
bl LoadSpritePalette
@@ -2478,10 +2478,10 @@ _080FB06E:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80FB00C
+ thumb_func_end CreateRecordMixingSprite
- thumb_func_start sub_80FB074
-sub_80FB074: @ 80FB074
+ thumb_func_start DestroyRecordMixingSprite
+DestroyRecordMixingSprite: @ 80FB074
push {r4-r7,lr}
ldr r4, =gSprites
adds r7, r4, 0
@@ -2509,6 +2509,6 @@ _080FB098:
pop {r0}
bx r0
.pool
- thumb_func_end sub_80FB074
+ thumb_func_end DestroyRecordMixingSprite
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/fldeff_cut.s b/asm/fldeff_cut.s
deleted file mode 100644
index 19a29d729..000000000
--- a/asm/fldeff_cut.s
+++ /dev/null
@@ -1,1486 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80D3718
-sub_80D3718: @ 80D3718
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- movs r0, 0x52
- bl npc_before_player_of_type
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D3754
- ldr r1, =gUnknown_03005DB0
- ldr r0, =FieldCallback_Teleport
- str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
- ldr r0, =sub_80D3A9C
- str r0, [r1]
- movs r0, 0x1
- b _080D3A2C
- .pool
-_080D3754:
- ldr r0, =gUnknown_0203AB40
- adds r1, r0, 0x2
- bl PlayerGetDestCoords
- bl GetCursorSelectionMonId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- bl GetMonAbility
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0xC]
- cmp r0, 0x34
- bne _080D3798
- ldr r1, =gUnknown_03001100
- movs r0, 0x5
- strb r0, [r1]
- ldr r0, =gUnknown_03001101
- movs r1, 0x2
- b _080D37A2
- .pool
-_080D3798:
- ldr r1, =gUnknown_03001100
- movs r0, 0x3
- strb r0, [r1]
- ldr r0, =gUnknown_03001101
- movs r1, 0x1
-_080D37A2:
- strb r1, [r0]
- ldr r0, =gUnknown_03001102
- strb r1, [r0]
- movs r6, 0
- movs r1, 0
-_080D37AC:
- mov r2, sp
- adds r0, r2, r6
- strb r1, [r0]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x8
- bls _080D37AC
- movs r6, 0
- ldr r2, =gUnknown_03001108
- movs r1, 0
-_080D37C2:
- adds r0, r6, r2
- strb r1, [r0]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x18
- bls _080D37C2
- movs r3, 0
- str r3, [sp, 0x10]
- movs r6, 0
-_080D37D6:
- ldr r4, =0x0000ffff
- adds r0, r6, r4
- ldr r1, =gUnknown_0203AB40
- ldrh r1, [r1, 0x2]
- adds r0, r1
- movs r5, 0
- adds r2, r6, 0x1
- str r2, [sp, 0x18]
- lsls r7, r6, 1
- lsls r0, 16
- str r0, [sp, 0x14]
- asrs r0, 16
- mov r10, r0
- lsls r0, r6, 2
- adds r0, r6
- mov r9, r0
-_080D37F6:
- ldr r3, =0x0000ffff
- adds r0, r5, r3
- ldr r4, =gUnknown_0203AB40
- ldrh r4, [r4]
- adds r0, r4
- lsls r0, 16
- lsrs r1, r0, 16
- mov r8, r1
- asrs r4, r0, 16
- adds r0, r4, 0
- mov r1, r10
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_0203AB40
- movs r1, 0x4
- ldrsb r1, [r2, r1]
- cmp r0, r1
- bne _080D38BC
- adds r0, r4, 0
- mov r1, r10
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsPokeGrass
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080D3846
- adds r0, r4, 0
- bl MetatileBehavior_IsAsh
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D3856
-_080D3846:
- adds r0, r5, 0x6
- add r0, r9
- ldr r3, =gUnknown_03001108
- adds r0, r3
- movs r1, 0x1
- strb r1, [r0]
- movs r0, 0x1
- str r0, [sp, 0x10]
-_080D3856:
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- ldr r2, [sp, 0x14]
- asrs r1, r2, 16
- bl MapGridIsImpassableAt
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D3890
- adds r0, r7, r6
- adds r0, r5
- mov r3, sp
- adds r1, r3, r0
- b _080D38C4
- .pool
-_080D3890:
- adds r0, r7, r6
- adds r0, r5
- mov r2, sp
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r4, 0
- bl MetatileBehavior_IsCuttableGrass
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- bne _080D38C8
- adds r0, r5, 0x6
- add r0, r9
- ldr r3, =gUnknown_03001108
- adds r0, r3
- strb r1, [r0]
- b _080D38C8
- .pool
-_080D38BC:
- adds r0, r7, r6
- adds r0, r5
- mov r4, sp
- adds r1, r4, r0
-_080D38C4:
- movs r0, 0
- strb r0, [r1]
-_080D38C8:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _080D37F6
- ldr r1, [sp, 0x18]
- lsls r0, r1, 24
- lsrs r6, r0, 24
- cmp r6, 0x2
- bhi _080D38DE
- b _080D37D6
-_080D38DE:
- ldr r2, [sp, 0xC]
- cmp r2, 0x34
- beq _080D38EE
- ldr r3, [sp, 0x10]
- cmp r3, 0x1
- beq _080D38EC
- b _080D3A2A
-_080D38EC:
- b _080D3A1E
-_080D38EE:
- movs r6, 0
- ldr r4, =gUnknown_0203AB40
- mov r9, r4
- ldr r0, =gUnknown_0857C608
- mov r10, r0
-_080D38F8:
- lsls r2, r6, 2
- mov r3, r10
- adds r1, r2, r3
- movs r0, 0
- ldrsb r0, [r1, r0]
- mov r4, r9
- ldrh r4, [r4]
- adds r0, r4
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- movs r0, 0x1
- ldrsb r0, [r1, r0]
- mov r1, r9
- ldrh r1, [r1, 0x2]
- adds r0, r1
- lsls r0, 16
- lsrs r4, r0, 16
- movs r7, 0x1
- movs r5, 0
- ldr r3, =gUnknown_0857C608 + 2
- adds r0, r2, r3
- ldrb r0, [r0]
- adds r6, 0x1
- str r6, [sp, 0x18]
- adds r6, r2, 0
- cmp r0, 0
- beq _080D395A
-_080D3930:
- adds r1, r2, 0
- adds r0, r5, r2
- adds r0, r3
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- add r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- beq _080D39F4
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bhi _080D395A
- adds r0, r5, r1
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080D3930
-_080D395A:
- cmp r7, 0x1
- bne _080D3A0C
- mov r1, r8
- lsls r0, r1, 16
- asrs r5, r0, 16
- lsls r0, r4, 16
- asrs r4, r0, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r0, 24
- mov r2, r9
- movs r1, 0x4
- ldrsb r1, [r2, r1]
- cmp r0, r1
- bne _080D3A0C
- mov r3, r10
- adds r2, r6, r3
- movs r1, 0x1
- ldrsb r1, [r2, r1]
- lsls r0, r1, 2
- adds r0, r1
- adds r0, 0xC
- ldrb r2, [r2]
- adds r0, r2
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsPokeGrass
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080D39BC
- adds r0, r4, 0
- bl MetatileBehavior_IsAsh
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D39F8
-_080D39BC:
- ldr r1, =gUnknown_03005DB0
- ldr r0, =FieldCallback_Teleport
- str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
- ldr r0, =hm2_ruin_valley
- str r0, [r1]
- ldr r0, =gUnknown_03001108
- adds r0, r6, r0
- strb r7, [r0]
- movs r4, 0x1
- str r4, [sp, 0x10]
- b _080D3A0C
- .pool
-_080D39F4:
- movs r7, 0
- b _080D395A
-_080D39F8:
- adds r0, r4, 0
- bl MetatileBehavior_IsCuttableGrass
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- bne _080D3A0C
- ldr r0, =gUnknown_03001108
- adds r0, r6, r0
- strb r1, [r0]
-_080D3A0C:
- ldr r1, [sp, 0x18]
- lsls r0, r1, 24
- lsrs r6, r0, 24
- cmp r6, 0xF
- bhi _080D3A18
- b _080D38F8
-_080D3A18:
- ldr r2, [sp, 0x10]
- cmp r2, 0x1
- bne _080D3A2A
-_080D3A1E:
- ldr r1, =gUnknown_03005DB0
- ldr r0, =FieldCallback_Teleport
- str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
- ldr r0, =hm2_ruin_valley
- str r0, [r1]
-_080D3A2A:
- ldr r0, [sp, 0x10]
-_080D3A2C:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D3718
-
- thumb_func_start hm2_ruin_valley
-hm2_ruin_valley: @ 80D3A50
- push {lr}
- movs r0, 0x1
- bl FieldEffectStart
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end hm2_ruin_valley
-
- thumb_func_start sub_80D3A6C
-sub_80D3A6C: @ 80D3A6C
- push {lr}
- bl oei_task_add
- 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_80D3AEC
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0x12
- bl IncrementGameStat
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D3A6C
-
- thumb_func_start sub_80D3A9C
-sub_80D3A9C: @ 80D3A9C
- push {lr}
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- ldr r0, =Route103_EventScript_290705
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D3A9C
-
- thumb_func_start sub_80D3ABC
-sub_80D3ABC: @ 80D3ABC
- push {lr}
- bl oei_task_add
- 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_80D4354
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0x12
- bl IncrementGameStat
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D3ABC
-
- thumb_func_start sub_80D3AEC
-sub_80D3AEC: @ 80D3AEC
- push {lr}
- movs r0, 0x1
- bl FieldEffectActiveListRemove
- movs r0, 0x3A
- bl FieldEffectStart
- pop {r0}
- bx r0
- thumb_func_end sub_80D3AEC
-
- thumb_func_start sub_80D3B00
-sub_80D3B00: @ 80D3B00
- push {r4-r7,lr}
- movs r6, 0
- movs r0, 0x80
- bl PlaySE
- ldr r4, =gUnknown_0203AB40
- adds r1, r4, 0x2
- adds r0, r4, 0
- bl PlayerGetDestCoords
- adds r7, r4, 0
-_080D3B16:
- ldr r0, =gUnknown_03001108
- adds r0, r6, r0
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080D3B64
- adds r0, r6, 0
- movs r1, 0x5
- bl __umodsi3
- adds r4, r0, 0
- subs r4, 0x2
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- movs r1, 0x5
- bl __udivsi3
- adds r5, r0, 0
- subs r5, 0x2
- lsls r4, 24
- asrs r4, 24
- ldrh r0, [r7]
- adds r4, r0
- lsls r5, 24
- asrs r5, 24
- ldrh r2, [r7, 0x2]
- adds r5, r2
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80D3C10
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_808E75C
-_080D3B64:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x18
- bls _080D3B16
- ldr r2, =gUnknown_0203AB40
- ldr r0, =gUnknown_03001101
- ldrb r1, [r0]
- ldrh r0, [r2]
- subs r0, r1
- lsls r0, 16
- asrs r0, 16
- ldr r1, =gUnknown_03001102
- ldrb r1, [r1]
- mvns r1, r1
- ldrh r2, [r2, 0x2]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- bl sub_80D3D5C
- bl DrawWholeMapView
- ldr r4, =gUnknown_02039DD0
- movs r0, 0x8
- bl AllocZeroed
- str r0, [r4]
- movs r6, 0
- ldr r5, =gSprites
-_080D3BA0:
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x2]
- lsls r1, 23
- lsrs r1, 7
- movs r2, 0x80
- lsls r2, 12
- adds r1, r2
- asrs r1, 16
- ldrb r2, [r0]
- adds r2, 0x14
- ldr r0, =gUnknown_0857C66C
- movs r3, 0
- bl CreateSprite
- ldr r1, [r4]
- adds r1, r6
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- lsls r1, r6, 5
- strh r1, [r0, 0x32]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x7
- bls _080D3BA0
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D3B00
-
- thumb_func_start sub_80D3C10
-sub_80D3C10: @ 80D3C10
- push {r4-r7,lr}
- lsls r0, 16
- lsls r1, 16
- lsrs r6, r0, 16
- asrs r4, r0, 16
- lsrs r7, r1, 16
- asrs r5, r1, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileIdAt
- adds r1, r0, 0
- ldr r0, =0x00000207
- cmp r1, r0
- bgt _080D3C5C
- subs r0, 0x1
- cmp r1, r0
- bge _080D3CD4
- cmp r1, 0x25
- beq _080D3CF6
- cmp r1, 0x25
- bgt _080D3C4C
- cmp r1, 0xD
- beq _080D3C9C
- cmp r1, 0x15
- beq _080D3C9C
- b _080D3D00
- .pool
-_080D3C4C:
- movs r0, 0xE3
- lsls r0, 1
- cmp r1, r0
- beq _080D3CAC
- adds r0, 0x1
- cmp r1, r0
- beq _080D3CB2
- b _080D3D00
-_080D3C5C:
- ldr r0, =0x00000212
- cmp r1, r0
- beq _080D3CE4
- cmp r1, r0
- bgt _080D3C78
- subs r0, 0xA
- cmp r1, r0
- beq _080D3C9C
- adds r0, 0x2
- cmp r1, r0
- beq _080D3CE4
- b _080D3D00
- .pool
-_080D3C78:
- ldr r0, =0x00000282
- cmp r1, r0
- beq _080D3CC4
- cmp r1, r0
- bgt _080D3C90
- subs r0, 0x1
- cmp r1, r0
- beq _080D3CBC
- b _080D3D00
- .pool
-_080D3C90:
- ldr r0, =0x00000283
- cmp r1, r0
- beq _080D3CCC
- b _080D3D00
- .pool
-_080D3C9C:
- lsls r0, r6, 16
- asrs r0, 16
- lsls r1, r7, 16
- asrs r1, 16
- movs r2, 0x1
- bl MapGridSetMetatileIdAt
- b _080D3D00
-_080D3CAC:
- movs r2, 0xE7
- lsls r2, 1
- b _080D3CD6
-_080D3CB2:
- ldr r2, =0x000001cf
- b _080D3CD6
- .pool
-_080D3CBC:
- ldr r2, =0x00000279
- b _080D3CD6
- .pool
-_080D3CC4:
- ldr r2, =0x0000027a
- b _080D3CD6
- .pool
-_080D3CCC:
- ldr r2, =0x0000027b
- b _080D3CD6
- .pool
-_080D3CD4:
- ldr r2, =0x00000271
-_080D3CD6:
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
- b _080D3D00
- .pool
-_080D3CE4:
- lsls r0, r6, 16
- asrs r0, 16
- lsls r1, r7, 16
- asrs r1, 16
- movs r2, 0x86
- lsls r2, 2
- bl MapGridSetMetatileIdAt
- b _080D3D00
-_080D3CF6:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xE
- bl MapGridSetMetatileIdAt
-_080D3D00:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80D3C10
-
- thumb_func_start sub_80D3D08
-sub_80D3D08: @ 80D3D08
- push {lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetMetatileIdAt
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, r1, 0
- cmp r1, 0x1
- bne _080D3D24
- movs r0, 0x1
- b _080D3D56
-_080D3D24:
- ldr r0, =0x00000279
- cmp r1, r0
- bne _080D3D34
- movs r0, 0x2
- b _080D3D56
- .pool
-_080D3D34:
- ldr r0, =0x0000027a
- cmp r1, r0
- bne _080D3D44
- movs r0, 0x3
- b _080D3D56
- .pool
-_080D3D44:
- ldr r0, =0x0000027b
- cmp r2, r0
- beq _080D3D54
- movs r0, 0
- b _080D3D56
- .pool
-_080D3D54:
- movs r0, 0x4
-_080D3D56:
- pop {r1}
- bx r1
- thumb_func_end sub_80D3D08
-
- thumb_func_start sub_80D3D5C
-sub_80D3D5C: @ 80D3D5C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- ldr r1, =gUnknown_03001100
- ldrb r2, [r1]
- mov r3, r10
- adds r0, r2, r3
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp]
- movs r4, 0
- cmp r4, r2
- blt _080D3D8A
- b _080D3EA0
-_080D3D8A:
- lsls r0, r3, 16
- asrs r7, r0, 16
-_080D3D8E:
- mov r1, r9
- lsls r0, r1, 16
- asrs r0, 16
- lsls r4, 16
- asrs r1, r4, 16
- adds r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- asrs r5, r0, 16
- adds r0, r5, 0
- adds r1, r7, 0
- bl MapGridGetMetatileIdAt
- mov r8, r4
- cmp r0, 0x15
- bne _080D3E12
- adds r4, r7, 0x1
- lsls r1, r4, 16
- asrs r1, 16
- adds r0, r5, 0
- bl sub_80D3D08
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080D3DE8
- cmp r0, 0x2
- bgt _080D3DD0
- cmp r0, 0x1
- beq _080D3DDA
- b _080D3E12
- .pool
-_080D3DD0:
- cmp r0, 0x3
- beq _080D3DF8
- cmp r0, 0x4
- beq _080D3E08
- b _080D3E12
-_080D3DDA:
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x82
- lsls r2, 2
- bl MapGridSetMetatileIdAt
- b _080D3E12
-_080D3DE8:
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, =0x00000281
- bl MapGridSetMetatileIdAt
- b _080D3E12
- .pool
-_080D3DF8:
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, =0x00000282
- bl MapGridSetMetatileIdAt
- b _080D3E12
- .pool
-_080D3E08:
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, =0x00000283
- bl MapGridSetMetatileIdAt
-_080D3E12:
- lsls r0, r6, 16
- asrs r5, r0, 16
- ldr r3, [sp]
- lsls r0, r3, 16
- asrs r4, r0, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- cmp r0, 0x1
- bne _080D3E8C
- adds r4, 0x1
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- movs r1, 0x82
- lsls r1, 2
- cmp r0, r1
- bne _080D3E44
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl MapGridSetMetatileIdAt
-_080D3E44:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, =0x00000281
- cmp r0, r1
- bne _080D3E5C
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, =0x00000279
- bl MapGridSetMetatileIdAt
-_080D3E5C:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, =0x00000282
- cmp r0, r1
- bne _080D3E74
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, =0x0000027a
- bl MapGridSetMetatileIdAt
-_080D3E74:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, =0x00000283
- cmp r0, r1
- bne _080D3E8C
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, =0x0000027b
- bl MapGridSetMetatileIdAt
-_080D3E8C:
- movs r1, 0x80
- lsls r1, 9
- add r1, r8
- lsrs r4, r1, 16
- asrs r1, 16
- ldr r0, =gUnknown_03001100
- ldrb r0, [r0]
- cmp r1, r0
- bge _080D3EA0
- b _080D3D8E
-_080D3EA0:
- ldr r1, =gUnknown_03001100
- ldrb r0, [r1]
- cmp r0, 0x5
- bne _080D3EC8
- mov r3, r9
- lsls r5, r3, 16
- asrs r5, 16
- mov r0, r10
- lsls r4, r0, 16
- asrs r4, 16
- movs r0, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_80D3EF4
- movs r0, 0x1
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_80D3EF4
-_080D3EC8:
- 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_80D3D5C
-
- thumb_func_start sub_80D3EF4
-sub_80D3EF4: @ 80D3EF4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r5, r1, 16
- adds r3, r5, 0
- lsls r2, 16
- lsrs r2, 16
- mov r10, r2
- cmp r0, 0
- bne _080D3F2C
- mov r2, sp
- ldr r1, =gUnknown_03001108
- ldrb r0, [r1, 0x5]
- strb r0, [r2]
- ldrb r0, [r1, 0xA]
- strb r0, [r2, 0x1]
- ldrb r0, [r1, 0xF]
- strb r0, [r2, 0x2]
- mov r8, r5
- b _080D3F4E
- .pool
-_080D3F2C:
- cmp r0, 0x1
- beq _080D3F32
- b _080D414A
-_080D3F32:
- mov r2, sp
- ldr r1, =gUnknown_03001108
- ldrb r0, [r1, 0x9]
- strb r0, [r2]
- ldrb r0, [r1, 0xE]
- strb r0, [r2, 0x1]
- ldrb r0, [r1, 0x13]
- strb r0, [r2, 0x2]
- lsls r0, r3, 16
- movs r1, 0x80
- lsls r1, 11
- adds r0, r1
- lsrs r0, 16
- mov r8, r0
-_080D3F4E:
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080D3FC6
- mov r1, r8
- lsls r0, r1, 16
- asrs r5, r0, 16
- mov r1, r10
- lsls r0, r1, 16
- asrs r0, 16
- adds r4, r0, 0x3
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- movs r1, 0x82
- lsls r1, 2
- cmp r0, r1
- bne _080D3F7E
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl MapGridSetMetatileIdAt
-_080D3F7E:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, =0x00000281
- cmp r0, r1
- bne _080D3F96
- ldr r2, =0x00000279
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
-_080D3F96:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, =0x00000282
- cmp r0, r1
- bne _080D3FAE
- ldr r2, =0x0000027a
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
-_080D3FAE:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, =0x00000283
- cmp r0, r1
- bne _080D3FC6
- ldr r2, =0x0000027b
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
-_080D3FC6:
- mov r0, sp
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- bne _080D40C0
- mov r0, r8
- lsls r5, r0, 16
- asrs r6, r5, 16
- mov r1, r10
- lsls r4, r1, 16
- asrs r7, r4, 16
- adds r1, r7, 0x2
- adds r0, r6, 0
- bl MapGridGetMetatileIdAt
- mov r9, r4
- cmp r0, 0x15
- bne _080D4056
- adds r4, r7, 0x3
- lsls r1, r4, 16
- asrs r1, 16
- adds r0, r6, 0
- bl sub_80D3D08
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080D4034
- cmp r0, 0x2
- bgt _080D4024
- cmp r0, 0x1
- beq _080D402E
- b _080D4056
- .pool
-_080D4024:
- cmp r0, 0x3
- beq _080D403C
- cmp r0, 0x4
- beq _080D404C
- b _080D4056
-_080D402E:
- movs r2, 0x82
- lsls r2, 2
- b _080D403E
-_080D4034:
- ldr r2, =0x00000281
- b _080D403E
- .pool
-_080D403C:
- ldr r2, =0x00000282
-_080D403E:
- adds r0, r6, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
- b _080D4056
- .pool
-_080D404C:
- ldr r2, =0x00000283
- adds r0, r6, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
-_080D4056:
- asrs r5, 16
- mov r1, r9
- asrs r0, r1, 16
- adds r4, r0, 0x4
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- movs r1, 0x82
- lsls r1, 2
- cmp r0, r1
- bne _080D4078
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl MapGridSetMetatileIdAt
-_080D4078:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, =0x00000281
- cmp r0, r1
- bne _080D4090
- ldr r2, =0x00000279
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
-_080D4090:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, =0x00000282
- cmp r0, r1
- bne _080D40A8
- ldr r2, =0x0000027a
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
-_080D40A8:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, =0x00000283
- cmp r0, r1
- bne _080D40C0
- ldr r2, =0x0000027b
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
-_080D40C0:
- mov r0, sp
- ldrb r0, [r0, 0x2]
- cmp r0, 0x1
- bne _080D414A
- mov r1, r8
- lsls r0, r1, 16
- asrs r5, r0, 16
- mov r1, r10
- lsls r0, r1, 16
- asrs r4, r0, 16
- adds r1, r4, 0x3
- adds r0, r5, 0
- bl MapGridGetMetatileIdAt
- cmp r0, 0x15
- bne _080D414A
- adds r4, 0x4
- lsls r1, r4, 16
- asrs r1, 16
- adds r0, r5, 0
- bl sub_80D3D08
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080D4128
- cmp r0, 0x2
- bgt _080D4118
- cmp r0, 0x1
- beq _080D4122
- b _080D414A
- .pool
-_080D4118:
- cmp r0, 0x3
- beq _080D4130
- cmp r0, 0x4
- beq _080D4140
- b _080D414A
-_080D4122:
- movs r2, 0x82
- lsls r2, 2
- b _080D4132
-_080D4128:
- ldr r2, =0x00000281
- b _080D4132
- .pool
-_080D4130:
- ldr r2, =0x00000282
-_080D4132:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
- b _080D414A
- .pool
-_080D4140:
- ldr r2, =0x00000283
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
-_080D414A:
- 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_80D3EF4
-
- thumb_func_start objc_8097BA8
-objc_8097BA8: @ 80D4160
- movs r2, 0
- movs r1, 0x8
- strh r1, [r0, 0x2E]
- strh r2, [r0, 0x30]
- strh r2, [r0, 0x34]
- ldr r1, =objc_8097BBC
- str r1, [r0, 0x1C]
- bx lr
- .pool
- thumb_func_end objc_8097BA8
-
- thumb_func_start objc_8097BBC
-objc_8097BBC: @ 80D4174
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x8
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x32]
- ldrh r1, [r4, 0x2E]
- adds r1, 0x1
- ldrh r2, [r4, 0x34]
- lsls r0, r2, 16
- asrs r0, 18
- adds r1, r0
- strh r1, [r4, 0x2E]
- adds r2, 0x1
- strh r2, [r4, 0x34]
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0x1C
- beq _080D41C0
- adds r0, r1, 0x1
- strh r0, [r4, 0x30]
- b _080D41C4
-_080D41C0:
- ldr r0, =sub_80D41D0
- str r0, [r4, 0x1C]
-_080D41C4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end objc_8097BBC
-
- thumb_func_start sub_80D41D0
-sub_80D41D0: @ 80D41D0
- push {r4-r6,lr}
- movs r4, 0x1
-_080D41D4:
- ldr r6, =gUnknown_02039DD0
- ldr r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- 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, 0x7
- bls _080D41D4
- ldr r0, [r6]
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x3A
- bl FieldEffectStop
- ldr r0, [r6]
- bl Free
- movs r0, 0
- str r0, [r6]
- bl sub_80984F4
- bl ScriptContext2_Disable
- bl unown_chamber_related
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D422A
- ldr r0, =FarawayIsland_Interior_EventScript_267EDB
- bl ScriptContext1_SetupScript
-_080D422A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D41D0
-
- thumb_func_start sub_80D423C
-sub_80D423C: @ 80D423C
- push {r4,r5,lr}
- lsls r0, 16
- asrs r5, r0, 16
- lsls r1, 16
- asrs r4, r1, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsLongGrass_Duplicate
- lsls r0, 24
- cmp r0, 0
- beq _080D42AE
- adds r4, 0x1
- lsls r1, r4, 16
- asrs r1, 16
- adds r0, r5, 0
- bl sub_80D3D08
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080D428A
- cmp r0, 0x2
- bgt _080D427A
- cmp r0, 0x1
- beq _080D4284
- b _080D42AE
-_080D427A:
- cmp r0, 0x3
- beq _080D4294
- cmp r0, 0x4
- beq _080D42A4
- b _080D42AE
-_080D4284:
- movs r2, 0x82
- lsls r2, 2
- b _080D4296
-_080D428A:
- ldr r2, =0x00000281
- b _080D4296
- .pool
-_080D4294:
- ldr r2, =0x00000282
-_080D4296:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
- b _080D42AE
- .pool
-_080D42A4:
- ldr r2, =0x00000283
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
-_080D42AE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D423C
-
- thumb_func_start sub_80D42B8
-sub_80D42B8: @ 80D42B8
- push {r4,r5,lr}
- lsls r0, 16
- asrs r4, r0, 16
- lsls r1, 16
- asrs r5, r1, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileIdAt
- cmp r0, 0x1
- bne _080D434A
- adds r5, 0x1
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsLongGrassSouthEdge
- lsls r0, 24
- cmp r0, 0
- beq _080D434A
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileIdAt
- adds r1, r0, 0
- ldr r0, =0x00000281
- cmp r1, r0
- beq _080D4328
- cmp r1, r0
- bgt _080D4308
- subs r0, 0x79
- cmp r1, r0
- beq _080D431C
- b _080D434A
- .pool
-_080D4308:
- ldr r0, =0x00000282
- cmp r1, r0
- beq _080D4330
- adds r0, 0x1
- cmp r1, r0
- beq _080D4340
- b _080D434A
- .pool
-_080D431C:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl MapGridSetMetatileIdAt
- b _080D434A
-_080D4328:
- ldr r2, =0x00000279
- b _080D4332
- .pool
-_080D4330:
- ldr r2, =0x0000027a
-_080D4332:
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
- b _080D434A
- .pool
-_080D4340:
- ldr r2, =0x0000027b
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
-_080D434A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D42B8
-
- thumb_func_start sub_80D4354
-sub_80D4354: @ 80D4354
- push {lr}
- movs r0, 0x80
- bl PlaySE
- movs r0, 0x2
- bl FieldEffectActiveListRemove
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_80D4354
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/item.s b/asm/item.s
deleted file mode 100644
index 89177c5d4..000000000
--- a/asm/item.s
+++ /dev/null
@@ -1,1921 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start CheckBagHasSpace
-CheckBagHasSpace: @ 80D6800
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 16
- lsrs r5, r1, 16
- bl ItemId_GetPocket
- lsls r0, 24
- cmp r0, 0
- beq _080D6906
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080D6838
- ldr r0, =0x00004004
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D684C
-_080D6838:
- mov r0, r8
- adds r1, r5, 0
- bl CheckPyramidBagHasSpace
- lsls r0, 24
- lsrs r0, 24
- b _080D6916
- .pool
-_080D684C:
- mov r0, r8
- bl ItemId_GetPocket
- subs r0, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r7, =0x000003e7
- cmp r2, 0x3
- beq _080D6860
- movs r7, 0x63
-_080D6860:
- movs r6, 0
- ldr r1, =gBagPockets
- lsls r4, r2, 3
- adds r0, r4, r1
- mov r9, r4
- ldrb r0, [r0, 0x4]
- cmp r6, r0
- bcs _080D68BC
- subs r0, r2, 0x2
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
-_080D6878:
- adds r0, r4, r1
- ldr r1, [r0]
- lsls r0, r6, 2
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, r8
- bne _080D68AC
- adds r0, r1, 0x2
- str r2, [sp]
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r1, r0, 16
- adds r0, r1, r5
- ldr r2, [sp]
- cmp r0, r7
- ble _080D6914
- mov r0, r10
- cmp r0, 0x1
- bls _080D6906
- subs r0, r7, r1
- subs r0, r5, r0
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _080D6914
-_080D68AC:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gBagPockets
- adds r0, r4, r1
- ldrb r0, [r0, 0x4]
- cmp r6, r0
- bcc _080D6878
-_080D68BC:
- cmp r5, 0
- beq _080D6914
- movs r6, 0
- ldr r3, =gBagPockets
- mov r1, r9
- adds r0, r1, r3
- ldrb r0, [r0, 0x4]
- cmp r6, r0
- bcs _080D6902
- adds r4, r3, 0
- subs r0, r2, 0x2
- lsls r0, 24
- lsrs r2, r0, 24
-_080D68D6:
- adds r0, r1, r4
- ldr r1, [r0]
- lsls r0, r6, 2
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _080D68F2
- cmp r5, r7
- bls _080D6914
- cmp r2, 0x1
- bls _080D6906
- subs r0, r5, r7
- lsls r0, 16
- lsrs r5, r0, 16
-_080D68F2:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- mov r1, r9
- adds r0, r1, r3
- ldrb r0, [r0, 0x4]
- cmp r6, r0
- bcc _080D68D6
-_080D6902:
- cmp r5, 0
- beq _080D6914
-_080D6906:
- movs r0, 0
- b _080D6916
- .pool
-_080D6914:
- movs r0, 0x1
-_080D6916:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end CheckBagHasSpace
-
- thumb_func_start AddBagItem
-@ int AddBagItem(int item_id, int quantity)
-AddBagItem: @ 80D6928
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- lsls r1, 16
- lsrs r5, r1, 16
- bl ItemId_GetPocket
- lsls r0, 24
- cmp r0, 0
- bne _080D694C
- movs r0, 0
- b _080D6A92
-_080D694C:
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080D6964
- ldr r0, =0x00004004
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D6978
-_080D6964:
- mov r0, r9
- adds r1, r5, 0
- bl AddPyramidBagItem
- lsls r0, 24
- lsrs r0, 24
- b _080D6A92
- .pool
-_080D6978:
- mov r0, r9
- bl ItemId_GetPocket
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r1, r0, 3
- ldr r0, =gBagPockets
- adds r7, r1, r0
- ldrb r0, [r7, 0x4]
- lsls r0, 2
- bl AllocZeroed
- mov r8, r0
- ldr r1, [r7]
- ldrb r2, [r7, 0x4]
- lsls r2, 2
- bl memcpy
- ldr r2, =0x000003e7
- mov r0, r10
- cmp r0, 0x3
- beq _080D69AA
- movs r2, 0x63
-_080D69AA:
- movs r6, 0
- ldrb r0, [r7, 0x4]
- cmp r6, r0
- bcs _080D6A06
- mov r0, r10
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
-_080D69BC:
- lsls r0, r6, 2
- mov r3, r8
- adds r1, r0, r3
- ldrh r0, [r1]
- cmp r0, r9
- bne _080D69FA
- adds r4, r1, 0x2
- adds r0, r4, 0
- str r2, [sp, 0x4]
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r0, 16
- adds r1, r0, r5
- ldr r2, [sp, 0x4]
- cmp r1, r2
- ble _080D6A68
- ldr r1, [sp]
- cmp r1, 0x1
- bls _080D6A74
- subs r0, r2, r0
- subs r0, r5, r0
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- adds r1, r2, 0
- bl SetBagItemQuantity
- ldr r2, [sp, 0x4]
- cmp r5, 0
- beq _080D6A7E
-_080D69FA:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r7, 0x4]
- cmp r6, r0
- bcc _080D69BC
-_080D6A06:
- cmp r5, 0
- beq _080D6A7E
- movs r6, 0
- cmp r6, r0
- bcs _080D6A62
- mov r0, r10
- subs r0, 0x2
- lsls r0, 24
- lsrs r4, r0, 24
-_080D6A18:
- lsls r0, r6, 2
- mov r3, r8
- adds r1, r0, r3
- ldrh r0, [r1]
- cmp r0, 0
- bne _080D6A56
- mov r0, r9
- strh r0, [r1]
- cmp r5, r2
- bhi _080D6A40
- adds r0, r1, 0x2
- adds r1, r5, 0
- bl SetBagItemQuantity
- b _080D6A7E
- .pool
-_080D6A40:
- cmp r4, 0x1
- bls _080D6A74
- subs r0, r5, r2
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r1, 0x2
- adds r1, r2, 0
- str r2, [sp, 0x4]
- bl SetBagItemQuantity
- ldr r2, [sp, 0x4]
-_080D6A56:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r1, [r7, 0x4]
- cmp r6, r1
- bcc _080D6A18
-_080D6A62:
- cmp r5, 0
- beq _080D6A7E
- b _080D6A74
-_080D6A68:
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl SetBagItemQuantity
- b _080D6A7E
-_080D6A74:
- mov r0, r8
- bl Free
- movs r0, 0
- b _080D6A92
-_080D6A7E:
- ldr r0, [r7]
- ldrb r2, [r7, 0x4]
- lsls r2, 2
- mov r1, r8
- bl memcpy
- mov r0, r8
- bl Free
- movs r0, 0x1
-_080D6A92:
- 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 AddBagItem
-
- thumb_func_start RemoveBagItem
-@ pokescrcmd
-RemoveBagItem: @ 80D6AA4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 16
- lsrs r7, r1, 16
- movs r4, 0
- bl ItemId_GetPocket
- lsls r0, 24
- cmp r0, 0
- beq _080D6B38
- mov r0, r8
- cmp r0, 0
- beq _080D6B38
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080D6AE0
- ldr r0, =0x00004004
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D6AF4
-_080D6AE0:
- mov r0, r8
- adds r1, r7, 0
- bl RemovePyramidBagItem
- lsls r0, 24
- lsrs r0, 24
- b _080D6C5A
- .pool
-_080D6AF4:
- mov r0, r8
- bl ItemId_GetPocket
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, r0, 3
- ldr r0, =gBagPockets
- adds r5, r1, r0
- movs r6, 0
- ldrb r2, [r5, 0x4]
- cmp r6, r2
- bcs _080D6B34
-_080D6B10:
- ldr r0, [r5]
- lsls r1, r6, 2
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, r8
- bne _080D6B28
- adds r0, r1, 0x2
- bl GetBagItemQuantity
- adds r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
-_080D6B28:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r5, 0x4]
- cmp r6, r0
- bcc _080D6B10
-_080D6B34:
- cmp r4, r7
- bcs _080D6B40
-_080D6B38:
- movs r0, 0
- b _080D6C5A
- .pool
-_080D6B40:
- bl CurrentMapIsSecretBase
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D6B70
- ldr r4, =0x000040ee
- adds r0, r4, 0
- bl VarGet
- adds r1, r0, 0
- movs r2, 0x80
- lsls r2, 2
- adds r0, r2, 0
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl VarSet
- ldr r0, =0x000040ed
- mov r1, r8
- bl VarSet
-_080D6B70:
- mov r0, r9
- bl sub_81ABB2C
- lsls r0, 24
- lsrs r1, r0, 24
- ldrb r0, [r5, 0x4]
- cmp r0, r1
- bls _080D6BE6
- ldr r0, [r5]
- lsls r1, 2
- adds r2, r1, r0
- ldrh r0, [r2]
- adds r4, r1, 0
- cmp r0, r8
- bne _080D6BE6
- adds r0, r2, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r7
- bcc _080D6BB8
- ldr r0, [r5]
- adds r0, r4
- adds r0, 0x2
- subs r1, r7
- lsls r1, 16
- lsrs r1, 16
- bl SetBagItemQuantity
- movs r7, 0
- b _080D6BCA
- .pool
-_080D6BB8:
- subs r0, r7, r1
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, [r5]
- adds r0, r4
- adds r0, 0x2
- movs r1, 0
- bl SetBagItemQuantity
-_080D6BCA:
- ldr r0, [r5]
- adds r0, r4
- adds r0, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- bne _080D6BE2
- ldr r0, [r5]
- adds r0, r4, r0
- strh r2, [r0]
-_080D6BE2:
- cmp r7, 0
- beq _080D6C58
-_080D6BE6:
- movs r6, 0
- ldrb r0, [r5, 0x4]
- cmp r6, r0
- bcs _080D6C58
-_080D6BEE:
- ldr r0, [r5]
- lsls r1, r6, 2
- adds r2, r1, r0
- ldrh r0, [r2]
- adds r4, r1, 0
- cmp r0, r8
- bne _080D6C4C
- adds r0, r2, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r7
- bcc _080D6C1E
- ldr r0, [r5]
- adds r0, r4
- adds r0, 0x2
- subs r1, r7
- lsls r1, 16
- lsrs r1, 16
- bl SetBagItemQuantity
- movs r7, 0
- b _080D6C30
-_080D6C1E:
- subs r0, r7, r1
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, [r5]
- adds r0, r4
- adds r0, 0x2
- movs r1, 0
- bl SetBagItemQuantity
-_080D6C30:
- ldr r0, [r5]
- adds r0, r4
- adds r0, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- bne _080D6C48
- ldr r0, [r5]
- adds r0, r4, r0
- strh r2, [r0]
-_080D6C48:
- cmp r7, 0
- beq _080D6C58
-_080D6C4C:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r2, [r5, 0x4]
- cmp r6, r2
- bcc _080D6BEE
-_080D6C58:
- movs r0, 0x1
-_080D6C5A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end RemoveBagItem
-
- thumb_func_start GetPocketByItemId
-GetPocketByItemId: @ 80D6C68
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl ItemId_GetPocket
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end GetPocketByItemId
-
- thumb_func_start ClearItemSlots
-ClearItemSlots: @ 80D6C7C
- push {r4-r7,lr}
- adds r6, r0, 0
- lsls r1, 24
- movs r4, 0
- lsrs r1, 24
- cmp r4, r1
- bcs _080D6CA6
- adds r5, r1, 0
- movs r7, 0
-_080D6C8E:
- lsls r0, r4, 2
- adds r0, r6
- strh r7, [r0]
- adds r0, 0x2
- movs r1, 0
- bl SetBagItemQuantity
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r5
- bcc _080D6C8E
-_080D6CA6:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end ClearItemSlots
-
- thumb_func_start sub_80D6CAC
-sub_80D6CAC: @ 80D6CAC
- push {lr}
- movs r1, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r3, 0x93
- lsls r3, 3
-_080D6CB8:
- lsls r0, r1, 24
- asrs r1, r0, 24
- lsls r0, r1, 2
- adds r0, r2, r0
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, 0
- bne _080D6CD0
- adds r0, r1, 0
- b _080D6CE0
- .pool
-_080D6CD0:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- asrs r0, 24
- cmp r0, 0x31
- ble _080D6CB8
- movs r0, 0x1
- negs r0, r0
-_080D6CE0:
- pop {r1}
- bx r1
- thumb_func_end sub_80D6CAC
-
- thumb_func_start sub_80D6CE4
-sub_80D6CE4: @ 80D6CE4
- push {r4,lr}
- movs r2, 0
- movs r1, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- movs r4, 0x93
- lsls r4, 3
-_080D6CF2:
- lsls r0, r1, 2
- adds r0, r3, r0
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0
- beq _080D6D04
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_080D6D04:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x31
- bls _080D6CF2
- adds r0, r2, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D6CE4
-
- thumb_func_start CheckPCHasItem
-CheckPCHasItem: @ 80D6D1C
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r5, r1, 16
- movs r4, 0
-_080D6D28:
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- lsls r1, r4, 2
- adds r0, r2, r1
- movs r3, 0x93
- lsls r3, 3
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, r6
- bne _080D6D5C
- adds r0, r1, r2
- ldr r1, =0x0000049a
- adds r0, r1
- bl GetBagItemId
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r5
- bcc _080D6D5C
- movs r0, 0x1
- b _080D6D68
- .pool
-_080D6D5C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x31
- bls _080D6D28
- movs r0, 0
-_080D6D68:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end CheckPCHasItem
-
- thumb_func_start AddPCItem
-AddPCItem: @ 80D6D70
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 16
- lsrs r5, r1, 16
- movs r0, 0xC8
- bl AllocZeroed
- adds r7, r0, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x93
- lsls r0, 3
- adds r1, r0
- adds r0, r7, 0
- movs r2, 0xC8
- bl memcpy
- movs r6, 0
-_080D6D9C:
- lsls r0, r6, 2
- adds r1, r0, r7
- ldrh r0, [r1]
- cmp r0, r8
- bne _080D6DD0
- adds r4, r1, 0x2
- adds r0, r4, 0
- bl GetBagItemId
- lsls r0, 16
- lsrs r2, r0, 16
- adds r1, r2, r5
- ldr r3, =0x000003e7
- cmp r1, r3
- ble _080D6E04
- ldr r1, =0x0000fc19
- adds r0, r5, r1
- adds r0, r2, r0
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- adds r1, r3, 0
- bl SetBagItemId
- cmp r5, 0
- beq _080D6E20
-_080D6DD0:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x31
- bls _080D6D9C
- cmp r5, 0
- beq _080D6E20
- bl sub_80D6CAC
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080D6E10
- adds r0, r7, 0
- bl Free
- movs r0, 0
- b _080D6E3A
- .pool
-_080D6E04:
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl SetBagItemId
- b _080D6E20
-_080D6E10:
- lsls r0, r1, 2
- adds r0, r7
- mov r1, r8
- strh r1, [r0]
- adds r0, 0x2
- adds r1, r5, 0
- bl SetBagItemId
-_080D6E20:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x93
- lsls r1, 3
- adds r0, r1
- adds r1, r7, 0
- movs r2, 0xC8
- bl memcpy
- adds r0, r7, 0
- bl Free
- movs r0, 0x1
-_080D6E3A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end AddPCItem
-
- thumb_func_start sub_80D6E48
-sub_80D6E48: @ 80D6E48
- push {lr}
- lsls r0, 24
- lsls r1, 16
- lsrs r1, 16
- ldr r2, =gSaveBlock1Ptr
- ldr r2, [r2]
- lsrs r0, 22
- adds r3, r2, r0
- ldr r0, =0x0000049a
- adds r2, r3, r0
- ldrh r0, [r2]
- subs r0, r1
- strh r0, [r2]
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _080D6E76
- movs r2, 0x93
- lsls r2, 3
- adds r0, r3, r2
- strh r1, [r0]
- bl sub_80D6E84
-_080D6E76:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D6E48
-
- thumb_func_start sub_80D6E84
-sub_80D6E84: @ 80D6E84
- push {r4-r7,lr}
- movs r2, 0
-_080D6E88:
- adds r1, r2, 0x1
- lsls r0, r1, 16
- lsrs r4, r0, 16
- adds r6, r1, 0
- cmp r4, 0x31
- bhi _080D6ECA
- ldr r0, =gSaveBlock1Ptr
- mov r12, r0
- lsls r5, r2, 2
- movs r7, 0x93
- lsls r7, 3
-_080D6E9E:
- mov r0, r12
- ldr r1, [r0]
- adds r0, r1, r5
- adds r0, r7
- ldrh r0, [r0]
- cmp r0, 0
- bne _080D6EC0
- movs r0, 0x93
- lsls r0, 3
- adds r1, r0
- adds r2, r1, r5
- ldr r3, [r2]
- lsls r0, r4, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2]
- str r3, [r1]
-_080D6EC0:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x31
- bls _080D6E9E
-_080D6ECA:
- lsls r0, r6, 16
- lsrs r2, r0, 16
- cmp r2, 0x30
- bls _080D6E88
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D6E84
-
- thumb_func_start sub_80D6EDC
-sub_80D6EDC: @ 80D6EDC
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00000496
- adds r1, r0, r2
- ldrh r2, [r1]
- ldr r3, =0x00000103
- cmp r2, r3
- beq _080D6F04
- movs r0, 0x88
- lsls r0, 1
- cmp r2, r0
- beq _080D6F0C
- b _080D6F0E
- .pool
-_080D6F04:
- movs r0, 0x88
- lsls r0, 1
- strh r0, [r1]
- b _080D6F0E
-_080D6F0C:
- strh r3, [r1]
-_080D6F0E:
- pop {r0}
- bx r0
- thumb_func_end sub_80D6EDC
-
- thumb_func_start BagGetItemIdByPocketPosition
-@ int BagGetItemIdByPocketPosition(int pocket_id_plus_1, int item_index_in_pocket)
-BagGetItemIdByPocketPosition: @ 80D6F14
- lsls r0, 24
- lsls r1, 16
- ldr r2, =gBagPockets
- lsrs r0, 21
- subs r0, 0x8
- adds r0, r2
- ldr r0, [r0]
- lsrs r1, 14
- adds r1, r0
- ldrh r0, [r1]
- bx lr
- .pool
- thumb_func_end BagGetItemIdByPocketPosition
-
- thumb_func_start BagGetQuantityByPocketPosition
-@ int BagGetQuantityByPocketPosition(int pocket_id_plus_1, int item_index_in_pocket)
-BagGetQuantityByPocketPosition: @ 80D6F30
- push {lr}
- lsls r0, 24
- lsls r1, 16
- ldr r2, =gBagPockets
- lsrs r0, 21
- subs r0, 0x8
- adds r0, r2
- lsrs r1, 14
- ldr r0, [r0]
- adds r0, r1
- adds r0, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .pool
- thumb_func_end BagGetQuantityByPocketPosition
-
- thumb_func_start swap32
-swap32: @ 80D6F58
- ldr r3, [r0]
- ldr r2, [r1]
- str r2, [r0]
- str r3, [r1]
- bx lr
- thumb_func_end swap32
-
- thumb_func_start sub_80D6F64
-sub_80D6F64: @ 80D6F64
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r3, 0
- b _080D6FA6
-_080D6F6C:
- adds r1, r3, 0x1
- lsls r0, r1, 16
- lsrs r4, r0, 16
- adds r7, r1, 0
- cmp r4, r2
- bcs _080D6FA2
- lsls r5, r3, 2
-_080D6F7A:
- ldr r0, [r6]
- adds r0, r5
- adds r0, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- cmp r0, 0
- bne _080D6F96
- ldr r1, [r6]
- adds r0, r1, r5
- lsls r2, r4, 2
- adds r1, r2
- bl swap32
-_080D6F96:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r0, [r6, 0x4]
- cmp r4, r0
- bcc _080D6F7A
-_080D6FA2:
- lsls r0, r7, 16
- lsrs r3, r0, 16
-_080D6FA6:
- ldrb r2, [r6, 0x4]
- subs r0, r2, 0x1
- cmp r3, r0
- blt _080D6F6C
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80D6F64
-
- thumb_func_start sub_80D6FB4
-sub_80D6FB4: @ 80D6FB4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- movs r3, 0
- b _080D701A
-_080D6FC0:
- adds r1, r3, 0x1
- lsls r0, r1, 16
- lsrs r5, r0, 16
- mov r8, r1
- cmp r5, r2
- bcs _080D7014
- lsls r7, r3, 2
-_080D6FCE:
- ldr r0, [r6]
- adds r0, r7
- adds r0, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsls r4, r5, 2
- cmp r0, 0
- beq _080D6FFE
- ldr r0, [r6]
- adds r0, r4
- adds r0, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- cmp r0, 0
- beq _080D7008
- ldr r0, [r6]
- adds r1, r7, r0
- adds r0, r4, r0
- ldrh r1, [r1]
- ldrh r0, [r0]
- cmp r1, r0
- bls _080D7008
-_080D6FFE:
- ldr r1, [r6]
- adds r0, r1, r7
- adds r1, r4
- bl swap32
-_080D7008:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldrb r0, [r6, 0x4]
- cmp r5, r0
- bcc _080D6FCE
-_080D7014:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r3, r0, 16
-_080D701A:
- ldrb r2, [r6, 0x4]
- subs r0, r2, 0x1
- cmp r3, r0
- blt _080D6FC0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80D6FB4
-
- thumb_func_start sub_80D702C
-sub_80D702C: @ 80D702C
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r3, r2, 0
- cmp r1, r3
- beq _080D708C
- lsls r0, r1, 2
- adds r0, r4
- ldr r6, [r0]
- cmp r3, r1
- bls _080D7064
- subs r3, 0x1
- lsls r1, 16
- lsls r0, r3, 16
- asrs r2, r0, 16
- cmp r1, r0
- bge _080D7086
- adds r5, r2, 0
-_080D704E:
- asrs r2, r1, 16
- lsls r0, r2, 2
- adds r0, r4
- ldr r1, [r0, 0x4]
- str r1, [r0]
- adds r2, 0x1
- lsls r1, r2, 16
- asrs r0, r1, 16
- cmp r0, r5
- blt _080D704E
- b _080D7086
-_080D7064:
- lsls r1, 16
- lsls r0, r3, 16
- asrs r2, r0, 16
- cmp r1, r0
- ble _080D7086
- adds r5, r2, 0
-_080D7070:
- asrs r2, r1, 16
- lsls r1, r2, 2
- adds r1, r4
- subs r0, r1, 0x4
- ldr r0, [r0]
- str r0, [r1]
- subs r2, 0x1
- lsls r1, r2, 16
- asrs r0, r1, 16
- cmp r0, r5
- bgt _080D7070
-_080D7086:
- lsls r0, r3, 2
- adds r0, r4
- str r6, [r0]
-_080D708C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D702C
-
- thumb_func_start ClearBag
-ClearBag: @ 80D7094
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =gBagPockets
-_080D709A:
- lsls r1, r4, 3
- adds r1, r5
- ldr r0, [r1]
- ldrb r1, [r1, 0x4]
- bl ClearItemSlots
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _080D709A
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ClearBag
-
- thumb_func_start CountTotalItemQuantityInBag
-@ u16 CountTotalItemQuantityInBag(u16 itemId)
-CountTotalItemQuantityInBag: @ 80D70BC
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- movs r7, 0
- adds r0, r6, 0
- bl ItemId_GetPocket
- lsls r0, 24
- lsrs r0, 21
- ldr r1, =gUnknown_02039DD0
- adds r5, r0, r1
- movs r4, 0
- ldrb r0, [r5, 0x4]
- cmp r7, r0
- bcs _080D70FE
-_080D70DA:
- ldr r0, [r5]
- lsls r1, r4, 2
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, r6
- bne _080D70F2
- adds r0, r1, 0x2
- bl GetBagItemQuantity
- adds r0, r7, r0
- lsls r0, 16
- lsrs r7, r0, 16
-_080D70F2:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r0, [r5, 0x4]
- cmp r4, r0
- bcc _080D70DA
-_080D70FE:
- adds r0, r7, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CountTotalItemQuantityInBag
-
- thumb_func_start CheckPyramidBagHasItem
-CheckPyramidBagHasItem: @ 80D710C
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r1, =0x00000ca9
- adds r0, r3, r1
- ldrb r1, [r0]
- lsls r1, 30
- lsrs r2, r1, 30
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 2
- ldr r2, =0x00000e2c
- adds r0, r2
- adds r2, r3, r0
- lsrs r1, 30
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- ldr r1, =0x00000e54
- adds r0, r1
- adds r3, r0
- movs r1, 0
-_080D7140:
- lsls r0, r1, 1
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, r5
- bne _080D7170
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, r4
- bcs _080D715C
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- bne _080D7170
-_080D715C:
- movs r0, 0x1
- b _080D717C
- .pool
-_080D7170:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x9
- bls _080D7140
- movs r0, 0
-_080D717C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end CheckPyramidBagHasItem
-
- thumb_func_start CheckPyramidBagHasSpace
-CheckPyramidBagHasSpace: @ 80D7184
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r1, =0x00000ca9
- adds r0, r3, r1
- ldrb r1, [r0]
- lsls r1, 30
- lsrs r2, r1, 30
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 2
- ldr r2, =0x00000e2c
- adds r0, r2
- adds r2, r3, r0
- lsrs r1, 30
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- ldr r1, =0x00000e54
- adds r0, r1
- adds r3, r0
- movs r1, 0
-_080D71B8:
- lsls r0, r1, 1
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, r5
- beq _080D71C6
- cmp r0, 0
- bne _080D71F0
-_080D71C6:
- adds r0, r3, r1
- ldrb r0, [r0]
- adds r0, r4
- cmp r0, 0x63
- ble _080D71DA
- subs r0, 0x63
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- bne _080D71F0
-_080D71DA:
- movs r0, 0x1
- b _080D71FC
- .pool
-_080D71F0:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x9
- bls _080D71B8
- movs r0, 0
-_080D71FC:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end CheckPyramidBagHasSpace
-
- thumb_func_start AddPyramidBagItem
-AddPyramidBagItem: @ 80D7204
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- lsrs r7, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r1, =0x00000ca9
- adds r0, r3, r1
- ldrb r1, [r0]
- lsls r1, 30
- lsrs r2, r1, 30
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 2
- ldr r2, =0x00000e2c
- adds r0, r2
- adds r0, r3
- mov r9, r0
- lsrs r1, 30
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- ldr r1, =0x00000e54
- adds r0, r1
- adds r3, r0
- mov r8, r3
- movs r0, 0x14
- bl Alloc
- adds r5, r0, 0
- movs r0, 0xA
- bl Alloc
- adds r6, r0, 0
- adds r0, r5, 0
- mov r1, r9
- movs r2, 0x14
- bl memcpy
- adds r0, r6, 0
- mov r1, r8
- movs r2, 0xA
- bl memcpy
- movs r2, 0
-_080D7266:
- lsls r0, r2, 1
- adds r0, r5
- ldrh r0, [r0]
- cmp r0, r7
- bne _080D72AA
- adds r1, r6, r2
- ldrb r0, [r1]
- cmp r0, 0x62
- bhi _080D72AA
- adds r0, r4
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x63
- bls _080D72A4
- ldrb r0, [r1]
- subs r0, 0x63
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x63
- strb r0, [r1]
- b _080D72A6
- .pool
-_080D72A4:
- movs r4, 0
-_080D72A6:
- cmp r4, 0
- beq _080D7304
-_080D72AA:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x9
- bls _080D7266
- cmp r4, 0
- beq _080D7304
- movs r2, 0
-_080D72BA:
- lsls r0, r2, 1
- adds r1, r0, r5
- ldrh r0, [r1]
- cmp r0, 0
- bne _080D72E6
- strh r7, [r1]
- adds r1, r6, r2
- strb r4, [r1]
- lsls r0, r4, 24
- lsrs r0, 24
- cmp r0, 0x63
- bls _080D72E0
- ldrb r0, [r1]
- subs r0, 0x63
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x63
- strb r0, [r1]
- b _080D72E2
-_080D72E0:
- movs r4, 0
-_080D72E2:
- cmp r4, 0
- beq _080D7304
-_080D72E6:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x9
- bls _080D72BA
- cmp r4, 0
- beq _080D7304
- adds r0, r5, 0
- bl Free
- adds r0, r6, 0
- bl Free
- movs r0, 0
- b _080D7326
-_080D7304:
- mov r0, r9
- adds r1, r5, 0
- movs r2, 0x14
- bl memcpy
- mov r0, r8
- adds r1, r6, 0
- movs r2, 0xA
- bl memcpy
- adds r0, r5, 0
- bl Free
- adds r0, r6, 0
- bl Free
- movs r0, 0x1
-_080D7326:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end AddPyramidBagItem
-
- thumb_func_start RemovePyramidBagItem
-RemovePyramidBagItem: @ 80D7334
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r1, =0x00000ca9
- adds r0, r3, r1
- ldrb r1, [r0]
- lsls r1, 30
- lsrs r2, r1, 30
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 2
- ldr r2, =0x00000e2c
- adds r0, r2
- adds r0, r3
- mov r8, r0
- lsrs r1, 30
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- ldr r1, =0x00000e54
- adds r0, r1
- adds r7, r3, r0
- ldr r1, =gUnknown_0203CF30
- ldrh r0, [r1, 0x8]
- ldrh r1, [r1, 0x6]
- adds r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r0, r2, 1
- mov r1, r8
- adds r3, r0, r1
- ldrh r0, [r3]
- cmp r0, r9
- bne _080D73B4
- adds r1, r7, r2
- ldrb r0, [r1]
- cmp r0, r4
- bcc _080D73B4
- subs r0, r4
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080D744C
- strh r0, [r3]
- b _080D744C
- .pool
-_080D73B4:
- movs r0, 0x14
- bl Alloc
- adds r5, r0, 0
- movs r0, 0xA
- bl Alloc
- adds r6, r0, 0
- adds r0, r5, 0
- mov r1, r8
- movs r2, 0x14
- bl memcpy
- adds r0, r6, 0
- adds r1, r7, 0
- movs r2, 0xA
- bl memcpy
- movs r2, 0
-_080D73DA:
- lsls r0, r2, 1
- adds r3, r0, r5
- ldrh r0, [r3]
- cmp r0, r9
- bne _080D740E
- adds r1, r6, r2
- ldrb r0, [r1]
- cmp r0, r4
- bcc _080D73FC
- subs r0, r4
- strb r0, [r1]
- movs r4, 0
- lsls r0, 24
- cmp r0, 0
- bne _080D740A
- strh r4, [r3]
- b _080D740A
-_080D73FC:
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0
- strb r0, [r1]
- movs r0, 0
- strh r0, [r3]
-_080D740A:
- cmp r4, 0
- beq _080D742C
-_080D740E:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x9
- bls _080D73DA
- cmp r4, 0
- beq _080D742C
- adds r0, r5, 0
- bl Free
- adds r0, r6, 0
- bl Free
- movs r0, 0
- b _080D744E
-_080D742C:
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0x14
- bl memcpy
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0xA
- bl memcpy
- adds r0, r5, 0
- bl Free
- adds r0, r6, 0
- bl Free
-_080D744C:
- movs r0, 0x1
-_080D744E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end RemovePyramidBagItem
-
- thumb_func_start SanitizeItemId
-SanitizeItemId: @ 80D745C
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0xBC
- lsls r0, 1
- cmp r1, r0
- bhi _080D746E
- adds r0, r1, 0
- b _080D7470
-_080D746E:
- movs r0, 0
-_080D7470:
- pop {r1}
- bx r1
- thumb_func_end SanitizeItemId
-
- thumb_func_start ItemId_GetItem
-@ item *ItemId_GetItem(s16 itemId)
-ItemId_GetItem: @ 80D7474
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- ldr r1, =gItems
- adds r0, r1
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetItem
-
- thumb_func_start itemid_get_number
-itemid_get_number: @ 80D7494
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrh r0, [r0, 0xE]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end itemid_get_number
-
- thumb_func_start itemid_get_market_price
-itemid_get_market_price: @ 80D74B8
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrh r0, [r0, 0x10]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end itemid_get_market_price
-
- thumb_func_start ItemId_GetHoldEffect
-ItemId_GetHoldEffect: @ 80D74DC
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x12]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetHoldEffect
-
- thumb_func_start ItemId_GetHoldEffectParam
-ItemId_GetHoldEffectParam: @ 80D7500
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x13]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetHoldEffectParam
-
- thumb_func_start ItemId_GetDescription
-ItemId_GetDescription: @ 80D7524
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r4, 0x14
- adds r0, r4
- ldr r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetDescription
-
- thumb_func_start itemid_is_unique
-itemid_is_unique: @ 80D7548
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x18]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end itemid_is_unique
-
- thumb_func_start itemid_get_x19
-itemid_get_x19: @ 80D756C
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x19]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end itemid_get_x19
-
- thumb_func_start ItemId_GetPocket
-ItemId_GetPocket: @ 80D7590
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x1A]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetPocket
-
- thumb_func_start ItemId_GetType
-ItemId_GetType: @ 80D75B4
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x1B]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetType
-
- thumb_func_start ItemId_GetFieldFunc
-ItemId_GetFieldFunc: @ 80D75D8
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r4, 0x1C
- adds r0, r4
- ldr r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetFieldFunc
-
- thumb_func_start ItemId_GetBattleUsage
-ItemId_GetBattleUsage: @ 80D75FC
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- adds r0, 0x20
- ldrb r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetBattleUsage
-
- thumb_func_start ItemId_GetBattleFunc
-ItemId_GetBattleFunc: @ 80D7620
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r4, 0x24
- adds r0, r4
- ldr r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetBattleFunc
-
- thumb_func_start ItemId_GetSecondaryId
-ItemId_GetSecondaryId: @ 80D7644
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- adds r0, 0x28
- ldrb r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetSecondaryId
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/learn_move.s b/asm/learn_move.s
index 5500f5a58..2bd50789c 100644
--- a/asm/learn_move.s
+++ b/asm/learn_move.s
@@ -1284,7 +1284,7 @@ _081611D4:
ldrb r0, [r0]
cmp r0, 0xFF
bne _08161210
- ldr r0, =gUnknown_0203CE8C
+ ldr r0, =gTempScrollArrowTemplate
adds r2, r0, 0
ldr r1, =gUnknown_085CEBD0
ldm r1!, {r3,r5,r6}
diff --git a/asm/link_rfu.s b/asm/link_rfu.s
index e53685c28..1179b9866 100644
--- a/asm/link_rfu.s
+++ b/asm/link_rfu.s
@@ -856,7 +856,7 @@ sub_8011AFC: @ 8011AFC
bl ResetPaletteFade
ldr r0, =sub_8011AE8
bl SetVBlankCallback
- bl sub_80093CC
+ bl IsWirelessAdapterConnected
lsls r0, 24
cmp r0, 0
beq _08011B70
diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc
index 083107c08..c03d78df7 100644
--- a/asm/macros/battle_script.inc
+++ b/asm/macros/battle_script.inc
@@ -511,7 +511,7 @@
.byte \bank
.endm
- .macro atk5F
+ .macro swapattackerwithtarget
.byte 0x5f
.endm
@@ -525,7 +525,7 @@
.byte \bank
.endm
- .macro atk62 bank
+ .macro hidepartystatussummary bank
.byte 0x62
.byte \bank
.endm
@@ -1163,7 +1163,7 @@
.4byte \param0
.endm
- .macro snatchsetbanks
+ .macro snatchsetbattlers
.byte 0xed
.endm
diff --git a/asm/macros/map.inc b/asm/macros/map.inc
index 5367ad712..23806b4cc 100644
--- a/asm/macros/map.inc
+++ b/asm/macros/map.inc
@@ -1,38 +1,8 @@
- .macro new_map_group
- inc cur_map_group
- .set cur_map_num, 0
+ .macro map map_id
+ .byte \map_id >> 8 @ map group
+ .byte \map_id & 0xFF @ map num
.endm
- .macro map_group map_name
- .set GROUP_\map_name, cur_map_group
- .set MAP_\map_name, cur_map_num
- inc cur_map_num
- .endm
-
- .macro map map_name
- .byte GROUP_\map_name
- .byte MAP_\map_name
- .endm
-
- .macro warp_map map_name
- .byte MAP_\map_name
- .byte GROUP_\map_name
- .endm
-
- .macro heal_location map_name, x, y
- .byte GROUP_\map_name
- .byte MAP_\map_name
- .2byte \x
- .2byte \y
- .space 2
- .endm
-
- .equiv GROUP_NONE, 0x7f
- .equiv MAP_NONE, 0x7f
-
- .equiv GROUP_UNDEFINED, 0xff
- .equiv MAP_UNDEFINED, 0xff
-
.macro map_script type, address
.byte \type
.4byte \address
@@ -44,37 +14,47 @@
.4byte \address
.endm
- .macro object_event index, gfx, replacement, filler1, x, y, elevation, movement_type, radius, filler2, trainer_type, sight_radius_tree_etc, script, event_flag, filler3, filler4
- .byte \index, \gfx, \replacement, \filler1
+ .macro object_event index, gfx, replacement, x, y, elevation, movement_type, x_radius, y_radius, trainer_type, sight_radius_tree_etc, script, event_flag
+ .byte \index, \gfx, \replacement, 0
.2byte \x
.2byte \y
- .byte \elevation, \movement_type, \radius, \filler2
+ .byte \elevation, \movement_type, ((\y_radius << 4) | \x_radius), 0
.2byte \trainer_type, \sight_radius_tree_etc
.4byte \script
.2byte \event_flag
- .byte \filler3, \filler4
+ .2byte 0
inc _num_npcs
.endm
- .macro warp_def x, y, byte, warp, map
+ .macro warp_def x, y, byte, warp, map_id
.2byte \x, \y
.byte \byte, \warp
- warp_map \map
+ .byte \map_id & 0xFF @ map num
+ .byte \map_id >> 8 @ map group
inc _num_warps
.endm
- .macro coord_event x, y, byte1, byte2, word1, word2, word3, script
+ .macro coord_event x, y, elevation, trigger, index, script
.2byte \x, \y
- .byte \byte1, \byte2
- .2byte \word1, \word2, \word3
+ .byte \elevation, 0
+ .2byte \trigger, \index, 0
.4byte \script
inc _num_traps
.endm
- .macro bg_event x, y, byte, kind, word, arg6, arg7, arg8
+ .macro coord_weather_event x, y, elevation, weather
+ .2byte \x, \y
+ .byte \elevation, 0
+ .2byte \weather
+ .2byte 0, 0
+ .4byte 0
+ inc _num_traps
+ .endm
+
+ .macro bg_event x, y, elevation, kind, arg6, arg7, arg8
.2byte \x, \y
- .byte \byte, \kind
- .2byte \word
+ .byte \elevation, \kind
+ .2byte 0
.if \kind < 5
.4byte \arg6
.else
@@ -84,6 +64,14 @@
inc _num_signs
.endm
+ .macro bg_hidden_item_event x, y, height, item, flag
+ bg_event \x, \y, \height, 7, \item, \flag, 0
+ .endm
+
+ .macro bg_secret_base_event x, y, height, secret_base_id
+ bg_event \x, \y, \height, 8, \secret_base_id, 0, 0
+ .endm
+
.macro map_events npcs, warps, traps, signs
.byte _num_npcs, _num_warps, _num_traps, _num_signs
.4byte \npcs, \warps, \traps, \signs
@@ -107,7 +95,7 @@
.equiv connection_dive, 5
.equiv connection_emerge, 6
- .macro connection direction, offset, map, filler
+ .macro connection direction, offset, map
.4byte connection_\direction
.4byte \offset
map \map
diff --git a/asm/macros/movement.inc b/asm/macros/movement.inc
index 5a810c497..99b5c8f84 100644
--- a/asm/macros/movement.inc
+++ b/asm/macros/movement.inc
@@ -1,4 +1,4 @@
- .macro create_movement name
+ .macro create_movement_action name
enum _\name
.macro \name
.byte _\name
@@ -6,118 +6,126 @@
.endm
enum_start
- create_movement step_00
- create_movement step_01
- create_movement step_02
- create_movement step_03
- create_movement slow_step_down
- create_movement slow_step_up
- create_movement slow_step_left
- create_movement slow_step_right
- create_movement step_down
- create_movement step_up
- create_movement step_left
- create_movement step_right
- create_movement fast_step_down
- create_movement fast_step_up
- create_movement fast_step_left
- create_movement fast_step_right
- create_movement step_10
- create_movement step_11
- create_movement step_12
- create_movement step_13
- create_movement step_14
- create_movement step_15
- create_movement step_16
- create_movement step_17
- create_movement step_18
- create_movement step_19
- create_movement step_1a
- create_movement step_1b
- create_movement step_1c
- create_movement step_1d
- create_movement step_1e
- create_movement step_1f
- create_movement step_20
- create_movement step_21
- create_movement step_22
- create_movement step_23
- create_movement step_24
- create_movement step_25
- create_movement step_26
- create_movement step_27
- create_movement step_28
- create_movement step_29
- create_movement step_2a
- create_movement step_2b
- create_movement step_2c
- create_movement step_2d
- create_movement step_2e
- create_movement step_2f
- create_movement step_30
- create_movement step_31
- create_movement step_32
- create_movement step_33
- create_movement step_34
- create_movement step_35
- create_movement step_36
- create_movement step_37
- create_movement step_38
- create_movement step_39
- create_movement step_3a
- create_movement step_3b
- create_movement step_3c
- create_movement step_3d
- create_movement step_3e
- create_movement step_3f
- create_movement step_40
- create_movement step_41
- create_movement step_42
- create_movement step_43
- create_movement step_44
- create_movement step_45
- create_movement step_46
- create_movement step_47
- create_movement step_48
- create_movement step_49
- create_movement step_4a
- create_movement step_4b
- create_movement step_4c
- create_movement step_4d
- create_movement step_4e
- create_movement step_4f
- create_movement step_50
- create_movement step_51
- create_movement step_52
- create_movement step_53
- create_movement step_54
- create_movement step_55
- create_movement step_56
- create_movement step_57
- create_movement step_58
- create_movement step_59
- create_movement step_5a
- create_movement step_5b
- create_movement step_5c
- create_movement step_5d
- create_movement step_5e
- create_movement step_5f
- create_movement step_60
- create_movement step_61
- create_movement step_62
- create_movement step_63
+ create_movement_action face_down
+ create_movement_action face_up
+ create_movement_action face_left
+ create_movement_action face_right
+ create_movement_action walk_slow_down
+ create_movement_action walk_slow_up
+ create_movement_action walk_slow_left
+ create_movement_action walk_slow_right
+ create_movement_action walk_down
+ create_movement_action walk_up
+ create_movement_action walk_left
+ create_movement_action walk_right
+ create_movement_action jump_2_down
+ create_movement_action jump_2_up
+ create_movement_action jump_2_left
+ create_movement_action jump_2_right
+ create_movement_action delay_1
+ create_movement_action delay_2
+ create_movement_action delay_4
+ create_movement_action delay_8
+ create_movement_action delay_16
+ create_movement_action walk_fast_down
+ create_movement_action walk_fast_up
+ create_movement_action walk_fast_left
+ create_movement_action walk_fast_right
+ create_movement_action walk_in_place_slow_down
+ create_movement_action walk_in_place_slow_up
+ create_movement_action walk_in_place_slow_left
+ create_movement_action walk_in_place_slow_right
+ create_movement_action walk_in_place_down
+ create_movement_action walk_in_place_up
+ create_movement_action walk_in_place_left
+ create_movement_action walk_in_place_right
+ create_movement_action walk_in_place_fast_down
+ create_movement_action walk_in_place_fast_up
+ create_movement_action walk_in_place_fast_left
+ create_movement_action walk_in_place_fast_right
+ create_movement_action walk_in_place_fastest_down
+ create_movement_action walk_in_place_fastest_up
+ create_movement_action walk_in_place_fastest_left
+ create_movement_action walk_in_place_fastest_right
+ create_movement_action ride_water_current_down
+ create_movement_action ride_water_current_up
+ create_movement_action ride_water_current_left
+ create_movement_action ride_water_current_right
+ create_movement_action walk_fastest_down
+ create_movement_action walk_fastest_up
+ create_movement_action walk_fastest_left
+ create_movement_action walk_fastest_right
+ create_movement_action slide_down
+ create_movement_action slide_up
+ create_movement_action slide_left
+ create_movement_action slide_right
+ create_movement_action player_run_down
+ create_movement_action player_run_up
+ create_movement_action player_run_left
+ create_movement_action player_run_right
+ create_movement_action start_anim_in_direction
+ create_movement_action jump_special_down
+ create_movement_action jump_special_up
+ create_movement_action jump_special_left
+ create_movement_action jump_special_right
+ create_movement_action face_player
+ create_movement_action face_away_player
+ create_movement_action lock_facing_direction
+ create_movement_action unlock_facing_direction
+ create_movement_action jump_down
+ create_movement_action jump_up
+ create_movement_action jump_left
+ create_movement_action jump_right
+ create_movement_action jump_in_place_down
+ create_movement_action jump_in_place_up
+ create_movement_action jump_in_place_left
+ create_movement_action jump_in_place_right
+ create_movement_action jump_in_place_down_up
+ create_movement_action jump_in_place_up_down
+ create_movement_action jump_in_place_left_right
+ create_movement_action jump_in_place_right_left
+ create_movement_action face_original_direction
+ create_movement_action nurse_joy_bow
+ create_movement_action enable_jump_landing_ground_effect
+ create_movement_action disable_jump_landing_ground_effect
+ create_movement_action disable_anim
+ create_movement_action restore_anim
+ create_movement_action set_invisible
+ create_movement_action set_visible
+ create_movement_action emote_exclamation_mark
+ create_movement_action emote_question_mark
+ create_movement_action emote_heart
+ create_movement_action reveal_trainer
+ create_movement_action rock_smash_break
+ create_movement_action cut_tree
+ create_movement_action set_fixed_priority
+ create_movement_action clear_fixed_priority
+ create_movement_action init_affine_anim
+ create_movement_action clear_affine_anim
+ create_movement_action unknown_movement_1
+ create_movement_action unknown_movement_2
+ create_movement_action walk_down_start_affine
+ create_movement_action walk_down_affine
- enum_start 0x91
- create_movement step_91
- create_movement step_92
- create_movement step_93
- create_movement step_94
- create_movement step_95
- create_movement step_96
- create_movement step_97
- create_movement step_98
- create_movement step_99
- create_movement step_9A
+ enum_start 0x8C
+ create_movement_action walk_diag_northwest
+ create_movement_action walk_diag_northeast
+ create_movement_action walk_diag_southwest
+ create_movement_action walk_diag_southeast
+ create_movement_action walk_slow_diag_northwest
+ create_movement_action walk_slow_diag_northeast
+ create_movement_action walk_slow_diag_southwest
+ create_movement_action walk_slow_diag_southeast
+ create_movement_action store_lock_anim
+ create_movement_action free_unlock_anim
+ create_movement_action walk_left_affine
+ create_movement_action walk_right_affine
+ create_movement_action levitate
+ create_movement_action stop_levitate
+ create_movement_action destroy_extra_task
+ create_movement_action figure_8
+ create_movement_action fly_up
+ create_movement_action fly_down
enum_start 0xfe
- create_movement step_end
+ create_movement_action step_end
diff --git a/asm/map_name_popup.s b/asm/map_name_popup.s
deleted file mode 100644
index 76edd1f1f..000000000
--- a/asm/map_name_popup.s
+++ /dev/null
@@ -1,570 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80D47D4
-sub_80D47D4: @ 80D47D4
- push {lr}
- bl sub_80A0934
- bl ShowMapNamePopup
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_80D47D4
-
- thumb_func_start ShowMapNamePopup
-ShowMapNamePopup: @ 80D47E4
- push {r4,lr}
- movs r0, 0x80
- lsls r0, 7
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080D486C
- ldr r4, =Task_MapNamePopUpWindow
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080D4844
- adds r0, r4, 0
- movs r1, 0x5A
- bl CreateTask
- ldr r4, =gUnknown_02039DD4
- strb r0, [r4]
- movs r0, 0x12
- movs r1, 0x28
- bl SetGpuReg
- ldr r2, =gTasks
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x6
- strh r1, [r0, 0x8]
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x28
- strh r1, [r0, 0xC]
- b _080D486C
- .pool
-_080D4844:
- ldr r3, =gTasks
- ldr r2, =gUnknown_02039DD4
- ldrb r0, [r2]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r3
- movs r4, 0x8
- ldrsh r0, [r1, r4]
- cmp r0, 0x2
- beq _080D485E
- movs r0, 0x2
- strh r0, [r1, 0x8]
-_080D485E:
- ldrb r0, [r2]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r3
- movs r0, 0x1
- strh r0, [r1, 0xE]
-_080D486C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ShowMapNamePopup
-
- thumb_func_start Task_MapNamePopUpWindow
-Task_MapNamePopUpWindow: @ 80D487C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- adds r3, r0, 0
- cmp r1, 0x6
- bhi _080D4966
- lsls r0, r1, 2
- ldr r1, =_080D48A8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080D48A8:
- .4byte _080D48DE
- .4byte _080D4908
- .4byte _080D4920
- .4byte _080D4966
- .4byte _080D494C
- .4byte _080D4960
- .4byte _080D48C4
-_080D48C4:
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1E
- ble _080D4966
- strh r1, [r4, 0x8]
- strh r1, [r4, 0x10]
- bl ShowMapNamePopUpWindow
- b _080D4966
-_080D48DE:
- ldrh r0, [r4, 0xC]
- subs r0, 0x2
- movs r2, 0
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- bgt _080D4966
- strh r2, [r4, 0xC]
- movs r0, 0x1
- strh r0, [r4, 0x8]
- ldr r0, =gUnknown_02039DD4
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r3
- strh r2, [r0, 0xA]
- b _080D4966
- .pool
-_080D4908:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x78
- ble _080D4966
- movs r0, 0
- strh r0, [r4, 0xA]
- movs r0, 0x2
- strh r0, [r4, 0x8]
- b _080D4966
-_080D4920:
- ldrh r0, [r4, 0xC]
- adds r0, 0x2
- movs r1, 0
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x27
- ble _080D4966
- movs r0, 0x28
- strh r0, [r4, 0xC]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080D4946
- movs r0, 0x6
- strh r0, [r4, 0x8]
- strh r1, [r4, 0x10]
- strh r1, [r4, 0xE]
- b _080D4966
-_080D4946:
- movs r0, 0x4
- strh r0, [r4, 0x8]
- b _080D496E
-_080D494C:
- bl GetMapNamePopUpWindowId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_819746C
- movs r0, 0x5
- strh r0, [r4, 0x8]
- b _080D4966
-_080D4960:
- bl HideMapNamePopUpWindow
- b _080D496E
-_080D4966:
- ldrh r1, [r4, 0xC]
- movs r0, 0x12
- bl SetGpuReg
-_080D496E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end Task_MapNamePopUpWindow
-
- thumb_func_start HideMapNamePopUpWindow
-HideMapNamePopUpWindow: @ 80D4974
- push {lr}
- ldr r0, =Task_MapNamePopUpWindow
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _080D49A4
- bl GetMapNamePopUpWindowId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_819746C
- bl RemoveMapNamePopUpWindow
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg_ForcedBlank
- ldr r0, =gUnknown_02039DD4
- ldrb r0, [r0]
- bl DestroyTask
-_080D49A4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end HideMapNamePopUpWindow
-
- thumb_func_start ShowMapNamePopUpWindow
-ShowMapNamePopUpWindow: @ 80D49B0
- push {r4,r5,lr}
- sub sp, 0x24
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _080D4A08
- ldr r0, =gMapHeader
- ldrh r1, [r0, 0x12]
- movs r0, 0xBD
- lsls r0, 1
- cmp r1, r0
- bne _080D49DC
- mov r4, sp
- adds r4, 0xF
- ldr r0, =gUnknown_0857F544
- ldr r1, [r0, 0x1C]
- b _080D49F2
- .pool
-_080D49DC:
- mov r4, sp
- adds r4, 0xF
- ldr r1, =gUnknown_0857F544
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000cb2
- adds r0, r2
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
-_080D49F2:
- adds r0, r4, 0
- bl StringCopy
- b _080D4A18
- .pool
-_080D4A08:
- mov r4, sp
- adds r4, 0xF
- ldr r0, =gMapHeader
- ldrb r1, [r0, 0x14]
- adds r0, r4, 0
- movs r2, 0
- bl GetMapName
-_080D4A18:
- bl AddMapNamePopUpWindow
- bl LoadMapNamePopUpWindowBg
- movs r0, 0x7
- adds r1, r4, 0
- movs r2, 0x50
- bl GetStringCenterAlignXOffset
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- add r1, sp, 0xC
- movs r5, 0
- movs r0, 0xFC
- strb r0, [r1]
- movs r0, 0x2
- strb r0, [r1, 0x1]
- adds r0, r1, 0
- strb r5, [r0, 0x2]
- bl GetMapNamePopUpWindowId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x7
- add r2, sp, 0xC
- adds r3, r4, 0
- bl PrintTextOnWindow
- bl GetMapNamePopUpWindowId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0x24
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ShowMapNamePopUpWindow
-
- thumb_func_start sub_80D4A78
-sub_80D4A78: @ 80D4A78
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r4, [sp, 0x3C]
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x10]
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0x14]
- movs r5, 0
- lsls r0, r1, 24
- asrs r1, r0, 24
- lsrs r3, r2, 24
- str r3, [sp, 0xC]
- movs r6, 0xFF
- lsls r6, 24
- adds r6, r2
- mov r8, r6
- str r0, [sp, 0x18]
- subs r4, r1, 0x1
-_080D4AB4:
- ldr r0, =0x0000021d
- adds r1, r5, r0
- lsls r1, 16
- lsrs r1, 16
- lsls r2, r4, 24
- lsrs r2, 24
- movs r3, 0x1
- str r3, [sp]
- str r3, [sp, 0x4]
- movs r6, 0xE
- mov r9, r6
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r6, r8
- lsrs r3, r6, 24
- bl FillBgTilemapBufferRect
- adds r4, 0x1
- adds r5, 0x1
- cmp r5, 0xB
- ble _080D4AB4
- ldr r1, =0x00000229
- movs r0, 0x1
- negs r0, r0
- add r0, r10
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r5, 0x1
- str r5, [sp]
- str r5, [sp, 0x4]
- mov r2, r9
- str r2, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r8
- ldr r3, [sp, 0xC]
- bl FillBgTilemapBufferRect
- ldr r1, =0x0000022a
- ldr r6, [sp, 0x10]
- add r6, r10
- lsls r6, 24
- lsrs r6, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- mov r3, r9
- str r3, [sp, 0x8]
- adds r0, r7, 0
- adds r2, r6, 0
- ldr r3, [sp, 0xC]
- bl FillBgTilemapBufferRect
- ldr r1, =0x0000022b
- ldr r4, [sp, 0xC]
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- mov r0, r9
- str r0, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r8
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- movs r1, 0x8B
- lsls r1, 2
- str r5, [sp]
- str r5, [sp, 0x4]
- mov r2, r9
- str r2, [sp, 0x8]
- adds r0, r7, 0
- adds r2, r6, 0
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- ldr r1, =0x0000022d
- ldr r4, [sp, 0xC]
- adds r4, 0x2
- lsls r4, 24
- lsrs r4, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- mov r3, r9
- str r3, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r8
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- ldr r1, =0x0000022e
- str r5, [sp]
- str r5, [sp, 0x4]
- mov r0, r9
- str r0, [sp, 0x8]
- adds r0, r7, 0
- adds r2, r6, 0
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- movs r5, 0
- ldr r1, [sp, 0xC]
- ldr r2, [sp, 0x14]
- adds r0, r1, r2
- lsls r4, r0, 24
- movs r6, 0x1
-_080D4B8A:
- ldr r3, =0x0000022f
- adds r1, r5, r3
- lsls r1, 16
- lsrs r1, 16
- subs r0, r5, 0x1
- ldr r3, [sp, 0x18]
- asrs r2, r3, 24
- adds r2, r0
- lsls r2, 24
- lsrs r2, 24
- str r6, [sp]
- str r6, [sp, 0x4]
- movs r0, 0xE
- str r0, [sp, 0x8]
- adds r0, r7, 0
- lsrs r3, r4, 24
- bl FillBgTilemapBufferRect
- adds r5, 0x1
- cmp r5, 0xB
- ble _080D4B8A
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D4A78
-
- thumb_func_start LoadMapNamePopUpWindowBg
-LoadMapNamePopUpWindowBg: @ 80D4BE0
- push {r4,r5,lr}
- sub sp, 0x8
- bl GetMapNamePopUpWindowId
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gMapHeader
- ldrb r1, [r0, 0x14]
- cmp r1, 0x57
- bls _080D4C0A
- cmp r1, 0xC4
- bls _080D4C08
- adds r0, r1, 0
- subs r0, 0x6D
- lsls r0, 16
- lsrs r1, r0, 16
- b _080D4C0A
- .pool
-_080D4C08:
- movs r1, 0
-_080D4C0A:
- ldr r0, =gUnknown_0857F464
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r0, r5, 0
- movs r1, 0
- bl GetWindowAttribute
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r4, 4
- subs r1, r4
- lsls r1, 6
- ldr r2, =gMapPopUp_Outline_Table
- adds r1, r2
- movs r2, 0x80
- lsls r2, 3
- ldr r3, =0x0000021d
- bl LoadBgTiles
- ldr r1, =sub_80D4A78
- adds r0, r5, 0
- bl CallWindowFunction
- adds r0, r5, 0
- bl PutWindowTilemap
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x16]
- cmp r0, 0xE
- bne _080D4C6C
- ldr r0, =gUnknown_0857F444
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- b _080D4C7A
- .pool
-_080D4C6C:
- lsls r0, r4, 5
- ldr r1, =gMapPopUp_Palette_Table
- adds r0, r1
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
-_080D4C7A:
- lsls r1, r4, 4
- subs r1, r4
- lsls r1, 6
- ldr r0, =gMapPopUp_Table
- adds r1, r0
- movs r0, 0x50
- str r0, [sp]
- movs r0, 0x18
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0
- bl BlitBitmapToWindow
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end LoadMapNamePopUpWindowBg
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/map_obj_lock.s b/asm/map_obj_lock.s
deleted file mode 100644
index 97abc7fec..000000000
--- a/asm/map_obj_lock.s
+++ /dev/null
@@ -1,474 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start walkrun_is_standing_still
-walkrun_is_standing_still: @ 8098388
- push {lr}
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x3]
- cmp r0, 0x1
- beq _0809839C
- movs r0, 0x1
- b _0809839E
- .pool
-_0809839C:
- movs r0, 0
-_0809839E:
- pop {r1}
- bx r1
- thumb_func_end walkrun_is_standing_still
-
- thumb_func_start sub_80983A4
-sub_80983A4: @ 80983A4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl walkrun_is_standing_still
- lsls r0, 24
- cmp r0, 0
- beq _080983BE
- bl sub_808B864
- adds r0, r4, 0
- bl DestroyTask
-_080983BE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80983A4
-
- thumb_func_start sub_80983C4
-sub_80983C4: @ 80983C4
- push {lr}
- ldr r0, =sub_80983A4
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080983E0
- bl sub_808BCF4
- movs r0, 0x1
- b _080983E2
- .pool
-_080983E0:
- movs r0, 0
-_080983E2:
- pop {r1}
- bx r1
- thumb_func_end sub_80983C4
-
- thumb_func_start ScriptFreezeMapObjects
-ScriptFreezeMapObjects: @ 80983E8
- push {lr}
- bl FreezeMapObjects
- ldr r0, =sub_80983A4
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end ScriptFreezeMapObjects
-
- thumb_func_start sub_8098400
-sub_8098400: @ 8098400
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0809842A
- bl walkrun_is_standing_still
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bne _0809842A
- bl sub_808B864
- strh r4, [r5, 0x8]
-_0809842A:
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08098452
- ldr r2, =gMapObjects
- ldr r0, =gSelectedMapObject
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- ldrb r0, [r1]
- lsls r0, 30
- cmp r0, 0
- blt _08098452
- adds r0, r1, 0
- bl FreezeMapObject
- movs r0, 0x1
- strh r0, [r5, 0xA]
-_08098452:
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08098468
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08098468
- adds r0, r6, 0
- bl DestroyTask
-_08098468:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8098400
-
- thumb_func_start sub_809847C
-sub_809847C: @ 809847C
- push {lr}
- ldr r0, =sub_8098400
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _08098498
- bl sub_808BCF4
- movs r0, 0x1
- b _0809849A
- .pool
-_08098498:
- movs r0, 0
-_0809849A:
- pop {r1}
- bx r1
- thumb_func_end sub_809847C
-
- thumb_func_start LockSelectedMapObject
-LockSelectedMapObject: @ 80984A0
- push {r4,r5,lr}
- ldr r4, =gSelectedMapObject
- ldrb r0, [r4]
- bl FreezeMapObjectsExceptOne
- ldr r0, =sub_8098400
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, =gMapObjects
- ldrb r1, [r4]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- ldrb r0, [r1]
- lsls r0, 30
- cmp r0, 0
- blt _080984DE
- adds r0, r1, 0
- bl FreezeMapObject
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0xA]
-_080984DE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end LockSelectedMapObject
-
- thumb_func_start sub_80984F4
-sub_80984F4: @ 80984F4
- push {lr}
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimFinished
- bl sub_80D338C
- bl UnfreezeMapObjects
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80984F4
-
- thumb_func_start sub_8098524
-sub_8098524: @ 8098524
- push {r4,lr}
- ldr r4, =gMapObjects
- ldr r0, =gSelectedMapObject
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r4
- ldrb r0, [r1]
- lsls r0, 31
- cmp r0, 0
- beq _08098542
- adds r0, r1, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
-_08098542:
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl FieldObjectClearAnimIfSpecialAnimFinished
- bl sub_80D338C
- bl UnfreezeMapObjects
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8098524
-
- thumb_func_start sub_8098574
-sub_8098574: @ 8098574
- push {lr}
- ldr r0, =gSelectedMapObject
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- ldr r1, =gSpecialVar_Facing
- ldrb r1, [r1]
- bl FieldObjectFaceOppositeDirection
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8098574
-
- thumb_func_start sub_809859C
-sub_809859C: @ 809859C
- push {lr}
- ldr r0, =gSelectedMapObject
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimActive
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809859C
-
- thumb_func_start sub_80985BC
-sub_80985BC: @ 80985BC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- ldrb r7, [r5, 0xC]
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080985E8
- bl walkrun_is_standing_still
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bne _080985E8
- bl sub_808B864
- strh r4, [r5, 0x8]
-_080985E8:
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0809860C
- ldr r0, =gMapObjects
- lsls r1, r7, 3
- adds r1, r7
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 30
- cmp r0, 0
- blt _0809860C
- adds r0, r1, 0
- bl FreezeMapObject
- movs r0, 0x1
- strh r0, [r5, 0xA]
-_0809860C:
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08098622
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08098622
- adds r0, r6, 0
- bl DestroyTask
-_08098622:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80985BC
-
- thumb_func_start sub_8098630
-sub_8098630: @ 8098630
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r0, 0
- bl GetChosenApproachingTrainerMapObjectId
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gNoOfApproachingTrainers
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080986E0
- movs r0, 0x1
- bl GetChosenApproachingTrainerMapObjectId
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8098074
- ldr r7, =sub_80985BC
- adds r0, r7, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gTasks
- mov r9, r0
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- mov r1, r9
- adds r6, r0, r1
- strh r4, [r6, 0xC]
- ldr r2, =gMapObjects
- mov r8, r2
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r1, r0, r2
- ldrb r0, [r1]
- lsls r0, 30
- cmp r0, 0
- blt _0809869A
- adds r0, r1, 0
- bl FreezeMapObject
- movs r0, 0x1
- strh r0, [r6, 0xA]
-_0809869A:
- adds r0, r7, 0
- movs r1, 0x51
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- mov r1, r9
- adds r4, r0, r1
- strh r5, [r4, 0xC]
- lsls r0, r5, 3
- adds r0, r5
- lsls r0, 2
- mov r2, r8
- adds r1, r0, r2
- ldrb r0, [r1]
- lsls r0, 30
- cmp r0, 0
- blt _0809871A
- adds r0, r1, 0
- bl FreezeMapObject
- movs r0, 0x1
- strh r0, [r4, 0xA]
- b _0809871A
- .pool
-_080986E0:
- adds r0, r4, 0
- bl FreezeMapObjectsExceptOne
- ldr r0, =sub_80985BC
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r5, r0, r1
- strh r4, [r5, 0xC]
- ldr r1, =gMapObjects
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r1, r0, r1
- ldrb r0, [r1]
- lsls r0, 30
- cmp r0, 0
- blt _0809871A
- adds r0, r1, 0
- bl FreezeMapObject
- movs r0, 0x1
- strh r0, [r5, 0xA]
-_0809871A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8098630
-
- thumb_func_start sub_8098734
-sub_8098734: @ 8098734
- push {lr}
- ldr r0, =sub_80985BC
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _08098750
- bl sub_808BCF4
- movs r0, 0x1
- b _08098752
- .pool
-_08098750:
- movs r0, 0
-_08098752:
- pop {r1}
- bx r1
- thumb_func_end sub_8098734
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/mauville_old_man.s b/asm/mauville_old_man.s
deleted file mode 100644
index af4764d76..000000000
--- a/asm/mauville_old_man.s
+++ /dev/null
@@ -1,2519 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81200A0
-sub_81200A0: @ 81200A0
- push {r4,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r1, =0x00002e28
- adds r0, r2, r1
- movs r1, 0
- strb r1, [r0]
- ldr r3, =0x00002e51
- adds r0, r2, r3
- strb r1, [r0]
- ldr r0, =gGameLanguage
- ldrb r1, [r0]
- adds r3, 0x1
- adds r0, r2, r3
- strb r1, [r0]
- movs r3, 0
- ldr r0, =0x00002e2a
- adds r2, r0
- ldr r4, =gUnknown_0859EFE4
-_081200C6:
- lsls r0, r3, 1
- adds r1, r2, r0
- adds r0, r4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x5
- bls _081200C6
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81200A0
-
- thumb_func_start sub_81200F8
-sub_81200F8: @ 81200F8
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =0x00002e28
- adds r1, r0
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1]
- strb r2, [r1, 0x1]
- ldr r0, =gGameLanguage
- ldrb r0, [r0]
- strb r0, [r1, 0x2]
- bx lr
- .pool
- thumb_func_end sub_81200F8
-
- thumb_func_start sub_812011C
-sub_812011C: @ 812011C
- push {lr}
- bl sub_8120E08
- pop {r0}
- bx r0
- thumb_func_end sub_812011C
-
- thumb_func_start sub_8120128
-sub_8120128: @ 8120128
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =0x00002e28
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0x4
- strb r0, [r2]
- strb r3, [r2, 0x1]
- ldr r0, =gGameLanguage
- ldrb r0, [r0]
- ldr r2, =0x00002e48
- adds r1, r2
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8120128
-
- thumb_func_start sub_8120154
-sub_8120154: @ 8120154
- push {lr}
- bl sub_81339F8
- pop {r0}
- bx r0
- thumb_func_end sub_8120154
-
- thumb_func_start SetMauvilleOldMan
-SetMauvilleOldMan: @ 8120160
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0xB]
- lsls r1, 8
- ldrb r0, [r0, 0xA]
- orrs r0, r1
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 17
- cmp r0, 0x4
- bhi _081201C0
- lsls r0, 2
- ldr r1, =_08120190
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08120190:
- .4byte _081201A4
- .4byte _081201AA
- .4byte _081201B0
- .4byte _081201B6
- .4byte _081201BC
-_081201A4:
- bl sub_81200A0
- b _081201C0
-_081201AA:
- bl sub_81200F8
- b _081201C0
-_081201B0:
- bl sub_8120154
- b _081201C0
-_081201B6:
- bl sub_812011C
- b _081201C0
-_081201BC:
- bl sub_8120128
-_081201C0:
- bl sub_8120B5C
- pop {r0}
- bx r0
- thumb_func_end SetMauvilleOldMan
-
- thumb_func_start sub_81201C8
-sub_81201C8: @ 81201C8
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e28
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_81201C8
-
- thumb_func_start sub_81201DC
-sub_81201DC: @ 81201DC
- push {r4,lr}
- ldr r4, =gSpecialVar_Result
- bl sub_81201C8
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81201DC
-
- thumb_func_start sub_81201F4
-sub_81201F4: @ 81201F4
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00002e51
- adds r0, r2
- ldrb r0, [r0]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81201F4
-
- thumb_func_start sub_8120210
-sub_8120210: @ 8120210
- push {r4-r6,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r4, [r0]
- ldr r0, =0x00002e28
- adds r6, r4, r0
- ldr r1, =0x00002e42
- adds r0, r4, r1
- ldr r5, =gSaveBlock2Ptr
- ldr r1, [r5]
- bl StringCopy
- movs r2, 0
- ldr r0, =0x00002e4d
- adds r4, r0
-_0812022C:
- adds r1, r4, r2
- ldr r0, [r5]
- adds r0, 0xA
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x3
- bls _0812022C
- movs r2, 0
- adds r5, r6, 0
- adds r5, 0x29
- adds r3, r6, 0x2
- adds r4, r6, 0
- adds r4, 0xE
-_0812024E:
- lsls r0, r2, 1
- adds r1, r3, r0
- adds r0, r4, r0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x5
- bls _0812024E
- movs r0, 0x1
- strb r0, [r5]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120210
-
- thumb_func_start sub_8120280
-sub_8120280: @ 8120280
- push {r4-r7,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- ldr r2, =0x00002e36
- adds r5, r1, r2
- cmp r0, 0
- bne _08120296
- ldr r0, =0x00002e2a
- adds r5, r1, r0
-_08120296:
- ldr r2, =gStringVar4
- adds r4, r2, 0
- movs r6, 0
-_0812029C:
- ldrh r1, [r5]
- adds r5, 0x2
- adds r0, r2, 0
- bl CopyEasyChatWord
- adds r2, r0, 0
- adds r7, r6, 0x1
- cmp r2, r4
- beq _081202BE
- movs r1, 0x37
-_081202B0:
- ldrb r0, [r4]
- cmp r0, 0
- bne _081202B8
- strb r1, [r4]
-_081202B8:
- adds r4, 0x1
- cmp r2, r4
- bne _081202B0
-_081202BE:
- adds r4, 0x1
- movs r0, 0
- strb r0, [r2]
- adds r2, 0x1
- ldrh r1, [r5]
- adds r5, 0x2
- adds r0, r2, 0
- bl CopyEasyChatWord
- adds r2, r0, 0
- cmp r2, r4
- beq _081202E6
- movs r1, 0x37
-_081202D8:
- ldrb r0, [r4]
- cmp r0, 0
- bne _081202E0
- strb r1, [r4]
-_081202E0:
- adds r4, 0x1
- cmp r2, r4
- bne _081202D8
-_081202E6:
- adds r4, 0x1
- movs r0, 0xFE
- strb r0, [r2]
- adds r2, 0x1
- ldrh r1, [r5]
- adds r5, 0x2
- adds r0, r2, 0
- bl CopyEasyChatWord
- adds r2, r0, 0
- cmp r2, r4
- beq _0812030E
- movs r1, 0x37
-_08120300:
- ldrb r0, [r4]
- cmp r0, 0
- bne _08120308
- strb r1, [r4]
-_08120308:
- adds r4, 0x1
- cmp r2, r4
- bne _08120300
-_0812030E:
- cmp r6, 0
- bne _0812031E
- movs r0, 0xFC
- strb r0, [r2]
- adds r2, 0x1
- movs r0, 0xF
- strb r0, [r2]
- adds r2, 0x1
-_0812031E:
- lsls r0, r7, 16
- lsrs r6, r0, 16
- cmp r6, 0x1
- bls _0812029C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120280
-
- thumb_func_start sub_8120340
-sub_8120340: @ 8120340
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrb r0, [r0]
- bl sub_81206C0
- bl ScriptContext1_Stop
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120340
-
- thumb_func_start sub_8120358
-sub_8120358: @ 8120358
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00002e28
- adds r0, r2
- ldrb r0, [r0, 0x1]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8120358
-
- thumb_func_start sub_8120374
-sub_8120374: @ 8120374
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e28
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0, 0x1]
- bx lr
- .pool
- thumb_func_end sub_8120374
-
- thumb_func_start sub_812038C
-sub_812038C: @ 812038C
- push {lr}
- bl sub_811F01C
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _081203AC
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- b _081203B6
- .pool
-_081203AC:
- ldr r0, =gStringVar1
- bl CopyEasyChatWord
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
-_081203B6:
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812038C
-
- thumb_func_start sub_81203C4
-sub_81203C4: @ 81203C4
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e28
- adds r2, r0, r1
- ldrb r0, [r2, 0x1]
- cmp r0, 0xA
- bne _081203EC
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- strb r0, [r2, 0x1]
- b _081203F2
- .pool
-_081203EC:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
-_081203F2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81203C4
-
- thumb_func_start sub_81203FC
-sub_81203FC: @ 81203FC
- push {r4-r6,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r4, [r0]
- ldr r0, =0x00002e28
- adds r5, r4, r0
- ldrb r0, [r5, 0x1]
- cmp r0, 0
- bne _08120410
- bl sub_81204DC
-_08120410:
- ldrb r0, [r5, 0x1]
- lsls r0, 1
- ldr r1, =0x00002e2c
- adds r6, r4, r1
- adds r0, r6, r0
- ldrh r1, [r0]
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _08120480
- bl Random
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0x7
- ands r4, r0
- ldr r0, =gStringVar4
- ldrb r1, [r5, 0x1]
- lsls r1, 1
- adds r1, r6, r1
- ldrh r1, [r1]
- bl CopyEasyChatWord
- adds r2, r0, 0
- ldr r1, =gUnknown_082942FD
- bl StringCopy
- adds r2, r0, 0
- ldr r0, =gUnknown_0859EFF0
- lsls r4, 2
- adds r4, r0
- ldr r1, [r4]
- adds r0, r2, 0
- bl StringCopy
- adds r2, r0, 0
- ldr r1, =gUnknown_08294301
- bl StringCopy
- b _081204A2
- .pool
-_08120480:
- ldr r0, =gStringVar4
- ldr r3, =gUnknown_0859F010
- ldrb r2, [r5, 0x2]
- adds r1, r2, 0x1
- strb r1, [r5, 0x2]
- lsls r2, 24
- lsrs r2, 24
- movs r6, 0xB9
- lsls r6, 6
- adds r1, r4, r6
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl StringCopy
-_081204A2:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- bne _081204C4
- movs r0, 0xA
- b _081204C8
- .pool
-_081204C4:
- ldrb r0, [r5, 0x1]
- adds r0, 0x1
-_081204C8:
- strb r0, [r5, 0x1]
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81203FC
-
- thumb_func_start sub_81204DC
-sub_81204DC: @ 81204DC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r0, =gSaveBlock1Ptr
- ldr r4, [r0]
- ldr r0, =0x00002e28
- adds r0, r4, r0
- str r0, [sp, 0x18]
- ldr r1, =gUnknown_0859F030
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- movs r5, 0
- movs r1, 0x2
- add r1, sp
- mov r8, r1
- movs r2, 0xB9
- lsls r2, 6
- adds r3, r4, r2
- adds r1, r3, 0
-_0812050C:
- adds r0, r3, r5
- strb r5, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x7
- bls _0812050C
- movs r5, 0
- ldr r3, [sp, 0x18]
- adds r3, 0x4
- mov r9, r3
- adds r6, r1, 0
-_08120524:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r4, r5, 0x1
- adds r1, r4, 0
- bl __modsi3
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, r6, r5
- ldrb r7, [r2]
- adds r1, r6, r1
- ldrb r0, [r1]
- strb r0, [r2]
- strb r7, [r1]
- lsls r4, 16
- lsrs r5, r4, 16
- cmp r5, 0x7
- bls _08120524
- movs r0, 0
- mov r10, r0
- movs r5, 0
-_08120552:
- lsls r4, r5, 2
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- bl start_menu_is_selected_item_valid
- add r4, r8
- strh r0, [r4]
- add r0, r10
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _08120552
- movs r0, 0
- ldr r2, [sp, 0x18]
- strb r0, [r2, 0x2]
- movs r7, 0
- movs r5, 0
-_0812057E:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x2
- bhi _081205BC
- cmp r7, 0x7
- bhi _081205BC
- lsls r0, r5, 1
- add r0, r9
- ldr r1, =0x0000ffff
- strh r1, [r0]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- adds r4, r5, 0x1
- b _0812060E
- .pool
-_081205BC:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- mov r1, r10
- bl __umodsi3
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0
- adds r4, r5, 0x1
- lsls r6, r5, 1
- cmp r5, 0x5
- bhi _081205F8
- mov r3, r8
- ldrh r0, [r3]
- b _081205EE
-_081205DE:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r5, 0x5
- bhi _081205F8
- lsls r0, r1, 2
- adds r0, r3, r0
- ldrh r0, [r0]
-_081205EE:
- subs r0, r2, r0
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r0, 0
- bgt _081205DE
-_081205F8:
- cmp r1, 0x6
- bne _081205FE
- movs r1, 0
-_081205FE:
- lsls r0, r1, 2
- add r0, sp
- ldrh r0, [r0]
- bl sub_811EE90
- mov r2, r9
- adds r1, r2, r6
- strh r0, [r1]
-_0812060E:
- lsls r0, r4, 16
- lsrs r5, r0, 16
- cmp r5, 0x9
- bls _0812057E
- 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_81204DC
-
- thumb_func_start sub_8120628
-sub_8120628: @ 8120628
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e51
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_8120628
-
- thumb_func_start sub_8120640
-sub_8120640: @ 8120640
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e28
- adds r0, r1
- movs r1, 0
- strb r1, [r0, 0x1]
- bx lr
- .pool
- thumb_func_end sub_8120640
-
- thumb_func_start sub_8120658
-sub_8120658: @ 8120658
- push {lr}
- bl sub_8133A60
- pop {r0}
- bx r0
- thumb_func_end sub_8120658
-
- thumb_func_start sub_8120664
-sub_8120664: @ 8120664
- push {lr}
- bl sub_8120E50
- pop {r0}
- bx r0
- thumb_func_end sub_8120664
-
- thumb_func_start sub_8120670
-sub_8120670: @ 8120670
- push {lr}
- bl sub_81201C8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _081206B6
- lsls r0, 2
- ldr r1, =_0812068C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0812068C:
- .4byte _081206A0
- .4byte _081206A6
- .4byte _081206B2
- .4byte _081206AC
- .4byte _081206B6
-_081206A0:
- bl sub_8120628
- b _081206B6
-_081206A6:
- bl sub_8120640
- b _081206B6
-_081206AC:
- bl sub_8120664
- b _081206B6
-_081206B2:
- bl sub_8120658
-_081206B6:
- bl sub_8120B5C
- pop {r0}
- bx r0
- thumb_func_end sub_8120670
-
- thumb_func_start sub_81206C0
-sub_81206C0: @ 81206C0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =sub_8120944
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x12]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81206C0
-
- thumb_func_start sub_81206F0
-sub_81206F0: @ 81206F0
- ldr r1, =gUnknown_03002F84
- movs r0, 0
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81206F0
-
- thumb_func_start sub_81206FC
-sub_81206FC: @ 81206FC
- ldr r1, =gUnknown_03002F84
- movs r0, 0x1
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81206FC
-
- thumb_func_start sub_8120708
-sub_8120708: @ 8120708
- push {r4,r5,lr}
- sub sp, 0xC
- adds r5, r0, 0
- movs r0, 0
- movs r1, 0
- bl NewMenuHelpers_DrawDialogueFrame
- movs r4, 0x1
- str r4, [sp]
- str r4, [sp, 0x4]
- ldr r0, =sub_81206FC
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0
- bl PrintTextOnWindow
- ldr r0, =gUnknown_03002F84
- strb r4, [r0]
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120708
-
- thumb_func_start sub_8120748
-sub_8120748: @ 8120748
- push {r4-r6,lr}
- adds r6, r1, 0
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0x5
- bls _08120756
- b _08120938
-_08120756:
- lsls r0, 2
- ldr r1, =_08120764
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08120764:
- .4byte _0812077C
- .4byte _08120938
- .4byte _081207BC
- .4byte _081207F8
- .4byte _081207F8
- .4byte _08120938
-_0812077C:
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- ldr r3, =0x00002e36
- adds r1, r2, r3
- cmp r0, 0
- bne _08120790
- ldr r0, =0x00002e2a
- adds r1, r2, r0
-_08120790:
- adds r2, r1, 0
- adds r1, r6, 0
- adds r1, 0xC
- movs r3, 0x5
-_08120798:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _08120798
- movs r0, 0
- strb r0, [r6]
- b _08120938
- .pool
-_081207BC:
- ldrb r1, [r6]
- lsls r1, 1
- adds r0, r6, 0
- adds r0, 0xC
- adds r0, r1
- ldrh r4, [r0]
- adds r0, r4, 0
- bl GetWordSounds
- str r0, [r6, 0x30]
- movs r1, 0x3
- ands r1, r4
- lsrs r4, 3
- movs r0, 0x1
- ands r4, r0
- adds r1, r4
- adds r0, r6, 0
- bl GetWordPhonemes
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- ldr r0, [r6, 0x30]
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _081207F4
- movs r0, 0
- b _08120936
-_081207F4:
- movs r0, 0x3
- b _0812091A
-_081207F8:
- ldrb r3, [r6, 0x1]
- lsls r1, r3, 3
- ldr r0, [r6, 0x30]
- adds r2, r0, r1
- ldrb r1, [r6, 0x3]
- cmp r1, 0x1
- beq _081208A0
- cmp r1, 0x1
- bgt _08120810
- cmp r1, 0
- beq _0812081C
- b _08120938
-_08120810:
- cmp r1, 0x2
- beq _08120850
- cmp r1, 0x3
- bne _0812081A
- b _08120922
-_0812081A:
- b _08120938
-_0812081C:
- lsls r0, r3, 2
- adds r0, r6, r0
- ldrh r0, [r0, 0x18]
- strb r0, [r6, 0x2]
- ldrb r0, [r2]
- cmp r0, 0x32
- bhi _08120844
- movs r1, 0x3
- bl __udivsi3
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 1
- adds r0, r1
- movs r1, 0x8C
- lsls r1, 2
- adds r0, r1
- bl m4aSongNumStart
-_08120844:
- movs r0, 0x2
- strb r0, [r6, 0x3]
- ldrb r0, [r6, 0x2]
- subs r0, 0x1
- strb r0, [r6, 0x2]
- b _08120938
-_08120850:
- movs r0, 0x1
- strb r0, [r6, 0x3]
- ldrb r0, [r2]
- cmp r0, 0x32
- bhi _08120938
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- lsls r0, 4
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- strh r0, [r6, 0x6]
- ldr r4, =gMPlayInfo_SE2
- ldr r5, =0x0000ffff
- ldrh r2, [r6, 0x6]
- adds r0, r4, 0
- adds r1, r5, 0
- bl m4aMPlayVolumeControl
- ldrb r1, [r6, 0x1]
- lsls r1, 2
- adds r1, r6, r1
- movs r2, 0x80
- lsls r2, 2
- adds r0, r2, 0
- ldrh r1, [r1, 0x1A]
- adds r0, r1
- strh r0, [r6, 0x8]
- movs r3, 0x8
- ldrsh r2, [r6, r3]
- adds r0, r4, 0
- adds r1, r5, 0
- bl m4aMPlayPitchControl
- b _08120938
- .pool
-_081208A0:
- ldrh r2, [r6, 0xA]
- movs r3, 0xA
- ldrsh r0, [r6, r3]
- cmp r0, 0xA
- ble _081208B0
- ldrh r0, [r6, 0x6]
- subs r0, 0x2
- strh r0, [r6, 0x6]
-_081208B0:
- ands r1, r2
- cmp r1, 0
- beq _081208BC
- ldrh r0, [r6, 0x8]
- adds r0, 0x40
- b _081208C0
-_081208BC:
- ldrh r0, [r6, 0x8]
- subs r0, 0x40
-_081208C0:
- strh r0, [r6, 0x8]
- ldr r4, =gMPlayInfo_SE2
- ldr r5, =0x0000ffff
- ldrh r2, [r6, 0x6]
- adds r0, r4, 0
- adds r1, r5, 0
- bl m4aMPlayVolumeControl
- movs r0, 0x8
- ldrsh r2, [r6, r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl m4aMPlayPitchControl
- ldrh r0, [r6, 0xA]
- adds r0, 0x1
- strh r0, [r6, 0xA]
- ldrb r0, [r6, 0x2]
- subs r0, 0x1
- strb r0, [r6, 0x2]
- lsls r0, 24
- cmp r0, 0
- bne _08120938
- ldrb r0, [r6, 0x1]
- adds r0, 0x1
- strb r0, [r6, 0x1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- beq _08120918
- ldrb r0, [r6, 0x1]
- ldr r1, [r6, 0x30]
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _08120918
- movs r0, 0
- b _08120936
- .pool
-_08120918:
- movs r0, 0x3
-_0812091A:
- strb r0, [r6, 0x3]
- movs r0, 0x2
- strb r0, [r6, 0x2]
- b _08120938
-_08120922:
- ldrb r0, [r6, 0x2]
- subs r0, 0x1
- strb r0, [r6, 0x2]
- lsls r0, 24
- cmp r0, 0
- bne _08120938
- ldr r0, =gMPlayInfo_SE2
- bl m4aMPlayStop
- movs r0, 0x4
-_08120936:
- strb r0, [r6, 0x3]
-_08120938:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120748
-
- thumb_func_start sub_8120944
-sub_8120944: @ 8120944
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- ldr r1, =gUnknown_03006130
- adds r0, r5, 0
- bl sub_8120748
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x5
- bls _08120966
- b _08120B50
-_08120966:
- lsls r0, 2
- ldr r1, =_0812097C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0812097C:
- .4byte _08120994
- .4byte _081209B8
- .4byte _081209C8
- .4byte _08120A7E
- .4byte _08120B40
- .4byte _08120A6E
-_08120994:
- bl sub_8120280
- ldr r0, =gStringVar4
- bl sub_8120708
- movs r0, 0
- strh r0, [r5, 0xA]
- strh r0, [r5, 0xC]
- strh r0, [r5, 0xE]
- strh r0, [r5, 0x10]
- movs r0, 0x4
- bl FadeOutBGMTemporarily
- movs r0, 0x1
- b _08120B4E
- .pool
-_081209B8:
- bl IsBGMPausedOrStopped
- lsls r0, 24
- cmp r0, 0
- bne _081209C4
- b _08120B50
-_081209C4:
- movs r0, 0x2
- b _08120B4E
-_081209C8:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00002e28
- adds r4, r0, r2
- movs r0, 0xE
- ldrsh r1, [r5, r0]
- ldr r0, =gStringVar4
- adds r1, r0
- movs r3, 0
- ldrb r0, [r1]
- ldr r7, =gUnknown_03006130
- ldrh r2, [r5, 0x12]
- ldr r6, =gUnknown_0203A128
- b _08120A02
- .pool
-_081209F8:
- adds r1, 0x1
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- ldrb r0, [r1]
-_08120A02:
- cmp r0, 0
- beq _08120A12
- cmp r0, 0xFE
- beq _08120A12
- cmp r0, 0xFC
- beq _08120A12
- cmp r0, 0xFF
- bne _081209F8
-_08120A12:
- cmp r2, 0
- bne _08120A20
- movs r2, 0x10
- ldrsh r1, [r5, r2]
- lsls r1, 1
- adds r0, r4, 0x2
- b _08120A2A
-_08120A20:
- movs r0, 0x10
- ldrsh r1, [r5, r0]
- lsls r1, 1
- adds r0, r4, 0
- adds r0, 0xE
-_08120A2A:
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x3
- ands r1, r0
- lsrs r0, 3
- movs r2, 0x1
- ands r0, r2
- adds r1, r0
- strh r1, [r6]
- movs r1, 0x4
- ldrsh r0, [r7, r1]
- adds r1, r3, 0
- bl __divsi3
- movs r1, 0
- strh r0, [r7, 0x4]
- lsls r0, 16
- cmp r0, 0
- bgt _08120A54
- movs r0, 0x1
- strh r0, [r7, 0x4]
-_08120A54:
- ldrh r0, [r5, 0x10]
- adds r0, 0x1
- strh r0, [r5, 0x10]
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bne _08120A66
- movs r0, 0x3
- b _08120A68
-_08120A66:
- movs r0, 0x5
-_08120A68:
- strh r0, [r5, 0x8]
- strh r1, [r5, 0xA]
- b _08120B50
-_08120A6E:
- ldrh r1, [r5, 0xC]
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _08120B4C
- subs r0, r1, 0x1
- strh r0, [r5, 0xC]
- b _08120B50
-_08120A7E:
- ldr r1, =gStringVar4
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- adds r0, r1
- ldrb r4, [r0]
- cmp r4, 0xFF
- bne _08120AB0
- movs r0, 0x6
- bl FadeInBGM
- ldr r0, =gMPlayInfo_SE2
- movs r1, 0x2
- bl m4aMPlayFadeOutTemporarily
- bl EnableBothScriptContexts
- adds r0, r6, 0
- bl DestroyTask
- b _08120B50
- .pool
-_08120AB0:
- cmp r4, 0
- bne _08120AC6
- bl sub_81206F0
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- strh r0, [r5, 0xE]
- movs r0, 0x2
- strh r0, [r5, 0x8]
- strh r4, [r5, 0xC]
- b _08120B50
-_08120AC6:
- cmp r4, 0xFE
- bne _08120ADA
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r5, 0xE]
- movs r0, 0x2
- strh r0, [r5, 0x8]
- strh r1, [r5, 0xC]
- b _08120B50
-_08120ADA:
- cmp r4, 0xFC
- bne _08120AEE
- ldrh r0, [r5, 0xE]
- adds r0, 0x2
- strh r0, [r5, 0xE]
- movs r0, 0x2
- strh r0, [r5, 0x8]
- movs r0, 0x8
- strh r0, [r5, 0xC]
- b _08120B50
-_08120AEE:
- cmp r4, 0x37
- bne _08120B04
- movs r4, 0
- strb r4, [r0]
- bl sub_81206F0
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- strh r0, [r5, 0xE]
- strh r4, [r5, 0xC]
- b _08120B50
-_08120B04:
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _08120B20
- cmp r0, 0x1
- bgt _08120B16
- cmp r0, 0
- beq _08120B1C
- b _08120B50
-_08120B16:
- cmp r0, 0x2
- beq _08120B28
- b _08120B50
-_08120B1C:
- bl sub_81206F0
-_08120B20:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- b _08120B50
-_08120B28:
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r5, 0xE]
- strh r1, [r5, 0xA]
- ldr r0, =gUnknown_03006130
- ldrh r0, [r0, 0x4]
- strh r0, [r5, 0xC]
- movs r0, 0x4
- b _08120B4E
- .pool
-_08120B40:
- ldrh r0, [r5, 0xC]
- subs r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _08120B50
-_08120B4C:
- movs r0, 0x3
-_08120B4E:
- strh r0, [r5, 0x8]
-_08120B50:
- bl sub_8197224
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8120944
-
- thumb_func_start sub_8120B5C
-sub_8120B5C: @ 8120B5C
- push {lr}
- ldr r0, =0x00004010
- movs r1, 0x45
- bl VarSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120B5C
-
- thumb_func_start sub_8120B70
-sub_8120B70: @ 8120B70
- push {r4-r7,lr}
- sub sp, 0x8
- ldrb r1, [r0]
- cmp r1, 0x2
- beq _08120B80
- cmp r1, 0x3
- beq _08120BA6
- b _08120C00
-_08120B80:
- adds r5, r0, 0
- movs r4, 0
-_08120B84:
- adds r0, r5, 0
- adds r0, 0x32
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08120B9E
- movs r0, 0xB
- muls r0, r4
- adds r0, 0x5
- adds r0, r5, r0
- movs r1, 0x1
- bl ConvertInternationalString
-_08120B9E:
- adds r4, 0x1
- cmp r4, 0x3
- ble _08120B84
- b _08120C00
-_08120BA6:
- adds r6, r0, 0
- movs r4, 0
- mov r7, sp
- adds r5, r6, 0
- adds r5, 0x8
-_08120BB0:
- adds r0, r6, 0x4
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _08120BF8
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0x7
- bl memcpy
- movs r0, 0xFF
- strb r0, [r7, 0x7]
- mov r0, sp
- bl IsStringJapanese
- cmp r0, 0
- beq _08120BF8
- mov r0, sp
- movs r1, 0
- movs r2, 0x8
- bl memset
- mov r0, sp
- ldr r1, =gText_Friend
- bl StringCopy
- adds r0, r5, 0
- mov r1, sp
- movs r2, 0x7
- bl memcpy
- adds r0, r6, 0
- adds r0, 0x34
- adds r0, r4
- movs r1, 0x2
- strb r1, [r0]
-_08120BF8:
- adds r5, 0x7
- adds r4, 0x1
- cmp r4, 0x3
- ble _08120BB0
-_08120C00:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120B70
-
- thumb_func_start sub_8120C0C
-sub_8120C0C: @ 8120C0C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- mov r8, r1
- adds r7, r2, 0
- ldrb r0, [r5]
- cmp r0, 0x4
- bhi _08120CC4
- lsls r0, 2
- ldr r1, =_08120C2C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08120C2C:
- .4byte _08120C92
- .4byte _08120CA2
- .4byte _08120C40
- .4byte _08120C6A
- .4byte _08120CB0
-_08120C40:
- adds r6, r5, 0
- movs r5, 0
- adds r4, r6, 0
- adds r4, 0x32
-_08120C48:
- movs r0, 0xB
- muls r0, r5
- adds r0, 0x5
- adds r0, r6, r0
- bl IsStringJapanese
- cmp r0, 0
- beq _08120C5E
- mov r0, r8
- strb r0, [r4]
- b _08120C60
-_08120C5E:
- strb r7, [r4]
-_08120C60:
- adds r4, 0x1
- adds r5, 0x1
- cmp r5, 0x3
- ble _08120C48
- b _08120CC4
-_08120C6A:
- adds r4, r5, 0
- adds r4, 0x34
- adds r6, r5, 0
- adds r6, 0x8
- movs r5, 0x3
-_08120C74:
- adds r0, r6, 0
- bl IsStringJapanese
- cmp r0, 0
- beq _08120C84
- mov r1, r8
- strb r1, [r4]
- b _08120C86
-_08120C84:
- strb r7, [r4]
-_08120C86:
- adds r4, 0x1
- adds r6, 0x7
- subs r5, 0x1
- cmp r5, 0
- bge _08120C74
- b _08120CC4
-_08120C92:
- cmp r3, 0x1
- bne _08120C9C
- adds r0, r5, 0
- adds r0, 0x2A
- b _08120CB8
-_08120C9C:
- adds r0, r5, 0
- adds r0, 0x2A
- b _08120CC2
-_08120CA2:
- cmp r3, 0x1
- bne _08120CAC
- mov r0, r8
- strb r0, [r5, 0x2]
- b _08120CC4
-_08120CAC:
- strb r7, [r5, 0x2]
- b _08120CC4
-_08120CB0:
- cmp r3, 0x1
- bne _08120CBE
- adds r0, r5, 0
- adds r0, 0x20
-_08120CB8:
- mov r1, r8
- strb r1, [r0]
- b _08120CC4
-_08120CBE:
- adds r0, r5, 0
- adds r0, 0x20
-_08120CC2:
- strb r7, [r0]
-_08120CC4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8120C0C
-
- thumb_func_start sub_8120CD0
-sub_8120CD0: @ 8120CD0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r1, r0, 0
- ldrb r0, [r1]
- cmp r0, 0x3
- bne _08120D28
- cmp r2, 0x1
- bne _08120D28
- adds r7, r1, 0
- movs r6, 0
- mov r8, sp
- adds r4, r7, 0
- adds r4, 0x34
- adds r5, r7, 0
- adds r5, 0x8
-_08120CF2:
- adds r0, r7, 0x4
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0
- beq _08120D1E
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0x7
- bl memcpy
- movs r0, 0xFF
- mov r1, r8
- strb r0, [r1, 0x7]
- mov r0, sp
- bl IsStringJapanese
- cmp r0, 0
- beq _08120D1A
- movs r0, 0x1
- b _08120D1C
-_08120D1A:
- movs r0, 0x2
-_08120D1C:
- strb r0, [r4]
-_08120D1E:
- adds r4, 0x1
- adds r5, 0x7
- adds r6, 0x1
- cmp r6, 0x3
- ble _08120CF2
-_08120D28:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8120CD0
-
- thumb_func_start sub_8120D34
-sub_8120D34: @ 8120D34
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r6, r2, 0
- movs r2, 0
- subs r1, 0x1
- cmp r1, 0x1
- bhi _08120D44
- movs r2, 0x1
-_08120D44:
- ldrb r0, [r3]
- cmp r0, 0x4
- bhi _08120E02
- lsls r0, 2
- ldr r1, =_08120D58
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08120D58:
- .4byte _08120DE6
- .4byte _08120DF0
- .4byte _08120D6C
- .4byte _08120DC6
- .4byte _08120DF8
-_08120D6C:
- adds r7, r3, 0
- cmp r2, 0
- beq _08120DA4
- movs r5, 0
- adds r4, r3, 0
- adds r4, 0x32
-_08120D78:
- movs r0, 0xB
- muls r0, r5
- adds r0, 0x5
- adds r1, r7, r0
- ldrb r0, [r1]
- cmp r0, 0xFC
- bne _08120D98
- ldrb r0, [r1, 0x1]
- cmp r0, 0x15
- bne _08120D98
- adds r0, r1, 0
- bl StripExtCtrlCodes
- movs r0, 0x1
- strb r0, [r4]
- b _08120D9A
-_08120D98:
- strb r6, [r4]
-_08120D9A:
- adds r4, 0x1
- adds r5, 0x1
- cmp r5, 0x3
- ble _08120D78
- b _08120E02
-_08120DA4:
- movs r5, 0
- adds r4, r3, 0
- adds r4, 0x32
-_08120DAA:
- adds r0, r4, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08120DBE
- movs r0, 0xB
- muls r0, r5
- adds r0, 0x5
- adds r0, r7, r0
- bl StripExtCtrlCodes
-_08120DBE:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08120DAA
- b _08120E02
-_08120DC6:
- cmp r2, 0
- beq _08120E02
- movs r1, 0
- adds r4, r3, 0x4
- adds r2, r3, 0
- adds r2, 0x34
-_08120DD2:
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08120DDE
- adds r0, r2, r1
- strb r6, [r0]
-_08120DDE:
- adds r1, 0x1
- cmp r1, 0x3
- ble _08120DD2
- b _08120E02
-_08120DE6:
- cmp r2, 0
- beq _08120E02
- adds r0, r3, 0
- adds r0, 0x2A
- b _08120E00
-_08120DF0:
- cmp r2, 0
- beq _08120E02
- strb r6, [r3, 0x2]
- b _08120E02
-_08120DF8:
- cmp r2, 0
- beq _08120E02
- adds r0, r3, 0
- adds r0, 0x20
-_08120E00:
- strb r6, [r0]
-_08120E02:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8120D34
-
- thumb_func_start sub_8120E08
-sub_8120E08: @ 8120E08
- push {r4,r5,lr}
- ldr r2, =gUnknown_0203A12C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e28
- adds r0, r1
- str r0, [r2]
- movs r3, 0
- movs r1, 0x3
- strb r1, [r0]
- ldr r0, [r2]
- strb r3, [r0, 0x1]
- movs r5, 0
- movs r4, 0xFF
-_08120E24:
- ldr r0, [r2]
- adds r0, 0x4
- adds r0, r3
- strb r5, [r0]
- ldr r1, [r2]
- adds r1, 0x8
- adds r1, r3
- ldrb r0, [r1]
- orrs r0, r4
- strb r0, [r1]
- adds r3, 0x1
- cmp r3, 0x3
- ble _08120E24
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120E08
-
- thumb_func_start sub_8120E50
-sub_8120E50: @ 8120E50
- ldr r3, =gUnknown_0203A12C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e28
- adds r0, r1
- str r0, [r3]
- movs r2, 0
- movs r1, 0x3
- strb r1, [r0]
- ldr r0, [r3]
- strb r2, [r0, 0x1]
- bx lr
- .pool
- thumb_func_end sub_8120E50
-
- thumb_func_start sub_8120E74
-sub_8120E74: @ 8120E74
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x32
- bne _08120E80
- movs r0, 0
-_08120E80:
- bl GetGameStat
- pop {r1}
- bx r1
- thumb_func_end sub_8120E74
-
- thumb_func_start sub_8120E88
-sub_8120E88: @ 8120E88
- push {lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r1, =gUnknown_0859F048
-_08120E90:
- ldrb r0, [r1]
- cmp r0, r3
- bne _08120EA0
- adds r0, r1, 0
- b _08120EAA
- .pool
-_08120EA0:
- adds r1, 0x10
- adds r2, 0x1
- cmp r2, 0x23
- ble _08120E90
- ldr r0, =gUnknown_0859F278
-_08120EAA:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8120E88
-
- thumb_func_start sub_8120EB4
-sub_8120EB4: @ 8120EB4
- push {lr}
- bl sub_8120E88
- ldr r0, [r0, 0x4]
- pop {r1}
- bx r1
- thumb_func_end sub_8120EB4
-
- thumb_func_start sub_8120EC0
-sub_8120EC0: @ 8120EC0
- push {lr}
- bl sub_8120E88
- ldr r0, [r0, 0xC]
- pop {r1}
- bx r1
- thumb_func_end sub_8120EC0
-
- thumb_func_start sub_8120ECC
-sub_8120ECC: @ 8120ECC
- push {lr}
- bl sub_8120E88
- ldr r0, [r0, 0x8]
- pop {r1}
- bx r1
- thumb_func_end sub_8120ECC
-
- thumb_func_start sub_8120ED8
-sub_8120ED8: @ 8120ED8
- push {lr}
- movs r1, 0
- ldr r2, =gUnknown_0203A12C
- ldr r0, [r2]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08120EFC
-_08120EE6:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bhi _08120EFC
- ldr r0, [r2]
- adds r0, 0x4
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08120EE6
-_08120EFC:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8120ED8
-
- thumb_func_start sub_8120F08
-sub_8120F08: @ 8120F08
- ldr r1, =gUnknown_0203A12C
- lsls r0, 2
- adds r0, 0x24
- ldr r2, [r1]
- adds r2, r0
- ldrb r0, [r2]
- ldrb r1, [r2, 0x1]
- lsls r1, 8
- orrs r0, r1
- ldrb r1, [r2, 0x2]
- lsls r1, 16
- orrs r0, r1
- ldrb r1, [r2, 0x3]
- lsls r1, 24
- orrs r0, r1
- bx lr
- .pool
- thumb_func_end sub_8120F08
-
- thumb_func_start sub_8120F2C
-sub_8120F2C: @ 8120F2C
- ldr r2, =gUnknown_0203A12C
- lsls r0, 2
- adds r0, 0x24
- ldr r2, [r2]
- adds r2, r0
- strb r1, [r2]
- lsrs r0, r1, 8
- strb r0, [r2, 0x1]
- lsrs r0, r1, 16
- strb r0, [r2, 0x2]
- lsrs r1, 24
- strb r1, [r2, 0x3]
- bx lr
- .pool
- thumb_func_end sub_8120F2C
-
- thumb_func_start sub_8120F4C
-sub_8120F4C: @ 8120F4C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gUnknown_0203A12C
- ldr r0, [r0]
- adds r0, 0x4
- adds r0, r5
- ldrb r0, [r0]
- bl sub_8120E74
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_8120F08
- cmp r4, r0
- bhi _08120F74
- movs r0, 0
- b _08120F76
- .pool
-_08120F74:
- movs r0, 0x1
-_08120F76:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8120F4C
-
- thumb_func_start sub_8120F7C
-sub_8120F7C: @ 8120F7C
- push {r4,r5,lr}
- adds r5, r1, 0
- ldr r2, =gUnknown_0203A12C
- lsls r1, r0, 3
- subs r1, r0
- adds r1, 0x8
- ldr r4, [r2]
- adds r4, r1
- adds r0, r5, 0
- movs r1, 0xFF
- movs r2, 0x8
- bl memset
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x7
- bl memcpy
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120F7C
-
- thumb_func_start sub_8120FAC
-sub_8120FAC: @ 8120FAC
- push {r4,r5,lr}
- adds r5, r1, 0
- ldr r2, =gUnknown_0203A12C
- lsls r1, r0, 3
- subs r1, r0
- adds r1, 0x8
- ldr r4, [r2]
- adds r4, r1
- adds r0, r4, 0
- movs r1, 0xFF
- movs r2, 0x7
- bl memset
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x7
- bl memcpy
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120FAC
-
- thumb_func_start sub_8120FDC
-sub_8120FDC: @ 8120FDC
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- mov r8, r0
- adds r6, r1, 0
- ldr r0, =gUnknown_0203A12C
- mov r9, r0
- ldr r0, [r0]
- adds r0, 0x4
- add r0, r8
- strb r6, [r0]
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- mov r0, r8
- bl sub_8120FAC
- lsls r4, r6, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_8120E74
- adds r1, r0, 0
- mov r0, r8
- bl sub_8120F2C
- ldr r5, =gStringVar1
- adds r0, r4, 0
- bl sub_8120E74
- adds r1, r0, 0
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0xA
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar2
- adds r0, r6, 0
- bl sub_8120ECC
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- mov r1, r9
- ldr r0, [r1]
- adds r0, 0x34
- add r0, r8
- ldr r1, =gGameLanguage
- ldrb r1, [r1]
- strb r1, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120FDC
-
- thumb_func_start sub_8121064
-sub_8121064: @ 8121064
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r6, r1, 0
- movs r5, 0
- cmp r5, r6
- bge _0812107A
-_08121070:
- adds r0, r7, r5
- strb r5, [r0]
- adds r5, 0x1
- cmp r5, r6
- blt _08121070
-_0812107A:
- cmp r6, 0
- ble _081210B0
- adds r5, r6, 0
-_08121080:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl __modsi3
- adds r4, r0, 0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl __modsi3
- adds r4, r7, r4
- ldrb r2, [r4]
- adds r0, r7, r0
- ldrb r1, [r0]
- strb r1, [r4]
- strb r2, [r0]
- subs r5, 0x1
- cmp r5, 0
- bne _08121080
-_081210B0:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8121064
-
- thumb_func_start sub_81210B8
-sub_81210B8: @ 81210B8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r7, sp
- mov r8, sp
- ldr r0, =gUnknown_0859F288
- ldr r0, [r0]
- lsls r0, 3
- lsrs r0, 3
- adds r0, 0x3
- lsrs r0, 2
- lsls r0, 2
- mov r1, sp
- subs r1, r0
- mov sp, r1
- mov r9, sp
- mov r0, sp
- movs r1, 0x24
- bl sub_8121064
- movs r5, 0
-_081210E4:
- ldr r1, =gUnknown_0859F048
- mov r2, r9
- adds r0, r2, r5
- ldrb r0, [r0]
- lsls r0, 4
- adds r0, r1
- ldrb r4, [r0]
- ldrb r6, [r0, 0x1]
- movs r1, 0
- ldr r2, =gUnknown_0203A12C
- ldr r0, [r2]
- ldrb r0, [r0, 0x4]
- cmp r0, r4
- beq _08121112
-_08121100:
- adds r1, 0x1
- cmp r1, 0x3
- bgt _08121112
- ldr r0, [r2]
- adds r0, 0x4
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, r4
- bne _08121100
-_08121112:
- cmp r1, 0x4
- bne _08121162
- adds r0, r4, 0
- bl sub_8120E74
- cmp r0, r6
- bcc _08121162
- ldr r0, =gUnknown_0203A12C
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- bl sub_8120ED8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _08121150
- ldr r0, =gUnknown_03001178
- ldrb r0, [r0]
- adds r1, r4, 0
- bl sub_8120FDC
- b _0812115E
- .pool
-_08121150:
- bl sub_8120ED8
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- bl sub_8120FDC
-_0812115E:
- movs r0, 0x1
- b _0812116A
-_08121162:
- adds r5, 0x1
- cmp r5, 0x23
- ble _081210E4
- movs r0, 0
-_0812116A:
- mov sp, r8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81210B8
-
- thumb_func_start sub_8121178
-sub_8121178: @ 8121178
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- ldr r6, =gUnknown_0203A12C
- ldr r0, [r6]
- adds r0, 0x4
- adds r0, r5
- ldrb r0, [r0]
- mov r8, r0
- ldr r4, =gStringVar1
- adds r0, r5, 0
- bl sub_8120F08
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0xA
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar2
- mov r0, r8
- bl sub_8120ECC
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldr r4, =gStringVar3
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8120F7C
- ldr r0, [r6]
- adds r0, 0x34
- adds r0, r5
- ldrb r1, [r0]
- adds r0, r4, 0
- bl ConvertInternationalString
- mov r0, r8
- bl sub_8120EC0
- bl ShowFieldMessage
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8121178
-
- thumb_func_start sub_81211EC
-sub_81211EC: @ 81211EC
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r1, =gText_Exit
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- adds r5, r0, 0
- movs r4, 0
- ldr r0, =gUnknown_0203A12C
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08121230
-_08121208:
- bl sub_8120EB4
- adds r1, r0, 0
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- cmp r0, r5
- ble _0812121C
- adds r5, r0, 0
-_0812121C:
- adds r4, 0x1
- cmp r4, 0x3
- bgt _08121230
- ldr r0, =gUnknown_0203A12C
- ldr r0, [r0]
- adds r0, 0x4
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08121208
-_08121230:
- adds r0, r5, 0
- bl convert_pixel_width_to_tile_width
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8120ED8
- adds r3, r0, 0
- lsls r3, 25
- movs r0, 0x80
- lsls r0, 18
- adds r3, r0
- lsrs r3, 24
- movs r0, 0
- movs r1, 0
- adds r2, r4, 0
- bl CreateWindowFromRect
- ldr r1, =gUnknown_0203A130
- strb r0, [r1]
- ldrb r0, [r1]
- movs r1, 0
- bl SetStandardWindowBorderStyle
- movs r4, 0
- ldr r0, =gUnknown_0203A12C
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _081212AA
- movs r5, 0x80
- lsls r5, 17
-_08121272:
- bl sub_8120EB4
- adds r2, r0, 0
- ldr r0, =gUnknown_0203A130
- ldrb r0, [r0]
- lsrs r1, r5, 24
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl PrintTextOnWindow
- movs r0, 0x80
- lsls r0, 21
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0x3
- bgt _081212AA
- ldr r0, =gUnknown_0203A12C
- ldr r0, [r0]
- adds r0, 0x4
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08121272
-_081212AA:
- ldr r5, =gUnknown_0203A130
- ldrb r0, [r5]
- ldr r2, =gText_Exit
- lsls r1, r4, 4
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl PrintTextOnWindow
- ldrb r4, [r5]
- bl sub_8120ED8
- adds r1, r0, 0
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- ldrb r0, [r5]
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81211EC
-
- thumb_func_start sub_81212FC
-sub_81212FC: @ 81212FC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r5, [r4, r0]
- cmp r5, 0
- beq _08121320
- cmp r5, 0x1
- beq _0812132C
- b _08121376
- .pool
-_08121320:
- bl sub_81211EC
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08121376
-_0812132C:
- bl ProcessMenuInput
- lsls r0, 24
- asrs r4, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _08121376
- adds r0, 0x1
- cmp r4, r0
- beq _0812134E
- bl sub_8120ED8
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _0812135C
-_0812134E:
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- b _08121364
- .pool
-_0812135C:
- ldr r0, =gSpecialVar_Result
- strh r5, [r0]
- ldr r0, =gUnknown_03001178
- strb r4, [r0]
-_08121364:
- ldr r0, =gUnknown_0203A130
- ldrb r0, [r0]
- bl sub_80E2A78
- adds r0, r6, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_08121376:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81212FC
-
- thumb_func_start sub_8121388
-sub_8121388: @ 8121388
- push {lr}
- ldr r0, =sub_81212FC
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8121388
-
- thumb_func_start sub_812139C
-sub_812139C: @ 812139C
- push {lr}
- ldr r0, =gUnknown_03001178
- ldrb r0, [r0]
- bl sub_8121178
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812139C
-
- thumb_func_start sub_81213B0
-sub_81213B0: @ 81213B0
- push {lr}
- ldr r1, =gUnknown_0203A12C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00002e28
- adds r0, r2
- str r0, [r1]
- bl sub_8120ED8
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81213B0
-
- thumb_func_start sub_81213D8
-sub_81213D8: @ 81213D8
- push {r4,r5,lr}
- ldr r2, =gUnknown_0203A12C
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r3, =0x00002e28
- adds r0, r1, r3
- str r0, [r2]
- ldr r5, =gUnknown_03001178
- ldrb r0, [r5]
- ldr r2, =0x00002e2c
- adds r1, r2
- adds r1, r0
- ldrb r4, [r1]
- bl sub_8120F4C
- cmp r0, 0x1
- beq _08121414
- movs r0, 0
- b _0812141E
- .pool
-_08121414:
- ldrb r0, [r5]
- adds r1, r4, 0
- bl sub_8120FDC
- movs r0, 0x1
-_0812141E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81213D8
-
- thumb_func_start sub_8121424
-sub_8121424: @ 8121424
- push {lr}
- ldr r1, =gUnknown_0203A12C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00002e28
- adds r0, r2
- str r0, [r1]
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _08121448
- movs r0, 0x1
- b _0812144A
- .pool
-_08121448:
- movs r0, 0
-_0812144A:
- pop {r1}
- bx r1
- thumb_func_end sub_8121424
-
- thumb_func_start sub_8121450
-sub_8121450: @ 8121450
- push {lr}
- ldr r1, =gUnknown_0203A12C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00002e28
- adds r0, r2
- str r0, [r1]
- bl sub_81210B8
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8121450
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/menu_helpers.s b/asm/menu_helpers.s
deleted file mode 100644
index 90e846b97..000000000
--- a/asm/menu_helpers.s
+++ /dev/null
@@ -1,986 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start ResetVramOamAndBgCntRegs
-ResetVramOamAndBgCntRegs: @ 8121DA0
- push {r4,lr}
- sub sp, 0xC
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xE
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xC
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xA
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x8
- movs r1, 0
- bl SetGpuReg
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- movs r1, 0xC0
- lsls r1, 19
- ldr r2, =0x0100c000
- mov r0, sp
- bl CpuSet
- movs r4, 0
- str r4, [sp, 0x4]
- add r0, sp, 0x4
- movs r1, 0xE0
- lsls r1, 19
- ldr r2, =0x05000100
- bl CpuSet
- add r0, sp, 0x8
- strh r4, [r0]
- movs r1, 0xA0
- lsls r1, 19
- ldr r2, =0x01000200
- bl CpuSet
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ResetVramOamAndBgCntRegs
-
- thumb_func_start ResetAllBgsCoordinates
-ResetAllBgsCoordinates: @ 8121E10
- push {lr}
- 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
- pop {r0}
- bx r0
- thumb_func_end ResetAllBgsCoordinates
-
- thumb_func_start SetVBlankHBlankCallbacksToNull
-@ void SetVBlankHBlankCallbacksToNull()
-SetVBlankHBlankCallbacksToNull: @ 8121E68
- push {lr}
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl SetHBlankCallback
- pop {r0}
- bx r0
- thumb_func_end SetVBlankHBlankCallbacksToNull
-
- thumb_func_start DisplayMessageAndContinueTask
-@ void DisplayMessageAndContinueTask(u8 taskId, u8 windowId, u16 windowBorderFirstTileNum, u8 windowBorderPalette, u8 fontId, u8 speed, u8 *str, void ( *callback)(u8 taskId))
-DisplayMessageAndContinueTask: @ 8121E7C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- ldr r4, [sp, 0x28]
- ldr r5, [sp, 0x2C]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- adds r6, r1, 0
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r7, r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gUnknown_0203A140
- strb r6, [r0]
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_8197B1C
- ldr r4, =gStringVar4
- ldr r0, [sp, 0x30]
- cmp r0, r4
- beq _08121EC0
- adds r0, r4, 0
- ldr r1, [sp, 0x30]
- bl StringExpandPlaceholders
-_08121EC0:
- ldr r2, =gTextFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- adds r0, r6, 0
- adds r1, r7, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl AddTextPrinterParameterized
- ldr r1, =gUnknown_0300117C
- ldr r0, [sp, 0x34]
- str r0, [r1]
- ldr r1, =gTasks
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldr r1, =Task_ContinueTaskAfterMessagePrints
- str r1, [r0]
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DisplayMessageAndContinueTask
-
- thumb_func_start RunTextPrintersRetIsActive
-RunTextPrintersRetIsActive: @ 8121F20
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl RunTextPrinters
- adds r0, r4, 0
- bl IsTextPrinterActive
- lsls r0, 16
- lsrs r0, 16
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end RunTextPrintersRetIsActive
-
- thumb_func_start Task_ContinueTaskAfterMessagePrints
-@ void Task_ContinueTaskAfterMessagePrints(u8 taskId)
-Task_ContinueTaskAfterMessagePrints: @ 8121F3C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_0203A140
- ldrb r0, [r0]
- bl RunTextPrintersRetIsActive
- lsls r0, 16
- cmp r0, 0
- bne _08121F5A
- ldr r0, =gUnknown_0300117C
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
-_08121F5A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_ContinueTaskAfterMessagePrints
-
- thumb_func_start sub_8121F68
-sub_8121F68: @ 8121F68
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gUnknown_0203A138
- ldr r2, [r1, 0x4]
- ldr r1, [r1]
- str r1, [r3]
- str r2, [r3, 0x4]
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, =Task_CallYesOrNoCallback
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8121F68
-
- thumb_func_start CreateYesNoMenuWithCallbacks
-@ void CreateYesNoMenuWithCallbacks(u8 taskId, struct WindowTemplate *windowTemplate, int a3, int a4, int a5, u16 borderFirstTileNum, u8 borderPalette, void ( **callbacks)(u8 taskId))
-CreateYesNoMenuWithCallbacks: @ 8121F94
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- ldr r1, [sp, 0x10]
- ldr r2, [sp, 0x14]
- ldr r5, [sp, 0x18]
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r2, 24
- movs r3, 0
- bl CreateYesNoMenu
- ldr r2, =gUnknown_0203A138
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =Task_CallYesOrNoCallback
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CreateYesNoMenuWithCallbacks
-
- thumb_func_start Task_CallYesOrNoCallback
-@ void Task_CallYesOrNoCallback(u8 taskId)
-Task_CallYesOrNoCallback: @ 8121FDC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _08122002
- cmp r1, 0
- bgt _08121FFC
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08122018
- b _08122028
-_08121FFC:
- cmp r1, 0x1
- beq _08122018
- b _08122028
-_08122002:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203A138
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _08122028
- .pool
-_08122018:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203A138
- ldr r1, [r0, 0x4]
- adds r0, r4, 0
- bl _call_via_r1
-_08122028:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_CallYesOrNoCallback
-
- thumb_func_start AdjustQuantityAccordingToDPadInput
-@ bool8 AdjustQuantityAccordingToDPadInput(u16 *quantity, u16 maxQuantity)
-AdjustQuantityAccordingToDPadInput: @ 8122034
- push {r4-r6,lr}
- adds r2, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r5, r1, 0
- ldrh r4, [r2]
- adds r6, r4, 0
- ldr r0, =gMain
- ldrh r0, [r0, 0x30]
- movs r3, 0xF0
- ands r3, r0
- cmp r3, 0x40
- bne _0812206C
- adds r0, r4, 0x1
- strh r0, [r2]
- movs r3, 0
- ldrsh r0, [r2, r3]
- cmp r0, r1
- ble _0812205E
- movs r0, 0x1
- strh r0, [r2]
-_0812205E:
- movs r0, 0
- ldrsh r1, [r2, r0]
-_08122062:
- lsls r0, r4, 16
- b _081220B6
- .pool
-_0812206C:
- cmp r3, 0x80
- bne _08122082
- subs r0, r4, 0x1
- strh r0, [r2]
- lsls r0, 16
- cmp r0, 0
- bgt _0812207C
- strh r1, [r2]
-_0812207C:
- movs r3, 0
- ldrsh r1, [r2, r3]
- b _08122062
-_08122082:
- cmp r3, 0x10
- bne _0812209C
- adds r0, r4, 0
- adds r0, 0xA
- strh r0, [r2]
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, r5
- ble _08122096
- strh r5, [r2]
-_08122096:
- movs r3, 0
- ldrsh r1, [r2, r3]
- b _08122062
-_0812209C:
- cmp r3, 0x20
- bne _081220C6
- adds r0, r4, 0
- subs r0, 0xA
- strh r0, [r2]
- lsls r0, 16
- cmp r0, 0
- bgt _081220B0
- movs r0, 0x1
- strh r0, [r2]
-_081220B0:
- movs r0, 0
- ldrsh r1, [r2, r0]
- lsls r0, r6, 16
-_081220B6:
- asrs r0, 16
- cmp r1, r0
- beq _081220C6
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- b _081220C8
-_081220C6:
- movs r0, 0
-_081220C8:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end AdjustQuantityAccordingToDPadInput
-
- thumb_func_start GetLRKeysState
-GetLRKeysState: @ 81220D0
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _08122106
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _081220F8
- movs r0, 0x1
- b _08122108
- .pool
-_081220F8:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _08122106
- movs r0, 0x2
- b _08122108
-_08122106:
- movs r0, 0
-_08122108:
- pop {r1}
- bx r1
- thumb_func_end GetLRKeysState
-
- thumb_func_start sub_812210C
-sub_812210C: @ 812210C
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _08122142
- ldr r0, =gMain
- ldrh r1, [r0, 0x30]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _08122134
- movs r0, 0x1
- b _08122144
- .pool
-_08122134:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _08122142
- movs r0, 0x2
- b _08122144
-_08122142:
- movs r0, 0
-_08122144:
- pop {r1}
- bx r1
- thumb_func_end sub_812210C
-
- thumb_func_start sub_8122148
-sub_8122148: @ 8122148
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _08122174
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldr r0, =0x00001919
- cmp r1, r0
- beq _08122166
- bl InUnionRoom
- cmp r0, 0x1
- bne _08122174
-_08122166:
- movs r0, 0
- b _08122176
- .pool
-_08122174:
- movs r0, 0x1
-_08122176:
- pop {r1}
- bx r1
- thumb_func_end sub_8122148
-
- thumb_func_start itemid_80BF6D8_mail_related
-itemid_80BF6D8_mail_related: @ 812217C
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- bl is_c1_link_related_active
- cmp r0, 0x1
- beq _08122192
- bl InUnionRoom
- cmp r0, 0x1
- bne _081221A4
-_08122192:
- adds r0, r4, 0
- bl ItemIsMail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081221A4
- movs r0, 0
- b _081221A6
-_081221A4:
- movs r0, 0x1
-_081221A6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end itemid_80BF6D8_mail_related
-
- thumb_func_start sub_81221AC
-sub_81221AC: @ 81221AC
- push {lr}
- bl is_c1_link_related_active
- cmp r0, 0x1
- beq _081221BE
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _081221C8
-_081221BE:
- movs r0, 0x1
- b _081221CA
- .pool
-_081221C8:
- movs r0, 0
-_081221CA:
- pop {r1}
- bx r1
- thumb_func_end sub_81221AC
-
- thumb_func_start sub_81221D0
-sub_81221D0: @ 81221D0
- push {lr}
- bl sub_81221AC
- lsls r0, 24
- cmp r0, 0
- beq _081221E6
- bl sub_8087598
- lsls r0, 24
- lsrs r0, 24
- b _081221E8
-_081221E6:
- movs r0, 0
-_081221E8:
- pop {r1}
- bx r1
- thumb_func_end sub_81221D0
-
- thumb_func_start sub_81221EC
-sub_81221EC: @ 81221EC
- push {lr}
- bl sub_81221D0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08122202
- bl sub_800B504
- cmp r0, 0x1
- bne _08122206
-_08122202:
- movs r0, 0x1
- b _08122208
-_08122206:
- movs r0, 0
-_08122208:
- pop {r1}
- bx r1
- thumb_func_end sub_81221EC
-
- thumb_func_start sub_812220C
-sub_812220C: @ 812220C
- push {r4-r6,lr}
- adds r6, r2, 0
- ldr r2, [sp, 0x10]
- lsls r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- adds r4, r0, 0
- movs r0, 0
- strb r0, [r3]
- movs r2, 0
- lsrs r1, 24
- cmp r2, r1
- bcs _08122240
-_08122226:
- lsls r0, r2, 2
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0
- beq _08122236
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
-_08122236:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r1
- bcc _08122226
-_08122240:
- ldrb r0, [r3]
- adds r1, r0, 0x1
- strb r1, [r3]
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, r5
- bls _08122252
- strb r5, [r6]
- b _08122254
-_08122252:
- strb r1, [r6]
-_08122254:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_812220C
-
- thumb_func_start sub_812225C
-sub_812225C: @ 812225C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- ldrh r0, [r4]
- cmp r0, 0
- beq _0812227A
- adds r0, r2
- cmp r0, r3
- ble _0812227A
- subs r0, r3, r2
- strh r0, [r4]
-_0812227A:
- ldrh r0, [r4]
- ldrh r1, [r5]
- adds r0, r1
- cmp r0, r3
- blt _08122290
- cmp r3, 0
- bne _0812228C
- strh r3, [r5]
- b _08122290
-_0812228C:
- subs r0, r3, 0x1
- strh r0, [r5]
-_08122290:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_812225C
-
- thumb_func_start sub_8122298
-sub_8122298: @ 8122298
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r0, [sp, 0x14]
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r6, r3, 24
- lsls r2, r0, 24
- lsrs r0, r2, 24
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081222F0
- lsrs r2, 25
- ldrh r0, [r4]
- cmp r0, r2
- bcc _08122322
- movs r1, 0
- subs r0, r2
- cmp r1, r0
- bge _08122322
- ldrh r0, [r5]
- adds r0, r7
- cmp r0, r6
- beq _08122322
-_081222CC:
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- ldrh r0, [r4]
- subs r0, r2
- cmp r1, r0
- bge _08122322
- ldrh r0, [r5]
- adds r0, r7
- cmp r0, r6
- bne _081222CC
- b _08122322
-_081222F0:
- ldrh r3, [r4]
- lsrs r2, 25
- adds r0, r2, 0x1
- cmp r3, r0
- blt _08122322
- movs r1, 0
- subs r0, r3, r2
- b _08122316
-_08122300:
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- ldrh r0, [r4]
- subs r0, r2
-_08122316:
- cmp r1, r0
- bgt _08122322
- ldrh r0, [r5]
- adds r0, r7
- cmp r0, r6
- bne _08122300
-_08122322:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8122298
-
- thumb_func_start LoadListMenuArrowsGfx
-LoadListMenuArrowsGfx: @ 8122328
- push {lr}
- ldr r0, =gUnknown_0859F514
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0859F51C
- bl LoadCompressedObjectPalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end LoadListMenuArrowsGfx
-
- thumb_func_start sub_8122344
-sub_8122344: @ 8122344
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- lsls r1, 24
- lsrs r6, r1, 24
- movs r5, 0
- cmp r5, r6
- bcs _0812239C
- ldr r7, =gSprites
-_08122358:
- lsls r1, r5, 4
- ldr r0, =gUnknown_0859F524
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- mov r1, r8
- adds r4, r1, r5
- strb r0, [r4]
- cmp r5, 0
- beq _0812237E
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- movs r1, 0x1
- bl StartSpriteAnim
-_0812237E:
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r6
- bcc _08122358
-_0812239C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8122344
-
- thumb_func_start sub_81223B0
-sub_81223B0: @ 81223B0
- push {r4-r7,lr}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- movs r4, 0
- cmp r4, r5
- bcs _081223F6
- ldr r7, =gSprites
-_081223C0:
- subs r0, r5, 0x1
- cmp r4, r0
- bne _081223DC
- adds r0, r6, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- bl DestroySpriteAndFreeResources
- b _081223EC
- .pool
-_081223DC:
- adds r0, r6, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- bl DestroySprite
-_081223EC:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _081223C0
-_081223F6:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81223B0
-
- thumb_func_start sub_81223FC
-sub_81223FC: @ 81223FC
- push {r4-r7,lr}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 24
- lsrs r0, r2, 24
- movs r3, 0
- cmp r3, r4
- bcs _0812243E
- ldr r1, =gSprites
- mov r12, r1
- movs r1, 0x1
- ands r0, r1
- lsls r5, r0, 2
- movs r7, 0x5
- negs r7, r7
-_0812241C:
- adds r0, r6, r3
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r12
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r7, 0
- ands r0, r2
- orrs r0, r5
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r4
- bcc _0812241C
-_0812243E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81223FC
-
- thumb_func_start sub_8122448
-@ void sub_8122448(int a1, u8 a2, u16 x, u16 y)
-sub_8122448: @ 8122448
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 16
- lsrs r7, r2, 16
- lsls r3, 16
- lsrs r3, 16
- mov r9, r3
- movs r0, 0x80
- ands r0, r4
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0x7F
- ands r4, r0
- movs r3, 0
- cmp r3, r4
- bcs _081224C8
- ldr r5, =gSprites
- lsls r0, r7, 16
- asrs r0, 16
- subs r0, 0x8
- mov r12, r0
-_0812247E:
- subs r0, r4, 0x1
- cmp r3, r0
- bne _081224A0
- mov r0, r8
- cmp r0, 0
- beq _081224A0
- adds r2, r6, r3
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r12
- strh r1, [r0, 0x24]
- b _081224AE
- .pool
-_081224A0:
- adds r2, r6, r3
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r7, [r0, 0x24]
-_081224AE:
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r9
- adds r1, 0x1
- strh r1, [r0, 0x22]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r4
- bcc _0812247E
-_081224C8:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8122448
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/menu_indicators.s b/asm/menu_indicators.s
deleted file mode 100644
index b923b53d0..000000000
--- a/asm/menu_indicators.s
+++ /dev/null
@@ -1,1442 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81AF08C
-sub_81AF08C: @ 81AF08C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r2, r1, r0
- cmp r3, 0x10
- bhi _081AF154
- lsls r0, r3, 2
- ldr r1, =_081AF0B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081AF0B8:
- .4byte _081AF0FC
- .4byte _081AF0FC
- .4byte _081AF100
- .4byte _081AF104
- .4byte _081AF108
- .4byte _081AF10C
- .4byte _081AF110
- .4byte _081AF114
- .4byte _081AF118
- .4byte _081AF11C
- .4byte _081AF122
- .4byte _081AF12A
- .4byte _081AF130
- .4byte _081AF138
- .4byte _081AF140
- .4byte _081AF146
- .4byte _081AF14E
-_081AF0FC:
- ldr r0, [r2, 0x4]
- b _081AF158
-_081AF100:
- ldrh r0, [r2, 0xC]
- b _081AF158
-_081AF104:
- ldrh r0, [r2, 0xE]
- b _081AF158
-_081AF108:
- ldrb r0, [r2, 0x10]
- b _081AF158
-_081AF10C:
- ldrb r0, [r2, 0x11]
- b _081AF158
-_081AF110:
- ldrb r0, [r2, 0x12]
- b _081AF158
-_081AF114:
- ldrb r0, [r2, 0x13]
- b _081AF158
-_081AF118:
- ldrb r0, [r2, 0x14]
- b _081AF124
-_081AF11C:
- ldrb r0, [r2, 0x14]
- lsrs r0, 4
- b _081AF158
-_081AF122:
- ldrb r0, [r2, 0x15]
-_081AF124:
- lsls r0, 28
- lsrs r0, 28
- b _081AF158
-_081AF12A:
- ldrb r0, [r2, 0x15]
- lsrs r0, 4
- b _081AF158
-_081AF130:
- ldrb r0, [r2, 0x16]
- lsls r0, 29
- lsrs r0, 29
- b _081AF158
-_081AF138:
- ldrb r0, [r2, 0x16]
- lsls r0, 26
- lsrs r0, 29
- b _081AF158
-_081AF140:
- ldrb r0, [r2, 0x16]
- lsrs r0, 6
- b _081AF158
-_081AF146:
- ldrb r0, [r2, 0x17]
- lsls r0, 26
- lsrs r0, 26
- b _081AF158
-_081AF14E:
- ldrb r0, [r2, 0x17]
- lsrs r0, 6
- b _081AF158
-_081AF154:
- movs r0, 0x1
- negs r0, r0
-_081AF158:
- pop {r1}
- bx r1
- thumb_func_end sub_81AF08C
-
- thumb_func_start sub_81AF15C
-sub_81AF15C: @ 81AF15C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r3, r1, r0
- cmp r4, 0x10
- bhi _081AF25C
- lsls r0, r4, 2
- ldr r1, =_081AF188
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081AF188:
- .4byte _081AF1CC
- .4byte _081AF1CC
- .4byte _081AF1D0
- .4byte _081AF1D4
- .4byte _081AF1D8
- .4byte _081AF1DC
- .4byte _081AF1E0
- .4byte _081AF1E4
- .4byte _081AF1E8
- .4byte _081AF1F4
- .4byte _081AF202
- .4byte _081AF20E
- .4byte _081AF21C
- .4byte _081AF228
- .4byte _081AF236
- .4byte _081AF244
- .4byte _081AF250
-_081AF1CC:
- str r2, [r3, 0x4]
- b _081AF25C
-_081AF1D0:
- strh r2, [r3, 0xC]
- b _081AF25C
-_081AF1D4:
- strh r2, [r3, 0xE]
- b _081AF25C
-_081AF1D8:
- strb r2, [r3, 0x10]
- b _081AF25C
-_081AF1DC:
- strb r2, [r3, 0x11]
- b _081AF25C
-_081AF1E0:
- strb r2, [r3, 0x12]
- b _081AF25C
-_081AF1E4:
- strb r2, [r3, 0x13]
- b _081AF25C
-_081AF1E8:
- movs r0, 0xF
- ands r2, r0
- ldrb r1, [r3, 0x14]
- movs r0, 0x10
- negs r0, r0
- b _081AF1FA
-_081AF1F4:
- lsls r2, 4
- ldrb r1, [r3, 0x14]
- movs r0, 0xF
-_081AF1FA:
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x14]
- b _081AF25C
-_081AF202:
- movs r0, 0xF
- ands r2, r0
- ldrb r1, [r3, 0x15]
- movs r0, 0x10
- negs r0, r0
- b _081AF214
-_081AF20E:
- lsls r2, 4
- ldrb r1, [r3, 0x15]
- movs r0, 0xF
-_081AF214:
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x15]
- b _081AF25C
-_081AF21C:
- movs r0, 0x7
- ands r2, r0
- ldrb r1, [r3, 0x16]
- movs r0, 0x8
- negs r0, r0
- b _081AF23C
-_081AF228:
- movs r0, 0x7
- ands r2, r0
- lsls r2, 3
- ldrb r1, [r3, 0x16]
- movs r0, 0x39
- negs r0, r0
- b _081AF23C
-_081AF236:
- lsls r2, 6
- ldrb r1, [r3, 0x16]
- movs r0, 0x3F
-_081AF23C:
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x16]
- b _081AF25C
-_081AF244:
- movs r0, 0x3F
- ands r2, r0
- ldrb r1, [r3, 0x17]
- movs r0, 0x40
- negs r0, r0
- b _081AF256
-_081AF250:
- lsls r2, 6
- ldrb r1, [r3, 0x17]
- movs r0, 0x3F
-_081AF256:
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x17]
-_081AF25C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81AF15C
-
- thumb_func_start sub_81AF264
-sub_81AF264: @ 81AF264
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081AF276
- cmp r0, 0x1
- beq _081AF28A
- b _081AF2E4
-_081AF276:
- ldrh r1, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _081AF2E4
-_081AF28A:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081AF29A
- cmp r0, 0x1
- beq _081AF2C0
- ldrh r2, [r4, 0x38]
- b _081AF2DE
-_081AF29A:
- movs r0, 0x34
- ldrsh r3, [r4, r0]
- ldr r1, =gSineTable
- ldrh r2, [r4, 0x38]
- lsls r0, r2, 24
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- muls r0, r3
- cmp r0, 0
- bge _081AF2B4
- adds r0, 0xFF
-_081AF2B4:
- asrs r0, 8
- strh r0, [r4, 0x24]
- b _081AF2DE
- .pool
-_081AF2C0:
- movs r0, 0x34
- ldrsh r3, [r4, r0]
- ldr r1, =gSineTable
- ldrh r2, [r4, 0x38]
- lsls r0, r2, 24
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- muls r0, r3
- cmp r0, 0
- bge _081AF2DA
- adds r0, 0xFF
-_081AF2DA:
- asrs r0, 8
- strh r0, [r4, 0x26]
-_081AF2DE:
- ldrh r0, [r4, 0x36]
- adds r0, r2, r0
- strh r0, [r4, 0x38]
-_081AF2E4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AF264
-
- thumb_func_start AddScrollIndicatorArrowObject
-AddScrollIndicatorArrowObject: @ 81AF2F0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- adds r6, r0, 0
- ldr r5, [sp, 0x30]
- lsls r6, 24
- lsrs r6, 24
- mov r8, r6
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r5, 16
- lsrs r5, 16
- mov r12, r5
- mov r4, sp
- ldr r0, =gUnknown_08614244
- ldm r0!, {r5-r7}
- stm r4!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r4!, {r5-r7}
- mov r0, sp
- movs r4, 0
- strh r3, [r0]
- mov r3, r12
- strh r3, [r0, 0x2]
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSprites
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- adds r3, r1
- adds r5, r3, 0
- adds r5, 0x3E
- ldrb r1, [r5]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r5]
- strh r4, [r3, 0x2E]
- ldr r1, =gUnknown_086141FC
- mov r5, r8
- lsls r6, r5, 2
- adds r6, r1
- ldrb r2, [r6]
- lsls r1, r2, 28
- lsrs r1, 28
- strh r1, [r3, 0x30]
- lsrs r2, 4
- strh r2, [r3, 0x32]
- ldrb r1, [r6, 0x1]
- strh r1, [r3, 0x34]
- ldrh r1, [r6, 0x2]
- strh r1, [r3, 0x36]
- strh r4, [r3, 0x38]
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end AddScrollIndicatorArrowObject
-
- thumb_func_start AddScrollIndicatorArrowPair
-AddScrollIndicatorArrowPair: @ 81AF380
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- adds r6, r0, 0
- mov r9, r1
- ldr r0, =gUnknown_086142C8
- str r0, [sp, 0x4]
- ldr r5, =0xffff0000
- ldr r0, [sp, 0x8]
- ands r0, r5
- movs r1, 0x80
- lsls r1, 1
- orrs r0, r1
- ldrh r1, [r6, 0xA]
- lsls r1, 16
- ldr r4, =0x0000ffff
- ands r0, r4
- orrs r0, r1
- str r0, [sp, 0x8]
- add r0, sp, 0x4
- bl LoadCompressedObjectPic
- ldrh r2, [r6, 0xC]
- cmp r2, r4
- bne _081AF3DC
- ldr r0, =gUnknown_086142A8
- ldrb r1, [r6, 0xE]
- lsls r1, 20
- movs r2, 0x80
- lsls r2, 17
- adds r1, r2
- lsrs r1, 16
- movs r2, 0x20
- bl LoadPalette
- b _081AF3EE
- .pool
-_081AF3DC:
- ldr r0, =gUnknown_086142A8
- str r0, [sp, 0xC]
- add r0, sp, 0xC
- ldr r1, [r0, 0x4]
- ands r1, r5
- orrs r1, r2
- str r1, [r0, 0x4]
- bl LoadSpritePalette
-_081AF3EE:
- ldr r0, =Task_ScrollIndicatorArrowPair
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r7, r0, r1
- movs r0, 0
- strb r0, [r7]
- mov r0, r9
- str r0, [r7, 0x4]
- ldrh r0, [r6, 0x6]
- strh r0, [r7, 0x8]
- ldrh r0, [r6, 0x8]
- strh r0, [r7, 0xA]
- ldrh r0, [r6, 0xA]
- strh r0, [r7, 0xE]
- ldrh r0, [r6, 0xC]
- strh r0, [r7, 0x10]
- ldrb r0, [r6]
- ldrb r1, [r6, 0x1]
- ldrb r2, [r6, 0x2]
- ldrh r3, [r6, 0xA]
- ldrh r4, [r6, 0xC]
- str r4, [sp]
- bl AddScrollIndicatorArrowObject
- strb r0, [r7, 0xC]
- ldrb r0, [r6, 0x3]
- ldrb r1, [r6, 0x4]
- ldrb r2, [r6, 0x5]
- ldrh r3, [r6, 0xA]
- ldrh r4, [r6, 0xC]
- str r4, [sp]
- bl AddScrollIndicatorArrowObject
- strb r0, [r7, 0xD]
- ldrh r1, [r6, 0xC]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _081AF47C
- ldr r5, =gSprites
- ldrb r0, [r7, 0xC]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r3, [r6, 0xE]
- lsls r3, 4
- ldrb r4, [r1, 0x5]
- movs r2, 0xF
- adds r0, r2, 0
- ands r0, r4
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r1, [r7, 0xD]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r6, 0xE]
- lsls r1, 4
- ldrb r3, [r0, 0x5]
- ands r2, r3
- orrs r2, r1
- strb r2, [r0, 0x5]
-_081AF47C:
- mov r0, r8
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end AddScrollIndicatorArrowPair
-
- thumb_func_start AddScrollIndicatorArrowPairParametrized
-AddScrollIndicatorArrowPairParametrized: @ 81AF4A0
- push {r4,lr}
- adds r4, r1, 0
- subs r0, 0x2
- cmp r0, 0x1
- bhi _081AF4C4
- ldr r0, =gUnknown_0203CE8C
- movs r1, 0x2
- strb r1, [r0]
- strb r4, [r0, 0x1]
- strb r2, [r0, 0x2]
- movs r1, 0x3
- strb r1, [r0, 0x3]
- strb r4, [r0, 0x4]
- strb r3, [r0, 0x5]
- b _081AF4D6
- .pool
-_081AF4C4:
- ldr r0, =gUnknown_0203CE8C
- movs r1, 0
- strb r1, [r0]
- strb r2, [r0, 0x1]
- strb r4, [r0, 0x2]
- movs r1, 0x1
- strb r1, [r0, 0x3]
- strb r3, [r0, 0x4]
- strb r4, [r0, 0x5]
-_081AF4D6:
- adds r2, r0, 0
- movs r1, 0
- movs r0, 0
- strh r0, [r2, 0x6]
- ldr r0, [sp, 0x8]
- strh r0, [r2, 0x8]
- ldr r0, [sp, 0xC]
- strh r0, [r2, 0xA]
- ldr r0, [sp, 0x10]
- strh r0, [r2, 0xC]
- strb r1, [r2, 0xE]
- adds r0, r2, 0
- ldr r1, [sp, 0x14]
- bl AddScrollIndicatorArrowPair
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end AddScrollIndicatorArrowPairParametrized
-
- thumb_func_start Task_ScrollIndicatorArrowPair
-Task_ScrollIndicatorArrowPair: @ 81AF504
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- ldr r0, [r4, 0x4]
- ldrh r5, [r0]
- ldrh r0, [r4, 0x8]
- cmp r5, r0
- bne _081AF548
- ldr r0, =0x0000ffff
- cmp r5, r0
- beq _081AF548
- ldr r3, =gSprites
- ldrb r1, [r4, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- b _081AF55E
- .pool
-_081AF548:
- ldr r3, =gSprites
- ldrb r1, [r4, 0xC]
- 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
-_081AF55E:
- strb r1, [r0]
- ldrh r0, [r4, 0xA]
- cmp r5, r0
- bne _081AF580
- ldrb r1, [r4, 0xD]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- b _081AF594
- .pool
-_081AF580:
- ldrb r1, [r4, 0xD]
- 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
-_081AF594:
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end Task_ScrollIndicatorArrowPair
-
- thumb_func_start Task_ScrollIndicatorArrowPairOnMainMenu
-Task_ScrollIndicatorArrowPairOnMainMenu: @ 81AF59C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081AF5E8
- ldr r3, =gSprites
- ldrb r1, [r4, 0xC]
- 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]
- ldrb r1, [r4, 0xD]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- b _081AF612
- .pool
-_081AF5E8:
- ldr r3, =gSprites
- ldrb r1, [r4, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldrb r1, [r4, 0xD]
- 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
-_081AF612:
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_ScrollIndicatorArrowPairOnMainMenu
-
- thumb_func_start RemoveScrollIndicatorArrowPair
-RemoveScrollIndicatorArrowPair: @ 81AF620
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- ldrh r0, [r5, 0xE]
- ldr r4, =0x0000ffff
- cmp r0, r4
- beq _081AF63E
- bl FreeSpriteTilesByTag
-_081AF63E:
- ldrh r0, [r5, 0x10]
- cmp r0, r4
- beq _081AF648
- bl FreeSpritePaletteByTag
-_081AF648:
- ldrb r1, [r5, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl DestroySprite
- ldrb r1, [r5, 0xD]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- adds r0, r6, 0
- bl DestroyTask
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RemoveScrollIndicatorArrowPair
-
- thumb_func_start ListMenuAddCursorObjectInternal
-ListMenuAddCursorObjectInternal: @ 81AF680
- push {lr}
- cmp r1, 0
- beq _081AF68A
- cmp r1, 0x1
- beq _081AF690
-_081AF68A:
- bl ListMenuAddRedOutlineCursorObject
- b _081AF694
-_081AF690:
- bl ListMenuAddRedArrowCursorObject
-_081AF694:
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end ListMenuAddCursorObjectInternal
-
- thumb_func_start ListMenuUpdateCursorObject
-@ void ListMenuUpdateCursorObject(u8 taskId, u16 x, u16 y, u32 a4)
-ListMenuUpdateCursorObject: @ 81AF69C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- cmp r3, 0
- beq _081AF6B4
- cmp r3, 0x1
- beq _081AF6BA
- b _081AF6BE
-_081AF6B4:
- bl ListMenuUpdateRedOutlineCursorObject
- b _081AF6BE
-_081AF6BA:
- bl ListMenuUpdateRedArrowCursorObject
-_081AF6BE:
- pop {r0}
- bx r0
- thumb_func_end ListMenuUpdateCursorObject
-
- thumb_func_start ListMenuRemoveCursorObject
-ListMenuRemoveCursorObject: @ 81AF6C4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r1, 0
- beq _081AF6D4
- cmp r1, 0x1
- beq _081AF6DA
- b _081AF6DE
-_081AF6D4:
- bl ListMenuRemoveRedOutlineCursorObject
- b _081AF6DE
-_081AF6DA:
- bl ListMenuRemoveRedArrowCursorObject
-_081AF6DE:
- pop {r0}
- bx r0
- thumb_func_end ListMenuRemoveCursorObject
-
- thumb_func_start Task_RedOutlineCursor
-Task_RedOutlineCursor: @ 81AF6E4
- bx lr
- thumb_func_end Task_RedOutlineCursor
-
- thumb_func_start ListMenuGetRedOutlineCursorSpriteCount
-ListMenuGetRedOutlineCursorSpriteCount: @ 81AF6E8
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- movs r3, 0x4
- cmp r0, 0x10
- bls _081AF708
- movs r2, 0x8
- subs r0, 0x8
- cmp r2, r0
- bge _081AF708
-_081AF700:
- adds r3, 0x2
- adds r2, 0x8
- cmp r2, r0
- blt _081AF700
-_081AF708:
- cmp r1, 0x10
- bls _081AF71C
- movs r2, 0x8
- subs r1, 0x8
- cmp r2, r1
- bge _081AF71C
-_081AF714:
- adds r3, 0x2
- adds r2, 0x8
- cmp r2, r1
- blt _081AF714
-_081AF71C:
- lsls r0, r3, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end ListMenuGetRedOutlineCursorSpriteCount
-
- thumb_func_start ListMenuSetUpRedOutlineCursorSpriteOamTable
-ListMenuSetUpRedOutlineCursorSpriteOamTable: @ 81AF724
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r3, r2, 0
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- ldr r0, =gUnknown_0861425C
- ldr r0, [r0]
- str r0, [r3]
- movs r1, 0x88
- strb r1, [r3]
- strb r1, [r3, 0x1]
- ldr r0, =gUnknown_08614260
- ldr r0, [r0]
- str r0, [r3, 0x4]
- mov r2, r8
- adds r2, 0x80
- strb r2, [r3, 0x4]
- strb r1, [r3, 0x5]
- ldr r0, =gUnknown_08614274
- ldr r0, [r0]
- str r0, [r3, 0x8]
- strb r1, [r3, 0x8]
- mov r4, r9
- adds r4, 0x80
- strb r4, [r3, 0x9]
- ldr r0, =gUnknown_08614278
- ldr r0, [r0]
- str r0, [r3, 0xC]
- strb r2, [r3, 0xC]
- strb r4, [r3, 0xD]
- movs r0, 0x4
- mov r12, r0
- mov r2, r8
- cmp r2, 0x10
- bls _081AF7B8
- movs r2, 0x8
- mov r5, r8
- subs r5, 0x8
- cmp r2, r5
- bge _081AF7B8
- ldr r0, =gUnknown_08614264
- ldr r0, [r0]
- str r0, [sp]
- ldr r0, =gUnknown_08614270
- ldr r6, [r0]
- adds r1, r3, 0
- adds r1, 0x10
- movs r7, 0x88
- mov r10, r7
-_081AF796:
- ldr r0, [sp]
- str r0, [r1]
- adds r0, r2, 0
- subs r0, 0x78
- strb r0, [r1]
- mov r7, r10
- strb r7, [r1, 0x1]
- adds r1, 0x4
- str r6, [r1]
- strb r0, [r1]
- strb r4, [r1, 0x1]
- adds r1, 0x4
- movs r0, 0x2
- add r12, r0
- adds r2, 0x8
- cmp r2, r5
- blt _081AF796
-_081AF7B8:
- mov r2, r9
- cmp r2, 0x10
- bls _081AF7F6
- movs r1, 0x8
- mov r4, r9
- subs r4, 0x8
- cmp r1, r4
- bge _081AF7F6
- ldr r0, =gUnknown_08614268
- ldr r6, [r0]
- ldr r0, =gUnknown_0861426C
- ldr r5, [r0]
- mov r7, r12
- lsls r0, r7, 2
- adds r2, r0, r3
- movs r7, 0x88
- mov r3, r8
- adds r3, 0x80
-_081AF7DC:
- str r6, [r2]
- strb r7, [r2]
- adds r0, r1, 0
- subs r0, 0x78
- strb r0, [r2, 0x1]
- adds r2, 0x4
- str r5, [r2]
- strb r3, [r2]
- strb r0, [r2, 0x1]
- adds r2, 0x4
- adds r1, 0x8
- cmp r1, r4
- blt _081AF7DC
-_081AF7F6:
- 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 ListMenuSetUpRedOutlineCursorSpriteOamTable
-
- thumb_func_start ListMenuAddRedOutlineCursorObject
-ListMenuAddRedOutlineCursorObject: @ 81AF828
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x28
- adds r6, r0, 0
- ldr r0, =gUnknown_08614338
- str r0, [sp, 0x18]
- ldr r5, =0xffff0000
- add r0, sp, 0x18
- ldr r1, [r0, 0x4]
- ands r1, r5
- movs r2, 0x80
- lsls r2, 1
- orrs r1, r2
- ldrh r2, [r6, 0x6]
- lsls r2, 16
- ldr r3, =0x0000ffff
- ands r1, r3
- orrs r1, r2
- str r1, [r0, 0x4]
- bl LoadCompressedObjectPic
- ldrh r2, [r6, 0x8]
- ldr r7, =0x0000ffff
- cmp r2, r7
- bne _081AF884
- ldr r0, =gUnknown_086142A8
- ldrb r1, [r6, 0xA]
- lsls r1, 20
- movs r2, 0x80
- lsls r2, 17
- adds r1, r2
- lsrs r1, 16
- movs r2, 0x20
- bl LoadPalette
- b _081AF896
- .pool
-_081AF884:
- ldr r0, =gUnknown_086142A8
- str r0, [sp, 0x20]
- add r0, sp, 0x20
- ldr r1, [r0, 0x4]
- ands r1, r5
- orrs r1, r2
- str r1, [r0, 0x4]
- bl LoadSpritePalette
-_081AF896:
- ldr r0, =Task_RedOutlineCursor
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- ldrh r0, [r6, 0x6]
- movs r3, 0
- mov r8, r3
- strh r0, [r5, 0xE]
- ldrh r0, [r6, 0x8]
- strh r0, [r5, 0x10]
- ldrh r0, [r6, 0x2]
- ldrh r1, [r6, 0x4]
- bl ListMenuGetRedOutlineCursorSpriteCount
- strb r0, [r5]
- ldrb r0, [r5]
- lsls r0, 2
- bl Alloc
- adds r2, r0, 0
- str r2, [r5, 0x8]
- str r2, [r5, 0x4]
- ldrh r0, [r6, 0x2]
- ldrh r1, [r6, 0x4]
- bl ListMenuSetUpRedOutlineCursorSpriteOamTable
- mov r1, sp
- ldr r0, =gDummySpriteTemplate
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- mov r1, sp
- ldrh r0, [r6, 0x6]
- strh r0, [r1]
- ldrh r0, [r6, 0x8]
- strh r0, [r1, 0x2]
- ldrb r1, [r6]
- adds r1, 0x78
- ldrb r2, [r6, 0x1]
- adds r2, 0x78
- mov r0, sp
- movs r3, 0
- bl CreateSprite
- strb r0, [r5, 0xC]
- ldrb r1, [r5, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r7, =gSprites
- adds r0, r7
- adds r1, r5, 0
- bl SetSubspriteTables
- ldrb r0, [r5, 0xC]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
- ldrb r1, [r5, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- adds r0, 0x43
- mov r1, r8
- strb r1, [r0]
- ldrb r1, [r5, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- adds r0, 0x42
- ldrb r2, [r0]
- movs r1, 0x40
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldrh r1, [r6, 0x8]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _081AF96E
- ldrb r0, [r5, 0xC]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r2, [r6, 0xA]
- lsls r2, 4
- ldrb r3, [r1, 0x5]
- movs r0, 0xF
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
-_081AF96E:
- adds r0, r4, 0
- add sp, 0x28
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ListMenuAddRedOutlineCursorObject
-
- thumb_func_start ListMenuUpdateRedOutlineCursorObject
-@ void ListMenuUpdateRedOutlineCursorObject(u8 taskId, u16 x, u16 y)
-ListMenuUpdateRedOutlineCursorObject: @ 81AF994
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- lsls r3, r0, 2
- adds r3, r0
- lsls r3, 3
- ldr r0, =gTasks + 0x8
- adds r3, r0
- ldr r5, =gSprites
- ldrb r4, [r3, 0xC]
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r5
- adds r1, 0x78
- strh r1, [r0, 0x20]
- ldrb r1, [r3, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r2, 0x78
- strh r2, [r0, 0x22]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ListMenuUpdateRedOutlineCursorObject
-
- thumb_func_start ListMenuRemoveRedOutlineCursorObject
-ListMenuRemoveRedOutlineCursorObject: @ 81AF9D8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldr r0, [r4, 0x8]
- bl Free
- ldrh r0, [r4, 0xE]
- ldr r6, =0x0000ffff
- cmp r0, r6
- beq _081AF9FC
- bl FreeSpriteTilesByTag
-_081AF9FC:
- ldrh r0, [r4, 0x10]
- cmp r0, r6
- beq _081AFA06
- bl FreeSpritePaletteByTag
-_081AFA06:
- ldrb r1, [r4, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r5, 0
- bl DestroyTask
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ListMenuRemoveRedOutlineCursorObject
-
- thumb_func_start ObjectCB_RedArrowCursor
-ObjectCB_RedArrowCursor: @ 81AFA30
- push {lr}
- adds r2, r0, 0
- ldr r1, =gSineTable
- ldrh r3, [r2, 0x2E]
- lsls r0, r3, 24
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _081AFA48
- adds r0, 0x3F
-_081AFA48:
- asrs r0, 6
- strh r0, [r2, 0x24]
- adds r0, r3, 0
- adds r0, 0x8
- strh r0, [r2, 0x2E]
- pop {r0}
- bx r0
- .pool
- thumb_func_end ObjectCB_RedArrowCursor
-
- thumb_func_start Task_RedArrowCursor
-Task_RedArrowCursor: @ 81AFA5C
- bx lr
- thumb_func_end Task_RedArrowCursor
-
- thumb_func_start ListMenuAddRedArrowCursorObject
-ListMenuAddRedArrowCursorObject: @ 81AFA60
- push {r4-r7,lr}
- sub sp, 0x28
- adds r5, r0, 0
- ldr r0, =gUnknown_08614378
- str r0, [sp, 0x18]
- ldr r6, =0xffff0000
- add r0, sp, 0x18
- ldr r1, [r0, 0x4]
- ands r1, r6
- movs r2, 0x80
- orrs r1, r2
- ldrh r2, [r5, 0x6]
- lsls r2, 16
- ldr r4, =0x0000ffff
- ands r1, r4
- orrs r1, r2
- str r1, [r0, 0x4]
- bl LoadCompressedObjectPic
- ldrh r2, [r5, 0x8]
- cmp r2, r4
- bne _081AFAB4
- ldr r0, =gUnknown_086142A8
- ldrb r1, [r5, 0xA]
- lsls r1, 20
- movs r2, 0x80
- lsls r2, 17
- adds r1, r2
- lsrs r1, 16
- movs r2, 0x20
- bl LoadPalette
- b _081AFAC6
- .pool
-_081AFAB4:
- ldr r0, =gUnknown_086142A8
- str r0, [sp, 0x20]
- add r0, sp, 0x20
- ldr r1, [r0, 0x4]
- ands r1, r6
- orrs r1, r2
- str r1, [r0, 0x4]
- bl LoadSpritePalette
-_081AFAC6:
- ldr r0, =Task_RedArrowCursor
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x2]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x4]
- mov r1, sp
- ldr r0, =gUnknown_08614290
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- mov r1, sp
- ldrh r0, [r5, 0x6]
- strh r0, [r1]
- ldrh r0, [r5, 0x8]
- strh r0, [r1, 0x2]
- ldrb r1, [r5]
- ldrb r2, [r5, 0x1]
- mov r0, sp
- movs r3, 0
- bl CreateSprite
- strb r0, [r4]
- ldr r3, =gSprites
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r2, 0x8
- strh r2, [r0, 0x24]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r2, [r0, 0x26]
- ldrh r1, [r5, 0x8]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _081AFB46
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r5, 0xA]
- lsls r2, 4
- ldrb r3, [r1, 0x5]
- movs r0, 0xF
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
-_081AFB46:
- adds r0, r6, 0
- add sp, 0x28
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ListMenuAddRedArrowCursorObject
-
- thumb_func_start ListMenuUpdateRedArrowCursorObject
-@ void ListMenuUpdateRedArrowCursorObject(u8 taskId, u16 x, u16 y)
-ListMenuUpdateRedArrowCursorObject: @ 81AFB68
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r3, r0, 2
- adds r3, r0
- lsls r3, 3
- ldr r0, =gTasks + 0x8
- adds r3, r0
- ldr r5, =gSprites
- ldrb r4, [r3]
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r5
- strh r1, [r0, 0x20]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x22]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ListMenuUpdateRedArrowCursorObject
-
- thumb_func_start ListMenuRemoveRedArrowCursorObject
-ListMenuRemoveRedArrowCursorObject: @ 81AFBA0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldrh r0, [r4, 0x2]
- ldr r6, =0x0000ffff
- cmp r0, r6
- beq _081AFBBE
- bl FreeSpriteTilesByTag
-_081AFBBE:
- ldrh r0, [r4, 0x4]
- cmp r0, r6
- beq _081AFBC8
- bl FreeSpritePaletteByTag
-_081AFBC8:
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r5, 0
- bl DestroyTask
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ListMenuRemoveRedArrowCursorObject
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/mon_markings.s b/asm/mon_markings.s
deleted file mode 100644
index dfc375fdf..000000000
--- a/asm/mon_markings.s
+++ /dev/null
@@ -1,946 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_811F90C
-sub_811F90C: @ 811F90C
- ldr r1, =gUnknown_0203A124
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_811F90C
-
- thumb_func_start sub_811F918
-sub_811F918: @ 811F918
- push {lr}
- sub sp, 0x4
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- lsrs r0, 3
- bl GetWindowFrameTilesPal
- ldr r3, =gUnknown_0203A124
- ldr r2, [r3]
- ldr r1, [r0]
- str r1, [r2, 0x2C]
- ldr r0, [r0, 0x4]
- str r0, [r2, 0x30]
- ldr r0, =0x000010b4
- adds r2, r0
- movs r1, 0
- strb r1, [r2]
- mov r0, sp
- strh r1, [r0]
- ldr r1, [r3]
- adds r1, 0x34
- ldr r2, =0x01000800
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811F918
-
- thumb_func_start sub_811F960
-sub_811F960: @ 811F960
- push {r4-r7,lr}
- ldr r0, =gUnknown_0203A124
- ldr r1, [r0]
- ldr r2, =0x000010b4
- adds r0, r1, r2
- ldrb r2, [r0]
- lsls r0, r2, 8
- adds r0, 0x34
- adds r5, r1, r0
- cmp r2, 0xD
- beq _0811FA30
- cmp r2, 0xD
- bgt _0811F988
- cmp r2, 0
- beq _0811F98E
- b _0811F9D8
- .pool
-_0811F988:
- cmp r2, 0xE
- beq _0811FA7C
- b _0811F9D8
-_0811F98E:
- ldr r0, [r1, 0x2C]
- adds r1, r5, 0
- movs r2, 0x8
- bl CpuFastSet
- movs r4, 0
- adds r7, r5, 0
- adds r7, 0xE0
-_0811F99E:
- ldr r6, =gUnknown_0203A124
- ldr r0, [r6]
- ldr r0, [r0, 0x2C]
- adds r0, 0x20
- adds r4, 0x1
- lsls r1, r4, 5
- adds r1, r5, r1
- movs r2, 0x8
- bl CpuFastSet
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0x5
- bls _0811F99E
- ldr r0, [r6]
- ldr r0, [r0, 0x2C]
- adds r0, 0x40
- adds r1, r7, 0
- movs r2, 0x8
- bl CpuFastSet
- ldr r1, [r6]
- ldr r0, =0x000010b4
- adds r1, r0
- b _0811FA1E
- .pool
-_0811F9D8:
- ldr r0, =gUnknown_0203A124
- ldr r0, [r0]
- ldr r0, [r0, 0x2C]
- adds r0, 0x60
- adds r1, r5, 0
- movs r2, 0x8
- bl CpuFastSet
- movs r4, 0
- adds r7, r5, 0
- adds r7, 0xE0
-_0811F9EE:
- ldr r6, =gUnknown_0203A124
- ldr r0, [r6]
- ldr r0, [r0, 0x2C]
- adds r0, 0x80
- adds r4, 0x1
- lsls r1, r4, 5
- adds r1, r5, r1
- movs r2, 0x8
- bl CpuFastSet
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0x5
- bls _0811F9EE
- ldr r0, [r6]
- ldr r0, [r0, 0x2C]
- adds r0, 0xA0
- adds r1, r7, 0
- movs r2, 0x8
- bl CpuFastSet
- ldr r1, [r6]
- ldr r2, =0x000010b4
- adds r1, r2
-_0811FA1E:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0811FA88
- .pool
-_0811FA30:
- ldr r0, [r1, 0x2C]
- adds r0, 0xC0
- adds r1, r5, 0
- movs r2, 0x8
- bl CpuFastSet
- movs r4, 0
- adds r7, r5, 0
- adds r7, 0xE0
-_0811FA42:
- ldr r6, =gUnknown_0203A124
- ldr r0, [r6]
- ldr r0, [r0, 0x2C]
- adds r0, 0xE0
- adds r4, 0x1
- lsls r1, r4, 5
- adds r1, r5, r1
- movs r2, 0x8
- bl CpuFastSet
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0x5
- bls _0811FA42
- ldr r0, [r6]
- ldr r0, [r0, 0x2C]
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- adds r1, r7, 0
- movs r2, 0x8
- bl CpuFastSet
- ldr r1, [r6]
- ldr r2, =0x000010b4
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0811FA7C:
- movs r0, 0
- b _0811FA8A
- .pool
-_0811FA88:
- movs r0, 0x1
-_0811FA8A:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_811F960
-
- thumb_func_start sub_811FA90
-sub_811FA90: @ 811FA90
- push {lr}
- bl sub_811F918
-_0811FA96:
- bl sub_811F960
- lsls r0, 24
- cmp r0, 0
- bne _0811FA96
- pop {r0}
- bx r0
- thumb_func_end sub_811FA90
-
- thumb_func_start sub_811FAA4
-sub_811FAA4: @ 811FAA4
- push {r4-r7,lr}
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 16
- lsrs r6, r2, 16
- ldr r2, =gUnknown_0203A124
- ldr r3, [r2]
- movs r1, 0
- strb r1, [r3, 0x5]
- ldr r1, [r2]
- strb r0, [r1, 0x4]
- movs r3, 0
- adds r7, r2, 0
- adds r4, r7, 0
- movs r2, 0x1
-_0811FAC2:
- ldr r0, [r4]
- adds r1, r0, 0x6
- adds r1, r3
- ldrb r0, [r0, 0x4]
- asrs r0, r3
- ands r0, r2
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _0811FAC2
- lsls r0, r5, 16
- asrs r0, 16
- lsls r1, r6, 16
- asrs r1, 16
- ldr r3, [r7]
- ldrh r2, [r3]
- ldrh r3, [r3, 0x2]
- bl sub_811FC80
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811FAA4
-
- thumb_func_start sub_811FAF8
-sub_811FAF8: @ 811FAF8
- push {r4-r7,lr}
- movs r5, 0
- ldr r4, =gUnknown_0203A124
-_0811FAFE:
- ldr r0, [r4]
- ldrh r0, [r0]
- adds r0, r5, r0
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpriteTilesByTag
- ldr r0, [r4]
- ldrh r0, [r0, 0x2]
- adds r0, r5, r0
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpritePaletteByTag
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _0811FAFE
- movs r5, 0
- ldr r6, =gUnknown_0203A124
-_0811FB28:
- ldr r0, [r6]
- lsls r4, r5, 2
- adds r0, 0xC
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _0811FB9A
- bl DestroySprite
- ldr r0, [r6]
- adds r0, 0xC
- adds r0, r4
- movs r1, 0
- str r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _0811FB28
- movs r5, 0
- ldr r6, =gUnknown_0203A124
-_0811FB52:
- ldr r0, [r6]
- lsls r4, r5, 2
- adds r0, 0x14
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _0811FB9A
- bl DestroySprite
- ldr r0, [r6]
- adds r0, 0x14
- adds r0, r4
- movs r7, 0
- str r7, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _0811FB52
- ldr r4, =gUnknown_0203A124
- ldr r0, [r4]
- ldr r0, [r0, 0x24]
- cmp r0, 0
- beq _0811FB8A
- bl DestroySprite
- ldr r0, [r4]
- str r7, [r0, 0x24]
-_0811FB8A:
- ldr r0, [r4]
- ldr r0, [r0, 0x28]
- cmp r0, 0
- beq _0811FB9A
- bl DestroySprite
- ldr r0, [r4]
- str r7, [r0, 0x28]
-_0811FB9A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811FAF8
-
- thumb_func_start sub_811FBA4
-sub_811FBA4: @ 811FBA4
- push {r4,r5,lr}
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _0811FBDC
- movs r0, 0x5
- bl PlaySE
- ldr r2, =gUnknown_0203A124
- ldr r1, [r2]
- ldrb r0, [r1, 0x5]
- subs r0, 0x1
- strb r0, [r1, 0x5]
- lsls r0, 24
- cmp r0, 0
- bge _0811FC64
- ldr r1, [r2]
- movs r0, 0x5
- strb r0, [r1, 0x5]
- b _0811FC64
- .pool
-_0811FBDC:
- movs r0, 0x80
- ands r0, r1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _0811FC0C
- movs r0, 0x5
- bl PlaySE
- ldr r2, =gUnknown_0203A124
- ldr r1, [r2]
- ldrb r0, [r1, 0x5]
- adds r0, 0x1
- strb r0, [r1, 0x5]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x5
- ble _0811FC64
- ldr r0, [r2]
- strb r5, [r0, 0x5]
- b _0811FC64
- .pool
-_0811FC0C:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0811FC68
- movs r0, 0x5
- bl PlaySE
- ldr r2, =gUnknown_0203A124
- ldr r0, [r2]
- movs r1, 0x5
- ldrsb r1, [r0, r1]
- cmp r1, 0x4
- beq _0811FC40
- cmp r1, 0x5
- beq _0811FC76
- adds r0, 0x6
- adds r1, r0, r1
- movs r2, 0
- ldrb r0, [r1]
- cmp r0, 0
- bne _0811FC62
- movs r2, 0x1
- b _0811FC62
- .pool
-_0811FC40:
- strb r4, [r0, 0x4]
- movs r3, 0
- adds r4, r2, 0
-_0811FC46:
- ldr r2, [r4]
- adds r0, r2, 0x6
- adds r0, r3
- ldrb r0, [r0]
- lsls r0, r3
- ldrb r1, [r2, 0x4]
- orrs r0, r1
- strb r0, [r2, 0x4]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _0811FC46
- b _0811FC76
-_0811FC62:
- strb r2, [r1]
-_0811FC64:
- movs r0, 0x1
- b _0811FC78
-_0811FC68:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0811FC64
- movs r0, 0x5
- bl PlaySE
-_0811FC76:
- movs r0, 0
-_0811FC78:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_811FBA4
-
- thumb_func_start sub_811FC80
-sub_811FC80: @ 811FC80
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x50
- mov r8, r0
- mov r9, r1
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- ldr r4, =gUnknown_0203A124
- ldr r0, [r4]
- adds r0, 0x34
- str r0, [sp, 0x18]
- add r1, sp, 0x1C
- movs r7, 0
- movs r0, 0x80
- lsls r0, 5
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x1E
- strh r5, [r0]
- add r1, sp, 0x20
- ldr r0, =gPokenavConditionMarker_Gfx
- str r0, [sp, 0x20]
- movs r0, 0xC8
- lsls r0, 2
- strh r0, [r1, 0x4]
- adds r0, r5, 0x1
- strh r0, [r1, 0x6]
- add r0, sp, 0x28
- movs r1, 0
- movs r2, 0x8
- bl memset
- add r2, sp, 0x18
- mov r10, r2
- mov r0, sp
- mov r1, r10
- movs r2, 0x18
- bl memcpy
- ldr r0, [r4]
- ldr r0, [r0, 0x30]
- str r0, [sp, 0x30]
- add r0, sp, 0x34
- strh r6, [r0]
- add r1, sp, 0x38
- ldr r0, =gPokenavConditionMarker_Pal
- str r0, [sp, 0x38]
- adds r0, r6, 0x1
- strh r0, [r1, 0x4]
- add r0, sp, 0x40
- movs r1, 0
- movs r2, 0x8
- bl memset
- add r4, sp, 0x30
- mov r0, r10
- adds r1, r4, 0
- movs r2, 0x18
- bl memcpy
- strh r5, [r4]
- strh r6, [r4, 0x2]
- ldr r0, =gUnknown_0859EE7C
- str r0, [r4, 0x4]
- ldr r0, =gUnknown_0859EF14
- str r0, [r4, 0x8]
- str r7, [r4, 0xC]
- ldr r0, =gDummySpriteAffineAnimTable
- str r0, [r4, 0x10]
- ldr r0, =TaskDummy7
- str r0, [r4, 0x14]
- mov r0, sp
- bl LoadSpriteSheets
- mov r0, r10
- bl LoadSpritePalettes
- movs r5, 0
- mov r3, r8
- lsls r3, 16
- mov r8, r3
- movs r0, 0x80
- lsls r0, 14
- add r0, r8
- mov r10, r0
- mov r1, r8
- str r1, [sp, 0x48]
- mov r2, r9
- lsls r2, 16
- mov r9, r2
- movs r7, 0x80
- lsls r7, 14
- add r7, r9
- mov r3, r9
- str r3, [sp, 0x4C]
-_0811FD58:
- adds r0, r4, 0
- mov r2, r10
- asrs r1, r2, 16
- asrs r2, r7, 16
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- bne _0811FD70
- b _0811FEFC
-_0811FD70:
- ldr r6, =gUnknown_0203A124
- ldr r2, [r6]
- lsls r0, r5, 2
- adds r2, 0xC
- adds r2, r0
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r2]
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _0811FD58
- ldr r0, [r6]
- ldr r1, [r0, 0x10]
- ldr r3, [sp, 0x4C]
- asrs r0, r3, 16
- adds r0, 0x60
- strh r0, [r1, 0x22]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- ldr r0, =gUnknown_0859EEDC
- str r0, [r4, 0x8]
- ldr r0, =sub_811FF40
- str r0, [r4, 0x14]
- ldr r0, =gUnknown_0859EE84
- str r0, [r4, 0x4]
- movs r5, 0
- ldr r0, [sp, 0x48]
- movs r1, 0x80
- lsls r1, 14
- adds r0, r1
- mov r9, r0
-_0811FDC8:
- lsls r2, r5, 4
- adds r2, 0x10
- ldr r3, [sp, 0x4C]
- asrs r3, 16
- mov r8, r3
- add r2, r8
- lsls r2, 16
- asrs r2, 16
- adds r0, r4, 0
- mov r3, r9
- asrs r1, r3, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- bne _0811FDEE
- b _0811FF0C
-_0811FDEE:
- ldr r6, =gUnknown_0203A124
- ldr r1, [r6]
- lsls r0, r5, 2
- adds r1, 0x14
- adds r1, r0
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- ldr r7, =gSprites
- adds r0, r7
- str r0, [r1]
- strh r5, [r0, 0x2E]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _0811FDC8
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x14]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _0811FEA8
- ldr r0, [r6]
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- adds r1, r7
- str r1, [r0, 0x28]
- ldrb r3, [r1, 0x1]
- movs r2, 0x3F
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1, 0x1]
- ldr r0, [r6]
- ldr r1, [r0, 0x28]
- ldrb r0, [r1, 0x3]
- ands r2, r0
- movs r0, 0x80
- orrs r2, r0
- strb r2, [r1, 0x3]
- ldr r0, [r6]
- ldr r0, [r0, 0x28]
- movs r1, 0x9
- bl StartSpriteAnim
- ldr r1, [r6]
- ldr r2, [r1, 0x28]
- ldr r3, [sp, 0x48]
- asrs r0, r3, 16
- adds r0, 0x20
- strh r0, [r2, 0x20]
- ldr r2, [r1, 0x28]
- mov r0, r8
- adds r0, 0x50
- strh r0, [r2, 0x22]
- ldr r0, [r1, 0x28]
- movs r1, 0x1
- movs r2, 0x2
- movs r3, 0
- bl CalcCenterToCornerVec
- b _0811FEAE
- .pool
-_0811FEA8:
- ldr r1, [r6]
- movs r0, 0
- str r0, [r1, 0x28]
-_0811FEAE:
- ldr r0, =sub_811FF7C
- str r0, [r4, 0x14]
- ldr r0, [sp, 0x48]
- movs r2, 0xC0
- lsls r2, 12
- adds r1, r0, r2
- asrs r1, 16
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _0811FF20
- ldr r0, =gUnknown_0203A124
- ldr r2, [r0]
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r2, 0x24]
- ldr r3, [sp, 0x4C]
- asrs r0, r3, 16
- adds r0, 0x10
- strh r0, [r1, 0x2E]
- ldr r0, [r2, 0x24]
- movs r1, 0x8
- bl StartSpriteAnim
- b _0811FF28
- .pool
-_0811FEFC:
- ldr r0, =gUnknown_0203A124
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r0, 0xC
- b _0811FF14
- .pool
-_0811FF0C:
- ldr r0, =gUnknown_0203A124
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r0, 0x14
-_0811FF14:
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- b _0811FF28
- .pool
-_0811FF20:
- ldr r0, =gUnknown_0203A124
- ldr r1, [r0]
- movs r0, 0
- str r0, [r1, 0x24]
-_0811FF28:
- add sp, 0x50
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811FC80
-
- thumb_func_start TaskDummy7
-TaskDummy7: @ 811FF3C
- bx lr
- thumb_func_end TaskDummy7
-
- thumb_func_start sub_811FF40
-sub_811FF40: @ 811FF40
- push {lr}
- adds r2, r0, 0
- ldr r0, =gUnknown_0203A124
- ldr r0, [r0]
- movs r3, 0x2E
- ldrsh r1, [r2, r3]
- adds r0, 0x6
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0811FF6C
- lsls r1, 1
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r0, r2, 0
- bl StartSpriteAnim
- b _0811FF76
- .pool
-_0811FF6C:
- lsls r1, 25
- lsrs r1, 24
- adds r0, r2, 0
- bl StartSpriteAnim
-_0811FF76:
- pop {r0}
- bx r0
- thumb_func_end sub_811FF40
-
- thumb_func_start sub_811FF7C
-sub_811FF7C: @ 811FF7C
- ldr r1, =gUnknown_0203A124
- ldr r1, [r1]
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 4
- ldrh r2, [r0, 0x2E]
- adds r1, r2
- strh r1, [r0, 0x22]
- bx lr
- .pool
- thumb_func_end sub_811FF7C
-
- thumb_func_start sub_811FF94
-sub_811FF94: @ 811FF94
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- cmp r2, 0
- bne _0811FFA4
- ldr r2, =gUnknown_0859E65C
-_0811FFA4:
- movs r3, 0x10
- bl sub_811FFD4
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_811FF94
-
- thumb_func_start sub_811FFB4
-sub_811FFB4: @ 811FFB4
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- cmp r2, 0
- bne _0811FFC4
- ldr r2, =gUnknown_0859E65C
-_0811FFC4:
- movs r3, 0x1
- bl sub_811FFD4
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_811FFB4
-
- thumb_func_start sub_811FFD4
-sub_811FFD4: @ 811FFD4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x28
- lsls r0, 16
- lsls r1, 16
- lsrs r1, 16
- ldr r4, =gUnknown_0859E67C
- str r4, [sp, 0x18]
- movs r4, 0x80
- add r5, sp, 0x18
- lsrs r6, r0, 16
- orrs r0, r4
- str r0, [r5, 0x4]
- str r2, [sp, 0x20]
- ldr r0, =0xffff0000
- mov r8, r0
- add r4, sp, 0x20
- ldr r0, [r4, 0x4]
- mov r2, r8
- ands r0, r2
- orrs r0, r1
- str r0, [r4, 0x4]
- mov r0, sp
- movs r2, 0
- strh r6, [r0]
- strh r1, [r0, 0x2]
- ldr r0, =gUnknown_0859EF1C
- str r0, [sp, 0x4]
- ldr r0, =gUnknown_0859EFA4
- str r0, [sp, 0x8]
- str r2, [sp, 0xC]
- ldr r0, =gDummySpriteAffineAnimTable
- str r0, [sp, 0x10]
- ldr r0, =TaskDummy7
- str r0, [sp, 0x14]
- lsls r3, 23
- lsrs r3, 16
- ldr r0, [r5, 0x4]
- mov r1, r8
- ands r0, r1
- orrs r0, r3
- str r0, [r5, 0x4]
- adds r0, r5, 0
- bl LoadSpriteSheet
- adds r0, r4, 0
- bl LoadSpritePalette
- mov r0, sp
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- bne _08120068
- movs r0, 0
- b _08120072
- .pool
-_08120068:
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
-_08120072:
- add sp, 0x28
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_811FFD4
-
- thumb_func_start sub_8120084
-sub_8120084: @ 8120084
- push {lr}
- lsls r0, 24
- lsrs r0, 17
- ldr r2, =gUnknown_0859E67C
- adds r0, r2
- movs r2, 0x80
- movs r3, 0x10
- bl RequestDma3Copy
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120084
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/party_menu.s b/asm/party_menu.s
index b71804617..0d5c6b631 100644
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -410,7 +410,7 @@ _081B03A6:
b _081B048C
.pool
_081B03B8:
- bl sub_80D2F04
+ bl LoadMonIconPalettes
b _081B0484
_081B03BE:
bl party_menu_add_per_mon_objects
@@ -4396,7 +4396,7 @@ _081B23E8:
movs r0, 0
movs r1, 0x4F
movs r2, 0xD0
- bl sub_809882C
+ bl LoadUserWindowBorderGfx
bl GetOverworldTextboxPalettePtr
movs r1, 0xE0
movs r2, 0x20
@@ -10199,10 +10199,10 @@ _081B5714:
movs r0, 0x5
bl PlaySE
_081B571A:
- ldr r0, =gUnknown_03005DB0
+ ldr r0, =gFieldCallback2
movs r1, 0
str r1, [r0]
- ldr r0, =gUnknown_0203CEEC
+ ldr r0, =gPostMenuFieldCallback
str r1, [r0]
adds r0, r4, 0
bl sub_81B1C1C
@@ -10213,8 +10213,8 @@ _081B572A:
.pool
thumb_func_end sub_81B56D8
- thumb_func_start FieldCallback_Teleport
-FieldCallback_Teleport: @ 81B5738
+ thumb_func_start FieldCallback_PrepareFadeInFromMenu
+FieldCallback_PrepareFadeInFromMenu: @ 81B5738
push {lr}
bl pal_fill_black
ldr r0, =task_launch_hm_phase_2
@@ -10224,14 +10224,14 @@ FieldCallback_Teleport: @ 81B5738
pop {r1}
bx r1
.pool
- thumb_func_end FieldCallback_Teleport
+ thumb_func_end FieldCallback_PrepareFadeInFromMenu
thumb_func_start task_launch_hm_phase_2
task_launch_hm_phase_2: @ 81B5750
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl sub_80ABDFC
+ bl IsWeatherNotFadingIn
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -10241,7 +10241,7 @@ task_launch_hm_phase_2: @ 81B5750
lsls r0, 16
lsrs r0, 16
str r0, [r1]
- ldr r0, =gUnknown_0203CEEC
+ ldr r0, =gPostMenuFieldCallback
ldr r0, [r0]
bl _call_via_r0
adds r0, r4, 0
@@ -10345,10 +10345,10 @@ sub_81B5820: @ 81B5820
lsrs r0, 24
cmp r0, 0x1
bne _081B585C
- ldr r1, =gUnknown_03005DB0
- ldr r0, =FieldCallback_Teleport
+ ldr r1, =gFieldCallback2
+ ldr r0, =FieldCallback_PrepareFadeInFromMenu
str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
+ ldr r1, =gPostMenuFieldCallback
ldr r0, =hm_surf_run_dp02scr
str r0, [r1]
movs r0, 0x1
@@ -10463,10 +10463,10 @@ hm_prepare_waterfall: @ 81B58F0
lsrs r0, 24
cmp r0, 0x1
bne _081B594C
- ldr r1, =gUnknown_03005DB0
- ldr r0, =FieldCallback_Teleport
+ ldr r1, =gFieldCallback2
+ ldr r0, =FieldCallback_PrepareFadeInFromMenu
str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
+ ldr r1, =gPostMenuFieldCallback
ldr r0, =hm2_waterfall
str r0, [r1]
movs r0, 0x1
@@ -10510,10 +10510,10 @@ sub_81B5974: @ 81B5974
b _081B599E
.pool
_081B5990:
- ldr r1, =gUnknown_03005DB0
- ldr r0, =FieldCallback_Teleport
+ ldr r1, =gFieldCallback2
+ ldr r0, =FieldCallback_PrepareFadeInFromMenu
str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
+ ldr r1, =gPostMenuFieldCallback
ldr r0, =sub_81B5958
str r0, [r1]
movs r0, 0x1
@@ -10793,7 +10793,7 @@ _081B5BD0:
sub_81B5BDC: @ 81B5BDC
push {r4,lr}
adds r4, r0, 0
- bl sub_80D30DC
+ bl UpdateMonIconFrame
lsls r0, 24
lsrs r0, 24
cmp r0, 0
@@ -10817,7 +10817,7 @@ _081B5C02:
thumb_func_start sub_81B5C08
sub_81B5C08: @ 81B5C08
push {lr}
- bl sub_80D30DC
+ bl UpdateMonIconFrame
pop {r0}
bx r0
thumb_func_end sub_81B5C08
@@ -12158,7 +12158,7 @@ sub_81B672C: @ 81B672C
bl sub_81B1B5C
movs r0, 0x2
bl schedule_bg_copy_tilemap_to_vram
- bl sub_805EAE8
+ bl HandleBattleLowHpMusicChange
ldr r1, =gTasks
lsls r0, r5, 2
adds r0, r5
@@ -15368,7 +15368,7 @@ sub_81B83F0: @ 81B83F0
lsls r0, r1, 24
lsrs r0, 24
movs r1, 0x1
- bl sub_80D6E48
+ bl RemovePCItem
b _081B8418
.pool
_081B8410:
@@ -15413,7 +15413,7 @@ sub_81B8448: @ 81B8448
str r0, [sp]
ldr r0, =sub_81B1370
str r0, [sp, 0x4]
- ldr r0, =sub_816BB28
+ ldr r0, =Mailbox_ReturnToMailListAfterDeposit
str r0, [sp, 0x8]
movs r0, 0
movs r1, 0
@@ -15442,7 +15442,7 @@ sub_81B8474: @ 81B8474
movs r0, 0
strb r0, [r1]
ldr r2, =gSaveBlock1Ptr
- ldr r0, =gUnknown_0203BCB8
+ ldr r0, =playerPCItemPageInfo
ldrh r1, [r0]
adds r1, 0x6
ldrh r0, [r0, 0x2]
@@ -16021,7 +16021,7 @@ sub_81B892C: @ 81B892C
str r0, [sp]
ldr r0, =sub_81B1370
str r0, [sp, 0x4]
- ldr r0, =CB2_ReturnToFieldContinueScript
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
str r0, [sp, 0x8]
movs r0, 0
movs r1, 0
@@ -16042,7 +16042,7 @@ sub_81B8958: @ 81B8958
str r0, [sp]
ldr r0, =sub_81B1370
str r0, [sp, 0x4]
- ldr r0, =CB2_ReturnToFieldContinueScript
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
str r0, [sp, 0x8]
movs r0, 0xB
movs r1, 0
@@ -16079,8 +16079,8 @@ _081B89A6:
bx r1
thumb_func_end sub_81B8984
- thumb_func_start sub_81B89AC
-sub_81B89AC: @ 81B89AC
+ thumb_func_start OpenPartyMenuInBattle
+OpenPartyMenuInBattle: @ 81B89AC
push {r4,lr}
sub sp, 0xC
adds r4, r0, 0
@@ -16107,7 +16107,7 @@ sub_81B89AC: @ 81B89AC
pop {r0}
bx r0
.pool
- thumb_func_end sub_81B89AC
+ thumb_func_end OpenPartyMenuInBattle
thumb_func_start sub_81B89F0
sub_81B89F0: @ 81B89F0
@@ -16288,7 +16288,7 @@ _081B8B94:
ldrb r0, [r0, 0xB]
cmp r0, 0x4
bne _081B8BA8
- bl sub_806E994
+ bl SetMonPreventsSwitchingString
b _081B8C46
.pool
_081B8BA8:
@@ -17276,7 +17276,7 @@ sub_81B9354: @ 81B9354
sub sp, 0xC
lsls r0, 24
lsrs r0, 24
- ldr r2, =gUnknown_03005DB0
+ ldr r2, =gFieldCallback2
ldr r1, =hm_add_c3_without_phase_2
str r1, [r2]
movs r1, 0
@@ -17308,7 +17308,7 @@ sub_81B9390: @ 81B9390
movs r0, 0xFF
strh r0, [r4]
_081B93A6:
- ldr r0, =gUnknown_03005DB0
+ ldr r0, =gFieldCallback2
ldr r1, =hm_add_c3_without_phase_2
str r1, [r0]
ldr r0, =CB2_ReturnToField
@@ -17337,7 +17337,7 @@ task_hm_without_phase_2: @ 81B93E0
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl sub_80ABDFC
+ bl IsWeatherNotFadingIn
lsls r0, 24
cmp r0, 0
beq _081B93FE
@@ -17417,7 +17417,7 @@ _081B9486:
ldr r1, =gSpecialVar_0x8004
ldrb r0, [r2]
strh r0, [r1]
- ldr r1, =gUnknown_03005DB0
+ ldr r1, =gFieldCallback2
ldr r0, =hm_add_c3_without_phase_2
str r0, [r1]
ldr r0, =CB2_ReturnToField
@@ -17553,7 +17553,7 @@ _081B95A4:
lsrs r0, 24
strh r0, [r4]
_081B95BA:
- ldr r0, =gUnknown_03005DB0
+ ldr r0, =gFieldCallback2
ldr r1, =hm_add_c3_without_phase_2
str r1, [r0]
ldr r0, =CB2_ReturnToField
diff --git a/asm/player_pc.s b/asm/player_pc.s
deleted file mode 100644
index 6fe4b3b85..000000000
--- a/asm/player_pc.s
+++ /dev/null
@@ -1,3436 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start NewGameInitPCItems
-NewGameInitPCItems: @ 816ADF4
- push {r4-r6,lr}
- movs r4, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x93
- lsls r1, 3
- adds r0, r1
- movs r1, 0x32
- bl ClearItemSlots
- ldr r1, =gUnknown_085DFEFC
- ldrh r0, [r1]
- cmp r0, 0
- beq _0816AE48
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- beq _0816AE48
- adds r5, r1, 0
- adds r6, r5, 0x2
-_0816AE1A:
- lsls r1, r4, 2
- adds r0, r1, r5
- ldrh r0, [r0]
- adds r1, r6
- ldrh r1, [r1]
- bl AddPCItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0816AE48
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, r4, 2
- adds r0, r1, r5
- ldrh r0, [r0]
- cmp r0, 0
- beq _0816AE48
- adds r0, r1, r6
- ldrh r0, [r0]
- cmp r0, 0
- bne _0816AE1A
-_0816AE48:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end NewGameInitPCItems
-
- thumb_func_start sub_816AE58
-sub_816AE58: @ 816AE58
- push {lr}
- ldr r1, =gUnknown_0203BCB0
- ldr r0, =gUnknown_085DFED4
- str r0, [r1]
- ldr r1, =gUnknown_0203BCB4
- movs r0, 0x4
- strb r0, [r1]
- ldr r0, =TaskDummy
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gText_WhatWouldYouLike
- ldr r2, =sub_816AED8
- bl DisplayItemMessageOnField
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816AE58
-
- thumb_func_start sub_816AE98
-sub_816AE98: @ 816AE98
- push {lr}
- ldr r1, =gUnknown_0203BCB0
- ldr r0, =gUnknown_085DFED8
- str r0, [r1]
- ldr r1, =gUnknown_0203BCB4
- movs r0, 0x3
- strb r0, [r1]
- ldr r0, =TaskDummy
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gText_WhatWouldYouLike
- ldr r2, =sub_816AED8
- bl DisplayItemMessageOnField
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816AE98
-
- thumb_func_start sub_816AED8
-sub_816AED8: @ 816AED8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- ldr r0, =gUnknown_0203BCB4
- ldrb r1, [r0]
- mov r8, r0
- cmp r1, 0x3
- bne _0816AF0C
- ldr r0, =gUnknown_085DFF24
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- b _0816AF12
- .pool
-_0816AF0C:
- ldr r0, =gUnknown_085DFF24
- ldr r1, [r0, 0xC]
- ldr r0, [r0, 0x8]
-_0816AF12:
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r5, =gUnknown_085DFEB4
- ldr r4, =gUnknown_0203BCB0
- ldr r1, [r4]
- mov r0, r8
- ldrb r2, [r0]
- adds r0, r5, 0
- bl sub_81DB3D8
- lsls r0, 24
- ldr r2, =0x00ffffff
- ldr r1, [sp]
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- bl AddWindow
- strh r0, [r6, 0x8]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl SetStandardWindowBorderStyle
- ldrb r0, [r6, 0x8]
- mov r2, r8
- ldrb r1, [r2]
- ldr r3, [r4]
- adds r2, r5, 0
- bl sub_81995E4
- ldrb r0, [r6, 0x8]
- mov r2, r8
- ldrb r1, [r2]
- movs r2, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_816AF98
- str r1, [r0]
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816AED8
-
- thumb_func_start sub_816AF98
-sub_816AF98: @ 816AF98
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldr r0, =gUnknown_0203BCB4
- ldrb r0, [r0]
- cmp r0, 0x3
- bls _0816AFC0
- bl ProcessMenuInput
- b _0816AFC4
- .pool
-_0816AFC0:
- bl ProcessMenuInputNoWrapAround
-_0816AFC4:
- lsls r0, 24
- lsrs r0, 24
- lsls r0, 24
- asrs r5, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r5, r0
- beq _0816B04C
- adds r0, 0x1
- cmp r5, r0
- bne _0816B014
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4, 0x8]
- movs r1, 0
- bl sub_8198070
- ldrb r0, [r4, 0x8]
- bl ClearWindowTilemap
- ldrb r0, [r4, 0x8]
- bl RemoveWindow
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_816B148
- str r1, [r0]
- b _0816B04C
- .pool
-_0816B014:
- ldrb r0, [r4, 0x8]
- movs r1, 0
- bl sub_8198070
- ldrb r0, [r4, 0x8]
- bl ClearWindowTilemap
- ldrb r0, [r4, 0x8]
- bl RemoveWindow
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r2, =gUnknown_085DFEB4
- ldr r0, =gUnknown_0203BCB0
- ldr r0, [r0]
- adds r0, r5
- ldrb r0, [r0]
- lsls r0, 3
- adds r2, 0x4
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
-_0816B04C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816AF98
-
- thumb_func_start sub_816B060
-sub_816B060: @ 816B060
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gText_WhatWouldYouLike
- ldr r2, =sub_816AED8
- bl DisplayItemMessageOnField
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B060
-
- thumb_func_start task_pc_itemstorage
-task_pc_itemstorage: @ 816B07C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl sub_816B190
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_816B248
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_pc_itemstorage
-
- thumb_func_start sub_816B0A8
-sub_816B0A8: @ 816B0A8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- bl sub_816B510
- ldr r5, =gUnknown_0203BCB8
- movs r1, 0
- strb r0, [r5, 0x5]
- lsls r0, 24
- cmp r0, 0
- bne _0816B0D8
- ldr r1, =gText_NoMailHere
- ldr r2, =sub_816B060
- adds r0, r4, 0
- bl DisplayItemMessageOnField
- b _0816B12A
- .pool
-_0816B0D8:
- strh r1, [r5]
- strh r1, [r5, 0x2]
- movs r0, 0xFF
- strb r0, [r5, 0x9]
- bl sub_816B54C
- adds r0, r4, 0
- bl sub_816B4C0
- ldrb r0, [r5, 0x5]
- bl sub_81D1C44
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0816B120
- movs r0, 0
- movs r1, 0
- bl sub_8197434
- adds r0, r4, 0
- bl sub_816B5F8
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_816B674
- str r0, [r1]
- b _0816B12A
- .pool
-_0816B120:
- ldr r1, =gText_NoMailHere
- ldr r2, =sub_816B060
- adds r0, r6, 0
- bl DisplayItemMessageOnField
-_0816B12A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B0A8
-
- thumb_func_start sub_816B138
-sub_816B138: @ 816B138
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_8126B2C
- pop {r0}
- bx r0
- thumb_func_end sub_816B138
-
- thumb_func_start sub_816B148
-sub_816B148: @ 816B148
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_0203BCB4
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0816B180
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _0816B174
- ldr r0, =LittlerootTown_BrendansHouse_2F_EventScript_1F863F
- bl ScriptContext1_SetupScript
- b _0816B184
- .pool
-_0816B174:
- ldr r0, =LittlerootTown_MaysHouse_2F_EventScript_1F958F
- bl ScriptContext1_SetupScript
- b _0816B184
- .pool
-_0816B180:
- bl EnableBothScriptContexts
-_0816B184:
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_816B148
-
- thumb_func_start sub_816B190
-sub_816B190: @ 816B190
- push {r4-r6,lr}
- sub sp, 0x8
- adds r5, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- ldr r0, =gUnknown_085DFF24
- ldr r1, [r0, 0x14]
- ldr r0, [r0, 0x10]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r6, =gUnknown_085DFEDC
- adds r0, r6, 0
- movs r1, 0x4
- bl GetMaxWidthInMenuTable
- lsls r0, 24
- ldr r2, =0x00ffffff
- ldr r1, [sp]
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- bl AddWindow
- strh r0, [r4, 0x8]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl SetStandardWindowBorderStyle
- ldrb r0, [r4, 0x8]
- movs r1, 0x4
- adds r2, r6, 0
- bl PrintMenuTable
- ldrb r0, [r4, 0x8]
- movs r1, 0x4
- adds r2, r5, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, =gUnknown_085DFEA4
- lsls r5, 2
- adds r5, r0
- ldr r0, [r5]
- bl sub_816B21C
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B190
-
- thumb_func_start sub_816B21C
-sub_816B21C: @ 816B21C
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0
- bl NewMenuHelpers_DrawDialogueFrame
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0
- bl PrintTextOnWindow
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_816B21C
-
- thumb_func_start sub_816B248
-sub_816B248: @ 816B248
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r5, r0, 24
- bl ProcessMenuInput
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r4, 24
- asrs r4, 24
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _0816B298
- adds r0, 0x1
- cmp r4, r0
- beq _0816B2B4
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_085DFEDC
- lsls r1, r4, 3
- adds r0, 0x4
- adds r1, r0
- ldr r1, [r1]
- adds r0, r6, 0
- bl _call_via_r1
- b _0816B2C0
- .pool
-_0816B298:
- lsls r1, r5, 24
- lsls r0, r2, 24
- asrs r2, r0, 24
- cmp r1, r0
- beq _0816B2C0
- ldr r0, =gUnknown_085DFEA4
- lsls r1, r2, 2
- adds r1, r0
- ldr r0, [r1]
- bl sub_816B21C
- b _0816B2C0
- .pool
-_0816B2B4:
- movs r0, 0x5
- bl PlaySE
- adds r0, r6, 0
- bl sub_816B4A4
-_0816B2C0:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_816B248
-
- thumb_func_start sub_816B2C8
-sub_816B2C8: @ 816B2C8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, =sub_816B2F0
- str r0, [r1]
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B2C8
-
- thumb_func_start sub_816B2F0
-sub_816B2F0: @ 816B2F0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0816B310
- bl overworld_free_bg_tilemaps
- bl sub_81AAC14
- adds r0, r4, 0
- bl DestroyTask
-_0816B310:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B2F0
-
- thumb_func_start sub_816B31C
-sub_816B31C: @ 816B31C
- push {lr}
- ldr r0, =gFieldCallback
- ldr r1, =mapldr_080EBC0C
- str r1, [r0]
- ldr r0, =CB2_ReturnToField
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B31C
-
- thumb_func_start mapldr_080EBC0C
-mapldr_080EBC0C: @ 816B33C
- push {lr}
- bl sub_81973A4
- movs r0, 0
- movs r1, 0x1
- bl NewMenuHelpers_DrawDialogueFrame
- ldr r0, =sub_816B368
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_816B190
- bl pal_fill_black
- pop {r0}
- bx r0
- .pool
- thumb_func_end mapldr_080EBC0C
-
- thumb_func_start sub_816B368
-sub_816B368: @ 816B368
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80ABDFC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0816B388
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_816B248
- str r0, [r1]
-_0816B388:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B368
-
- thumb_func_start sub_816B398
-sub_816B398: @ 816B398
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- bl sub_80D6CE4
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2]
- cmp r0, 0
- beq _0816B3C4
- adds r0, r5, 0
- movs r1, 0
- bl sub_816B430
- b _0816B3D4
- .pool
-_0816B3C4:
- adds r0, r5, 0
- bl sub_816B4DC
- ldr r1, =gText_NoItems
- ldr r2, =task_pc_itemstorage
- adds r0, r5, 0
- bl DisplayItemMessageOnField
-_0816B3D4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B398
-
- thumb_func_start sub_816B3E4
-sub_816B3E4: @ 816B3E4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- bl sub_80D6CE4
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2]
- cmp r0, 0
- beq _0816B410
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_816B430
- b _0816B420
- .pool
-_0816B410:
- adds r0, r5, 0
- bl sub_816B4DC
- ldr r1, =gText_NoItems
- ldr r2, =task_pc_itemstorage
- adds r0, r5, 0
- bl DisplayItemMessageOnField
-_0816B420:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B3E4
-
- thumb_func_start sub_816B430
-sub_816B430: @ 816B430
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r5, r4, 2
- adds r5, r4
- lsls r5, 3
- ldr r6, =gTasks + 0x8
- adds r0, r5, r6
- strh r1, [r0, 0x6]
- adds r0, r4, 0
- bl sub_816B4DC
- ldr r1, =gUnknown_0203BCB8
- movs r0, 0
- strh r0, [r1]
- strh r0, [r1, 0x2]
- movs r0, 0xFF
- strb r0, [r1, 0x9]
- adds r0, r4, 0
- bl sub_816B4C0
- bl sub_816BC14
- bl gpu_pal_allocator_reset__manage_upper_four
- bl LoadListMenuArrowsGfx
- ldr r0, =gUnknown_0203BCC4
- ldr r0, [r0]
- movs r1, 0xCD
- lsls r1, 3
- adds r0, r1
- movs r1, 0x7
- bl sub_8122344
- movs r0, 0
- movs r1, 0
- bl sub_8197434
- subs r6, 0x8
- adds r5, r6
- ldr r0, =sub_816C158
- str r0, [r5]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B430
-
- thumb_func_start sub_816B4A4
-sub_816B4A4: @ 816B4A4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_816B4DC
- adds r0, r4, 0
- bl sub_816B060
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_816B4A4
-
- thumb_func_start sub_816B4C0
-sub_816B4C0: @ 816B4C0
- push {lr}
- ldr r1, =gUnknown_0203BCB8
- ldrb r0, [r1, 0x5]
- cmp r0, 0x7
- bls _0816B4D4
- movs r0, 0x8
- b _0816B4D6
- .pool
-_0816B4D4:
- adds r0, 0x1
-_0816B4D6:
- strb r0, [r1, 0x4]
- pop {r0}
- bx r0
- thumb_func_end sub_816B4C0
-
- thumb_func_start sub_816B4DC
-sub_816B4DC: @ 816B4DC
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- ldrb r0, [r4, 0x8]
- movs r1, 0
- bl sub_8198070
- ldrb r0, [r4, 0x8]
- bl ClearWindowTilemap
- ldrb r0, [r4, 0x8]
- bl RemoveWindow
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B4DC
-
- thumb_func_start sub_816B510
-sub_816B510: @ 816B510
- push {r4,lr}
- movs r2, 0
- movs r1, 0x6
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- movs r4, 0xB0
- lsls r4, 6
-_0816B51E:
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3, r0
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0
- beq _0816B534
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_0816B534:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xF
- bls _0816B51E
- adds r0, r2, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_816B510
-
- thumb_func_start sub_816B54C
-sub_816B54C: @ 816B54C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- movs r2, 0x6
-_0816B55A:
- adds r1, r2, 0x1
- lsls r0, r1, 24
- lsrs r4, r0, 24
- mov r8, r1
- cmp r4, 0xF
- bhi _0816B5D4
- ldr r0, =gSaveBlock1Ptr
- mov r10, r0
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- mov r12, r0
- ldr r6, =0x00002be0
-_0816B574:
- mov r1, r10
- ldr r1, [r1]
- mov r9, r1
- mov r2, r9
- add r2, r12
- movs r3, 0xB0
- lsls r3, 6
- adds r0, r2, r3
- ldrh r0, [r0]
- cmp r0, 0
- bne _0816B5CA
- adds r2, r6
- mov r1, sp
- adds r0, r2, 0
- ldm r0!, {r3,r5,r7}
- stm r1!, {r3,r5,r7}
- ldm r0!, {r3,r5,r7}
- stm r1!, {r3,r5,r7}
- ldm r0!, {r3,r5,r7}
- stm r1!, {r3,r5,r7}
- lsls r3, r4, 3
- adds r3, r4
- lsls r3, 2
- mov r5, r9
- adds r0, r5, r3
- adds r0, r6
- ldm r0!, {r1,r5,r7}
- stm r2!, {r1,r5,r7}
- ldm r0!, {r1,r5,r7}
- stm r2!, {r1,r5,r7}
- ldm r0!, {r1,r5,r7}
- stm r2!, {r1,r5,r7}
- mov r7, r10
- ldr r1, [r7]
- adds r1, r3
- adds r1, r6
- mov r0, sp
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r5,r7}
- stm r1!, {r2,r5,r7}
-_0816B5CA:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _0816B574
-_0816B5D4:
- mov r3, r8
- lsls r0, r3, 24
- lsrs r2, r0, 24
- cmp r2, 0xE
- bls _0816B55A
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B54C
-
- thumb_func_start sub_816B5F8
-sub_816B5F8: @ 816B5F8
- push {r4-r6,lr}
- sub sp, 0xC
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0
- bl sub_81D1C84
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- bl sub_81D1C84
- ldr r6, =gText_Mailbox
- movs r0, 0x1
- adds r1, r6, 0
- movs r2, 0x40
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- adds r2, r6, 0
- bl PrintTextOnWindow
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r4, =gUnknown_0203BCB8
- adds r0, r4, 0
- bl sub_81D1DC0
- ldr r2, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x12]
- adds r0, r4, 0
- bl sub_81D1E90
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B5F8
-
- thumb_func_start sub_816B674
-sub_816B674: @ 816B674
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- mov r9, r0
- ldr r0, =gTasks + 0x8
- mov r10, r0
- mov r4, r9
- add r4, r10
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0816B71E
- ldrb r0, [r4, 0xA]
- bl ListMenuHandleInputGetItemId
- adds r6, r0, 0
- ldrb r0, [r4, 0xA]
- ldr r7, =gUnknown_0203BCBA
- subs r1, r7, 0x2
- mov r8, r1
- adds r1, r7, 0
- mov r2, r8
- bl ListMenuGetScrollAndRow
- movs r0, 0x2
- negs r0, r0
- cmp r6, r0
- beq _0816B6D4
- adds r0, 0x1
- cmp r6, r0
- bne _0816B6EA
- b _0816B71E
- .pool
-_0816B6D4:
- movs r0, 0x5
- bl PlaySE
- mov r1, r8
- ldrb r0, [r1, 0x9]
- bl RemoveScrollIndicatorArrowPair
- adds r0, r5, 0
- bl sub_816B798
- b _0816B71E
-_0816B6EA:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- bl sub_81D1D04
- movs r0, 0x1
- bl sub_81D1D04
- ldrb r0, [r4, 0xA]
- adds r1, r7, 0
- mov r2, r8
- bl DestroyListMenuTask
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- mov r1, r8
- ldrb r0, [r1, 0x9]
- bl RemoveScrollIndicatorArrowPair
- mov r0, r10
- subs r0, 0x8
- add r0, r9
- ldr r1, =sub_816B730
- str r1, [r0]
-_0816B71E:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B674
-
- thumb_func_start sub_816B730
-sub_816B730: @ 816B730
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =gStringVar1
- ldr r2, =gSaveBlock1Ptr
- ldr r1, =gUnknown_0203BCB8
- ldrh r0, [r1]
- adds r0, 0x6
- ldrh r1, [r1, 0x2]
- adds r0, r1
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r1, r0
- ldr r0, =0x00002bf2
- adds r1, r0
- adds r0, r5, 0
- bl StringCopy
- adds r0, r5, 0
- movs r1, 0
- bl sub_81DB554
- ldr r5, =gStringVar4
- ldr r1, =gText_WhatToDoWithVar1sMail
- adds r0, r5, 0
- bl StringExpandPlaceholders
- ldr r2, =sub_816B7DC
- adds r0, r4, 0
- adds r1, r5, 0
- bl DisplayItemMessageOnField
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B730
-
- thumb_func_start sub_816B798
-sub_816B798: @ 816B798
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- movs r0, 0
- bl sub_81D1D04
- movs r0, 0x1
- bl sub_81D1D04
- ldrb r0, [r4, 0xA]
- movs r1, 0
- movs r2, 0
- bl DestroyListMenuTask
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- bl sub_81D1EC0
- adds r0, r5, 0
- bl sub_816B060
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B798
-
- thumb_func_start sub_816B7DC
-sub_816B7DC: @ 816B7DC
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x2
- bl sub_81D1C84
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r2, =gUnknown_085DFF04
- adds r0, r4, 0
- movs r1, 0x4
- bl PrintMenuTable
- adds r0, r4, 0
- movs r1, 0x4
- movs r2, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_816B82C
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B7DC
-
- thumb_func_start sub_816B82C
-sub_816B82C: @ 816B82C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- bl ProcessMenuInput_other
- lsls r0, 24
- asrs r4, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _0816B86E
- adds r0, 0x1
- cmp r4, r0
- bne _0816B858
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_816BBD4
- b _0816B86E
-_0816B858:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_085DFF04
- lsls r1, r4, 3
- adds r0, 0x4
- adds r1, r0
- ldr r1, [r1]
- adds r0, r6, 0
- bl _call_via_r1
-_0816B86E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B82C
-
- thumb_func_start sub_816B878
-sub_816B878: @ 816B878
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_816B8A4
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B878
-
- thumb_func_start sub_816B8A4
-sub_816B8A4: @ 816B8A4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0816B8E6
- bl sub_81D1EC0
- bl overworld_free_bg_tilemaps
- ldr r2, =gSaveBlock1Ptr
- ldr r1, =gUnknown_0203BCB8
- ldrh r0, [r1]
- adds r0, 0x6
- ldrh r1, [r1, 0x2]
- adds r0, r1
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, =0x00002be0
- adds r1, r0
- ldr r0, [r2]
- adds r0, r1
- ldr r1, =sub_816B900
- movs r2, 0x1
- bl ReadMail
- adds r0, r4, 0
- bl DestroyTask
-_0816B8E6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B8A4
-
- thumb_func_start sub_816B900
-sub_816B900: @ 816B900
- push {lr}
- ldr r0, =gFieldCallback
- ldr r1, =pal_fill_for_maplights_or_black
- str r1, [r0]
- ldr r0, =CB2_ReturnToField
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B900
-
- thumb_func_start pal_fill_for_maplights_or_black
-pal_fill_for_maplights_or_black: @ 816B920
- push {r4,lr}
- bl sub_81973A4
- ldr r0, =task00_080EBBDC
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_0203BCB8
- ldrb r0, [r0, 0x5]
- bl sub_81D1C44
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0816B954
- adds r0, r4, 0
- bl sub_816B5F8
- b _0816B95A
- .pool
-_0816B954:
- adds r0, r4, 0
- bl DestroyTask
-_0816B95A:
- bl pal_fill_black
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pal_fill_for_maplights_or_black
-
- thumb_func_start task00_080EBBDC
-task00_080EBBDC: @ 816B964
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80ABDFC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0816B984
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_816B674
- str r0, [r1]
-_0816B984:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task00_080EBBDC
-
- thumb_func_start sub_816B994
-sub_816B994: @ 816B994
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gText_MessageWillBeLost
- ldr r2, =sub_816B9B0
- bl DisplayItemMessageOnField
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B994
-
- thumb_func_start sub_816B9B0
-sub_816B9B0: @ 816B9B0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8197930
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_816B9D8
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B9B0
-
- thumb_func_start sub_816B9D8
-sub_816B9D8: @ 816B9D8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _0816BA04
- cmp r0, r1
- ble _0816BA10
- cmp r0, 0
- beq _0816B9FC
- cmp r0, 0x1
- beq _0816BA0A
- b _0816BA10
-_0816B9FC:
- adds r0, r4, 0
- bl sub_816BA18
- b _0816BA10
-_0816BA04:
- movs r0, 0x5
- bl PlaySE
-_0816BA0A:
- adds r0, r4, 0
- bl sub_816BAAC
-_0816BA10:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_816B9D8
-
- thumb_func_start sub_816BA18
-sub_816BA18: @ 816BA18
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, =gSaveBlock1Ptr
- ldr r4, =gUnknown_0203BCB8
- ldrh r1, [r4]
- adds r1, 0x6
- ldrh r0, [r4, 0x2]
- adds r1, r0
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =0x00002be0
- adds r0, r1
- ldr r1, [r2]
- adds r5, r1, r0
- ldrh r0, [r5, 0x20]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- cmp r0, 0
- bne _0816BA68
- ldr r1, =gText_BagIsFull
- ldr r2, =sub_816BBD4
- adds r0, r6, 0
- bl DisplayItemMessageOnField
- b _0816BA9C
- .pool
-_0816BA68:
- ldr r1, =gText_MailToBagMessageErased
- ldr r2, =sub_816BBD4
- adds r0, r6, 0
- bl DisplayItemMessageOnField
- adds r0, r5, 0
- bl ClearMailStruct
- bl sub_816B54C
- ldrb r0, [r4, 0x5]
- subs r0, 0x1
- strb r0, [r4, 0x5]
- ldrb r1, [r4, 0x5]
- ldrb r0, [r4, 0x4]
- ldrh r2, [r4, 0x2]
- adds r0, r2
- cmp r1, r0
- bge _0816BA96
- cmp r2, 0
- beq _0816BA96
- subs r0, r2, 0x1
- strh r0, [r4, 0x2]
-_0816BA96:
- adds r0, r6, 0
- bl sub_816B4C0
-_0816BA9C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BA18
-
- thumb_func_start sub_816BAAC
-sub_816BAAC: @ 816BAAC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_816BBD4
- pop {r0}
- bx r0
- thumb_func_end sub_816BAAC
-
- thumb_func_start sub_816BABC
-sub_816BABC: @ 816BABC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl CalculatePlayerPartyCount
- lsls r0, 24
- cmp r0, 0
- bne _0816BAD4
- adds r0, r4, 0
- bl sub_816BBB8
- b _0816BAEA
-_0816BAD4:
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_816BAF8
- str r0, [r1]
-_0816BAEA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BABC
-
- thumb_func_start sub_816BAF8
-sub_816BAF8: @ 816BAF8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0816BB1C
- bl sub_81D1EC0
- bl overworld_free_bg_tilemaps
- bl sub_81B8448
- adds r0, r4, 0
- bl DestroyTask
-_0816BB1C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BAF8
-
- thumb_func_start sub_816BB28
-sub_816BB28: @ 816BB28
- push {lr}
- ldr r0, =gFieldCallback
- ldr r1, =sub_816BB48
- str r1, [r0]
- ldr r0, =CB2_ReturnToField
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BB28
-
- thumb_func_start sub_816BB48
-sub_816BB48: @ 816BB48
- push {r4-r6,lr}
- ldr r0, =task00_080EBBDC
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, =gUnknown_0203BCB8
- ldrb r4, [r5, 0x5]
- bl sub_816B510
- strb r0, [r5, 0x5]
- bl sub_816B54C
- ldrb r0, [r5, 0x5]
- cmp r4, r0
- beq _0816BB7E
- ldrb r1, [r5, 0x5]
- ldrb r0, [r5, 0x4]
- ldrh r2, [r5, 0x2]
- adds r0, r2
- cmp r1, r0
- bge _0816BB7E
- cmp r2, 0
- beq _0816BB7E
- subs r0, r2, 0x1
- strh r0, [r5, 0x2]
-_0816BB7E:
- adds r0, r6, 0
- bl sub_816B4C0
- bl sub_81973A4
- ldr r0, =gUnknown_0203BCB8
- ldrb r0, [r0, 0x5]
- bl sub_81D1C44
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0816BBA8
- adds r0, r6, 0
- bl sub_816B5F8
- b _0816BBAE
- .pool
-_0816BBA8:
- adds r0, r6, 0
- bl DestroyTask
-_0816BBAE:
- bl pal_fill_black
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_816BB48
-
- thumb_func_start sub_816BBB8
-sub_816BBB8: @ 816BBB8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gText_NoPokemon
- ldr r2, =sub_816BBD4
- bl DisplayItemMessageOnField
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BBB8
-
- thumb_func_start sub_816BBD4
-sub_816BBD4: @ 816BBD4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x2
- bl sub_81D1D04
- movs r0, 0
- movs r1, 0
- bl sub_8197434
- adds r0, r4, 0
- bl sub_816B5F8
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_816B674
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BBD4
-
- thumb_func_start sub_816BC14
-sub_816BC14: @ 816BC14
- push {r4,lr}
- ldr r4, =gUnknown_0203BCC4
- movs r0, 0xCE
- lsls r0, 3
- bl AllocZeroed
- str r0, [r4]
- movs r1, 0xCC
- lsls r1, 3
- adds r0, r1
- movs r1, 0xFF
- movs r2, 0x6
- bl memset
- ldr r0, [r4]
- ldr r1, =0x00000666
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, =0x00000667
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BC14
-
- thumb_func_start sub_816BC58
-sub_816BC58: @ 816BC58
- push {r4,lr}
- movs r4, 0
-_0816BC5C:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_816BCC4
- adds r4, 0x1
- cmp r4, 0x5
- bls _0816BC5C
- ldr r0, =gUnknown_0203BCC4
- ldr r0, [r0]
- bl Free
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BC58
-
- thumb_func_start sub_816BC7C
-sub_816BC7C: @ 816BC7C
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0203BCC4
- movs r3, 0xCC
- lsls r3, 3
- adds r1, r2, r3
- ldr r0, [r0]
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0xFF
- bne _0816BCB4
- lsls r0, r2, 3
- ldr r1, =gUnknown_085DFF5C
- adds r0, r1
- bl AddWindow
- strb r0, [r4]
- ldrb r0, [r4]
- movs r2, 0x85
- lsls r2, 2
- movs r1, 0
- movs r3, 0xE
- bl SetWindowBorderStyle
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
-_0816BCB4:
- ldrb r0, [r4]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_816BC7C
-
- thumb_func_start sub_816BCC4
-sub_816BCC4: @ 816BCC4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203BCC4
- movs r2, 0xCC
- lsls r2, 3
- adds r0, r2
- ldr r1, [r1]
- adds r4, r1, r0
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _0816BCF8
- movs r1, 0
- bl sub_8198070
- ldrb r0, [r4]
- bl ClearWindowTilemap
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldrb r0, [r4]
- bl RemoveWindow
- movs r0, 0xFF
- strb r0, [r4]
-_0816BCF8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BCC4
-
- thumb_func_start sub_816BD04
-sub_816BD04: @ 816BD04
- push {r4-r6,lr}
- movs r6, 0
- ldr r0, =gUnknown_0203BCB8
- ldrb r0, [r0, 0x5]
- subs r0, 0x1
- cmp r6, r0
- bge _0816BD58
- ldr r5, =gUnknown_0203BCC4
-_0816BD14:
- lsls r4, r6, 1
- adds r4, r6
- lsls r4, 3
- movs r0, 0xCC
- lsls r0, 1
- adds r4, r0
- ldr r0, [r5]
- adds r0, r4
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- lsls r2, r6, 2
- adds r1, r2
- movs r2, 0x93
- lsls r2, 3
- adds r1, r2
- ldrh r1, [r1]
- bl sub_816BDC8
- ldr r0, [r5]
- lsls r2, r6, 3
- adds r1, r0, r2
- adds r4, r0, r4
- str r4, [r1]
- adds r0, 0x4
- adds r0, r2
- str r6, [r0]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, =gUnknown_0203BCB8
- ldrb r0, [r0, 0x5]
- subs r0, 0x1
- cmp r6, r0
- blt _0816BD14
-_0816BD58:
- ldr r5, =gUnknown_0203BCC4
- lsls r4, r6, 1
- adds r4, r6
- lsls r4, 3
- movs r3, 0xCC
- lsls r3, 1
- adds r4, r3
- ldr r0, [r5]
- adds r0, r4
- ldr r1, =gText_Cancel2
- bl StringCopy
- ldr r0, [r5]
- lsls r2, r6, 3
- adds r1, r0, r2
- adds r4, r0, r4
- str r4, [r1]
- adds r0, 0x4
- adds r0, r2
- movs r1, 0x2
- negs r1, r1
- str r1, [r0]
- ldr r4, =gMultiuseListMenuTemplate
- adds r1, r4, 0
- ldr r0, =gUnknown_085DFF44
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- movs r0, 0
- bl sub_816BC7C
- strb r0, [r4, 0x10]
- ldr r1, =gUnknown_0203BCB8
- ldrb r0, [r1, 0x5]
- strh r0, [r4, 0xC]
- ldr r0, [r5]
- str r0, [r4]
- ldrb r0, [r1, 0x4]
- strh r0, [r4, 0xE]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BD04
-
- thumb_func_start sub_816BDC8
-sub_816BDC8: @ 816BDC8
- push {lr}
- adds r2, r0, 0
- lsls r0, r1, 16
- lsrs r0, 16
- adds r1, r2, 0
- bl CopyItemName
- pop {r0}
- bx r0
- thumb_func_end sub_816BDC8
-
- thumb_func_start sub_816BDDC
-sub_816BDDC: @ 816BDDC
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x1
- beq _0816BDEE
- movs r0, 0x5
- bl PlaySE
-_0816BDEE:
- ldr r0, =gUnknown_0203BCC4
- ldr r0, [r0]
- ldr r1, =0x00000666
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _0816BE38
- bl sub_816C0C8
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _0816BE2C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- lsls r1, r4, 2
- adds r0, r1
- movs r1, 0x93
- lsls r1, 3
- adds r0, r1
- ldrh r0, [r0]
- bl sub_816C060
- b _0816BE32
- .pool
-_0816BE2C:
- ldr r0, =0x0000ffff
- bl sub_816C060
-_0816BE32:
- adds r0, r4, 0
- bl sub_816BEF0
-_0816BE38:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BDDC
-
- thumb_func_start fish4_goto_x5_or_x6
-fish4_goto_x5_or_x6: @ 816BE44
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r1, 0
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r2, 24
- lsrs r5, r2, 24
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _0816BED4
- ldr r0, =gUnknown_0203BCC4
- ldr r0, [r0]
- ldr r1, =0x00000666
- adds r0, r1
- ldrb r1, [r0]
- cmp r1, 0xFF
- beq _0816BE8E
- lsls r0, r4, 24
- lsrs r0, 24
- cmp r1, r0
- bne _0816BE84
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0xFF
- bl sub_816BFE0
- b _0816BE8E
- .pool
-_0816BE84:
- adds r0, r5, 0
- movs r1, 0xFF
- movs r2, 0xFF
- bl sub_816BFE0
-_0816BE8E:
- ldr r0, =gStringVar1
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- lsls r2, r4, 2
- adds r1, r2
- ldr r2, =0x0000049a
- adds r1, r2
- ldrh r1, [r1]
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_xVar1
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0x7
- adds r1, r4, 0
- movs r2, 0x68
- bl GetStringRightAlignXOffset
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x7
- adds r2, r4, 0
- bl PrintTextOnWindow
-_0816BED4:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end fish4_goto_x5_or_x6
-
- thumb_func_start sub_816BEF0
-sub_816BEF0: @ 816BEF0
- push {r4,r5,lr}
- sub sp, 0xC
- adds r1, r0, 0
- ldr r0, =gUnknown_0203BCC4
- ldr r0, [r0]
- ldr r2, =0x00000661
- adds r0, r2
- ldrb r5, [r0]
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _0816BF2C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- lsls r1, 2
- adds r0, r1
- movs r1, 0x93
- lsls r1, 3
- adds r0, r1
- ldrh r0, [r0]
- bl ItemId_GetDescription
- b _0816BF32
- .pool
-_0816BF2C:
- ldr r0, =0x0000ffff
- bl sub_816C228
-_0816BF32:
- adds r4, r0, 0
- adds r0, r5, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0
- bl PrintTextOnWindow
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BEF0
-
- thumb_func_start sub_816BF60
-sub_816BF60: @ 816BF60
- push {r4,lr}
- sub sp, 0x10
- ldr r4, =gUnknown_0203BCB8
- ldrb r0, [r4, 0x9]
- cmp r0, 0xFF
- bne _0816BF8C
- ldrb r0, [r4, 0x5]
- ldrb r1, [r4, 0x4]
- subs r0, r1
- str r0, [sp]
- ldr r0, =0x000013f8
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- adds r0, r4, 0x2
- str r0, [sp, 0xC]
- movs r0, 0x2
- movs r1, 0xB0
- movs r2, 0xC
- movs r3, 0x94
- bl AddScrollIndicatorArrowPairParametrized
- strb r0, [r4, 0x9]
-_0816BF8C:
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BF60
-
- thumb_func_start sub_816BF9C
-sub_816BF9C: @ 816BF9C
- push {r4,lr}
- ldr r4, =gUnknown_0203BCB8
- ldrb r0, [r4, 0x9]
- cmp r0, 0xFF
- beq _0816BFAE
- bl RemoveScrollIndicatorArrowPair
- movs r0, 0xFF
- strb r0, [r4, 0x9]
-_0816BFAE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BF9C
-
- thumb_func_start sub_816BFB8
-sub_816BFB8: @ 816BFB8
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- bl ListMenuGetYCoordForPrintingArrowCursor
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_816BFE0
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_816BFB8
-
- thumb_func_start sub_816BFE0
-sub_816BFE0: @ 816BFE0
- push {r4-r6,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_0203BCC4
- ldr r0, [r0]
- movs r3, 0xCC
- lsls r3, 3
- adds r0, r3
- ldrb r5, [r0]
- cmp r1, 0xFF
- bne _0816C030
- movs r0, 0x1
- movs r1, 0
- bl GetMenuCursorDimensionByFont
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- movs r1, 0x1
- bl GetMenuCursorDimensionByFont
- lsls r0, 24
- lsrs r0, 24
- str r4, [sp]
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0x11
- movs r2, 0
- adds r3, r6, 0
- bl FillWindowPixelRect
- b _0816C050
- .pool
-_0816C030:
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- ldr r0, =gUnknown_085DFF8C
- str r0, [sp, 0x8]
- lsls r0, r2, 24
- asrs r0, 24
- str r0, [sp, 0xC]
- ldr r0, =gText_SelectorArrow2
- str r0, [sp, 0x10]
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0
- adds r3, r6, 0
- bl AddTextPrinterParameterized2
-_0816C050:
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BFE0
-
- thumb_func_start sub_816C060
-sub_816C060: @ 816C060
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, =gUnknown_0203BCC4
- ldr r0, [r0]
- ldr r1, =0x00000667
- adds r5, r0, r1
- ldrb r0, [r5]
- cmp r0, 0xFF
- bne _0816C0B2
- ldr r4, =0x000013f6
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r6, 0
- bl AddItemIconSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _0816C0B2
- strb r2, [r5]
- ldr r0, =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
- movs r0, 0x18
- strh r0, [r1, 0x24]
- movs r0, 0x50
- strh r0, [r1, 0x26]
-_0816C0B2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C060
-
- thumb_func_start sub_816C0C8
-sub_816C0C8: @ 816C0C8
- push {r4,r5,lr}
- ldr r0, =gUnknown_0203BCC4
- ldr r0, [r0]
- ldr r1, =0x00000667
- adds r5, r0, r1
- ldrb r0, [r5]
- cmp r0, 0xFF
- beq _0816C0FA
- ldr r4, =0x000013f6
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- movs r0, 0xFF
- strb r0, [r5]
-_0816C0FA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C0C8
-
- thumb_func_start sub_816C110
-sub_816C110: @ 816C110
- push {lr}
- sub sp, 0x4
- bl sub_80D6E84
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x93
- lsls r1, 3
- adds r0, r1
- ldr r2, =gUnknown_0203BCBC
- adds r3, r2, 0x1
- movs r1, 0x8
- str r1, [sp]
- movs r1, 0x32
- bl sub_812220C
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C110
-
- thumb_func_start sub_816C140
-sub_816C140: @ 816C140
- push {lr}
- ldr r0, =gUnknown_0203BCBA
- subs r1, r0, 0x2
- ldrb r2, [r1, 0x4]
- ldrb r3, [r1, 0x5]
- bl sub_812225C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C140
-
- thumb_func_start sub_816C158
-sub_816C158: @ 816C158
- push {r4-r7,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r7, r0, r1
- movs r4, 0
-_0816C16C:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_816BC7C
- adds r4, 0x1
- cmp r4, 0x3
- bls _0816C16C
- movs r1, 0x6
- ldrsh r0, [r7, r1]
- ldr r5, =gText_TossItem
- cmp r0, 0
- bne _0816C186
- ldr r5, =gText_WithdrawItem
-_0816C186:
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x68
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- ldr r4, =gUnknown_0203BCC4
- ldr r0, [r4]
- ldr r1, =0x00000663
- adds r0, r1
- ldrb r0, [r0]
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- bl PrintTextOnWindow
- ldr r0, [r4]
- ldr r1, =0x00000662
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- bl sub_816C110
- bl sub_816C140
- bl sub_816BD04
- ldr r0, =gMultiuseListMenuTemplate
- ldr r2, =gUnknown_0203BCB8
- ldrh r1, [r2, 0x2]
- ldrh r2, [r2]
- bl ListMenuInit
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7, 0xA]
- bl sub_816BF60
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_816C30C
- str r1, [r0]
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C158
-
- thumb_func_start sub_816C228
-sub_816C228: @ 816C228
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r2, =0xffff0009
- adds r0, r1, r2
- cmp r0, 0x8
- bhi _0816C2B4
- lsls r0, 2
- ldr r1, =_0816C248
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0816C248:
- .4byte _0816C2AC
- .4byte _0816C2A4
- .4byte _0816C29C
- .4byte _0816C294
- .4byte _0816C28C
- .4byte _0816C284
- .4byte _0816C27C
- .4byte _0816C274
- .4byte _0816C26C
-_0816C26C:
- ldr r0, =gText_GoBackPrevMenu
- b _0816C2BA
- .pool
-_0816C274:
- ldr r0, =gText_WithdrawHowManyItems
- b _0816C2BA
- .pool
-_0816C27C:
- ldr r0, =gText_WithdrawXItems
- b _0816C2BA
- .pool
-_0816C284:
- ldr r0, =gText_TossHowManyVar1s
- b _0816C2BA
- .pool
-_0816C28C:
- ldr r0, =gText_ThrewAwayVar2Var1s
- b _0816C2BA
- .pool
-_0816C294:
- ldr r0, =gText_NoRoomInBag
- b _0816C2BA
- .pool
-_0816C29C:
- ldr r0, =gText_TooImportantToToss
- b _0816C2BA
- .pool
-_0816C2A4:
- ldr r0, =gText_ConfirmTossItems
- b _0816C2BA
- .pool
-_0816C2AC:
- ldr r0, =gText_MoveVar1Where
- b _0816C2BA
- .pool
-_0816C2B4:
- adds r0, r1, 0
- bl ItemId_GetDescription
-_0816C2BA:
- pop {r1}
- bx r1
- thumb_func_end sub_816C228
-
- thumb_func_start sub_816C2C0
-sub_816C2C0: @ 816C2C0
- push {r4-r6,lr}
- sub sp, 0xC
- adds r6, r0, 0
- ldr r0, =gUnknown_0203BCC4
- ldr r0, [r0]
- ldr r1, =0x00000661
- adds r0, r1
- ldrb r5, [r0]
- adds r0, r5, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r4, =gStringVar4
- adds r0, r4, 0
- adds r1, r6, 0
- bl StringExpandPlaceholders
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0
- bl PrintTextOnWindow
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C2C0
-
- thumb_func_start sub_816C30C
-sub_816C30C: @ 816C30C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0816C35C
- ldrb r0, [r4, 0xA]
- ldr r1, =gUnknown_0203BCBA
- subs r4, r1, 0x2
- adds r2, r4, 0
- bl ListMenuGetScrollAndRow
- ldrh r1, [r4, 0x2]
- ldrh r0, [r4]
- adds r1, r0
- ldrb r0, [r4, 0x5]
- subs r0, 0x1
- cmp r1, r0
- beq _0816C39E
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_816C450
- b _0816C39E
- .pool
-_0816C35C:
- ldrb r0, [r4, 0xA]
- bl ListMenuHandleInputGetItemId
- adds r6, r0, 0
- ldrb r0, [r4, 0xA]
- ldr r1, =gUnknown_0203BCBA
- subs r2, r1, 0x2
- bl ListMenuGetScrollAndRow
- movs r0, 0x2
- negs r0, r0
- cmp r6, r0
- beq _0816C384
- adds r0, 0x1
- cmp r6, r0
- bne _0816C392
- b _0816C39E
- .pool
-_0816C384:
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_816C400
- b _0816C39E
-_0816C392:
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_816C71C
-_0816C39E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_816C30C
-
- thumb_func_start bx_battle_menu_t3
-bx_battle_menu_t3: @ 816C3A4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0816C3F2
- movs r0, 0
- movs r1, 0
- bl NewMenuHelpers_DrawDialogueFrame
- movs r1, 0x6
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0816C3DC
- adds r0, r4, 0
- movs r1, 0
- bl sub_816B190
- b _0816C3E4
- .pool
-_0816C3DC:
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_816B190
-_0816C3E4:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_816B248
- str r0, [r1]
-_0816C3F2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bx_battle_menu_t3
-
- thumb_func_start sub_816C400
-sub_816C400: @ 816C400
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r6, =gTasks + 0x8
- adds r5, r4, r6
- bl sub_816C0C8
- bl sub_816BF9C
- ldrb r0, [r5, 0xA]
- movs r1, 0
- movs r2, 0
- bl DestroyListMenuTask
- ldr r0, =gUnknown_0203BCC4
- ldr r0, [r0]
- movs r1, 0xCD
- lsls r1, 3
- adds r0, r1
- movs r1, 0x7
- bl sub_81223B0
- bl sub_816BC58
- subs r6, 0x8
- adds r4, r6
- ldr r0, =bx_battle_menu_t3
- str r0, [r4]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C400
-
- thumb_func_start sub_816C450
-sub_816C450: @ 816C450
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- mov r8, r0
- adds r1, r4, 0
- add r1, r8
- mov r9, r1
- ldrb r0, [r1, 0xA]
- movs r1, 0x10
- movs r2, 0x1
- bl sub_81AF15C
- ldr r6, =gUnknown_0203BCC4
- ldr r2, [r6]
- ldr r1, =gUnknown_0203BCB8
- ldrb r0, [r1]
- ldrb r1, [r1, 0x2]
- adds r0, r1
- ldr r5, =0x00000666
- adds r2, r5
- strb r0, [r2]
- mov r1, r9
- ldrb r0, [r1, 0xA]
- movs r1, 0
- movs r2, 0
- bl sub_816BFB8
- ldr r0, [r6]
- adds r0, r5
- ldrb r0, [r0]
- bl sub_816C690
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, [r6]
- adds r0, r5
- ldrb r0, [r0]
- lsls r0, 2
- adds r1, r0
- movs r0, 0x93
- lsls r0, 3
- adds r1, r0
- ldrh r0, [r1]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r0, =0x0000fff7
- bl sub_816C228
- bl sub_816C2C0
- movs r1, 0x8
- negs r1, r1
- add r8, r1
- add r4, r8
- ldr r0, =sub_816C4FC
- str r0, [r4]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C450
-
- thumb_func_start sub_816C4FC
-sub_816C4FC: @ 816C4FC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldr r7, =gMain
- ldrh r1, [r7, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0816C530
- ldrb r0, [r4, 0xA]
- ldr r1, =gUnknown_0203BCBA
- subs r2, r1, 0x2
- bl ListMenuGetScrollAndRow
- b _0816C57E
- .pool
-_0816C530:
- ldrb r0, [r4, 0xA]
- bl ListMenuHandleInputGetItemId
- adds r6, r0, 0
- ldrb r0, [r4, 0xA]
- ldr r1, =gUnknown_0203BCBA
- subs r4, r1, 0x2
- adds r2, r4, 0
- bl ListMenuGetScrollAndRow
- ldr r0, =gUnknown_0203BCC4
- ldr r0, [r0]
- movs r1, 0xCD
- lsls r1, 3
- adds r0, r1
- movs r1, 0x7
- movs r2, 0
- bl sub_81223FC
- ldrb r0, [r4]
- bl sub_816C690
- movs r0, 0x2
- negs r0, r0
- cmp r6, r0
- beq _0816C574
- adds r0, 0x1
- cmp r6, r0
- bne _0816C592
- b _0816C59A
- .pool
-_0816C574:
- ldrh r1, [r7, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0816C588
-_0816C57E:
- adds r0, r5, 0
- movs r1, 0
- bl sub_816C5A0
- b _0816C59A
-_0816C588:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_816C5A0
- b _0816C59A
-_0816C592:
- adds r0, r5, 0
- movs r1, 0
- bl sub_816C5A0
-_0816C59A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_816C4FC
-
- thumb_func_start sub_816C5A0
-sub_816C5A0: @ 816C5A0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r1, 0
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r0, r1
- mov r8, r0
- ldr r4, =gUnknown_0203BCB8
- ldrh r0, [r4]
- ldrh r1, [r4, 0x2]
- adds r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- movs r0, 0x5
- bl PlaySE
- mov r2, r8
- ldrb r0, [r2, 0xA]
- adds r1, r4, 0x2
- adds r2, r4, 0
- bl DestroyListMenuTask
- cmp r5, 0
- bne _0816C60A
- ldr r1, =gUnknown_0203BCC4
- ldr r0, [r1]
- ldr r2, =0x00000666
- adds r0, r2
- ldrb r2, [r0]
- adds r4, r1, 0
- cmp r2, r6
- beq _0816C622
- subs r0, r6, 0x1
- cmp r2, r0
- beq _0816C60A
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x93
- lsls r1, 3
- adds r0, r1
- adds r1, r2, 0
- adds r2, r6, 0
- bl sub_80D702C
- bl sub_816BD04
-_0816C60A:
- ldr r0, =gUnknown_0203BCC4
- ldr r1, [r0]
- ldr r2, =0x00000666
- adds r1, r2
- ldrb r1, [r1]
- adds r4, r0, 0
- cmp r1, r6
- bcs _0816C622
- ldr r1, =gUnknown_0203BCB8
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
-_0816C622:
- ldr r0, [r4]
- movs r1, 0xCD
- lsls r1, 3
- adds r0, r1
- movs r1, 0x7
- movs r2, 0x1
- bl sub_81223FC
- ldr r0, [r4]
- ldr r2, =0x00000666
- adds r0, r2
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, =gMultiuseListMenuTemplate
- ldr r2, =gUnknown_0203BCB8
- ldrh r1, [r2, 0x2]
- ldrh r2, [r2]
- bl ListMenuInit
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- strh r0, [r1, 0xA]
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_816C30C
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C5A0
-
- thumb_func_start sub_816C690
-sub_816C690: @ 816C690
- push {lr}
- adds r3, r0, 0
- lsls r3, 24
- ldr r0, =gUnknown_0203BCC4
- ldr r0, [r0]
- movs r1, 0xCD
- lsls r1, 3
- adds r0, r1
- lsrs r3, 4
- movs r1, 0x80
- lsls r1, 13
- adds r3, r1
- lsrs r3, 16
- movs r1, 0x7
- movs r2, 0x80
- bl sub_8122448
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C690
-
- thumb_func_start sub_816C6BC
-sub_816C6BC: @ 816C6BC
- push {r4-r6,lr}
- sub sp, 0xC
- adds r6, r0, 0
- ldr r5, [sp, 0x1C]
- ldr r3, [sp, 0x20]
- lsls r6, 24
- lsrs r6, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r5, 24
- lsrs r5, 24
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =gStringVar1
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_xVar1
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0x30
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl PrintTextOnWindow
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C6BC
-
- thumb_func_start sub_816C71C
-sub_816C71C: @ 816C71C
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- ldr r1, =gUnknown_0203BCB8
- ldrh r0, [r1, 0x2]
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r4, r0, 16
- bl sub_816BF9C
- movs r0, 0x1
- strh r0, [r6, 0x4]
- movs r1, 0x6
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _0816C798
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- lsls r0, r4, 2
- adds r1, r0
- ldr r2, =0x0000049a
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0x1
- bne _0816C774
- adds r0, r5, 0
- bl sub_816C8FC
- b _0816C7FE
- .pool
-_0816C774:
- movs r2, 0x93
- lsls r2, 3
- adds r0, r1, r2
- ldrh r0, [r0]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r0, =0x0000fffe
- bl sub_816C228
- bl sub_816C2C0
- b _0816C7D4
- .pool
-_0816C798:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- lsls r0, r4, 2
- adds r1, r0
- ldr r2, =0x0000049a
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0x1
- bne _0816C7BC
- adds r0, r5, 0
- bl sub_816C9B8
- b _0816C7FE
- .pool
-_0816C7BC:
- movs r2, 0x93
- lsls r2, 3
- adds r0, r1, r2
- ldrh r0, [r0]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r0, =0x0000fffc
- bl sub_816C228
- bl sub_816C2C0
-_0816C7D4:
- movs r0, 0x4
- bl sub_816BC7C
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x4]
- movs r2, 0x1
- str r2, [sp]
- movs r2, 0x3
- str r2, [sp, 0x4]
- movs r2, 0x2
- movs r3, 0x8
- bl sub_816C6BC
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_816C818
- str r1, [r0]
-_0816C7FE:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C71C
-
- thumb_func_start sub_816C818
-sub_816C818: @ 816C818
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
- mov r9, r5
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- ldr r0, =gUnknown_0203BCB8
- ldrh r2, [r0, 0x2]
- ldrh r0, [r0]
- adds r2, r0
- lsls r2, 16
- adds r0, r6, 0x4
- ldr r1, =gSaveBlock1Ptr
- mov r8, r1
- ldr r1, [r1]
- lsrs r7, r2, 14
- adds r1, r7
- ldr r2, =0x0000049a
- adds r1, r2
- ldrh r1, [r1]
- bl AdjustQuantityAccordingToDPadInput
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bne _0816C888
- movs r0, 0x4
- bl sub_816BC7C
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x4]
- str r4, [sp]
- movs r2, 0x3
- str r2, [sp, 0x4]
- movs r2, 0x2
- movs r3, 0x8
- bl sub_816C6BC
- b _0816C8EC
- .pool
-_0816C888:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0816C8BC
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x4
- bl sub_816BCC4
- movs r3, 0x6
- ldrsh r0, [r6, r3]
- cmp r0, 0
- bne _0816C8B4
- adds r0, r5, 0
- bl sub_816C8FC
- b _0816C8EC
- .pool
-_0816C8B4:
- adds r0, r5, 0
- bl sub_816C9B8
- b _0816C8EC
-_0816C8BC:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0816C8EC
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x4
- bl sub_816BCC4
- mov r1, r8
- ldr r0, [r1]
- adds r0, r7
- movs r2, 0x93
- lsls r2, 3
- adds r0, r2
- ldrh r0, [r0]
- bl sub_816C228
- bl sub_816C2C0
- mov r0, r9
- bl sub_816CBC0
-_0816C8EC:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_816C818
-
- thumb_func_start sub_816C8FC
-sub_816C8FC: @ 816C8FC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r6, r1, 3
- ldr r0, =gTasks + 0x8
- mov r8, r0
- adds r4, r6, r0
- ldr r0, =gUnknown_0203BCB8
- ldrh r1, [r0, 0x2]
- ldrh r0, [r0]
- adds r1, r0
- lsls r1, 16
- ldr r7, =gSaveBlock1Ptr
- ldr r0, [r7]
- lsrs r5, r1, 14
- adds r0, r5
- movs r1, 0x93
- lsls r1, 3
- adds r0, r1
- ldrh r0, [r0]
- ldrh r1, [r4, 0x4]
- bl AddBagItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0816C98C
- ldr r0, [r7]
- adds r0, r5
- movs r2, 0x93
- lsls r2, 3
- adds r0, r2
- ldrh r0, [r0]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r0, =gStringVar2
- movs r2, 0x4
- ldrsh r1, [r4, r2]
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, =0x0000fffd
- bl sub_816C228
- bl sub_816C2C0
- mov r0, r8
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, =sub_816CB04
- b _0816C9A2
- .pool
-_0816C98C:
- movs r0, 0
- strh r0, [r4, 0x4]
- ldr r0, =0x0000fffa
- bl sub_816C228
- bl sub_816C2C0
- mov r0, r8
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, =sub_816CB74
-_0816C9A2:
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C8FC
-
- thumb_func_start sub_816C9B8
-sub_816C9B8: @ 816C9B8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- mov r8, r0
- ldr r0, =gTasks + 0x8
- mov r9, r0
- mov r7, r8
- add r7, r9
- ldr r0, =gUnknown_0203BCB8
- ldrh r1, [r0, 0x2]
- ldrh r0, [r0]
- adds r1, r0
- lsls r1, 16
- ldr r6, =gSaveBlock1Ptr
- ldr r0, [r6]
- lsrs r4, r1, 14
- adds r0, r4
- movs r1, 0x93
- lsls r1, 3
- adds r0, r1
- ldrh r0, [r0]
- bl itemid_is_unique
- lsls r0, 24
- cmp r0, 0
- bne _0816CA64
- ldr r0, [r6]
- adds r0, r4
- movs r2, 0x93
- lsls r2, 3
- adds r0, r2
- ldrh r0, [r0]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r0, =gStringVar2
- movs r2, 0x4
- ldrsh r1, [r7, r2]
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, =0x0000fff8
- bl sub_816C228
- bl sub_816C2C0
- ldr r1, =gUnknown_085DFF84
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x85
- lsls r0, 2
- str r0, [sp, 0x4]
- movs r0, 0xE
- str r0, [sp, 0x8]
- ldr r0, =gUnknown_085DFF3C
- str r0, [sp, 0xC]
- adds r0, r5, 0
- movs r2, 0x1
- movs r3, 0
- bl CreateYesNoMenuWithCallbacks
- b _0816CA7C
- .pool
-_0816CA64:
- movs r0, 0
- strh r0, [r7, 0x4]
- ldr r0, =0x0000fff9
- bl sub_816C228
- bl sub_816C2C0
- mov r0, r9
- subs r0, 0x8
- add r0, r8
- ldr r1, =sub_816CB74
- str r1, [r0]
-_0816CA7C:
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C9B8
-
- thumb_func_start sub_816CA94
-sub_816CA94: @ 816CA94
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =0x0000fffb
- bl sub_816C228
- bl sub_816C2C0
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_816CB04
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816CA94
-
- thumb_func_start sub_816CAC8
-sub_816CAC8: @ 816CAC8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r1, =gUnknown_0203BCB8
- ldrh r0, [r1, 0x2]
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 2
- adds r2, r0
- movs r0, 0x93
- lsls r0, 3
- adds r2, r0
- ldrh r0, [r2]
- bl sub_816C228
- bl sub_816C2C0
- adds r0, r4, 0
- bl sub_816CBC0
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816CAC8
-
- thumb_func_start sub_816CB04
-sub_816CB04: @ 816CB04
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0816CB5E
- ldr r4, =gUnknown_0203BCB8
- ldrb r0, [r4, 0x2]
- ldrb r1, [r4]
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x4]
- bl sub_80D6E48
- ldrb r0, [r5, 0xA]
- adds r1, r4, 0x2
- adds r2, r4, 0
- bl DestroyListMenuTask
- bl sub_816C110
- bl sub_816C140
- bl sub_816BD04
- ldr r0, =gMultiuseListMenuTemplate
- ldrh r1, [r4, 0x2]
- ldrh r2, [r4]
- bl ListMenuInit
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xA]
- adds r0, r6, 0
- bl sub_816CBC0
-_0816CB5E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816CB04
-
- thumb_func_start sub_816CB74
-sub_816CB74: @ 816CB74
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0816CBAC
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r1, =gUnknown_0203BCB8
- ldrh r0, [r1, 0x2]
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 2
- adds r2, r0
- movs r0, 0x93
- lsls r0, 3
- adds r2, r0
- ldrh r0, [r2]
- bl sub_816C228
- bl sub_816C2C0
- adds r0, r4, 0
- bl sub_816CBC0
-_0816CBAC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816CB74
-
- thumb_func_start sub_816CBC0
-sub_816CBC0: @ 816CBC0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_816BF60
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_816C30C
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816CBC0
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokedex.s b/asm/pokedex.s
deleted file mode 100644
index b1ddaa0d0..000000000
--- a/asm/pokedex.s
+++ /dev/null
@@ -1,13372 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start ResetPokedex
-ResetPokedex: @ 80BB2D0
- push {r4-r6,lr}
- ldr r0, =gUnknown_02039B50
- movs r2, 0
- strh r2, [r0]
- ldr r1, =gUnknown_02039B52
- movs r0, 0x40
- strb r0, [r1]
- ldr r0, =gUnknown_030060B0
- strb r2, [r0]
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- movs r1, 0
- strb r2, [r0, 0x19]
- ldr r0, [r4]
- strb r2, [r0, 0x18]
- ldr r0, [r4]
- strb r2, [r0, 0x1A]
- ldr r0, [r4]
- strb r2, [r0, 0x1B]
- ldr r0, [r4]
- str r1, [r0, 0x1C]
- str r1, [r0, 0x20]
- str r1, [r0, 0x24]
- bl DisableNationalPokedex
- movs r1, 0
- movs r2, 0
- ldr r3, =gSaveBlock1Ptr
- ldr r6, =0x00000988
- ldr r5, =0x00003b24
-_080BB30C:
- ldr r0, [r4]
- adds r0, 0x28
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, 0x5C
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r3]
- adds r0, r6
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r3]
- adds r0, r5
- adds r0, r1
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x33
- bls _080BB30C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ResetPokedex
-
- thumb_func_start sub_80BB358
-sub_80BB358: @ 80BB358
- ldr r1, =gUnknown_02039B50
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_02039B52
- movs r0, 0x40
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80BB358
-
- thumb_func_start sub_80BB370
-sub_80BB370: @ 80BB370
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_80BB370
-
- thumb_func_start sub_80BB384
-sub_80BB384: @ 80BB384
- push {r4-r7,lr}
- adds r4, r0, 0
- movs r3, 0
- ldr r0, =0x0000ffff
- adds r7, r0, 0
- movs r1, 0x2
- negs r1, r1
- mov r12, r1
- movs r6, 0x3
- negs r6, r6
- ldr r5, =0x00000181
-_080BB39A:
- lsls r1, r3, 2
- adds r1, r4, r1
- ldrh r0, [r1]
- orrs r0, r7
- strh r0, [r1]
- ldrb r2, [r1, 0x2]
- mov r0, r12
- ands r0, r2
- ands r0, r6
- strb r0, [r1, 0x2]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r5
- bls _080BB39A
- movs r2, 0xC1
- lsls r2, 3
- adds r0, r4, r2
- movs r2, 0
- strh r2, [r0]
- ldr r0, =0x0000060a
- adds r3, r4, r0
- ldrb r1, [r3]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- movs r1, 0x3
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
- ldr r1, =0x0000060c
- adds r0, r4, r1
- strh r2, [r0]
- ldr r3, =0x0000060e
- adds r0, r4, r3
- strh r2, [r0]
- adds r1, 0x4
- adds r0, r4, r1
- strh r2, [r0]
- adds r3, 0x4
- adds r0, r4, r3
- strh r2, [r0]
- adds r1, 0x4
- adds r0, r4, r1
- strh r2, [r0]
- adds r3, 0x4
- adds r0, r4, r3
- strh r2, [r0]
- adds r1, 0x4
- adds r0, r4, r1
- strh r2, [r0]
- adds r3, 0x4
- adds r0, r4, r3
- strh r2, [r0]
- adds r1, 0x4
- adds r0, r4, r1
- strh r2, [r0]
- movs r3, 0
- ldr r0, =0x0000061e
- adds r2, r4, r0
- ldr r1, =0x0000ffff
- adds r5, r1, 0
-_080BB416:
- lsls r0, r3, 1
- adds r0, r2, r0
- ldrh r1, [r0]
- orrs r1, r5
- strh r1, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080BB416
- movs r2, 0xC5
- lsls r2, 3
- adds r0, r4, r2
- movs r2, 0
- movs r1, 0
- strh r1, [r0]
- ldr r3, =0x0000062a
- adds r0, r4, r3
- strh r1, [r0]
- adds r3, 0x2
- adds r0, r4, r3
- strb r2, [r0]
- adds r3, 0x1
- adds r0, r4, r3
- strb r2, [r0]
- adds r3, 0x1
- adds r0, r4, r3
- strb r2, [r0]
- adds r3, 0x1
- adds r0, r4, r3
- strb r2, [r0]
- movs r2, 0xC6
- lsls r2, 3
- adds r0, r4, r2
- strh r1, [r0]
- adds r3, 0x3
- adds r0, r4, r3
- strh r1, [r0]
- adds r2, 0x4
- adds r0, r4, r2
- strh r1, [r0]
- adds r3, 0x4
- adds r0, r4, r3
- strh r1, [r0]
- adds r2, 0x4
- adds r0, r4, r2
- strh r1, [r0]
- movs r3, 0
- ldr r0, =0x0000063a
- adds r1, r4, r0
- movs r2, 0
-_080BB47C:
- lsls r0, r3, 1
- adds r0, r1, r0
- strh r2, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080BB47C
- ldr r1, =0x0000064a
- adds r0, r4, r1
- movs r1, 0
- strb r1, [r0]
- ldr r2, =0x0000064b
- adds r0, r4, r2
- strb r1, [r0]
- ldr r0, =0x0000064c
- adds r3, r4, r0
- ldrb r2, [r3]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r3]
- ldr r2, =0x0000064d
- adds r0, r4, r2
- strb r1, [r0]
- ldr r3, =0x0000064e
- adds r0, r4, r3
- strb r1, [r0]
- adds r2, 0x2
- adds r0, r4, r2
- strb r1, [r0]
- adds r3, 0x2
- adds r0, r4, r3
- strh r1, [r0]
- adds r2, 0x3
- adds r0, r4, r2
- strh r1, [r0]
- movs r3, 0
- ldr r0, =0x00000654
- adds r1, r4, r0
- movs r2, 0
-_080BB4CE:
- adds r0, r1, r3
- strb r2, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x7
- bls _080BB4CE
- movs r3, 0
- ldr r2, =0x0000065c
- adds r1, r4, r2
- movs r2, 0
-_080BB4E4:
- adds r0, r1, r3
- strb r2, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x7
- bls _080BB4E4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BB384
-
- thumb_func_start sub_80BB534
-sub_80BB534: @ 80BB534
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0x1
- beq _080BB5FC
- cmp r0, 0x1
- ble _080BB558
- cmp r0, 0x2
- beq _080BB628
- cmp r0, 0x3
- bne _080BB558
- b _080BB71C
-_080BB558:
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl sub_80C09B0
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r2, sp, 0x4
- mov r8, r2
- mov r2, sp
- movs r6, 0
- ldr r1, =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_080BB582:
- strh r6, [r2]
- mov r0, sp
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _080BB582
- strh r6, [r2]
- mov r2, sp
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r3, r12
- orrs r0, r3
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r2, =0x040000d4
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- mov r0, sp
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- b _080BB74C
- .pool
-_080BB5FC:
- bl ScanlineEffect_Stop
- bl ResetTasks
- bl ResetSpriteData
- bl ResetPaletteFade
- bl FreeAllSpritePalettes
- ldr r1, =gReservedSpritePaletteCount
- movs r0, 0x8
- strb r0, [r1]
- bl dp13_810BB8C
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _080BB74C
- .pool
-_080BB628:
- ldr r4, =gUnknown_02039B4C
- ldr r0, =0x00000664
- bl AllocZeroed
- str r0, [r4]
- bl sub_80BB384
- ldr r0, =sub_80BB78C
- movs r1, 0
- bl CreateTask
- ldr r1, [r4]
- ldr r5, =gSaveBlock2Ptr
- ldr r0, [r5]
- ldrb r0, [r0, 0x19]
- ldr r3, =0x00000612
- adds r1, r3
- strh r0, [r1]
- bl IsNationalPokedexEnabled
- adds r1, r0, 0
- cmp r1, 0
- bne _080BB65E
- ldr r0, [r4]
- ldr r2, =0x00000612
- adds r0, r2
- strh r1, [r0]
-_080BB65E:
- ldr r1, [r4]
- ldr r0, [r5]
- ldrb r2, [r0, 0x18]
- ldr r3, =0x00000616
- adds r0, r1, r3
- strh r2, [r0]
- ldr r0, =gUnknown_02039B50
- ldrh r2, [r0]
- subs r3, 0x8
- adds r0, r1, r3
- strh r2, [r0]
- ldr r0, =gUnknown_02039B52
- ldrb r0, [r0]
- ldr r2, =0x0000062c
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r4]
- adds r3, 0x3F
- adds r0, r3
- movs r1, 0
- strb r1, [r0]
- bl IsNationalPokedexEnabled
- cmp r0, 0
- bne _080BB6D0
- movs r0, 0
- bl GetHoennPokedexCount
- ldr r1, [r4]
- ldr r2, =0x0000061a
- adds r1, r2
- strh r0, [r1]
- movs r0, 0x1
- bl GetHoennPokedexCount
- b _080BB6E4
- .pool
-_080BB6D0:
- movs r0, 0
- bl GetNationalPokedexCount
- ldr r1, [r4]
- ldr r2, =0x0000061a
- adds r1, r2
- strh r0, [r1]
- movs r0, 0x1
- bl GetNationalPokedexCount
-_080BB6E4:
- ldr r1, [r4]
- ldr r3, =0x0000061c
- adds r1, r3
- strh r0, [r1]
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000062d
- adds r0, r1
- movs r1, 0x8
- strb r1, [r0]
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080BB74C
- .pool
-_080BB71C:
- movs r0, 0x1
- bl EnableInterrupts
- ldr r0, =sub_80BB370
- bl SetVBlankCallback
- ldr r0, =sub_80BB774
- bl SetMainCallback2
- ldr r0, =gUnknown_02039B4C
- ldr r1, [r0]
- ldr r3, =0x00000612
- adds r0, r1, r3
- ldrb r0, [r0]
- ldr r2, =0x00000616
- adds r1, r2
- ldrb r1, [r1]
- bl sub_80BC8D4
- ldr r0, =gMPlayInfo_BGM
- ldr r1, =0x0000ffff
- movs r2, 0x80
- bl m4aMPlayVolumeControl
-_080BB74C:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BB534
-
- thumb_func_start sub_80BB774
-sub_80BB774: @ 80BB774
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80BB774
-
- thumb_func_start sub_80BB78C
-sub_80BB78C: @ 80BB78C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r1, [r0]
- ldr r0, =0x0000064c
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- movs r0, 0
- bl sub_80BC514
- lsls r0, 24
- cmp r0, 0
- beq _080BB7BE
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80BB7D4
- str r0, [r1]
-_080BB7BE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BB78C
-
- thumb_func_start sub_80BB7D4
-sub_80BB7D4: @ 80BB7D4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r7, =gUnknown_02039B4C
- ldr r0, [r7]
- ldr r4, =0x00000652
- adds r0, r4
- ldrh r1, [r0]
- movs r0, 0x12
- bl SetGpuReg
- ldr r3, [r7]
- adds r1, r3, r4
- ldrh r0, [r1]
- movs r4, 0
- ldrsh r2, [r1, r4]
- mov r8, r2
- cmp r2, 0
- beq _080BB810
- subs r0, 0x8
- strh r0, [r1]
- b _080BBA06
- .pool
-_080BB810:
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- mov r9, r0
- ands r0, r1
- cmp r0, 0
- beq _080BB8A4
- ldr r1, =0x0000060e
- adds r0, r3, r1
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r3, r0
- ldrb r0, [r0, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _080BB8A4
- bl sub_80BD8D0
- ldr r4, =gSprites
- ldr r0, [r7]
- ldr r5, =0x00000626
- adds r0, r5
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- mov r0, r9
- lsls r0, r1
- mvns r0, r0
- mov r2, r8
- str r2, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, [r7]
- adds r0, r5
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, =sub_80BE470
- str r1, [r0]
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BBBF4
- str r1, [r0]
- movs r0, 0x15
- b _080BB976
- .pool
-_080BB8A4:
- ldrh r2, [r2, 0x2E]
- movs r0, 0x8
- ands r0, r2
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _080BB8FC
- ldr r3, =gUnknown_02039B4C
- ldr r1, [r3]
- ldr r4, =0x00000652
- adds r0, r1, r4
- movs r2, 0
- strh r2, [r0]
- ldr r0, =0x0000064f
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, [r3]
- movs r1, 0xCA
- lsls r1, 3
- adds r0, r1
- strh r2, [r0]
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BBA78
- str r1, [r0]
- movs r0, 0x5
- bl PlaySE
- b _080BBA06
- .pool
-_080BB8FC:
- movs r0, 0x4
- ands r0, r2
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _080BB9A0
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- bl sub_80C1258
- ldr r1, =gTasks
- lsls r3, r6, 2
- adds r3, r6
- lsls r3, 3
- adds r3, r1
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- strh r0, [r3, 0x8]
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r4, =0x0000064e
- adds r0, r4
- strb r2, [r0]
- ldr r0, [r1]
- ldr r2, =0x0000062c
- adds r1, r0, r2
- ldrb r2, [r1]
- subs r4, 0x24
- adds r1, r0, r4
- strh r2, [r1]
- ldr r2, =0x0000060e
- adds r1, r0, r2
- ldrh r2, [r1]
- subs r4, 0x1A
- adds r1, r0, r4
- strh r2, [r1]
- ldr r2, =0x00000612
- adds r1, r0, r2
- ldrh r2, [r1]
- adds r4, 0x4
- adds r1, r0, r4
- strh r2, [r1]
- ldr r2, =0x00000616
- adds r1, r0, r2
- ldrh r1, [r1]
- adds r4, 0x4
- adds r0, r4
- strh r1, [r0]
- ldr r0, =sub_80BBD1C
- str r0, [r3]
- movs r0, 0x2
-_080BB976:
- bl PlaySE
- bl sub_80BC890
- b _080BBA06
- .pool
-_080BB9A0:
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _080BB9D8
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BBDE8
- str r1, [r0]
- movs r0, 0x3
- bl PlaySE
- b _080BBA06
- .pool
-_080BB9D8:
- ldr r5, =gUnknown_02039B4C
- ldr r0, [r5]
- ldr r4, =0x0000060e
- adds r0, r4
- ldrh r0, [r0]
- movs r1, 0xE
- bl sub_80BD69C
- ldr r1, [r5]
- adds r4, r1, r4
- strh r0, [r4]
- ldr r0, =0x0000062e
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080BBA06
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80BBA28
- str r0, [r1]
-_080BBA06:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BB7D4
-
- thumb_func_start sub_80BBA28
-sub_80BBA28: @ 80BBA28
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r2, [r0]
- ldr r1, =0x0000062f
- adds r0, r2, r1
- ldrb r0, [r0]
- ldr r3, =0x00000634
- adds r1, r2, r3
- ldrb r1, [r1]
- adds r3, 0x2
- adds r2, r3
- ldrb r2, [r2]
- bl sub_80BD404
- lsls r0, 24
- cmp r0, 0
- beq _080BBA5C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80BB7D4
- str r0, [r1]
-_080BBA5C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BBA28
-
- thumb_func_start sub_80BBA78
-sub_80BBA78: @ 80BBA78
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r6, =gUnknown_02039B4C
- ldr r0, [r6]
- ldr r4, =0x00000652
- adds r0, r4
- ldrh r1, [r0]
- movs r0, 0x12
- bl SetGpuReg
- ldr r3, [r6]
- adds r1, r3, r4
- ldrh r2, [r1]
- movs r4, 0
- ldrsh r0, [r1, r4]
- cmp r0, 0x50
- beq _080BBAB0
- adds r0, r2, 0
- adds r0, 0x8
- strh r0, [r1]
- b _080BBBE8
- .pool
-_080BBAB0:
- ldr r5, =gMain
- ldrh r1, [r5, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080BBB58
- movs r2, 0xCA
- lsls r2, 3
- adds r0, r3, r2
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _080BBADC
- cmp r0, 0x1
- ble _080BBB20
- cmp r0, 0x2
- beq _080BBAF4
- cmp r0, 0x3
- beq _080BBB34
- b _080BBB20
- .pool
-_080BBADC:
- ldr r4, =0x0000060e
- adds r1, r3, r4
- movs r0, 0
- strh r0, [r1]
- ldr r0, =0x0000062c
- adds r1, r3, r0
- movs r0, 0x40
- b _080BBB0C
- .pool
-_080BBAF4:
- ldr r1, =0x0000060c
- adds r2, r3, r1
- ldrh r0, [r2]
- subs r0, 0x1
- ldr r4, =0x0000060e
- adds r1, r3, r4
- strh r0, [r1]
- ldrh r0, [r2]
- lsls r0, 4
- adds r0, 0x30
- ldr r2, =0x0000062c
- adds r1, r3, r2
-_080BBB0C:
- strb r0, [r1]
- bl sub_80BDA40
- ldr r0, [r6]
- adds r0, r4
- ldrh r0, [r0]
- movs r1, 0xE
- bl sub_80BD2B4
- ldrh r1, [r5, 0x2E]
-_080BBB20:
- movs r0, 0x8
- orrs r0, r1
- strh r0, [r5, 0x2E]
- b _080BBB58
- .pool
-_080BBB34:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BBDE8
- str r1, [r0]
- movs r0, 0x3
- bl PlaySE
-_080BBB58:
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0xA
- ands r0, r1
- cmp r0, 0
- beq _080BBB98
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r3, =0x0000064f
- adds r0, r3
- movs r1, 0
- strb r1, [r0]
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BB7D4
- str r1, [r0]
- b _080BBBB6
- .pool
-_080BBB98:
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080BBBC4
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- movs r4, 0xCA
- lsls r4, 3
- adds r1, r0, r4
- ldrh r0, [r1]
- cmp r0, 0
- beq _080BBBC4
- subs r0, 0x1
- strh r0, [r1]
-_080BBBB6:
- movs r0, 0x5
- bl PlaySE
- b _080BBBE8
- .pool
-_080BBBC4:
- ldrh r1, [r2, 0x30]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BBBE8
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- movs r2, 0xCA
- lsls r2, 3
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0x2
- bhi _080BBBE8
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x5
- bl PlaySE
-_080BBBE8:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BBA78
-
- thumb_func_start sub_80BBBF4
-sub_80BBBF4: @ 80BBBF4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, =gSprites
- ldr r5, =gUnknown_02039B4C
- ldr r3, [r5]
- ldr r6, =0x00000626
- adds r0, r3, r6
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- movs r2, 0x20
- ldrsh r0, [r1, r2]
- cmp r0, 0x30
- bne _080BBC52
- movs r2, 0x22
- ldrsh r0, [r1, r2]
- cmp r0, 0x38
- bne _080BBC52
- ldr r1, =0x0000064a
- adds r0, r3, r1
- ldrb r1, [r0]
- ldr r2, =0x0000064b
- adds r0, r3, r2
- strb r1, [r0]
- ldr r1, [r5]
- subs r2, 0x3D
- adds r0, r1, r2
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1, r0
- adds r1, r6
- ldrb r1, [r1]
- bl sub_80BE91C
- ldr r2, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x8]
- ldr r0, =sub_80BBC74
- str r0, [r1]
-_080BBC52:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BBBF4
-
- thumb_func_start sub_80BBC74
-sub_80BBC74: @ 80BBC74
- 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 r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _080BBCE0
- ldr r5, =gUnknown_02039B4C
- ldr r0, [r5]
- ldr r1, =0x0000064a
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080BBCFC
- ldrb r0, [r4, 0x8]
- bl sub_80BE9C4
- lsls r0, 24
- cmp r0, 0
- bne _080BBCFC
- bl sub_80BD930
- lsls r0, 24
- cmp r0, 0
- beq _080BBCFC
- ldr r0, [r5]
- ldr r2, =0x0000060e
- adds r1, r0, r2
- ldrh r1, [r1]
- lsls r1, 2
- adds r0, r1
- ldrb r1, [r4, 0x8]
- bl sub_80BE9F8
- b _080BBCFC
- .pool
-_080BBCE0:
- ldr r2, =gUnknown_02039B50
- ldr r0, =gUnknown_02039B4C
- ldr r1, [r0]
- ldr r3, =0x0000060e
- adds r0, r1, r3
- ldrh r0, [r0]
- strh r0, [r2]
- ldr r2, =gUnknown_02039B52
- ldr r0, =0x0000062c
- adds r1, r0
- ldrb r0, [r1]
- strb r0, [r2]
- ldr r0, =sub_80BB78C
- str r0, [r4]
-_080BBCFC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BBC74
-
- thumb_func_start sub_80BBD1C
-sub_80BBD1C: @ 80BBD1C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r6, r1, r2
- movs r0, 0x8
- ldrsh r1, [r6, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r4, [r0, 0x4]
- cmp r4, 0
- bne _080BBDCA
- bl sub_80BDA40
- ldr r5, =gUnknown_02039B4C
- ldr r2, [r5]
- ldr r1, =0x0000064e
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BBD7C
- ldr r3, =0x0000060e
- adds r0, r2, r3
- strh r4, [r0]
- ldr r0, =0x0000062c
- adds r1, r2, r0
- movs r0, 0x40
- strb r0, [r1]
- ldr r0, =sub_80BBE70
- b _080BBDC8
- .pool
-_080BBD7C:
- ldr r1, =0x0000062a
- adds r0, r2, r1
- ldrh r1, [r0]
- ldr r3, =0x0000062c
- adds r0, r2, r3
- strb r1, [r0]
- ldr r1, [r5]
- movs r2, 0xC2
- lsls r2, 3
- adds r0, r1, r2
- ldrh r2, [r0]
- subs r3, 0x1E
- adds r0, r1, r3
- strh r2, [r0]
- ldr r2, =0x00000614
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r3, 0x4
- adds r1, r3
- strh r0, [r1]
- bl IsNationalPokedexEnabled
- adds r1, r0, 0
- cmp r1, 0
- bne _080BBDB6
- ldr r0, [r5]
- ldr r2, =0x00000612
- adds r0, r2
- strh r1, [r0]
-_080BBDB6:
- ldr r0, [r5]
- movs r3, 0xC3
- lsls r3, 3
- adds r1, r0, r3
- ldrh r1, [r1]
- ldr r2, =0x00000616
- adds r0, r2
- strh r1, [r0]
- ldr r0, =sub_80BB78C
-_080BBDC8:
- str r0, [r6]
-_080BBDCA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BBD1C
-
- thumb_func_start sub_80BBDE8
-sub_80BBDE8: @ 80BBDE8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BBE4A
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r5, =gUnknown_02039B4C
- ldr r1, [r5]
- ldr r2, =0x00000612
- adds r1, r2
- ldrh r1, [r1]
- strb r1, [r0, 0x19]
- bl IsNationalPokedexEnabled
- adds r1, r0, 0
- cmp r1, 0
- bne _080BBE18
- ldr r0, [r4]
- strb r1, [r0, 0x19]
-_080BBE18:
- ldr r1, [r4]
- ldr r0, [r5]
- ldr r2, =0x00000616
- adds r0, r2
- ldrh r0, [r0]
- strb r0, [r1, 0x18]
- bl sub_80BDA40
- bl sub_80BC890
- adds r0, r6, 0
- bl DestroyTask
- ldr r0, =CB2_ReturnToFieldWithOpenMenu
- bl SetMainCallback2
- ldr r0, =gMPlayInfo_BGM
- ldr r1, =0x0000ffff
- movs r2, 0x80
- lsls r2, 1
- bl m4aMPlayVolumeControl
- ldr r0, [r5]
- bl Free
-_080BBE4A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BBDE8
-
- thumb_func_start sub_80BBE70
-sub_80BBE70: @ 80BBE70
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r1, [r0]
- ldr r0, =0x0000064c
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x1
- orrs r0, r2
- strb r0, [r1]
- movs r0, 0x3
- bl sub_80BC514
- lsls r0, 24
- cmp r0, 0
- beq _080BBEA0
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80BBEB8
- str r0, [r1]
-_080BBEA0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BBE70
-
- thumb_func_start sub_80BBEB8
-sub_80BBEB8: @ 80BBEB8
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, =gUnknown_02039B4C
- ldr r0, [r5]
- ldr r4, =0x00000652
- adds r0, r4
- ldrh r1, [r0]
- movs r0, 0x12
- bl SetGpuReg
- ldr r3, [r5]
- adds r1, r3, r4
- ldrh r0, [r1]
- movs r2, 0
- ldrsh r4, [r1, r2]
- cmp r4, 0
- beq _080BBEEC
- subs r0, 0x8
- strh r0, [r1]
- b _080BC08A
- .pool
-_080BBEEC:
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r7, 0x1
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _080BBF70
- ldr r1, =0x0000060e
- adds r0, r3, r1
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r3, r0
- ldrb r0, [r0, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _080BBF70
- bl sub_80BD8D0
- ldr r3, =gSprites
- ldr r0, [r5]
- ldr r2, =0x00000626
- adds r0, r2
- ldrh r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r0, r2, r3
- ldrb r1, [r0, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- adds r0, r7, 0
- lsls r0, r1
- adds r3, 0x1C
- adds r2, r3
- ldr r1, =sub_80BE470
- str r1, [r2]
- mvns r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BC2D4
- str r1, [r0]
- movs r0, 0x15
- b _080BC00A
- .pool
-_080BBF70:
- ldrh r2, [r2, 0x2E]
- movs r0, 0x8
- ands r0, r2
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _080BBFC8
- ldr r3, =gUnknown_02039B4C
- ldr r1, [r3]
- ldr r2, =0x00000652
- adds r0, r1, r2
- movs r2, 0
- strh r2, [r0]
- ldr r0, =0x0000064f
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, [r3]
- movs r1, 0xCA
- lsls r1, 3
- adds r0, r1
- strh r2, [r0]
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BC0F8
- str r1, [r0]
- movs r0, 0x5
- bl PlaySE
- b _080BC08A
- .pool
-_080BBFC8:
- movs r0, 0x4
- ands r0, r2
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _080BC024
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- bl sub_80C1258
- ldr r2, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- strh r0, [r1, 0x8]
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r3, =0x0000064e
- adds r0, r3
- strb r2, [r0]
- ldr r0, =sub_80BBD1C
- str r0, [r1]
- movs r0, 0x2
-_080BC00A:
- bl PlaySE
- bl sub_80BC890
- b _080BC08A
- .pool
-_080BC024:
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _080BC05C
- movs r0, 0x1
- negs r0, r0
- str r3, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BC3DC
- str r1, [r0]
- movs r0, 0x3
- bl PlaySE
- b _080BC08A
- .pool
-_080BC05C:
- ldr r5, =gUnknown_02039B4C
- ldr r0, [r5]
- ldr r4, =0x0000060e
- adds r0, r4
- ldrh r0, [r0]
- movs r1, 0xE
- bl sub_80BD69C
- ldr r1, [r5]
- adds r4, r1, r4
- strh r0, [r4]
- ldr r0, =0x0000062e
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080BC08A
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80BC0A8
- str r0, [r1]
-_080BC08A:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BBEB8
-
- thumb_func_start sub_80BC0A8
-sub_80BC0A8: @ 80BC0A8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r2, [r0]
- ldr r1, =0x0000062f
- adds r0, r2, r1
- ldrb r0, [r0]
- ldr r3, =0x00000634
- adds r1, r2, r3
- ldrb r1, [r1]
- adds r3, 0x2
- adds r2, r3
- ldrb r2, [r2]
- bl sub_80BD404
- lsls r0, 24
- cmp r0, 0
- beq _080BC0DC
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80BBEB8
- str r0, [r1]
-_080BC0DC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BC0A8
-
- thumb_func_start sub_80BC0F8
-sub_80BC0F8: @ 80BC0F8
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, =gUnknown_02039B4C
- ldr r0, [r5]
- ldr r4, =0x00000652
- adds r0, r4
- ldrh r1, [r0]
- movs r0, 0x12
- bl SetGpuReg
- ldr r5, [r5]
- adds r1, r5, r4
- ldrh r2, [r1]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0x60
- beq _080BC130
- adds r0, r2, 0
- adds r0, 0x8
- strh r0, [r1]
- b _080BC2C8
- .pool
-_080BC130:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080BC13E
- b _080BC238
-_080BC13E:
- movs r1, 0xCA
- lsls r1, 3
- adds r0, r5, r1
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _080BC1C2
- lsls r0, 2
- ldr r1, =_080BC15C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080BC15C:
- .4byte _080BC1C2
- .4byte _080BC170
- .4byte _080BC194
- .4byte _080BC1E4
- .4byte _080BC214
-_080BC170:
- ldr r5, =gUnknown_02039B4C
- ldr r1, [r5]
- ldr r4, =0x0000060e
- adds r2, r1, r4
- movs r0, 0
- strh r0, [r2]
- ldr r2, =0x0000062c
- adds r1, r2
- movs r0, 0x40
- strb r0, [r1]
- b _080BC1B2
- .pool
-_080BC194:
- ldr r5, =gUnknown_02039B4C
- ldr r2, [r5]
- ldr r0, =0x0000060c
- adds r3, r2, r0
- ldrh r0, [r3]
- subs r0, 0x1
- ldr r4, =0x0000060e
- adds r1, r2, r4
- strh r0, [r1]
- ldrh r0, [r3]
- lsls r0, 4
- adds r0, 0x30
- ldr r1, =0x0000062c
- adds r2, r1
- strb r0, [r2]
-_080BC1B2:
- bl sub_80BDA40
- ldr r0, [r5]
- adds r0, r4
- ldrh r0, [r0]
- movs r1, 0xE
- bl sub_80BD2B4
-_080BC1C2:
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x8
- orrs r0, r1
- strh r0, [r2, 0x2E]
- b _080BC238
- .pool
-_080BC1E4:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BC3DC
- str r1, [r0]
- movs r0, 0x34
- bl PlaySE
- b _080BC238
- .pool
-_080BC214:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BC47C
- str r1, [r0]
- movs r0, 0x3
- bl PlaySE
-_080BC238:
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0xA
- ands r0, r1
- cmp r0, 0
- beq _080BC278
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r2, =0x0000064f
- adds r0, r2
- movs r1, 0
- strb r1, [r0]
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BBEB8
- str r1, [r0]
- b _080BC296
- .pool
-_080BC278:
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080BC2A4
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- movs r3, 0xCA
- lsls r3, 3
- adds r1, r0, r3
- ldrh r0, [r1]
- cmp r0, 0
- beq _080BC2A4
- subs r0, 0x1
- strh r0, [r1]
-_080BC296:
- movs r0, 0x5
- bl PlaySE
- b _080BC2C8
- .pool
-_080BC2A4:
- ldrh r1, [r2, 0x30]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BC2C8
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- movs r2, 0xCA
- lsls r2, 3
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0x3
- bhi _080BC2C8
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x5
- bl PlaySE
-_080BC2C8:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BC0F8
-
- thumb_func_start sub_80BC2D4
-sub_80BC2D4: @ 80BC2D4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, =gSprites
- ldr r5, =gUnknown_02039B4C
- ldr r3, [r5]
- ldr r4, =0x00000626
- adds r0, r3, r4
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- movs r2, 0x20
- ldrsh r0, [r1, r2]
- cmp r0, 0x30
- bne _080BC33A
- movs r2, 0x22
- ldrsh r0, [r1, r2]
- cmp r0, 0x38
- bne _080BC33A
- ldr r1, =0x0000064a
- adds r0, r3, r1
- ldrb r1, [r0]
- ldr r2, =0x0000064b
- adds r0, r3, r2
- strb r1, [r0]
- ldr r1, [r5]
- subs r2, 0x3D
- adds r0, r1, r2
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1, r0
- adds r1, r4
- ldrb r1, [r1]
- bl sub_80BE91C
- ldr r2, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x8]
- ldr r0, [r5]
- adds r0, r4
- ldr r2, =0x0000ffff
- strh r2, [r0]
- ldr r0, =sub_80BC360
- str r0, [r1]
-_080BC33A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BC2D4
-
- thumb_func_start sub_80BC360
-sub_80BC360: @ 80BC360
- 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 r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _080BC3CC
- ldr r5, =gUnknown_02039B4C
- ldr r0, [r5]
- ldr r1, =0x0000064a
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080BC3D0
- ldrb r0, [r4, 0x8]
- bl sub_80BE9C4
- lsls r0, 24
- cmp r0, 0
- bne _080BC3D0
- bl sub_80BD930
- lsls r0, 24
- cmp r0, 0
- beq _080BC3D0
- ldr r0, [r5]
- ldr r2, =0x0000060e
- adds r1, r0, r2
- ldrh r1, [r1]
- lsls r1, 2
- adds r0, r1
- ldrb r1, [r4, 0x8]
- bl sub_80BE9F8
- b _080BC3D0
- .pool
-_080BC3CC:
- ldr r0, =sub_80BBE70
- str r0, [r4]
-_080BC3D0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BC360
-
- thumb_func_start sub_80BC3DC
-sub_80BC3DC: @ 80BC3DC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BC450
- ldr r4, =gUnknown_02039B4C
- ldr r0, [r4]
- ldr r2, =0x0000062a
- adds r1, r0, r2
- ldrh r1, [r1]
- ldr r3, =0x0000062c
- adds r0, r3
- strb r1, [r0]
- ldr r1, [r4]
- subs r2, 0x1A
- adds r0, r1, r2
- ldrh r2, [r0]
- subs r3, 0x1E
- adds r0, r1, r3
- strh r2, [r0]
- ldr r2, =0x00000614
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r3, 0x4
- adds r1, r3
- strh r0, [r1]
- bl IsNationalPokedexEnabled
- adds r1, r0, 0
- cmp r1, 0
- bne _080BC42A
- ldr r0, [r4]
- ldr r2, =0x00000612
- adds r0, r2
- strh r1, [r0]
-_080BC42A:
- ldr r0, [r4]
- movs r3, 0xC3
- lsls r3, 3
- adds r1, r0, r3
- ldrh r1, [r1]
- ldr r2, =0x00000616
- adds r0, r2
- strh r1, [r0]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BB78C
- str r1, [r0]
- bl sub_80BDA40
- bl sub_80BC890
-_080BC450:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BC3DC
-
- thumb_func_start sub_80BC47C
-sub_80BC47C: @ 80BC47C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BC4E8
- ldr r4, =gUnknown_02039B4C
- ldr r0, [r4]
- ldr r2, =0x0000062a
- adds r1, r0, r2
- ldrh r1, [r1]
- ldr r3, =0x0000062c
- adds r0, r3
- strb r1, [r0]
- ldr r1, [r4]
- subs r2, 0x1A
- adds r0, r1, r2
- ldrh r2, [r0]
- subs r3, 0x1E
- adds r0, r1, r3
- strh r2, [r0]
- ldr r2, =0x00000614
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r3, 0x4
- adds r1, r3
- strh r0, [r1]
- bl IsNationalPokedexEnabled
- adds r1, r0, 0
- cmp r1, 0
- bne _080BC4CA
- ldr r0, [r4]
- ldr r2, =0x00000612
- adds r0, r2
- strh r1, [r0]
-_080BC4CA:
- ldr r0, [r4]
- movs r3, 0xC3
- lsls r3, 3
- adds r1, r0, r3
- ldrh r1, [r1]
- ldr r2, =0x00000616
- adds r0, r2
- strh r1, [r0]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BBDE8
- str r1, [r0]
-_080BC4E8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BC47C
-
- thumb_func_start sub_80BC514
-sub_80BC514: @ 80BC514
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r3, r1, 0
- cmp r0, 0x6
- bhi _080BC55C
- lsls r0, 2
- ldr r1, =_080BC540
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080BC540:
- .4byte _080BC55C
- .4byte _080BC6CC
- .4byte _080BC6FC
- .4byte _080BC704
- .4byte _080BC768
- .4byte _080BC790
- .4byte _080BC818
-_080BC55C:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- beq _080BC56E
- b _080BC838
-_080BC56E:
- movs r0, 0
- bl SetVBlankCallback
- ldr r4, =gUnknown_02039B4C
- ldr r0, [r4]
- ldr r1, =0x0000064a
- adds r0, r1
- strb r5, [r0]
- movs r0, 0
- bl sub_80C09B0
- ldr r0, [r4]
- ldr r2, =0x0000062d
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x1A
- bl SetGpuReg
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gBgTemplates_0855D298
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r1, =gPokedexMenu_Gfx
- movs r2, 0x80
- lsls r2, 6
- str r6, [sp]
- movs r0, 0x3
- movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
- ldr r1, =gUnknown_08DC2C5C
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- ldr r1, =gUnknown_08DC2DAC
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- cmp r5, 0
- bne _080BC640
- ldr r1, =gUnknown_08DC2A08
- movs r3, 0xA0
- lsls r3, 2
- movs r0, 0
- movs r2, 0
- bl CopyToBgTilemapBuffer
- b _080BC64E
- .pool
-_080BC640:
- ldr r1, =gUnknown_08DC2B1C
- movs r3, 0xA0
- lsls r3, 2
- movs r0, 0
- movs r2, 0
- bl CopyToBgTilemapBuffer
-_080BC64E:
- bl ResetPaletteFade
- cmp r5, 0
- bne _080BC674
- ldr r3, =gUnknown_02039B4C
- ldr r1, [r3]
- ldr r0, =0x0000064c
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- b _080BC682
- .pool
-_080BC674:
- ldr r3, =gUnknown_02039B4C
- ldr r1, [r3]
- ldr r2, =0x0000064c
- adds r1, r2
- ldrb r0, [r1]
- movs r2, 0x1
- orrs r0, r2
-_080BC682:
- strb r0, [r1]
- ldr r0, [r3]
- ldr r1, =0x0000064c
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- bl sub_80BC844
- ldr r0, =sWindowTemplates_0855D2A8
- bl InitWindows
- bl DeactivateAllTextPrinters
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- b _080BC838
- .pool
-_080BC6CC:
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r1, =gReservedSpritePaletteCount
- movs r0, 0x8
- strb r0, [r1]
- ldr r0, =gSpriteSheets_0855D26C
- bl LoadCompressedObjectPic
- ldr r0, =gSpritePalettes_0855D26C
- bl LoadSpritePalettes
- adds r0, r5, 0
- bl sub_80BDB7C
- b _080BC7F8
- .pool
-_080BC6FC:
- movs r2, 0x87
- lsls r2, 3
- adds r1, r3, r2
- b _080BC800
-_080BC704:
- cmp r5, 0
- bne _080BC71C
- ldr r0, =gUnknown_02039B4C
- ldr r1, [r0]
- ldr r2, =0x00000612
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, 0x4
- adds r1, r2
- ldrb r1, [r1]
- bl sub_80BC8D4
-_080BC71C:
- ldr r4, =gUnknown_02039B4C
- ldr r0, [r4]
- ldr r1, =0x0000060e
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0xE
- bl sub_80BD2B4
- ldr r0, [r4]
- ldr r2, =0x0000064f
- adds r0, r2
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- adds r2, 0x3
- adds r0, r2
- strh r1, [r0]
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _080BC7F8
- .pool
-_080BC768:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =sub_80BB370
- bl SetVBlankCallback
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _080BC800
- .pool
-_080BC790:
- ldr r1, =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- ldr r1, =0x00001d3f
- movs r0, 0x4A
- 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, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldr r1, =0x00009040
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
-_080BC7F8:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
-_080BC800:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080BC838
- .pool
-_080BC818:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _080BC838
- movs r1, 0x87
- lsls r1, 3
- adds r0, r3, r1
- strb r2, [r0]
- movs r0, 0x1
- b _080BC83A
- .pool
-_080BC838:
- movs r0, 0
-_080BC83A:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80BC514
-
- thumb_func_start sub_80BC844
-sub_80BC844: @ 80BC844
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BC858
- ldr r0, =gPokedexHoennBg_Pal + 0x2
- b _080BC862
- .pool
-_080BC858:
- bl IsNationalPokedexEnabled
- cmp r0, 0
- bne _080BC870
- ldr r0, =gPokedexText_Pal + 2
-_080BC862:
- movs r1, 0x1
- movs r2, 0xBE
- bl LoadPalette
- b _080BC87A
- .pool
-_080BC870:
- ldr r0, =gPokedexNationalBg_Pal + 0x2
- movs r1, 0x1
- movs r2, 0xBE
- bl LoadPalette
-_080BC87A:
- bl GetOverworldTextboxPalettePtr
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BC844
-
- thumb_func_start sub_80BC890
-sub_80BC890: @ 80BC890
- push {lr}
- bl FreeAllWindowBuffers
- movs r0, 0
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080BC8A4
- bl Free
-_080BC8A4:
- movs r0, 0x1
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080BC8B2
- bl Free
-_080BC8B2:
- movs r0, 0x2
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080BC8C0
- bl Free
-_080BC8C0:
- movs r0, 0x3
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080BC8CE
- bl Free
-_080BC8CE:
- pop {r0}
- bx r0
- thumb_func_end sub_80BC890
-
- thumb_func_start sub_80BC8D4
-sub_80BC8D4: @ 80BC8D4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000060c
- adds r0, r1
- movs r5, 0
- strh r5, [r0]
- cmp r4, 0
- beq _080BC8FC
- cmp r4, 0x1
- beq _080BC910
-_080BC8FC:
- mov r1, sp
- movs r0, 0xCA
- strh r0, [r1]
- movs r0, 0x1
- strh r0, [r1, 0x2]
- b _080BC92C
- .pool
-_080BC910:
- bl IsNationalPokedexEnabled
- cmp r0, 0
- beq _080BC924
- mov r0, sp
- movs r1, 0xC1
- lsls r1, 1
- strh r1, [r0]
- strh r5, [r0, 0x2]
- b _080BC92C
-_080BC924:
- mov r0, sp
- movs r1, 0xCA
- strh r1, [r0]
- strh r4, [r0, 0x2]
-_080BC92C:
- cmp r6, 0x5
- bls _080BC932
- b _080BCDB4
-_080BC932:
- lsls r0, r6, 2
- ldr r1, =_080BC940
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080BC940:
- .4byte _080BC958
- .4byte _080BCACC
- .4byte _080BCB78
- .4byte _080BCC08
- .4byte _080BCCA0
- .4byte _080BCD30
-_080BC958:
- mov r0, sp
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- beq _080BCA00
- movs r4, 0
- mov r0, sp
- ldrh r0, [r0]
- cmp r4, r0
- blt _080BC96C
- b _080BCDB4
-_080BC96C:
- mov r5, sp
- ldr r2, =gUnknown_02039B4C
- mov r8, r2
- movs r3, 0x1
- mov r9, r3
-_080BC976:
- lsls r4, 16
- asrs r4, 16
- adds r7, r4, 0x1
- mov r10, r7
- lsls r0, r7, 16
- lsrs r6, r0, 16
- adds r0, r6, 0
- bl HoennToNationalOrder
- strh r0, [r5, 0x4]
- mov r2, r8
- ldr r1, [r2]
- lsls r4, 2
- adds r1, r4
- strh r0, [r1]
- ldrh r0, [r5, 0x4]
- movs r1, 0
- bl GetSetPokedexFlag
- mov r3, r8
- ldr r2, [r3]
- adds r2, r4
- mov r3, r9
- ands r3, r0
- ldrb r0, [r2, 0x2]
- movs r7, 0x2
- negs r7, r7
- adds r1, r7, 0
- ands r0, r1
- orrs r0, r3
- strb r0, [r2, 0x2]
- ldrh r0, [r5, 0x4]
- movs r1, 0x1
- bl GetSetPokedexFlag
- mov r1, r8
- ldr r3, [r1]
- adds r3, r4
- mov r2, r9
- ands r2, r0
- lsls r2, 1
- ldrb r0, [r3, 0x2]
- subs r7, 0x1
- adds r1, r7, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x2]
- mov r0, r8
- ldr r1, [r0]
- adds r4, r1, r4
- ldrb r0, [r4, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _080BC9EA
- ldr r2, =0x0000060c
- adds r0, r1, r2
- mov r3, r10
- strh r3, [r0]
-_080BC9EA:
- adds r4, r6, 0
- lsls r0, r4, 16
- asrs r0, 16
- ldrh r7, [r5]
- cmp r0, r7
- blt _080BC976
- b _080BCDB4
- .pool
-_080BCA00:
- movs r4, 0
- movs r5, 0
- mov r10, r5
- mov r0, sp
- ldrh r0, [r0]
- cmp r4, r0
- blt _080BCA10
- b _080BCDB4
-_080BCA10:
- mov r6, sp
- ldr r0, =gUnknown_02039B4C
- mov r8, r0
- movs r1, 0x1
- mov r9, r1
-_080BCA1A:
- lsls r4, 16
- asrs r0, r4, 16
- adds r0, 0x1
- strh r0, [r6, 0x4]
- ldrh r0, [r6, 0x4]
- movs r1, 0
- bl GetSetPokedexFlag
- lsls r0, 24
- adds r7, r4, 0
- cmp r0, 0
- beq _080BCA36
- movs r2, 0x1
- mov r10, r2
-_080BCA36:
- mov r3, r10
- cmp r3, 0
- beq _080BCAB2
- mov r4, r8
- ldr r1, [r4]
- lsls r0, r5, 16
- asrs r5, r0, 16
- lsls r4, r5, 2
- adds r1, r4
- ldrh r0, [r6, 0x4]
- strh r0, [r1]
- ldrh r0, [r6, 0x4]
- movs r1, 0
- bl GetSetPokedexFlag
- mov r1, r8
- ldr r2, [r1]
- adds r2, r4
- mov r3, r9
- ands r3, r0
- mov r12, r3
- ldrb r0, [r2, 0x2]
- movs r3, 0x2
- negs r3, r3
- adds r1, r3, 0
- ands r0, r1
- mov r1, r12
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldrh r0, [r6, 0x4]
- movs r1, 0x1
- bl GetSetPokedexFlag
- mov r2, r8
- ldr r3, [r2]
- adds r3, r4
- mov r2, r9
- ands r2, r0
- lsls r2, 1
- mov r12, r2
- ldrb r0, [r3, 0x2]
- movs r2, 0x3
- negs r2, r2
- adds r1, r2, 0
- ands r0, r1
- mov r1, r12
- orrs r0, r1
- strb r0, [r3, 0x2]
- mov r3, r8
- ldr r2, [r3]
- adds r4, r2, r4
- ldrb r0, [r4, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _080BCAAC
- adds r1, r5, 0x1
- ldr r4, =0x0000060c
- adds r0, r2, r4
- strh r1, [r0]
-_080BCAAC:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_080BCAB2:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r7, r1
- lsrs r4, r0, 16
- asrs r0, 16
- ldrh r2, [r6]
- cmp r0, r2
- blt _080BCA1A
- b _080BCDB4
- .pool
-_080BCACC:
- movs r4, 0
- mov r5, sp
- ldr r3, =gUnknown_02039B4C
- mov r8, r3
- ldr r6, =0x0000060c
- movs r7, 0x1
- mov r9, r7
-_080BCADA:
- ldr r1, =gPokedexOrder_Alphabetical
- lsls r4, 16
- asrs r0, r4, 15
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r5, 0x4]
- ldrh r0, [r5, 0x4]
- bl NationalToHoennOrder
- lsls r0, 16
- lsrs r0, 16
- adds r7, r4, 0
- ldrh r1, [r5]
- cmp r0, r1
- bhi _080BCB58
- ldrh r0, [r5, 0x4]
- movs r1, 0
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _080BCB58
- mov r3, r8
- ldr r2, [r3]
- adds r3, r2, r6
- ldrh r0, [r3]
- lsls r0, 2
- adds r0, r2, r0
- ldrh r1, [r5, 0x4]
- strh r1, [r0]
- ldrh r0, [r3]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- mov r4, r9
- orrs r0, r4
- strb r0, [r2, 0x2]
- ldrh r0, [r5, 0x4]
- movs r1, 0x1
- bl GetSetPokedexFlag
- mov r1, r8
- ldr r3, [r1]
- adds r1, r3, r6
- ldrh r1, [r1]
- lsls r1, 2
- adds r3, r1
- mov r2, r9
- ands r2, r0
- lsls r2, 1
- ldrb r0, [r3, 0x2]
- movs r4, 0x3
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x2]
- mov r0, r8
- ldr r1, [r0]
- adds r1, r6
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080BCB58:
- movs r2, 0x80
- lsls r2, 9
- adds r1, r7, r2
- lsrs r4, r1, 16
- movs r0, 0xCD
- lsls r0, 17
- cmp r1, r0
- ble _080BCADA
- b _080BCDB4
- .pool
-_080BCB78:
- ldr r4, =0x00000181
- lsls r0, r4, 16
- mov r5, sp
- ldr r7, =gUnknown_02039B4C
- ldr r6, =0x0000060c
-_080BCB82:
- ldr r1, =gPokedexOrder_Weight
- asrs r0, 15
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r5, 0x4]
- ldrh r0, [r5, 0x4]
- bl NationalToHoennOrder
- lsls r0, 16
- lsrs r0, 16
- ldrh r3, [r5]
- cmp r0, r3
- bhi _080BCBE2
- ldrh r0, [r5, 0x4]
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _080BCBE2
- ldr r2, [r7]
- adds r3, r2, r6
- ldrh r0, [r3]
- lsls r0, 2
- adds r0, r2, r0
- ldrh r1, [r5, 0x4]
- strh r1, [r0]
- ldrh r0, [r3]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r2, [r7]
- adds r0, r2, r6
- ldrh r0, [r0]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r1, [r7]
- adds r1, r6
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080BCBE2:
- lsls r0, r4, 16
- ldr r4, =0xffff0000
- adds r0, r4
- lsrs r4, r0, 16
- lsls r0, r4, 16
- cmp r0, 0
- bge _080BCB82
- b _080BCDB4
- .pool
-_080BCC08:
- movs r4, 0
- mov r5, sp
- ldr r7, =gUnknown_02039B4C
- mov r8, r7
- ldr r6, =0x0000060c
- ldr r0, =0x00000181
- mov r9, r0
-_080BCC16:
- ldr r1, =gPokedexOrder_Weight
- lsls r4, 16
- asrs r0, r4, 15
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r5, 0x4]
- ldrh r0, [r5, 0x4]
- bl NationalToHoennOrder
- lsls r0, 16
- lsrs r0, 16
- adds r7, r4, 0
- ldrh r1, [r5]
- cmp r0, r1
- bhi _080BCC7E
- ldrh r0, [r5, 0x4]
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _080BCC7E
- mov r3, r8
- ldr r2, [r3]
- adds r3, r2, r6
- ldrh r0, [r3]
- lsls r0, 2
- adds r0, r2, r0
- ldrh r1, [r5, 0x4]
- strh r1, [r0]
- ldrh r0, [r3]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x2]
- mov r4, r8
- ldr r2, [r4]
- adds r0, r2, r6
- ldrh r0, [r0]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r1, [r4]
- adds r1, r6
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080BCC7E:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r7, r1
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, r9
- ble _080BCC16
- b _080BCDB4
- .pool
-_080BCCA0:
- ldr r4, =0x00000181
- lsls r0, r4, 16
- mov r5, sp
- ldr r7, =gUnknown_02039B4C
- ldr r6, =0x0000060c
-_080BCCAA:
- ldr r1, =gPokedexOrder_Height
- asrs r0, 15
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r5, 0x4]
- ldrh r0, [r5, 0x4]
- bl NationalToHoennOrder
- lsls r0, 16
- lsrs r0, 16
- ldrh r2, [r5]
- cmp r0, r2
- bhi _080BCD0A
- ldrh r0, [r5, 0x4]
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _080BCD0A
- ldr r2, [r7]
- adds r3, r2, r6
- ldrh r0, [r3]
- lsls r0, 2
- adds r0, r2, r0
- ldrh r1, [r5, 0x4]
- strh r1, [r0]
- ldrh r0, [r3]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r2, [r7]
- adds r0, r2, r6
- ldrh r0, [r0]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r1, [r7]
- adds r1, r6
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080BCD0A:
- lsls r0, r4, 16
- ldr r3, =0xffff0000
- adds r0, r3
- lsrs r4, r0, 16
- lsls r0, r4, 16
- cmp r0, 0
- bge _080BCCAA
- b _080BCDB4
- .pool
-_080BCD30:
- movs r4, 0
- mov r5, sp
- ldr r7, =gUnknown_02039B4C
- mov r8, r7
- ldr r6, =0x0000060c
- ldr r0, =0x00000181
- mov r9, r0
-_080BCD3E:
- ldr r1, =gPokedexOrder_Height
- lsls r4, 16
- asrs r0, r4, 15
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r5, 0x4]
- ldrh r0, [r5, 0x4]
- bl NationalToHoennOrder
- lsls r0, 16
- lsrs r0, 16
- adds r7, r4, 0
- ldrh r1, [r5]
- cmp r0, r1
- bhi _080BCDA6
- ldrh r0, [r5, 0x4]
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _080BCDA6
- mov r3, r8
- ldr r2, [r3]
- adds r3, r2, r6
- ldrh r0, [r3]
- lsls r0, 2
- adds r0, r2, r0
- ldrh r1, [r5, 0x4]
- strh r1, [r0]
- ldrh r0, [r3]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x2]
- mov r4, r8
- ldr r2, [r4]
- adds r0, r2, r6
- ldrh r0, [r0]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r1, [r4]
- adds r1, r6
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080BCDA6:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r7, r1
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, r9
- ble _080BCD3E
-_080BCDB4:
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000060c
- adds r0, r2
- ldrh r4, [r0]
- lsls r3, r4, 16
- asrs r0, r3, 16
- ldr r2, =0x00000181
- cmp r0, r2
- bgt _080BCE08
- adds r5, r1, 0
- movs r4, 0x2
- negs r4, r4
- mov r9, r4
- movs r7, 0x3
- negs r7, r7
- mov r8, r7
- adds r7, r2, 0
- ldr r0, =0x0000ffff
- adds r6, r0, 0
-_080BCDDC:
- ldr r1, [r5]
- asrs r3, 16
- lsls r4, r3, 2
- adds r1, r4
- ldrh r0, [r1]
- orrs r0, r6
- strh r0, [r1]
- ldrb r2, [r1, 0x2]
- mov r0, r9
- ands r0, r2
- strb r0, [r1, 0x2]
- ldr r1, [r5]
- adds r1, r4
- ldrb r2, [r1, 0x2]
- mov r0, r8
- ands r0, r2
- strb r0, [r1, 0x2]
- adds r3, 0x1
- lsls r3, 16
- asrs r0, r3, 16
- cmp r0, r7
- ble _080BCDDC
-_080BCE08:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BC8D4
-
- thumb_func_start sub_80BCE2C
-sub_80BCE2C: @ 80BCE2C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x18
- mov r8, r3
- ldr r3, [sp, 0x2C]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r3, 24
- add r4, sp, 0x14
- movs r6, 0
- strb r6, [r4]
- adds r5, r4, 0
- movs r4, 0xF
- strb r4, [r5, 0x1]
- movs r4, 0x3
- strb r4, [r5, 0x2]
- mov r4, r8
- lsls r4, 27
- lsrs r4, 24
- mov r8, r4
- lsrs r3, 21
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- str r6, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r4, 0x1
- negs r4, r4
- str r4, [sp, 0xC]
- str r2, [sp, 0x10]
- mov r2, r8
- bl AddTextPrinterParameterized2
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80BCE2C
-
- thumb_func_start sub_80BCE84
-sub_80BCE84: @ 80BCE84
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r7, r2, 16
- cmp r0, 0x1
- beq _080BCF7C
- cmp r0, 0x1
- ble _080BCEA8
- cmp r0, 0x2
- bne _080BCEA8
- b _080BD074
-_080BCEA8:
- subs r0, r1, 0x5
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0
- mov r9, r0
-_080BCEB2:
- lsls r0, r1, 16
- lsrs r5, r0, 16
- mov r10, r0
- ldr r1, =0x00000181
- cmp r5, r1
- bhi _080BCED2
- ldr r2, =gUnknown_02039B4C
- mov r8, r2
- ldr r0, [r2]
- mov r3, r10
- asrs r6, r3, 14
- adds r0, r6
- ldrh r0, [r0]
- ldr r1, =0x0000ffff
- cmp r0, r1
- bne _080BCEF0
-_080BCED2:
- mov r2, r9
- lsls r1, r2, 25
- lsrs r1, 24
- movs r0, 0x11
- adds r2, r7, 0
- bl sub_80BD28C
- b _080BCF64
- .pool
-_080BCEF0:
- mov r3, r9
- lsls r0, r3, 25
- lsrs r4, r0, 24
- movs r0, 0x11
- adds r1, r4, 0
- adds r2, r7, 0
- bl sub_80BD28C
- mov r1, r8
- ldr r0, [r1]
- adds r0, r6
- ldrb r0, [r0, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _080BCF42
- adds r0, r5, 0
- movs r1, 0x12
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_80BD154
- mov r2, r8
- ldr r0, [r2]
- adds r0, r6
- ldrb r0, [r0, 0x2]
- lsls r0, 30
- lsrs r0, 31
- movs r1, 0x11
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_80BD1F4
- mov r3, r8
- ldr r0, [r3]
- adds r0, r6
- ldrh r0, [r0]
- movs r1, 0x16
- adds r2, r4, 0
- bl sub_80BD23C
- b _080BCF64
-_080BCF42:
- adds r0, r5, 0
- movs r1, 0x12
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_80BD154
- movs r0, 0
- movs r1, 0x11
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_80BD1F4
- movs r0, 0
- movs r1, 0x16
- adds r2, r4, 0
- bl sub_80BD23C
-_080BCF64:
- movs r0, 0x80
- lsls r0, 9
- add r0, r10
- lsrs r1, r0, 16
- mov r0, r9
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- cmp r0, 0xA
- bls _080BCEB2
- b _080BD13E
-_080BCF7C:
- subs r0, r1, 0x5
- lsls r1, r0, 16
- lsrs r5, r1, 16
- ldr r0, =0x00000181
- ldr r2, =gUnknown_02039B4C
- cmp r5, r0
- bhi _080BCF9A
- adds r6, r2, 0
- ldr r3, [r6]
- asrs r4, r1, 14
- adds r0, r3, r4
- ldrh r1, [r0]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _080BCFB8
-_080BCF9A:
- ldr r0, [r2]
- movs r1, 0xC6
- lsls r1, 3
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r1, 25
- b _080BD0B2
- .pool
-_080BCFB8:
- movs r1, 0xC6
- lsls r1, 3
- adds r0, r3, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r1, 25
- lsrs r1, 24
- movs r0, 0x11
- adds r2, r7, 0
- bl sub_80BD28C
- ldr r1, [r6]
- adds r0, r1, r4
- ldrb r0, [r0, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _080BD028
- movs r3, 0xC6
- lsls r3, 3
- adds r0, r1, r3
- movs r1, 0
- ldrsh r2, [r0, r1]
- lsls r2, 25
- lsrs r2, 24
- adds r0, r5, 0
- movs r1, 0x12
- adds r3, r7, 0
- bl sub_80BD154
- ldr r1, [r6]
- adds r0, r1, r4
- ldrb r0, [r0, 0x2]
- lsls r0, 30
- lsrs r0, 31
- movs r2, 0xC6
- lsls r2, 3
- adds r1, r2
- movs r3, 0
- ldrsh r2, [r1, r3]
- lsls r2, 25
- lsrs r2, 24
- movs r1, 0x11
- adds r3, r7, 0
- bl sub_80BD1F4
- ldr r1, [r6]
- adds r0, r1, r4
- ldrh r0, [r0]
- movs r2, 0xC6
- lsls r2, 3
- adds r1, r2
- movs r3, 0
- ldrsh r2, [r1, r3]
- lsls r2, 25
- lsrs r2, 24
- b _080BD06C
-_080BD028:
- movs r2, 0xC6
- lsls r2, 3
- adds r0, r1, r2
- movs r3, 0
- ldrsh r2, [r0, r3]
- lsls r2, 25
- lsrs r2, 24
- adds r0, r5, 0
- movs r1, 0x12
- adds r3, r7, 0
- bl sub_80BD154
- ldr r0, [r6]
- movs r1, 0xC6
- lsls r1, 3
- adds r0, r1
- movs r3, 0
- ldrsh r2, [r0, r3]
- lsls r2, 25
- lsrs r2, 24
- movs r0, 0
- movs r1, 0x11
- adds r3, r7, 0
- bl sub_80BD1F4
- ldr r0, [r6]
- movs r1, 0xC6
- lsls r1, 3
- adds r0, r1
- movs r3, 0
- ldrsh r2, [r0, r3]
- lsls r2, 25
- lsrs r2, 24
- movs r0, 0
-_080BD06C:
- movs r1, 0x16
- bl sub_80BD23C
- b _080BD13E
-_080BD074:
- adds r0, r1, 0x5
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =gUnknown_02039B4C
- mov r8, r0
- ldr r3, [r0]
- movs r2, 0xC6
- lsls r2, 3
- adds r0, r3, r2
- ldrh r0, [r0]
- adds r0, 0xA
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0xF
- bls _080BD09A
- adds r0, r2, 0
- subs r0, 0x10
- lsls r0, 16
- lsrs r2, r0, 16
-_080BD09A:
- lsls r1, 16
- lsrs r5, r1, 16
- ldr r0, =0x00000181
- cmp r5, r0
- bhi _080BD0B0
- asrs r6, r1, 14
- adds r0, r3, r6
- ldrh r1, [r0]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _080BD0CC
-_080BD0B0:
- lsls r1, r2, 25
-_080BD0B2:
- lsrs r1, 24
- movs r0, 0x11
- adds r2, r7, 0
- bl sub_80BD28C
- b _080BD13E
- .pool
-_080BD0CC:
- lsls r0, r2, 25
- lsrs r4, r0, 24
- movs r0, 0x11
- adds r1, r4, 0
- adds r2, r7, 0
- bl sub_80BD28C
- mov r3, r8
- ldr r0, [r3]
- adds r0, r6
- ldrb r0, [r0, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _080BD11C
- adds r0, r5, 0
- movs r1, 0x12
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_80BD154
- mov r1, r8
- ldr r0, [r1]
- adds r0, r6
- ldrb r0, [r0, 0x2]
- lsls r0, 30
- lsrs r0, 31
- movs r1, 0x11
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_80BD1F4
- mov r2, r8
- ldr r0, [r2]
- adds r0, r6
- ldrh r0, [r0]
- movs r1, 0x16
- adds r2, r4, 0
- bl sub_80BD23C
- b _080BD13E
-_080BD11C:
- adds r0, r5, 0
- movs r1, 0x12
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_80BD154
- movs r0, 0
- movs r1, 0x11
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_80BD1F4
- movs r0, 0
- movs r1, 0x16
- adds r2, r4, 0
- bl sub_80BD23C
-_080BD13E:
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BCE84
-
- thumb_func_start sub_80BD154
-sub_80BD154: @ 80BD154
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 24
- lsrs r7, r2, 24
- ldr r1, =gUnknown_0855D2B8
- add r0, sp, 0x4
- movs r2, 0x6
- bl memcpy
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- lsls r4, 2
- adds r4, r0, r4
- ldrh r6, [r4]
- ldr r1, =0x00000612
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _080BD194
- adds r0, r6, 0
- bl NationalToHoennOrder
- lsls r0, 16
- lsrs r6, r0, 16
-_080BD194:
- add r4, sp, 0x4
- adds r0, r6, 0
- movs r1, 0x64
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4, 0x2]
- add r5, sp, 0x4
- adds r0, r6, 0
- movs r1, 0x64
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r5, 0x3]
- add r5, sp, 0x4
- adds r0, r4, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r5, 0x4]
- str r7, [sp]
- movs r0, 0
- movs r1, 0x7
- add r2, sp, 0x4
- mov r3, r8
- bl sub_80BCE2C
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BD154
-
- thumb_func_start sub_80BD1F4
-sub_80BD1F4: @ 80BD1F4
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 16
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- cmp r0, 0
- beq _080BD220
- ldr r1, =gUnknown_0855D2BE
- lsls r2, r3, 3
- lsls r3, r4, 3
- movs r0, 0x8
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- movs r0, 0
- bl BlitBitmapToWindow
- b _080BD234
- .pool
-_080BD220:
- lsls r2, r3, 3
- lsls r3, r4, 3
- movs r0, 0x8
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelRect
-_080BD234:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80BD1F4
-
- thumb_func_start sub_80BD23C
-sub_80BD23C: @ 80BD23C
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- bl NationalPokedexNumToSpecies
- adds r1, r0, 0
- cmp r1, 0
- beq _080BD264
- movs r0, 0xB
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r4, r1, r0
- b _080BD266
- .pool
-_080BD264:
- ldr r4, =sText_TenDashes
-_080BD266:
- str r5, [sp]
- movs r0, 0
- movs r1, 0x7
- adds r2, r4, 0
- adds r3, r6, 0
- bl sub_80BCE2C
- adds r0, r4, 0
- bl StringLength
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BD23C
-
- thumb_func_start sub_80BD28C
-sub_80BD28C: @ 80BD28C
- push {lr}
- sub sp, 0x8
- adds r2, r0, 0
- adds r3, r1, 0
- lsls r2, 24
- lsls r3, 24
- lsrs r2, 21
- lsrs r3, 21
- movs r0, 0x60
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelRect
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_80BD28C
-
- thumb_func_start sub_80BD2B4
-sub_80BD2B4: @ 80BD2B4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- ldr r2, =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- movs r2, 0
- ldr r7, =gUnknown_02039B4C
- adds r5, r7, 0
- ldr r4, =0x0000061e
- ldr r0, =0x0000ffff
- adds r3, r0, 0
-_080BD2DA:
- ldr r1, [r5]
- lsls r0, r2, 1
- adds r1, r4
- adds r1, r0
- ldrh r0, [r1]
- orrs r0, r3
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _080BD2DA
- ldr r0, [r7]
- ldr r1, =0x00000626
- adds r0, r1
- ldr r1, =0x0000ffff
- strh r1, [r0]
- subs r0, r6, 0x1
- lsls r0, 16
- lsrs r0, 16
- bl sub_80BDA8C
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =0x0000ffff
- cmp r0, r4
- beq _080BD334
- movs r1, 0x60
- movs r2, 0x50
- bl sub_80BDACC
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r1, r0, r1
- ldr r2, =sub_80BE4E0
- str r2, [r1]
- adds r0, r3
- ldr r1, =0x0000ffe0
- strh r1, [r0, 0x38]
-_080BD334:
- adds r0, r6, 0
- bl sub_80BDA8C
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r4
- beq _080BD366
- movs r1, 0x60
- movs r2, 0x50
- bl sub_80BDACC
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r1, r0, r1
- ldr r2, =sub_80BE4E0
- str r2, [r1]
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x38]
-_080BD366:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r0, 16
- bl sub_80BDA8C
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r4
- beq _080BD39C
- movs r1, 0x60
- movs r2, 0x50
- bl sub_80BDACC
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r1, r0, r1
- ldr r2, =sub_80BE4E0
- str r2, [r1]
- adds r0, r3
- movs r1, 0x20
- strh r1, [r0, 0x38]
-_080BD39C:
- movs r0, 0
- adds r1, r6, 0
- mov r2, r8
- bl sub_80BCE84
- ldr r0, [r7]
- ldr r2, =0x0000062d
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x1A
- bl SetGpuReg
- ldr r0, [r7]
- movs r2, 0xC6
- lsls r2, 3
- adds r1, r0, r2
- movs r2, 0
- strh r2, [r1]
- ldr r1, =0x00000632
- adds r0, r1
- strh r2, [r0]
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BD2B4
-
- thumb_func_start sub_80BD404
-sub_80BD404: @ 80BD404
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r0, =gUnknown_02039B4C
- ldr r1, [r0]
- ldr r3, =0x0000062e
- adds r2, r1, r3
- ldrb r3, [r2]
- adds r7, r0, 0
- cmp r3, 0
- bne _080BD428
- b _080BD578
-_080BD428:
- subs r0, r3, 0x1
- strb r0, [r2]
- cmp r4, 0x1
- beq _080BD440
- cmp r4, 0x2
- beq _080BD4DC
- b _080BD558
- .pool
-_080BD440:
- movs r3, 0
- ldr r4, =0x0000ffff
- mov r12, r4
- ldr r0, =gSprites
- mov r8, r0
- adds r2, r7, 0
-_080BD44C:
- ldr r0, [r2]
- lsls r1, r3, 1
- ldr r4, =0x0000061e
- adds r0, r4
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, r12
- beq _080BD46A
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- ldrh r0, [r1, 0x38]
- adds r0, r5
- strh r0, [r1, 0x38]
-_080BD46A:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080BD44C
- ldr r4, [r7]
- ldr r1, =0x0000062e
- adds r0, r4, r1
- ldrb r0, [r0]
- subs r0, r6, r0
- lsls r0, 4
- adds r1, r6, 0
- bl __divsi3
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r3, =0x0000062d
- adds r0, r4, r3
- ldr r1, =0x00000632
- adds r4, r1
- movs r3, 0
- ldrsh r1, [r4, r3]
- lsls r1, 4
- ldrb r0, [r0]
- adds r1, r0
- subs r1, r2
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1A
- bl SetGpuReg
- ldr r0, [r7]
- ldr r4, =0x0000062c
- adds r2, r0, r4
- movs r1, 0xC5
- lsls r1, 3
- adds r0, r1
- ldrb r1, [r0]
- ldrb r0, [r2]
- subs r0, r1
- strb r0, [r2]
- b _080BD558
- .pool
-_080BD4DC:
- movs r3, 0
- ldr r2, =0x0000ffff
- mov r12, r2
- ldr r4, =gSprites
- mov r8, r4
- adds r2, r7, 0
-_080BD4E8:
- ldr r0, [r2]
- lsls r1, r3, 1
- ldr r4, =0x0000061e
- adds r0, r4
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, r12
- beq _080BD506
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- ldrh r0, [r1, 0x38]
- subs r0, r5
- strh r0, [r1, 0x38]
-_080BD506:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080BD4E8
- ldr r4, [r7]
- ldr r1, =0x0000062e
- adds r0, r4, r1
- ldrb r0, [r0]
- subs r0, r6, r0
- lsls r0, 4
- adds r1, r6, 0
- bl __divsi3
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r3, =0x0000062d
- adds r0, r4, r3
- ldr r1, =0x00000632
- adds r4, r1
- movs r3, 0
- ldrsh r1, [r4, r3]
- lsls r1, 4
- ldrb r0, [r0]
- adds r1, r0
- adds r1, r2
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1A
- bl SetGpuReg
- ldr r0, [r7]
- ldr r4, =0x0000062c
- adds r1, r0, r4
- movs r2, 0xC5
- lsls r2, 3
- adds r0, r2
- ldrb r0, [r0]
- ldrb r3, [r1]
- adds r0, r3
- strb r0, [r1]
-_080BD558:
- movs r0, 0
- b _080BD598
- .pool
-_080BD578:
- ldr r4, =0x0000062d
- adds r2, r1, r4
- movs r3, 0xC6
- lsls r3, 3
- adds r0, r1, r3
- movs r4, 0
- ldrsh r1, [r0, r4]
- lsls r1, 4
- ldrb r2, [r2]
- adds r1, r2
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1A
- bl SetGpuReg
- movs r0, 0x1
-_080BD598:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BD404
-
- thumb_func_start sub_80BD5A8
-sub_80BD5A8: @ 80BD5A8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 16
- lsrs r3, r1, 16
- ldr r4, =gUnknown_02039B4C
- ldr r0, [r4]
- movs r5, 0xC6
- lsls r5, 3
- adds r1, r0, r5
- ldrh r1, [r1]
- ldr r6, =0x00000632
- adds r0, r6
- strh r1, [r0]
- cmp r2, 0x1
- beq _080BD5D8
- cmp r2, 0x2
- beq _080BD638
- b _080BD694
- .pool
-_080BD5D8:
- subs r0, r3, 0x1
- lsls r0, 16
- lsrs r0, 16
- bl sub_80BDA8C
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _080BD612
- adds r0, r1, 0
- movs r1, 0x60
- movs r2, 0x50
- bl sub_80BDACC
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r1, r0, r1
- ldr r2, =sub_80BE4E0
- str r2, [r1]
- adds r0, r3
- ldr r1, =0x0000ffc0
- strh r1, [r0, 0x38]
-_080BD612:
- ldr r0, [r4]
- adds r1, r0, r5
- ldrh r2, [r1]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- ble _080BD634
- subs r0, r2, 0x1
- b _080BD692
- .pool
-_080BD634:
- movs r0, 0xF
- b _080BD692
-_080BD638:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r0, 16
- bl sub_80BDA8C
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _080BD672
- adds r0, r1, 0
- movs r1, 0x60
- movs r2, 0x50
- bl sub_80BDACC
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r1, r0, r1
- ldr r2, =sub_80BE4E0
- str r2, [r1]
- adds r0, r3
- movs r1, 0x40
- strh r1, [r0, 0x38]
-_080BD672:
- ldr r0, [r4]
- adds r1, r0, r5
- ldrh r2, [r1]
- movs r6, 0
- ldrsh r0, [r1, r6]
- cmp r0, 0xE
- bgt _080BD690
- adds r0, r2, 0x1
- b _080BD692
- .pool
-_080BD690:
- movs r0, 0
-_080BD692:
- strh r0, [r1]
-_080BD694:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80BD5A8
-
- thumb_func_start sub_80BD69C
-sub_80BD69C: @ 80BD69C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- lsrs r7, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- movs r0, 0
- mov r10, r0
- ldr r2, =gMain
- ldrh r1, [r2, 0x2C]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080BD6FC
- cmp r7, 0
- beq _080BD6FC
- movs r1, 0x1
- mov r10, r1
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r2, =0x0000060c
- adds r0, r2
- ldrh r3, [r0]
- subs r3, 0x1
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0x1
- adds r1, r7, 0
- movs r2, 0
- bl sub_80C0E0C
- adds r7, r0, 0
- movs r0, 0x1
- adds r1, r7, 0
- bl sub_80BD5A8
- movs r0, 0x1
- b _080BD734
- .pool
-_080BD6FC:
- ldrh r1, [r2, 0x2C]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BD74C
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r3, =0x0000060c
- adds r0, r3
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r7, r0
- bge _080BD74C
- movs r1, 0x2
- mov r10, r1
- lsls r3, r0, 16
- lsrs r3, 16
- movs r0, 0
- adds r1, r7, 0
- movs r2, 0
- bl sub_80C0E0C
- adds r7, r0, 0
- movs r0, 0x2
- adds r1, r7, 0
- bl sub_80BD5A8
- movs r0, 0x2
-_080BD734:
- adds r1, r7, 0
- adds r2, r4, 0
- bl sub_80BCE84
- movs r0, 0x6C
- bl PlaySE
- b _080BD81A
- .pool
-_080BD74C:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080BD7B4
- cmp r7, 0
- beq _080BD7B4
- adds r6, r7, 0
- movs r4, 0
-_080BD75E:
- ldr r5, =gUnknown_02039B4C
- ldr r0, [r5]
- ldr r2, =0x0000060c
- adds r0, r2
- ldrh r3, [r0]
- subs r3, 0x1
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0x1
- adds r1, r7, 0
- movs r2, 0
- bl sub_80C0E0C
- adds r7, r0, 0
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- bls _080BD75E
- ldr r1, [r5]
- ldr r3, =0x0000062c
- adds r1, r3
- subs r0, r7, r6
- lsls r0, 4
- ldrb r2, [r1]
- adds r0, r2
- strb r0, [r1]
- bl sub_80BDA40
- adds r0, r7, 0
- movs r1, 0xE
- bl sub_80BD2B4
- movs r0, 0x6D
- bl PlaySE
- b _080BD81A
- .pool
-_080BD7B4:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080BD81A
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r3, =0x0000060c
- adds r0, r3
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r7, r0
- bge _080BD81A
- adds r6, r7, 0
- movs r4, 0
-_080BD7D2:
- ldr r5, =gUnknown_02039B4C
- ldr r0, [r5]
- ldr r1, =0x0000060c
- adds r0, r1
- ldrh r3, [r0]
- subs r3, 0x1
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0
- adds r1, r7, 0
- movs r2, 0
- bl sub_80C0E0C
- adds r7, r0, 0
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- bls _080BD7D2
- ldr r1, [r5]
- ldr r2, =0x0000062c
- adds r1, r2
- subs r0, r7, r6
- lsls r0, 4
- ldrb r3, [r1]
- adds r0, r3
- strb r0, [r1]
- bl sub_80BDA40
- adds r0, r7, 0
- movs r1, 0xE
- bl sub_80BD2B4
- movs r0, 0x6D
- bl PlaySE
-_080BD81A:
- mov r0, r10
- cmp r0, 0
- bne _080BD83C
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- movs r1, 0xC7
- lsls r1, 3
- adds r0, r1
- mov r2, r10
- strh r2, [r0]
- b _080BD8A2
- .pool
-_080BD83C:
- ldr r1, =gUnknown_0855D28C
- ldr r6, =gUnknown_02039B4C
- ldr r2, [r6]
- movs r3, 0xC7
- lsls r3, 3
- mov r9, r3
- adds r0, r2, r3
- ldrh r0, [r0]
- lsrs r0, 2
- adds r1, r0, r1
- ldrb r5, [r1]
- ldr r1, =gUnknown_0855D291
- adds r0, r1
- ldrb r3, [r0]
- ldr r0, =0x0000062e
- adds r2, r0
- strb r3, [r2]
- ldr r1, [r6]
- ldr r2, =0x00000636
- mov r8, r2
- adds r0, r1, r2
- strh r3, [r0]
- ldr r4, =0x00000634
- adds r0, r1, r4
- strh r5, [r0]
- ldr r3, =0x0000062f
- adds r1, r3
- mov r0, r10
- strb r0, [r1]
- ldr r2, [r6]
- lsrs r5, 1
- movs r1, 0xC5
- lsls r1, 3
- adds r0, r2, r1
- strh r5, [r0]
- adds r3, r2, r3
- ldrb r0, [r3]
- adds r4, r2, r4
- ldrb r1, [r4]
- add r2, r8
- ldrb r2, [r2]
- bl sub_80BD404
- ldr r0, [r6]
- mov r2, r9
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0xB
- bhi _080BD8A2
- adds r0, 0x1
- strh r0, [r1]
-_080BD8A2:
- adds r0, r7, 0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BD69C
-
- thumb_func_start sub_80BD8D0
-sub_80BD8D0: @ 80BD8D0
- push {r4-r7,lr}
- movs r4, 0
- ldr r0, =gUnknown_02039B4C
- mov r12, r0
- ldr r6, =gSprites
- ldr r5, =0x0000ffff
-_080BD8DC:
- mov r1, r12
- ldr r3, [r1]
- lsls r1, r4, 1
- ldr r2, =0x0000061e
- adds r0, r3, r2
- adds r0, r1
- ldrh r2, [r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0, r6
- movs r7, 0x24
- ldrsh r0, [r1, r7]
- cmp r0, 0
- bne _080BD90C
- movs r7, 0x26
- ldrsh r0, [r1, r7]
- cmp r0, 0
- bne _080BD90C
- cmp r2, r5
- beq _080BD90C
- ldr r1, =0x00000626
- adds r0, r3, r1
- strh r2, [r0]
-_080BD90C:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _080BD8DC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BD8D0
-
- thumb_func_start sub_80BD930
-sub_80BD930: @ 80BD930
- push {r4-r6,lr}
- ldr r3, =gUnknown_02039B4C
- ldr r0, [r3]
- ldr r1, =0x0000060e
- adds r0, r1
- ldrh r4, [r0]
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080BD9B8
- cmp r4, 0
- beq _080BD9B8
- adds r2, r4, 0
- adds r5, r3, 0
-_080BD950:
- ldr r0, [r5]
- ldr r1, =0x0000060c
- adds r0, r1
- ldrh r3, [r0]
- subs r3, 0x1
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0x1
- adds r1, r2, 0
- movs r2, 0
- bl sub_80C0E0C
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, [r5]
- lsls r1, r2, 2
- adds r0, r1
- ldrb r0, [r0, 0x2]
- lsls r0, 31
- cmp r0, 0
- bne _080BD9A0
- cmp r2, 0
- bne _080BD950
-_080BD97E:
- ldr r0, =gUnknown_02039B4C
- ldr r1, [r0]
- ldr r0, =0x0000060e
- adds r2, r1, r0
- ldrh r0, [r2]
- cmp r0, r4
- bne _080BD9A4
- b _080BDA38
- .pool
-_080BD9A0:
- adds r4, r2, 0
- b _080BD97E
-_080BD9A4:
- strh r4, [r2]
- ldr r0, =0x0000062c
- adds r1, r0
- ldrb r0, [r1]
- subs r0, 0x10
- b _080BDA20
- .pool
-_080BD9B4:
- adds r4, r2, 0
- b _080BDA08
-_080BD9B8:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BDA38
- ldr r0, [r3]
- ldr r1, =0x0000060c
- adds r0, r1
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r4, r0
- bge _080BDA38
- adds r2, r4, 0
- adds r6, r3, 0
- adds r5, r1, 0
-_080BD9D6:
- ldr r0, [r6]
- adds r0, r5
- ldrh r3, [r0]
- subs r3, 0x1
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0
- adds r1, r2, 0
- movs r2, 0
- bl sub_80C0E0C
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, [r6]
- lsls r0, r2, 2
- adds r0, r1, r0
- ldrb r0, [r0, 0x2]
- lsls r0, 31
- cmp r0, 0
- bne _080BD9B4
- adds r0, r1, r5
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r2, r0
- blt _080BD9D6
-_080BDA08:
- ldr r0, =gUnknown_02039B4C
- ldr r1, [r0]
- ldr r0, =0x0000060e
- adds r2, r1, r0
- ldrh r0, [r2]
- cmp r0, r4
- beq _080BDA38
- strh r4, [r2]
- ldr r0, =0x0000062c
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x10
-_080BDA20:
- strb r0, [r1]
- movs r0, 0x1
- b _080BDA3A
- .pool
-_080BDA38:
- movs r0, 0
-_080BDA3A:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80BD930
-
- thumb_func_start sub_80BDA40
-sub_80BDA40: @ 80BDA40
- push {r4-r7,lr}
- movs r5, 0
- ldr r6, =gUnknown_02039B4C
- ldr r7, =0x0000ffff
-_080BDA48:
- ldr r0, [r6]
- lsls r4, r5, 1
- ldr r1, =0x0000061e
- adds r0, r1
- adds r1, r0, r4
- ldrh r0, [r1]
- cmp r0, r7
- beq _080BDA6C
- bl sub_818D820
- ldr r1, [r6]
- ldr r0, =0x0000061e
- adds r1, r0
- adds r1, r4
- ldrh r2, [r1]
- adds r0, r7, 0
- orrs r0, r2
- strh r0, [r1]
-_080BDA6C:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _080BDA48
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BDA40
-
- thumb_func_start sub_80BDA8C
-sub_80BDA8C: @ 80BDA8C
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =0x00000181
- cmp r2, r0
- bhi _080BDAA8
- ldr r0, =gUnknown_02039B4C
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r2, r1, r0
- ldrh r1, [r2]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _080BDAB8
-_080BDAA8:
- ldr r0, =0x0000ffff
- b _080BDAC6
- .pool
-_080BDAB8:
- ldrb r0, [r2, 0x2]
- lsls r0, 31
- cmp r0, 0
- bne _080BDAC4
- movs r0, 0
- b _080BDAC6
-_080BDAC4:
- ldrh r0, [r2]
-_080BDAC6:
- pop {r1}
- bx r1
- thumb_func_end sub_80BDA8C
-
- thumb_func_start sub_80BDACC
-sub_80BDACC: @ 80BDACC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r2, 16
- lsrs r2, 16
- movs r6, 0
- ldr r0, =gUnknown_02039B4C
- mov r9, r0
- ldr r3, =0x0000ffff
- lsls r1, 16
-_080BDAE8:
- mov r4, r9
- ldr r0, [r4]
- lsls r7, r6, 1
- ldr r4, =0x0000061e
- adds r0, r4
- adds r0, r7
- ldrh r0, [r0]
- cmp r0, r3
- bne _080BDB60
- lsls r2, 16
- mov r0, r8
- asrs r1, 16
- asrs r2, 16
- adds r3, r6, 0
- bl sub_80C0E9C
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gSprites
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- adds r4, r0
- ldrb r1, [r4, 0x1]
- movs r2, 0x4
- negs r2, r2
- adds r0, r2, 0
- ands r1, r0
- movs r0, 0x1
- orrs r1, r0
- strb r1, [r4, 0x1]
- ldrb r0, [r4, 0x5]
- movs r1, 0xC
- orrs r0, r1
- strb r0, [r4, 0x5]
- movs r0, 0
- strh r0, [r4, 0x2E]
- strh r6, [r4, 0x30]
- mov r0, r8
- bl NationalPokedexNumToSpecies
- strh r0, [r4, 0x32]
- mov r4, r9
- ldr r0, [r4]
- ldr r1, =0x0000061e
- adds r0, r1
- adds r0, r7
- strh r5, [r0]
- adds r0, r5, 0
- b _080BDB6C
- .pool
-_080BDB60:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _080BDAE8
- ldr r0, =0x0000ffff
-_080BDB6C:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BDACC
-
- thumb_func_start sub_80BDB7C
-sub_80BDB7C: @ 80BDB7C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r8, r0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r4, =gUnknown_0855D1AC
- adds r0, r4, 0
- movs r1, 0xB8
- movs r2, 0x4
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gSprites
- mov r10, r1
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r10
- movs r1, 0
- strh r1, [r0, 0x30]
- adds r0, r4, 0
- movs r1, 0xB8
- movs r2, 0x9C
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r10
- movs r1, 0x1
- strh r1, [r0, 0x30]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0]
- ldr r0, =gUnknown_0855D194
- movs r1, 0xE6
- movs r2, 0x14
- movs r3, 0
- bl CreateSprite
- ldr r5, =gUnknown_0855D1C4
- adds r0, r5, 0
- movs r1, 0x10
- movs r2, 0x78
- movs r3, 0
- bl CreateSprite
- adds r0, r5, 0
- movs r1, 0x30
- movs r2, 0x78
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r10
- movs r1, 0x3
- bl StartSpriteAnim
- adds r0, r5, 0
- movs r1, 0x10
- movs r2, 0x90
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- add r4, r10
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
- movs r0, 0x80
- mov r9, r0
- mov r1, r9
- strh r1, [r4, 0x32]
- adds r0, r5, 0
- movs r1, 0x30
- movs r2, 0x90
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r10
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r6, =gUnknown_0855D1DC
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x50
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, r7, 4
- adds r1, r7
- lsls r1, 2
- add r1, r10
- ldrb r2, [r1, 0x1]
- movs r4, 0x4
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- movs r5, 0x1
- orrs r0, r5
- strb r0, [r1, 0x1]
- ldrb r2, [r1, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r2
- movs r2, 0x3C
- orrs r0, r2
- strb r0, [r1, 0x3]
- movs r0, 0x1E
- strh r0, [r1, 0x2E]
- movs r0, 0
- strh r0, [r1, 0x30]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x50
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, r7, 4
- adds r1, r7
- lsls r1, 2
- add r1, r10
- ldrb r0, [r1, 0x1]
- ands r4, r0
- orrs r4, r5
- strb r4, [r1, 0x1]
- ldrb r0, [r1, 0x3]
- movs r2, 0x3E
- orrs r0, r2
- strb r0, [r1, 0x3]
- movs r0, 0x1F
- strh r0, [r1, 0x2E]
- mov r0, r9
- strh r0, [r1, 0x30]
- mov r1, r8
- cmp r1, 0
- beq _080BDCCC
- b _080BE414
-_080BDCCC:
- bl IsNationalPokedexEnabled
- cmp r0, 0
- beq _080BDCD6
- b _080BDF4C
-_080BDCD6:
- ldr r4, =gUnknown_0855D1F4
- adds r0, r4, 0
- movs r1, 0x20
- movs r2, 0x28
- movs r3, 0x1
- bl CreateSprite
- adds r0, r4, 0
- movs r1, 0x20
- movs r2, 0x48
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r10
- movs r1, 0x1
- bl StartSpriteAnim
- movs r0, 0
- mov r8, r0
- ldr r0, =gUnknown_0855D224
- movs r1, 0x18
- movs r2, 0x30
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000061a
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- mov r1, r10
- adds r4, r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- cmp r5, 0
- beq _080BDD6C
- movs r0, 0x1
- mov r8, r0
- b _080BDD78
- .pool
-_080BDD6C:
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BDD78:
- ldr r0, =gUnknown_0855D224
- movs r1, 0x20
- movs r2, 0x30
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000061a
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- bne _080BDDB0
- mov r0, r8
- cmp r0, 0
- beq _080BDDD4
-_080BDDB0:
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- b _080BDDE8
- .pool
-_080BDDD4:
- ldr r1, =gSprites
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BDDE8:
- ldr r6, =gUnknown_0855D224
- adds r0, r6, 0
- movs r1, 0x28
- movs r2, 0x30
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r5, =gUnknown_02039B4C
- ldr r0, [r5]
- ldr r1, =0x0000061a
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- adds r1, r0, 0
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- movs r0, 0
- mov r8, r0
- adds r0, r6, 0
- movs r1, 0x18
- movs r2, 0x50
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, [r5]
- ldr r1, =0x0000061c
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r4, r0, r4
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- cmp r5, 0
- beq _080BDE80
- movs r0, 0x1
- mov r8, r0
- b _080BDE8C
- .pool
-_080BDE80:
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BDE8C:
- ldr r0, =gUnknown_0855D224
- movs r1, 0x20
- movs r2, 0x50
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000061c
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- bne _080BDEC4
- mov r0, r8
- cmp r0, 0
- beq _080BDEE8
-_080BDEC4:
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- b _080BDEFC
- .pool
-_080BDEE8:
- ldr r1, =gSprites
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BDEFC:
- ldr r0, =gUnknown_0855D224
- movs r1, 0x28
- movs r2, 0x50
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000061c
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- adds r1, r0, 0
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r2, =gSprites
- adds r0, r2
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- b _080BE3E2
- .pool
-_080BDF4C:
- ldr r4, =gUnknown_0855D1F4
- adds r0, r4, 0
- movs r1, 0x20
- movs r2, 0x28
- movs r3, 0x1
- bl CreateSprite
- adds r0, r4, 0
- movs r1, 0x20
- movs r2, 0x4C
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r10
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r4, =gUnknown_0855D20C
- adds r0, r4, 0
- movs r1, 0x11
- movs r2, 0x2D
- movs r3, 0x1
- bl CreateSprite
- adds r0, r4, 0
- movs r1, 0x11
- movs r2, 0x37
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r10
- movs r1, 0x1
- bl StartSpriteAnim
- adds r0, r4, 0
- movs r1, 0x11
- movs r2, 0x51
- movs r3, 0x1
- bl CreateSprite
- adds r0, r4, 0
- movs r1, 0x11
- movs r2, 0x5B
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r10
- movs r1, 0x1
- bl StartSpriteAnim
- movs r0, 0
- bl GetHoennPokedexCount
- lsls r0, 16
- lsrs r6, r0, 16
- movs r0, 0
- mov r8, r0
- ldr r0, =gUnknown_0855D23C
- movs r1, 0x28
- movs r2, 0x2D
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r6, 0
- movs r1, 0x64
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- mov r1, r10
- adds r4, r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- cmp r5, 0
- beq _080BE024
- movs r0, 0x1
- mov r8, r0
- b _080BE030
- .pool
-_080BE024:
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BE030:
- ldr r0, =gUnknown_0855D23C
- movs r1, 0x30
- movs r2, 0x2D
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r6, 0
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- bne _080BE060
- mov r1, r8
- cmp r1, 0
- beq _080BE07C
-_080BE060:
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- b _080BE090
- .pool
-_080BE07C:
- ldr r1, =gSprites
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BE090:
- ldr r5, =gUnknown_0855D23C
- adds r0, r5, 0
- movs r1, 0x38
- movs r2, 0x2D
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r6, 0
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- adds r1, r0, 0
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- movs r0, 0
- mov r8, r0
- adds r0, r5, 0
- movs r1, 0x28
- movs r2, 0x37
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000061a
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r4, r0, r4
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- cmp r5, 0
- beq _080BE11C
- movs r0, 0x1
- mov r8, r0
- b _080BE128
- .pool
-_080BE11C:
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BE128:
- ldr r0, =gUnknown_0855D23C
- movs r1, 0x30
- movs r2, 0x37
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000061a
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- bne _080BE160
- mov r0, r8
- cmp r0, 0
- beq _080BE184
-_080BE160:
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- b _080BE198
- .pool
-_080BE184:
- ldr r1, =gSprites
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BE198:
- ldr r5, =gUnknown_0855D23C
- adds r0, r5, 0
- movs r1, 0x38
- movs r2, 0x37
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000061a
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- adds r1, r0, 0
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- movs r0, 0x1
- bl GetHoennPokedexCount
- lsls r0, 16
- lsrs r6, r0, 16
- movs r0, 0
- mov r8, r0
- adds r0, r5, 0
- movs r1, 0x28
- movs r2, 0x51
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r6, 0
- movs r1, 0x64
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r4, r0, r4
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- cmp r5, 0
- beq _080BE230
- movs r1, 0x1
- mov r8, r1
- b _080BE23C
- .pool
-_080BE230:
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BE23C:
- ldr r0, =gUnknown_0855D23C
- movs r1, 0x30
- movs r2, 0x51
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r6, 0
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- bne _080BE26C
- mov r0, r8
- cmp r0, 0
- beq _080BE288
-_080BE26C:
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- b _080BE29C
- .pool
-_080BE288:
- ldr r1, =gSprites
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BE29C:
- ldr r5, =gUnknown_0855D23C
- adds r0, r5, 0
- movs r1, 0x38
- movs r2, 0x51
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r6, 0
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- adds r1, r0, 0
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- movs r1, 0
- mov r8, r1
- adds r0, r5, 0
- movs r1, 0x28
- movs r2, 0x5B
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000061c
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r4, r0, r4
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- cmp r5, 0
- beq _080BE328
- movs r0, 0x1
- mov r8, r0
- b _080BE334
- .pool
-_080BE328:
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BE334:
- ldr r0, =gUnknown_0855D23C
- movs r1, 0x30
- movs r2, 0x5B
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000061c
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- bne _080BE36C
- mov r0, r8
- cmp r0, 0
- beq _080BE390
-_080BE36C:
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- b _080BE3A4
- .pool
-_080BE390:
- ldr r1, =gSprites
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BE3A4:
- ldr r0, =gUnknown_0855D23C
- movs r1, 0x38
- movs r2, 0x5B
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000061c
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- adds r1, r0, 0
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r2, =gSprites
- adds r0, r2
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
-_080BE3E2:
- ldr r0, =gUnknown_0855D254
- movs r1, 0x88
- movs r2, 0x60
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gSprites
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r0, r1
- b _080BE42C
- .pool
-_080BE414:
- ldr r0, =gUnknown_0855D254
- movs r1, 0x88
- movs r2, 0x50
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r10
-_080BE42C:
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [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_80BDB7C
-
- thumb_func_start nullsub_38
-nullsub_38: @ 80BE448
- bx lr
- thumb_func_end nullsub_38
-
- thumb_func_start sub_80BE44C
-sub_80BE44C: @ 80BE44C
- push {lr}
- adds r1, r0, 0
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r2, =0x0000064a
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BE464
- adds r0, r1, 0
- bl DestroySprite
-_080BE464:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BE44C
-
- thumb_func_start sub_80BE470
-sub_80BE470: @ 80BE470
- push {lr}
- adds r2, r0, 0
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x5]
- ldrb r1, [r2, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x1]
- movs r0, 0
- strh r0, [r2, 0x24]
- strh r0, [r2, 0x26]
- ldr r1, [r2, 0x20]
- ldr r0, =0x00380030
- cmp r1, r0
- beq _080BE4D4
- ldrh r1, [r2, 0x20]
- movs r3, 0x20
- ldrsh r0, [r2, r3]
- cmp r0, 0x30
- ble _080BE4A4
- subs r0, r1, 0x1
- strh r0, [r2, 0x20]
-_080BE4A4:
- ldrh r1, [r2, 0x20]
- movs r3, 0x20
- ldrsh r0, [r2, r3]
- cmp r0, 0x2F
- bgt _080BE4B2
- adds r0, r1, 0x1
- strh r0, [r2, 0x20]
-_080BE4B2:
- ldrh r1, [r2, 0x22]
- movs r3, 0x22
- ldrsh r0, [r2, r3]
- cmp r0, 0x38
- ble _080BE4C0
- subs r0, r1, 0x1
- strh r0, [r2, 0x22]
-_080BE4C0:
- ldrh r1, [r2, 0x22]
- movs r3, 0x22
- ldrsh r0, [r2, r3]
- cmp r0, 0x37
- bgt _080BE4D8
- adds r0, r1, 0x1
- strh r0, [r2, 0x22]
- b _080BE4D8
- .pool
-_080BE4D4:
- ldr r0, =nullsub_38
- str r0, [r2, 0x1C]
-_080BE4D8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BE470
-
- thumb_func_start sub_80BE4E0
-sub_80BE4E0: @ 80BE4E0
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r7, =gUnknown_02039B4C
- ldr r1, [r7]
- ldr r2, =0x0000064a
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BE520
- cmp r0, 0x3
- beq _080BE520
- lsls r5, r6, 1
- ldr r4, =0x0000061e
- adds r0, r1, r4
- adds r0, r5
- ldrh r0, [r0]
- bl sub_818D820
- ldr r0, [r7]
- adds r0, r4
- adds r0, r5
- b _080BE5EC
- .pool
-_080BE520:
- ldr r2, =gSineTable
- ldrh r0, [r4, 0x38]
- lsls r0, 24
- lsrs r0, 23
- adds r0, r2
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r0, 0x4C
- muls r0, r1
- cmp r0, 0
- bge _080BE538
- adds r0, 0xFF
-_080BE538:
- asrs r0, 8
- strh r0, [r4, 0x26]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- adds r0, 0x40
- lsls r0, 1
- adds r0, r2
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x80
- lsls r0, 9
- bl __divsi3
- adds r2, r0, 0
- ldr r0, =0x0000ffff
- cmp r2, r0
- bls _080BE55C
- adds r2, r0, 0
-_080BE55C:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x80
- lsls r1, 1
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp]
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- adds r1, r6, 0x1
- movs r0, 0x1F
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x3]
- ldrh r0, [r4, 0x38]
- adds r0, 0x3F
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7E
- bhi _080BE5B4
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r2]
- movs r0, 0x1
- strh r0, [r4, 0x2E]
- b _080BE5C0
- .pool
-_080BE5B4:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_080BE5C0:
- ldrh r0, [r4, 0x38]
- adds r0, 0x3F
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7E
- bls _080BE5F0
- movs r3, 0x2E
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _080BE5F0
- ldr r5, =gUnknown_02039B4C
- ldr r0, [r5]
- lsls r6, 1
- ldr r4, =0x0000061e
- adds r0, r4
- adds r0, r6
- ldrh r0, [r0]
- bl sub_818D820
- ldr r0, [r5]
- adds r0, r4
- adds r0, r6
-_080BE5EC:
- ldr r1, =0x0000ffff
- strh r1, [r0]
-_080BE5F0:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BE4E0
-
- thumb_func_start sub_80BE604
-sub_80BE604: @ 80BE604
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000064a
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BE62C
- cmp r0, 0x3
- beq _080BE62C
- adds r0, r4, 0
- bl DestroySprite
- b _080BE648
- .pool
-_080BE62C:
- ldr r2, [r1]
- ldr r1, =0x0000060e
- adds r0, r2, r1
- ldrh r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 3
- ldr r1, =0x0000060c
- adds r2, r1
- ldrh r1, [r2]
- subs r1, 0x1
- bl __divsi3
- strh r0, [r4, 0x26]
-_080BE648:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BE604
-
- thumb_func_start sub_80BE658
-sub_80BE658: @ 80BE658
- push {r4,r5,lr}
- adds r3, r0, 0
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000064a
- adds r0, r2
- ldrb r0, [r0]
- adds r5, r1, 0
- cmp r0, 0
- beq _080BE680
- cmp r0, 0x3
- beq _080BE680
- adds r0, r3, 0
- bl DestroySprite
- b _080BE750
- .pool
-_080BE680:
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _080BE6C2
- ldr r0, [r5]
- ldr r2, =0x0000060e
- adds r1, r0, r2
- ldrh r1, [r1]
- subs r2, 0x2
- adds r0, r2
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bne _080BE6AC
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- b _080BE6B8
- .pool
-_080BE6AC:
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
-_080BE6B8:
- strb r1, [r0]
- adds r2, r0, 0
- ldrh r1, [r3, 0x32]
- lsls r0, r1, 24
- b _080BE6F8
-_080BE6C2:
- ldr r0, [r5]
- ldr r1, =0x0000060e
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _080BE6E0
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- b _080BE6EC
- .pool
-_080BE6E0:
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
-_080BE6EC:
- strb r1, [r0]
- adds r2, r0, 0
- ldrh r1, [r3, 0x32]
- adds r0, r1, 0
- subs r0, 0x80
- lsls r0, 24
-_080BE6F8:
- lsrs r0, 24
- adds r4, r1, 0
- ldr r1, =gSineTable
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _080BE70C
- adds r0, 0x3F
-_080BE70C:
- asrs r0, 6
- strh r0, [r3, 0x26]
- adds r0, r4, 0
- adds r0, 0x8
- strh r0, [r3, 0x32]
- ldr r1, [r5]
- ldr r3, =0x0000064f
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080BE748
- adds r3, 0x3
- adds r0, r1, r3
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080BE748
- ldrb r1, [r2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080BE748
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- b _080BE74E
- .pool
-_080BE748:
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
-_080BE74E:
- strb r0, [r2]
-_080BE750:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80BE658
-
- thumb_func_start sub_80BE758
-sub_80BE758: @ 80BE758
- push {lr}
- adds r1, r0, 0
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r2, =0x0000064a
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BE774
- cmp r0, 0x3
- beq _080BE774
- adds r0, r1, 0
- bl DestroySprite
-_080BE774:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BE758
-
- thumb_func_start sub_80BE780
-sub_80BE780: @ 80BE780
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000064a
- adds r0, r2
- ldrb r0, [r0]
- adds r7, r1, 0
- cmp r0, 0
- beq _080BE7AC
- cmp r0, 0x3
- beq _080BE7AC
- adds r0, r6, 0
- bl DestroySprite
- b _080BE824
- .pool
-_080BE7AC:
- ldr r0, [r7]
- ldr r5, =0x0000062c
- adds r0, r5
- ldrb r1, [r0]
- ldrh r0, [r6, 0x30]
- adds r1, r0
- lsls r1, 24
- lsrs r1, 24
- ldr r4, =gSineTable
- lsls r0, r1, 1
- adds r0, r4
- ldrh r3, [r0]
- adds r1, 0x40
- lsls r1, 1
- adds r1, r4
- ldrh r0, [r6, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r1]
- lsls r3, 16
- lsrs r2, r3, 16
- negs r3, r3
- lsrs r3, 16
- str r1, [sp]
- bl SetOamMatrix
- ldr r1, [r7]
- adds r1, r5
- ldrh r0, [r6, 0x30]
- adds r0, 0x40
- ldrb r1, [r1]
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r4
- ldrh r3, [r1]
- adds r0, 0x40
- lsls r0, 1
- adds r0, r4
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- cmp r0, 0
- bge _080BE80C
- adds r0, 0xFF
-_080BE80C:
- asrs r0, 8
- strh r0, [r6, 0x24]
- lsls r1, r3, 16
- asrs r1, 16
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- cmp r0, 0
- bge _080BE820
- adds r0, 0xFF
-_080BE820:
- asrs r0, 8
- strh r0, [r6, 0x26]
-_080BE824:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BE780
-
- thumb_func_start sub_80BE834
-sub_80BE834: @ 80BE834
- push {r4,lr}
- adds r3, r0, 0
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000064a
- adds r0, r2
- ldrb r2, [r0]
- cmp r2, 0
- beq _080BE85C
- cmp r2, 0x3
- beq _080BE85C
- adds r0, r3, 0
- bl DestroySprite
- b _080BE8D4
- .pool
-_080BE85C:
- ldr r4, [r1]
- ldr r1, =0x0000064a
- adds r0, r4, r1
- ldrb r0, [r0]
- movs r1, 0x60
- cmp r0, 0
- bne _080BE86C
- movs r1, 0x50
-_080BE86C:
- ldr r2, =0x0000064f
- adds r0, r4, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BE8C8
- adds r2, 0x3
- adds r0, r4, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, r1
- bne _080BE8C8
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- movs r1, 0xCA
- lsls r1, 3
- adds r0, r4, r1
- ldrh r0, [r0]
- lsls r0, 4
- strh r0, [r3, 0x26]
- ldr r1, =gSineTable
- ldrh r2, [r3, 0x32]
- lsls r0, r2, 24
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _080BE8B0
- adds r0, 0x3F
-_080BE8B0:
- asrs r0, 6
- strh r0, [r3, 0x24]
- adds r0, r2, 0
- adds r0, 0x8
- strh r0, [r3, 0x32]
- b _080BE8D4
- .pool
-_080BE8C8:
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BE8D4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80BE834
-
- thumb_func_start sub_80BE8DC
-sub_80BE8DC: @ 80BE8DC
- push {r4,r5,lr}
- sub sp, 0x18
- adds r5, r1, 0
- adds r3, r2, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r3, 24
- lsrs r3, 24
- add r1, sp, 0x14
- movs r4, 0
- strb r4, [r1]
- adds r2, r1, 0
- movs r1, 0xF
- strb r1, [r2, 0x1]
- movs r1, 0x3
- strb r1, [r2, 0x2]
- str r4, [sp]
- str r4, [sp, 0x4]
- str r2, [sp, 0x8]
- subs r1, 0x4
- str r1, [sp, 0xC]
- str r0, [sp, 0x10]
- movs r0, 0
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParameterized2
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80BE8DC
-
- thumb_func_start sub_80BE91C
-sub_80BE91C: @ 80BE91C
- push {r4,r5,lr}
- lsls r4, r1, 24
- lsrs r4, 24
- ldr r1, =gUnknown_02039B54
- str r0, [r1]
- ldr r0, =sub_80BEA24
- movs r1, 0
- bl CreateTask
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0
- strh r2, [r0, 0x8]
- movs r1, 0x1
- strh r1, [r0, 0xA]
- strh r2, [r0, 0xC]
- strh r2, [r0, 0xE]
- strh r4, [r0, 0x10]
- movs r1, 0xFF
- strh r1, [r0, 0x12]
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_0856E630
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r0, =gUnknown_0856E640
- bl InitWindows
- bl DeactivateAllTextPrinters
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BE91C
-
- thumb_func_start sub_80BE9C4
-sub_80BE9C4: @ 80BE9C4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080BE9F0
- ldr r1, [r1]
- ldr r0, =sub_80BEDF4
- cmp r1, r0
- bne _080BE9F0
- movs r0, 0
- b _080BE9F2
- .pool
-_080BE9F0:
- movs r0, 0x1
-_080BE9F2:
- pop {r1}
- bx r1
- thumb_func_end sub_80BE9C4
-
- thumb_func_start sub_80BE9F8
-sub_80BE9F8: @ 80BE9F8
- adds r2, r0, 0
- lsls r0, r1, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02039B54
- str r2, [r1]
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r3, 0
- movs r2, 0x1
- strh r2, [r1, 0x8]
- strh r3, [r1, 0xA]
- strh r3, [r1, 0xC]
- strh r3, [r1, 0xE]
- bx lr
- .pool
- thumb_func_end sub_80BE9F8
-
- thumb_func_start sub_80BEA24
-sub_80BEA24: @ 80BEA24
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r5, r1, 0
- cmp r0, 0xA
- bhi _080BEA7C
- lsls r0, 2
- ldr r1, =_080BEA50
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080BEA50:
- .4byte _080BEA7C
- .4byte _080BEAF0
- .4byte _080BEB50
- .4byte _080BEB90
- .4byte _080BEB98
- .4byte _080BEC08
- .4byte _080BEC60
- .4byte _080BECBC
- .4byte _080BED04
- .4byte _080BED5E
- .4byte _080BED7C
-_080BEA7C:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BEA8A
- b _080BEDA0
-_080BEA8A:
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r3, =0x0000064a
- adds r0, r3
- movs r6, 0x1
- strb r6, [r0]
- ldr r1, =gUnknown_030060B4
- ldr r0, [r5, 0xC]
- str r0, [r1]
- movs r0, 0
- bl SetVBlankCallback
- movs r2, 0
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r1
- movs r3, 0xA
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _080BEABA
- movs r2, 0x80
- lsls r2, 5
-_080BEABA:
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _080BEACA
- movs r1, 0x80
- lsls r1, 2
- adds r0, r1, 0
- orrs r2, r0
-_080BEACA:
- adds r0, r2, 0
- bl sub_80C09B0
- movs r2, 0x87
- lsls r2, 3
- adds r0, r5, r2
- strb r6, [r0]
- b _080BEDA0
- .pool
-_080BEAF0:
- ldr r1, =gPokedexMenu_Gfx
- movs r2, 0x80
- lsls r2, 6
- movs r0, 0
- str r0, [sp]
- movs r0, 0x3
- movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
- ldr r1, =gUnknown_08DC3080
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x1
- bl PutWindowTilemap
- ldr r0, =gUnknown_02039B54
- ldr r0, [r0]
- ldrh r1, [r0]
- movs r0, 0x1
- bl sub_80C0D30
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _080BED70
- .pool
-_080BEB50:
- movs r0, 0xD
- bl sub_80BFCDC
- ldr r4, =gUnknown_02039B4C
- ldr r0, [r4]
- ldr r1, =0x0000064d
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0xD
- bl sub_80BFD0C
- ldr r0, [r4]
- ldr r2, =0x0000064c
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- bl sub_80BC844
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _080BED70
- .pool
-_080BEB90:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r5, r0
- b _080BED70
-_080BEB98:
- ldr r4, =gUnknown_02039B54
- ldr r3, [r4]
- ldrh r0, [r3]
- ldr r1, =gUnknown_02039B4C
- ldr r1, [r1]
- ldr r2, =0x00000612
- adds r1, r2
- ldrh r2, [r1]
- negs r1, r2
- orrs r1, r2
- lsrs r1, 31
- ldr r2, [r3]
- lsls r2, 14
- lsrs r2, 31
- movs r3, 0
- bl sub_80C020C
- ldr r0, [r4]
- ldrb r1, [r0, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080BEBD0
- ldr r0, =gPlttBufferUnfaded + 2
- movs r1, 0x31
- movs r2, 0x1E
- bl LoadPalette
-_080BEBD0:
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _080BED70
- .pool
-_080BEC08:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r4, r1, r0
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080BEC44
- ldr r0, =gUnknown_02039B54
- ldr r0, [r0]
- ldrh r0, [r0]
- movs r1, 0x30
- movs r2, 0x38
- movs r3, 0
- bl sub_80C0E9C
- strh r0, [r4, 0x10]
- ldr r2, =gSprites
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
-_080BEC44:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _080BED70
- .pool
-_080BEC60:
- movs r3, 0
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r2, 0xC
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080BEC76
- movs r3, 0x14
-_080BEC76:
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080BEC98
- ldr r2, =gSprites
- movs r0, 0x10
- ldrsh r1, [r1, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- orrs r3, r0
-_080BEC98:
- mvns r0, r3
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_030060B4
- ldr r0, [r0]
- bl SetVBlankCallback
- b _080BED68
- .pool
-_080BECBC:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl HideBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _080BED70
- .pool
-_080BED04:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BEDA0
- movs r0, 0x87
- lsls r0, 3
- adds r2, r5, r0
- ldrb r0, [r2]
- adds r3, r0, 0x1
- strb r3, [r2]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080BED58
- bl StopCryAndClearCrySongs
- ldr r0, =gUnknown_02039B54
- ldr r0, [r0]
- ldrh r0, [r0]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- movs r2, 0x7D
- movs r3, 0xA
- bl PlayCry2
- b _080BEDA0
- .pool
-_080BED58:
- adds r0, r3, 0x1
- strb r0, [r2]
- b _080BEDA0
-_080BED5E:
- bl IsCryPlayingOrClearCrySongs
- lsls r0, 24
- cmp r0, 0
- bne _080BEDA0
-_080BED68:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
-_080BED70:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080BEDA0
- .pool
-_080BED7C:
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0
- strh r1, [r0, 0x8]
- strh r1, [r0, 0xA]
- movs r1, 0x1
- strh r1, [r0, 0xC]
- strh r1, [r0, 0xE]
- ldr r1, =sub_80BEDF4
- str r1, [r0]
- movs r3, 0x87
- lsls r3, 3
- adds r0, r5, r3
- strb r2, [r0]
-_080BEDA0:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BEA24
-
- thumb_func_start sub_80BEDB0
-sub_80BEDB0: @ 80BEDB0
- push {lr}
- bl FreeAllWindowBuffers
- movs r0, 0
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080BEDC4
- bl Free
-_080BEDC4:
- movs r0, 0x1
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080BEDD2
- bl Free
-_080BEDD2:
- movs r0, 0x2
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080BEDE0
- bl Free
-_080BEDE0:
- movs r0, 0x3
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080BEDEE
- bl Free
-_080BEDEE:
- pop {r0}
- bx r0
- thumb_func_end sub_80BEDB0
-
- thumb_func_start sub_80BEDF4
-sub_80BEDF4: @ 80BEDF4
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- movs r0, 0x8
- ldrsh r5, [r4, r0]
- cmp r5, 0
- beq _080BEE34
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =sub_80BF038
- str r0, [r4]
- movs r0, 0x6C
- bl PlaySE
- b _080BEFBA
- .pool
-_080BEE34:
- ldr r1, =gMain
- ldrh r2, [r1, 0x2E]
- movs r0, 0x2
- ands r0, r2
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _080BEE50
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- b _080BEF0E
- .pool
-_080BEE50:
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _080BEF28
- ldr r5, =gUnknown_02039B4C
- ldr r0, [r5]
- ldr r1, =0x0000064d
- adds r0, r1
- ldrb r1, [r0]
- cmp r1, 0x1
- beq _080BEEA0
- cmp r1, 0x1
- bgt _080BEE78
- cmp r1, 0
- beq _080BEE82
- b _080BEFBA
- .pool
-_080BEE78:
- cmp r1, 0x2
- beq _080BEEC0
- cmp r1, 0x3
- beq _080BEF08
- b _080BEFBA
-_080BEE82:
- movs r0, 0x15
- negs r0, r0
- str r3, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, [r5]
- ldr r3, =0x0000064e
- adds r0, r3
- movs r1, 0x1
- b _080BEEF0
- .pool
-_080BEEA0:
- movs r0, 0x15
- negs r0, r0
- str r3, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, [r5]
- ldr r1, =0x0000064e
- adds r0, r1
- movs r1, 0x2
- b _080BEEF0
- .pool
-_080BEEC0:
- ldr r0, =gUnknown_02039B54
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- ands r1, r0
- cmp r1, 0
- bne _080BEED8
- movs r0, 0x20
- bl PlaySE
- b _080BEFBA
- .pool
-_080BEED8:
- movs r0, 0x15
- negs r0, r0
- str r3, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, [r5]
- ldr r3, =0x0000064e
- adds r0, r3
- movs r1, 0x3
-_080BEEF0:
- strb r1, [r0]
- ldr r0, =sub_80BEFD0
- str r0, [r4]
- movs r0, 0x15
- bl PlaySE
- b _080BEFBA
- .pool
-_080BEF08:
- movs r0, 0x1
- negs r0, r0
- str r3, [sp]
-_080BEF0E:
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =sub_80BF070
- str r0, [r4]
- movs r0, 0x3
- bl PlaySE
- b _080BEFBA
- .pool
-_080BEF28:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- bne _080BEF44
- movs r0, 0x80
- lsls r0, 2
- ands r0, r2
- cmp r0, 0
- beq _080BEF78
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _080BEF78
-_080BEF44:
- ldr r3, =gUnknown_02039B4C
- ldr r0, [r3]
- ldr r4, =0x0000064d
- adds r2, r0, r4
- ldrb r0, [r2]
- cmp r0, 0
- beq _080BEF78
- subs r0, 0x1
- strb r0, [r2]
- ldr r0, [r3]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0xD
- bl sub_80BFD0C
- movs r0, 0x6D
- bl PlaySE
- b _080BEFBA
- .pool
-_080BEF78:
- ldrh r1, [r1, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080BEF96
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080BEFBA
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _080BEFBA
-_080BEF96:
- ldr r2, =gUnknown_02039B4C
- ldr r0, [r2]
- ldr r3, =0x0000064d
- adds r1, r0, r3
- ldrb r0, [r1]
- cmp r0, 0x2
- bhi _080BEFBA
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- adds r0, r3
- ldrb r0, [r0]
- movs r1, 0xD
- bl sub_80BFD0C
- movs r0, 0x6D
- bl PlaySE
-_080BEFBA:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BEDF4
-
- thumb_func_start sub_80BEFD0
-sub_80BEFD0: @ 80BEFD0
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BF02C
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x10]
- bl sub_818D820
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064e
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080BF020
- cmp r0, 0x2
- ble _080BF008
- cmp r0, 0x3
- beq _080BF028
-_080BF008:
- ldr r0, =sub_80BF0AC
- b _080BF02A
- .pool
-_080BF020:
- ldr r0, =sub_80BF250
- b _080BF02A
- .pool
-_080BF028:
- ldr r0, =sub_80BF82C
-_080BF02A:
- str r0, [r4]
-_080BF02C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BEFD0
-
- thumb_func_start sub_80BF038
-sub_80BF038: @ 80BF038
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BF05E
- ldr r0, =gTasks
- lsls r4, r2, 2
- adds r4, r2
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r4, 0x10]
- bl sub_818D820
- ldr r0, =sub_80BEA24
- str r0, [r4]
-_080BF05E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BF038
-
- thumb_func_start sub_80BF070
-sub_80BF070: @ 80BF070
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BF09C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x10]
- bl sub_818D820
- bl sub_80BEDB0
- adds r0, r4, 0
- bl DestroyTask
-_080BF09C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BF070
-
- thumb_func_start sub_80BF0AC
-sub_80BF0AC: @ 80BF0AC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r7, r2, r0
- ldrb r0, [r7]
- cmp r0, 0x1
- beq _080BF120
- cmp r0, 0x1
- ble _080BF0C8
- cmp r0, 0x2
- beq _080BF15C
-_080BF0C8:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _080BF196
- ldr r4, =gUnknown_02039B4C
- ldr r0, [r4]
- ldr r1, =0x0000064a
- adds r0, r1
- movs r1, 0x5
- strb r1, [r0]
- ldr r1, =gUnknown_030060B4
- ldr r0, [r2, 0xC]
- str r0, [r1]
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x80
- lsls r0, 2
- bl sub_80C09B0
- ldr r0, [r4]
- ldr r1, =0x0000064d
- adds r0, r1
- strb r5, [r0]
- movs r0, 0x1
- strb r0, [r7]
- b _080BF196
- .pool
-_080BF120:
- movs r0, 0xD
- bl sub_80BFCF4
- movs r0, 0
- movs r1, 0xD
- bl sub_80BFD7C
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064c
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- bl sub_80BC844
- movs r1, 0xD0
- lsls r1, 4
- movs r0, 0xA
- bl SetGpuReg
- ldrb r0, [r7]
- adds r0, 0x1
- strb r0, [r7]
- b _080BF196
- .pool
-_080BF15C:
- ldr r0, =gUnknown_02039B54
- ldr r0, [r0]
- ldrh r0, [r0]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r0, 16
- ldr r5, =gUnknown_02039B4C
- ldr r1, [r5]
- ldr r4, =0x0000064e
- adds r1, r4
- bl sub_813D3D8
- ldr r0, =gUnknown_030060B4
- ldr r0, [r0]
- bl SetVBlankCallback
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0
- strb r1, [r0]
- strb r1, [r7]
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BF1B4
- str r1, [r0]
-_080BF196:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BF0AC
-
- thumb_func_start sub_80BF1B4
-sub_80BF1B4: @ 80BF1B4
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064e
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BF1D6
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80BF1EC
- str r0, [r1]
-_080BF1D6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BF1B4
-
- thumb_func_start sub_80BF1EC
-sub_80BF1EC: @ 80BF1EC
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BF242
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064e
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080BF210
- cmp r0, 0x2
- beq _080BF234
-_080BF210:
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80BEA24
- b _080BF240
- .pool
-_080BF234:
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80BF250
-_080BF240:
- str r0, [r1]
-_080BF242:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BF1EC
-
- thumb_func_start sub_80BF250
-sub_80BF250: @ 80BF250
- push {r4,r5,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0xA
- bhi _080BF2A8
- lsls r0, 2
- ldr r1, =_080BF27C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080BF27C:
- .4byte _080BF2A8
- .4byte _080BF310
- .4byte _080BF360
- .4byte _080BF38C
- .4byte _080BF3A0
- .4byte _080BF3D0
- .4byte _080BF41C
- .4byte _080BF498
- .4byte _080BF514
- .4byte _080BF540
- .4byte _080BF590
-_080BF2A8:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BF2B6
- b _080BF5B2
-_080BF2B6:
- ldr r0, =gMPlayInfo_BGM
- bl m4aMPlayStop
- ldr r5, =gUnknown_02039B4C
- ldr r0, [r5]
- ldr r3, =0x0000064a
- adds r0, r3
- movs r1, 0x6
- strb r1, [r0]
- ldr r1, =gUnknown_030060B4
- ldr r4, =gMain
- ldr r0, [r4, 0xC]
- str r0, [r1]
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x80
- lsls r0, 2
- bl sub_80C09B0
- ldr r0, [r5]
- ldr r1, =0x0000064d
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- movs r2, 0x87
- lsls r2, 3
- adds r4, r2
- strb r1, [r4]
- b _080BF5B2
- .pool
-_080BF310:
- ldr r1, =gPokedexMenu_Gfx
- movs r2, 0x80
- lsls r2, 6
- movs r0, 0
- str r0, [sp]
- movs r0, 0x3
- movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
- ldr r1, =gUnknown_08DC3198
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x3
- bl PutWindowTilemap
- movs r0, 0x2
- bl PutWindowTilemap
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _080BF582
- .pool
-_080BF360:
- movs r0, 0xD
- bl sub_80BFCF4
- movs r0, 0x1
- movs r1, 0xD
- bl sub_80BFD7C
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r4, =0x0000064c
- adds r0, r4
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- bl sub_80BC844
- b _080BF57A
- .pool
-_080BF38C:
- bl ResetPaletteFade
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _080BF582
- .pool
-_080BF3A0:
- ldr r0, =gText_CryOf
- movs r1, 0x52
- movs r2, 0x21
- bl sub_80BE8DC
- ldr r0, =gUnknown_02039B54
- ldr r0, [r0]
- ldrh r1, [r0]
- movs r0, 0
- movs r2, 0x52
- movs r3, 0x31
- bl sub_80C0B44
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _080BF582
- .pool
-_080BF3D0:
- ldr r0, =gUnknown_02039B54
- ldr r0, [r0]
- ldrh r0, [r0]
- movs r1, 0x30
- movs r2, 0x38
- movs r3, 0
- bl sub_80C0E9C
- ldr r2, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- movs r3, 0
- strh r0, [r1, 0x10]
- ldr r2, =gSprites
- movs r4, 0x10
- ldrsh r0, [r1, r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
- ldr r0, =gUnknown_030061EC
- strb r3, [r0]
- b _080BF57A
- .pool
-_080BF41C:
- ldr r1, =0xffff0000
- ldr r0, [sp, 0x4]
- ands r0, r1
- ldr r1, =0x00004020
- orrs r0, r1
- ldr r1, =0xff00ffff
- ands r0, r1
- movs r1, 0xF8
- lsls r1, 13
- orrs r0, r1
- ldr r1, =0x00ffffff
- ands r0, r1
- movs r1, 0x80
- lsls r1, 20
- orrs r0, r1
- str r0, [sp, 0x4]
- ldr r1, =0xffff00ff
- ldr r0, [sp, 0x8]
- ands r0, r1
- movs r1, 0xF0
- lsls r1, 5
- orrs r0, r1
- ldr r1, =0xffffff00
- ands r0, r1
- movs r1, 0xC
- orrs r0, r1
- str r0, [sp, 0x8]
- add r0, sp, 0x4
- movs r1, 0x2
- bl sub_8145354
- lsls r0, 24
- cmp r0, 0
- bne _080BF462
- b _080BF5B2
-_080BF462:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- ldr r0, =gUnknown_030061EC
- strb r2, [r0]
- b _080BF5B2
- .pool
-_080BF498:
- ldr r1, =0x00ffffff
- ldr r0, [sp, 0xC]
- ands r0, r1
- movs r1, 0x90
- lsls r1, 20
- orrs r0, r1
- str r0, [sp, 0xC]
- ldr r2, =0xffffff00
- add r0, sp, 0xC
- ldr r1, [r0, 0x4]
- ands r1, r2
- movs r2, 0x12
- orrs r1, r2
- ldr r2, =0xffff00ff
- ands r1, r2
- movs r2, 0xC0
- lsls r2, 2
- orrs r1, r2
- str r1, [r0, 0x4]
- movs r1, 0x3
- bl sub_8145850
- lsls r0, 24
- cmp r0, 0
- beq _080BF4D8
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080BF4D8:
- movs r0, 0x3
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _080BF5B2
- .pool
-_080BF514:
- movs r0, 0x15
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_030060B4
- ldr r0, [r0]
- bl SetVBlankCallback
- ldr r1, =gMain
- movs r4, 0x87
- lsls r4, 3
- adds r1, r4
- b _080BF582
- .pool
-_080BF540:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
-_080BF57A:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
-_080BF582:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080BF5B2
- .pool
-_080BF590:
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064e
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- movs r3, 0x87
- lsls r3, 3
- adds r0, r2, r3
- strb r1, [r0]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BF5CC
- str r1, [r0]
-_080BF5B2:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BF250
-
- thumb_func_start sub_80BF5CC
-sub_80BF5CC: @ 80BF5CC
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x2
- bl sub_814545C
- bl IsCryPlaying
- lsls r0, 24
- cmp r0, 0
- beq _080BF5EC
- movs r0, 0x1
- bl sub_80BF7FC
- b _080BF5F2
-_080BF5EC:
- movs r0, 0
- bl sub_80BF7FC
-_080BF5F2:
- ldr r1, =gMain
- ldrh r2, [r1, 0x2E]
- movs r0, 0x1
- ands r0, r2
- adds r5, r1, 0
- cmp r0, 0
- beq _080BF624
- movs r0, 0x1
- bl sub_80BF7FC
- ldr r0, =gUnknown_02039B54
- ldr r0, [r0]
- ldrh r0, [r0]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r0, 16
- bl sub_8145534
- b _080BF772
- .pool
-_080BF624:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080BF636
- b _080BF772
-_080BF636:
- movs r0, 0x2
- ands r0, r2
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _080BF694
- movs r0, 0x15
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gMPlayInfo_BGM
- bl m4aMPlayContinue
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064e
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BF790
- str r1, [r0]
- movs r0, 0x3
- bl PlaySE
- b _080BF772
- .pool
-_080BF694:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- bne _080BF6B0
- movs r0, 0x80
- lsls r0, 2
- ands r0, r2
- cmp r0, 0
- beq _080BF700
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _080BF700
-_080BF6B0:
- movs r0, 0x15
- negs r0, r0
- str r3, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gMPlayInfo_BGM
- bl m4aMPlayContinue
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064e
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BF790
- str r1, [r0]
- movs r0, 0x6D
- bl PlaySE
- b _080BF772
- .pool
-_080BF700:
- ldrh r1, [r5, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080BF71E
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080BF772
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _080BF772
-_080BF71E:
- ldr r0, =gUnknown_02039B54
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080BF73C
- movs r0, 0x20
- bl PlaySE
- b _080BF772
- .pool
-_080BF73C:
- movs r0, 0x15
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gMPlayInfo_BGM
- bl m4aMPlayContinue
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064e
- adds r0, r1
- movs r1, 0x3
- strb r1, [r0]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BF790
- str r1, [r0]
- movs r0, 0x6D
- bl PlaySE
-_080BF772:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BF5CC
-
- thumb_func_start sub_80BF790
-sub_80BF790: @ 80BF790
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BF7F0
- bl sub_8145914
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x10]
- bl sub_818D820
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064e
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080BF7E4
- cmp r0, 0x2
- ble _080BF7CC
- cmp r0, 0x3
- beq _080BF7EC
-_080BF7CC:
- ldr r0, =sub_80BEA24
- b _080BF7EE
- .pool
-_080BF7E4:
- ldr r0, =sub_80BF0AC
- b _080BF7EE
- .pool
-_080BF7EC:
- ldr r0, =sub_80BF82C
-_080BF7EE:
- str r0, [r4]
-_080BF7F0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BF790
-
- thumb_func_start sub_80BF7FC
-sub_80BF7FC: @ 80BF7FC
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- cmp r0, 0
- beq _080BF810
- ldr r1, =0x00000392
- b _080BF812
- .pool
-_080BF810:
- ldr r1, =0x000002af
-_080BF812:
- mov r0, sp
- strh r1, [r0]
- mov r0, sp
- movs r1, 0x5D
- movs r2, 0x2
- bl LoadPalette
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BF7FC
-
- thumb_func_start sub_80BF82C
-sub_80BF82C: @ 80BF82C
- push {r4-r7,lr}
- sub sp, 0x44
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r5, r1, 0
- cmp r0, 0x9
- bhi _080BF880
- lsls r0, 2
- ldr r1, =_080BF858
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080BF858:
- .4byte _080BF880
- .4byte _080BF8D8
- .4byte _080BF910
- .4byte _080BF93C
- .4byte _080BF97C
- .4byte _080BF982
- .4byte _080BFA34
- .4byte _080BFAE8
- .4byte _080BFB14
- .4byte _080BFB64
-_080BF880:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BF88E
- b _080BFB94
-_080BF88E:
- ldr r4, =gUnknown_02039B4C
- ldr r0, [r4]
- ldr r1, =0x0000064a
- adds r0, r1
- movs r1, 0x7
- strb r1, [r0]
- ldr r1, =gUnknown_030060B4
- ldr r0, [r5, 0xC]
- str r0, [r1]
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x80
- lsls r0, 2
- bl sub_80C09B0
- ldr r0, [r4]
- ldr r2, =0x0000064d
- adds r0, r2
- movs r1, 0x2
- strb r1, [r0]
- movs r0, 0x87
- lsls r0, 3
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
- b _080BFB94
- .pool
-_080BF8D8:
- ldr r1, =gPokedexMenu_Gfx
- movs r2, 0x80
- lsls r2, 6
- movs r0, 0
- str r0, [sp]
- movs r0, 0x3
- movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
- ldr r1, =gUnknown_08DC2E6C
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0
- bl PutWindowTilemap
- b _080BFB4E
- .pool
-_080BF910:
- movs r0, 0xD
- bl sub_80BFCF4
- movs r0, 0x2
- movs r1, 0xD
- bl sub_80BFD7C
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064c
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- bl sub_80BC844
- b _080BFB4E
- .pool
-_080BF93C:
- ldr r1, =gText_SizeComparedTo
- add r0, sp, 0x4
- bl StringCopy
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- add r0, sp, 0x4
- bl StringAppend
- movs r0, 0x1
- add r1, sp, 0x4
- movs r2, 0xF0
- bl GetStringCenterAlignXOffset
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- add r0, sp, 0x4
- movs r2, 0x79
- bl sub_80BE8DC
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _080BFB56
- .pool
-_080BF97C:
- bl ResetPaletteFade
- b _080BFB4E
-_080BF982:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- bl PlayerGenderToFrontTrainerPicId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x98
- movs r2, 0x38
- movs r3, 0
- bl sub_80C0EF8
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gSprites
- lsls r4, r6, 4
- adds r4, r6
- lsls r4, 2
- adds r4, r0
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4, 0x3]
- ldrb r1, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x5]
- ldr r2, =gPokedexEntries
- ldr r0, =gUnknown_02039B54
- ldr r1, [r0]
- ldrh r0, [r1]
- lsls r0, 5
- adds r0, r2
- ldrh r0, [r0, 0x1C]
- strh r0, [r4, 0x26]
- ldrh r0, [r1]
- lsls r0, 5
- adds r0, r2
- ldrh r1, [r0, 0x1A]
- str r1, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- ldr r0, =gUnknown_0856E610
- ldrb r1, [r4, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- lsls r1, 4
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- strh r6, [r0, 0x12]
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _080BFB56
- .pool
-_080BFA34:
- ldr r5, =gUnknown_02039B54
- ldr r0, [r5]
- ldrh r0, [r0]
- movs r1, 0x58
- movs r2, 0x38
- movs r3, 0x1
- bl sub_80C0E9C
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gSprites
- lsls r4, r6, 4
- adds r4, r6
- lsls r4, 2
- adds r4, r0
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4, 0x3]
- ldrb r1, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x5]
- ldr r2, =gPokedexEntries
- ldr r1, [r5]
- ldrh r0, [r1]
- lsls r0, 5
- adds r0, r2
- ldrh r0, [r0, 0x18]
- strh r0, [r4, 0x26]
- ldrh r0, [r1]
- lsls r0, 5
- adds r0, r2
- ldrh r1, [r0, 0x16]
- str r1, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- ldr r0, =gUnknown_0856E610
- ldrb r1, [r4, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- lsls r1, 4
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- strh r6, [r0, 0x10]
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _080BFB4E
- .pool
-_080BFAE8:
- movs r0, 0x15
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_030060B4
- ldr r0, [r0]
- bl SetVBlankCallback
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _080BFB56
- .pool
-_080BFB14:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl HideBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
-_080BFB4E:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
-_080BFB56:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080BFB94
- .pool
-_080BFB64:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _080BFB94
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064e
- adds r0, r1
- strb r2, [r0]
- movs r1, 0x87
- lsls r1, 3
- adds r0, r5, r1
- strb r2, [r0]
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BFBB0
- str r1, [r0]
-_080BFB94:
- add sp, 0x44
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BF82C
-
- thumb_func_start sub_80BFBB0
-sub_80BFBB0: @ 80BFBB0
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _080BFC10
- movs r0, 0x15
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064e
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BFC78
- str r1, [r0]
- movs r0, 0x3
- bl PlaySE
- b _080BFC5C
- .pool
-_080BFC10:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _080BFC2C
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080BFC5C
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _080BFC5C
-_080BFC2C:
- movs r0, 0x15
- negs r0, r0
- str r2, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064e
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BFC78
- str r1, [r0]
- movs r0, 0x6D
- bl PlaySE
-_080BFC5C:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BFBB0
-
- thumb_func_start sub_80BFC78
-sub_80BFC78: @ 80BFC78
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BFCD0
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x10]
- bl sub_818D820
- ldrh r0, [r4, 0x12]
- bl sub_818D8F0
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064e
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080BFCB2
- cmp r0, 0x2
- beq _080BFCCC
-_080BFCB2:
- ldr r0, =sub_80BEA24
- b _080BFCCE
- .pool
-_080BFCCC:
- ldr r0, =sub_80BF250
-_080BFCCE:
- str r0, [r4]
-_080BFCD0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BFC78
-
- thumb_func_start sub_80BFCDC
-sub_80BFCDC: @ 80BFCDC
- push {lr}
- ldr r1, =gUnknown_08DC2F5C
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BFCDC
-
- thumb_func_start sub_80BFCF4
-sub_80BFCF4: @ 80BFCF4
- push {lr}
- ldr r1, =gUnknown_08DC2FEC
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BFCF4
-
- thumb_func_start sub_80BFD0C
-sub_80BFD0C: @ 80BFD0C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0x1
- bl GetBgTilemapBuffer
- adds r7, r0, 0
- movs r1, 0
-_080BFD22:
- lsls r0, r1, 3
- subs r0, r1
- adds r0, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- movs r3, 0x80
- lsls r3, 7
- cmp r1, r8
- bne _080BFD38
- movs r3, 0x80
- lsls r3, 6
-_080BFD38:
- movs r2, 0
- adds r6, r1, 0x1
- ldr r4, =0x00000fff
-_080BFD3E:
- adds r1, r5, r2
- lsls r1, 1
- adds r1, r7
- ldrh r0, [r1]
- ands r0, r4
- orrs r0, r3
- strh r0, [r1]
- adds r1, 0x40
- ldrh r0, [r1]
- ands r0, r4
- orrs r0, r3
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x6
- bls _080BFD3E
- lsls r0, r6, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _080BFD22
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BFD0C
-
- thumb_func_start sub_80BFD7C
-sub_80BFD7C: @ 80BFD7C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0x1
- bl GetBgTilemapBuffer
- adds r7, r0, 0
- movs r1, 0
-_080BFD92:
- lsls r0, r1, 3
- subs r0, r1
- adds r0, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r1, r8
- beq _080BFDA4
- cmp r1, 0x3
- bne _080BFDAA
-_080BFDA4:
- movs r3, 0x80
- lsls r3, 6
- b _080BFDAE
-_080BFDAA:
- movs r3, 0x80
- lsls r3, 7
-_080BFDAE:
- movs r2, 0
- adds r5, r1, 0x1
- ldr r4, =0x00000fff
-_080BFDB4:
- adds r1, r6, r2
- lsls r1, 1
- adds r1, r7
- ldrh r0, [r1]
- ands r0, r4
- orrs r0, r3
- strh r0, [r1]
- adds r1, 0x40
- ldrh r0, [r1]
- ands r0, r4
- orrs r0, r3
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x6
- bls _080BFDB4
- lsls r0, r5, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _080BFD92
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BFD7C
-
- thumb_func_start CreateDexDisplayMonDataTask
-CreateDexDisplayMonDataTask: @ 80BFDF4
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =sub_80BFE38
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- strh r2, [r1, 0x8]
- strh r4, [r1, 0xA]
- strh r5, [r1, 0x20]
- lsrs r5, 16
- strh r5, [r1, 0x22]
- strh r6, [r1, 0x24]
- lsrs r6, 16
- strh r6, [r1, 0x26]
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CreateDexDisplayMonDataTask
-
- thumb_func_start sub_80BFE38
-sub_80BFE38: @ 80BFE38
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldrh r4, [r0, 0xA]
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0x6
- bhi _080BFE84
- lsls r0, 2
- ldr r1, =_080BFE68
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080BFE68:
- .4byte _080BFE84
- .4byte _080BFF0C
- .4byte _080BFF78
- .4byte _080BFF82
- .4byte _080BFFA8
- .4byte _080C0000
- .4byte _080C0044
-_080BFE84:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BFE92
- b _080C0074
-_080BFE92:
- ldr r1, =gUnknown_030060B4
- ldr r0, =gMain
- ldr r0, [r0, 0xC]
- str r0, [r1]
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x80
- lsls r0, 1
- bl sub_80C09B0
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_0856E668
- movs r0, 0
- movs r2, 0x2
- bl InitBgsFromTemplates
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- ldr r0, =gUnknown_0856E670
- bl InitWindows
- bl DeactivateAllTextPrinters
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0x8]
- b _080C0074
- .pool
-_080BFF0C:
- ldr r1, =gPokedexMenu_Gfx
- movs r2, 0x80
- lsls r2, 6
- movs r0, 0
- str r0, [sp]
- movs r0, 0x3
- movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
- ldr r1, =gUnknown_08DC3080
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x1
- bl PutWindowTilemap
- ldr r0, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldrh r1, [r4, 0xA]
- movs r0, 0x1
- bl sub_80C0D30
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- bl ResetPaletteFade
- movs r0, 0
- bl sub_80BC844
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080C0074
- .pool
-_080BFF78:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r2
- b _080C0038
-_080BFF82:
- bl IsNationalPokedexEnabled
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_80C020C
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _080C002E
-_080BFFA8:
- adds r0, r4, 0
- movs r1, 0x30
- movs r2, 0x38
- movs r3, 0
- bl sub_80C0E9C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_030060B4
- ldr r0, [r0]
- bl SetVBlankCallback
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r4, [r0, 0xE]
- b _080C0038
- .pool
-_080C0000:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
-_080C002E:
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
-_080C0038:
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _080C0074
- .pool
-_080C0044:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _080C0074
- adds r0, r4, 0
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl PlayCry1
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r6, [r0, 0xC]
- ldr r1, =sub_80C0088
- str r1, [r0]
-_080C0074:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BFE38
-
- thumb_func_start sub_80C0088
-sub_80C0088: @ 80C0088
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _080C00E8
- ldr r0, =0x0000ffff
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r3, =gSprites
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0xE
- ldrsh r2, [r1, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r3, 0x1C
- adds r0, r3
- ldr r2, =sub_80C01CC
- str r2, [r0]
- ldr r0, =blockset_load_palette_to_gpu
- str r0, [r1]
- b _080C011E
- .pool
-_080C00E8:
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0xC]
- adds r1, 0x1
- strh r1, [r0, 0xC]
- movs r0, 0x10
- ands r1, r0
- cmp r1, 0
- beq _080C0114
- ldr r0, =gPokedexText_Pal + 2
- movs r1, 0x31
- movs r2, 0xE
- bl LoadPalette
- b _080C011E
- .pool
-_080C0114:
- ldr r0, =gPokedexCaughtScreenFade_Pal + 0x2
- movs r1, 0x31
- movs r2, 0xE
- bl LoadPalette
-_080C011E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C0088
-
- thumb_func_start blockset_load_palette_to_gpu
-blockset_load_palette_to_gpu: @ 80C012C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080C01BA
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- bl FreeAllWindowBuffers
- movs r0, 0x2
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080C015A
- bl Free
-_080C015A:
- movs r0, 0x3
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080C0168
- bl Free
-_080C0168:
- ldr r0, =gTasks
- lsls r4, r6, 2
- adds r4, r6
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r4, 0xA]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r4, 0x22]
- lsls r1, 16
- ldrh r2, [r4, 0x20]
- orrs r1, r2
- ldrh r2, [r4, 0x26]
- lsls r2, 16
- ldrh r3, [r4, 0x24]
- orrs r2, r3
- ldr r5, =gSprites
- movs r3, 0xE
- ldrsh r4, [r4, r3]
- lsls r3, r4, 4
- adds r3, r4
- lsls r3, 2
- adds r3, r5
- ldrb r4, [r3, 0x5]
- lsrs r4, 4
- bl GetFrontSpritePalFromSpeciesAndPersonality
- lsls r4, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- orrs r4, r1
- adds r1, r4, 0
- movs r2, 0x20
- bl LoadCompressedPalette
- adds r0, r6, 0
- bl DestroyTask
-_080C01BA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end blockset_load_palette_to_gpu
-
- thumb_func_start sub_80C01CC
-sub_80C01CC: @ 80C01CC
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1, 0x20]
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- cmp r0, 0x77
- bgt _080C01DE
- adds r0, r2, 0x2
- strh r0, [r1, 0x20]
-_080C01DE:
- ldrh r2, [r1, 0x20]
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- cmp r0, 0x78
- ble _080C01EC
- subs r0, r2, 0x2
- strh r0, [r1, 0x20]
-_080C01EC:
- ldrh r2, [r1, 0x22]
- movs r3, 0x22
- ldrsh r0, [r1, r3]
- cmp r0, 0x4F
- bgt _080C01FA
- adds r0, r2, 0x1
- strh r0, [r1, 0x22]
-_080C01FA:
- ldrh r2, [r1, 0x22]
- movs r3, 0x22
- ldrsh r0, [r1, r3]
- cmp r0, 0x50
- ble _080C0208
- subs r0, r2, 0x1
- strh r0, [r1, 0x22]
-_080C0208:
- pop {r0}
- bx r0
- thumb_func_end sub_80C01CC
-
- thumb_func_start sub_80C020C
-sub_80C020C: @ 80C020C
- push {r4-r7,lr}
- sub sp, 0x30
- adds r6, r0, 0
- adds r5, r1, 0
- adds r7, r2, 0
- cmp r3, 0
- beq _080C0234
- ldr r4, =gText_PokedexRegistration
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xF0
- bl GetStringCenterAlignXOffset
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0
- bl sub_80BE8DC
-_080C0234:
- cmp r5, 0
- bne _080C024C
- lsls r4, r6, 16
- lsrs r0, r4, 16
- bl NationalToHoennOrder
- lsls r0, 16
- lsrs r5, r0, 16
- b _080C0250
- .pool
-_080C024C:
- adds r5, r6, 0
- lsls r4, r6, 16
-_080C0250:
- ldr r1, =gText_UnkCtrlF908Clear01
- mov r0, sp
- bl StringCopy
- adds r1, r5, 0
- movs r2, 0x2
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- mov r0, sp
- movs r1, 0x60
- movs r2, 0x19
- bl sub_80BE8DC
- lsrs r0, r4, 16
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _080C028C
- movs r0, 0xB
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r0, r1, r0
- b _080C028E
- .pool
-_080C028C:
- ldr r0, =sText_TenDashes2
-_080C028E:
- movs r1, 0x84
- movs r2, 0x19
- bl sub_80BE8DC
- cmp r7, 0
- beq _080C02AC
- add r4, sp, 0x10
- adds r0, r6, 0
- adds r1, r4, 0
- bl CopyMonCategoryText
- adds r0, r4, 0
- b _080C02AE
- .pool
-_080C02AC:
- ldr r0, =gText_5MarksPokemon
-_080C02AE:
- movs r1, 0x64
- movs r2, 0x29
- bl sub_80BE8DC
- ldr r0, =gText_HTHeight
- movs r1, 0x60
- movs r2, 0x39
- bl sub_80BE8DC
- ldr r0, =gText_WTWeight
- movs r1, 0x60
- movs r2, 0x49
- bl sub_80BE8DC
- cmp r7, 0
- beq _080C02FC
- ldr r0, =gPokedexEntries
- lsls r4, r6, 5
- adds r4, r0
- ldrh r0, [r4, 0xC]
- movs r1, 0x81
- movs r2, 0x39
- bl sub_80C0354
- ldrh r0, [r4, 0xE]
- movs r1, 0x81
- movs r2, 0x49
- bl sub_80C0460
- b _080C0310
- .pool
-_080C02FC:
- ldr r0, =gText_UnkHeight
- movs r1, 0x81
- movs r2, 0x39
- bl sub_80BE8DC
- ldr r0, =gText_UnkWeight
- movs r1, 0x81
- movs r2, 0x49
- bl sub_80BE8DC
-_080C0310:
- cmp r7, 0
- beq _080C032C
- ldr r0, =gPokedexEntries
- lsls r1, r6, 5
- adds r0, 0x10
- adds r1, r0
- ldr r4, [r1]
- b _080C032E
- .pool
-_080C032C:
- ldr r4, =gUnknown_0855D30C
-_080C032E:
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xF0
- bl GetStringCenterAlignXOffset
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0x5F
- bl sub_80BE8DC
- add sp, 0x30
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C020C
-
- thumb_func_start sub_80C0354
-sub_80C0354: @ 80C0354
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- ldr r1, =0x00002710
- muls r0, r1
- movs r1, 0xFE
- bl __divsi3
- adds r7, r0, 0
- movs r1, 0xA
- bl __umodsi3
- cmp r0, 0x4
- bls _080C0386
- adds r7, 0xA
-_080C0386:
- adds r0, r7, 0
- movs r1, 0x78
- bl __udivsi3
- adds r6, r0, 0
- lsls r0, r6, 4
- subs r0, r6
- lsls r0, 3
- subs r0, r7, r0
- movs r1, 0xA
- bl __udivsi3
- adds r7, r0, 0
- mov r1, sp
- movs r0, 0xFC
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x13
- strb r0, [r1]
- adds r0, r6, 0
- movs r1, 0xA
- bl __udivsi3
- adds r2, r0, 0
- cmp r2, 0
- bne _080C03D4
- mov r1, sp
- adds r1, 0x2
- movs r0, 0x12
- strb r0, [r1]
- movs r5, 0x4
- adds r1, 0x1
- adds r0, r6, 0
- adds r0, 0xA1
- strb r0, [r1]
- b _080C03F4
- .pool
-_080C03D4:
- mov r1, sp
- adds r1, 0x2
- movs r0, 0xC
- strb r0, [r1]
- adds r1, 0x1
- adds r0, r2, 0
- adds r0, 0xA1
- strb r0, [r1]
- movs r5, 0x5
- add r4, sp, 0x4
- adds r0, r6, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r4]
-_080C03F4:
- adds r1, r5, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r2, r5, 0
- add r1, sp
- movs r0, 0xB4
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- mov r0, sp
- adds r4, r0, r2
- adds r0, r7, 0
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- mov r1, sp
- adds r4, r1, r6
- adds r0, r7, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- adds r2, r1, r5
- movs r1, 0xB2
- strb r1, [r2]
- mov r2, sp
- adds r1, r2, r0
- movs r0, 0xFF
- strb r0, [r1]
- mov r0, sp
- mov r1, r9
- mov r2, r8
- bl sub_80BE8DC
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80C0354
-
- thumb_func_start sub_80C0460
-sub_80C0460: @ 80C0460
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x10]
- ldr r5, =0x000186a0
- muls r0, r5
- ldr r1, =0x000011b8
- bl __divsi3
- adds r7, r0, 0
- movs r1, 0xA
- bl __umodsi3
- cmp r0, 0x4
- bls _080C0494
- adds r7, 0xA
-_080C0494:
- movs r0, 0
- mov r8, r0
- mov r4, sp
- adds r0, r7, 0
- adds r1, r5, 0
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA1
- bne _080C04C0
- movs r6, 0x1
- mov r1, sp
- movs r0, 0x77
- strb r0, [r1]
- b _080C04C6
- .pool
-_080C04C0:
- movs r1, 0x1
- mov r8, r1
- movs r6, 0x1
-_080C04C6:
- ldr r1, =0x000186a0
- adds r0, r7, 0
- bl __umodsi3
- adds r7, r0, 0
- mov r4, sp
- adds r4, 0x1
- ldr r1, =0x00002710
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA1
- bne _080C0504
- mov r2, r8
- cmp r2, 0
- bne _080C0504
- adds r1, r6, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- add r1, sp
- movs r0, 0x77
- strb r0, [r1]
- b _080C050E
- .pool
-_080C0504:
- movs r3, 0x1
- mov r8, r3
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_080C050E:
- ldr r1, =0x00002710
- adds r0, r7, 0
- bl __umodsi3
- adds r7, r0, 0
- mov r0, sp
- adds r4, r0, r6
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r7, 0
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA1
- bne _080C054C
- mov r1, r8
- cmp r1, 0
- bne _080C054C
- adds r1, r6, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- add r1, sp
- movs r0, 0x77
- strb r0, [r1]
- b _080C0552
- .pool
-_080C054C:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_080C0552:
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r7, 0
- bl __umodsi3
- adds r7, r0, 0
- adds r1, r6, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r5, r6, 0
- mov r2, sp
- adds r4, r2, r1
- adds r0, r7, 0
- movs r1, 0x64
- bl __udivsi3
- adds r0, 0xA1
- movs r3, 0
- mov r9, r3
- strb r0, [r4]
- adds r0, r7, 0
- movs r1, 0x64
- bl __umodsi3
- adds r7, r0, 0
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r1, r6, 0
- mov r2, sp
- adds r0, r2, r5
- movs r3, 0xAD
- mov r8, r3
- mov r2, r8
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r5, r6, 0
- mov r3, sp
- adds r4, r3, r1
- adds r0, r7, 0
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r1, r6, 0
- mov r2, sp
- adds r0, r2, r5
- mov r3, r9
- strb r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r2, r6, 0
- add r1, sp
- movs r0, 0xE0
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r3, r6, 0
- mov r0, sp
- adds r1, r0, r2
- movs r0, 0xD6
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r2, r6, 0
- mov r0, sp
- adds r1, r0, r3
- movs r0, 0xE7
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r3, sp
- adds r1, r3, r2
- mov r2, r8
- strb r2, [r1]
- adds r1, r3, r0
- movs r0, 0xFF
- strb r0, [r1]
- mov r0, sp
- mov r1, r10
- ldr r2, [sp, 0x10]
- bl sub_80BE8DC
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80C0460
-
- thumb_func_start sub_80C0620
-sub_80C0620: @ 80C0620
- lsls r0, 16
- lsrs r0, 11
- ldr r1, =gPokedexEntries
- adds r0, r1
- bx lr
- .pool
- thumb_func_end sub_80C0620
-
- thumb_func_start GetPokedexHeightWeight
-GetPokedexHeightWeight: @ 80C0630
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0
- beq _080C0646
- cmp r1, 0x1
- beq _080C0654
- movs r0, 0x1
- b _080C065C
-_080C0646:
- ldr r0, =gPokedexEntries
- lsls r1, r2, 5
- adds r1, r0
- ldrh r0, [r1, 0xC]
- b _080C065C
- .pool
-_080C0654:
- ldr r0, =gPokedexEntries
- lsls r1, r2, 5
- adds r1, r0
- ldrh r0, [r1, 0xE]
-_080C065C:
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetPokedexHeightWeight
-
- thumb_func_start GetSetPokedexFlag
-@ u8 GetSetPokedexFlag(u16 nationalPokedexNum, u8 op)
-GetSetPokedexFlag: @ 80C0664
- push {r4-r7,lr}
- lsls r0, 16
- lsls r1, 24
- lsrs r2, r1, 24
- adds r3, r2, 0
- ldr r1, =0xffff0000
- adds r0, r1
- lsrs r1, r0, 16
- lsrs r0, 19
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x7
- ands r1, r0
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r1
- lsrs r5, r0, 24
- movs r6, 0
- cmp r2, 0x1
- beq _080C06FC
- cmp r2, 0x1
- bgt _080C069C
- cmp r2, 0
- beq _080C06AA
- b _080C07E8
- .pool
-_080C069C:
- cmp r3, 0x2
- bne _080C06A2
- b _080C079C
-_080C06A2:
- cmp r3, 0x3
- bne _080C06A8
- b _080C07D8
-_080C06A8:
- b _080C07E8
-_080C06AA:
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- adds r0, 0x5C
- adds r0, r4
- ldrb r2, [r0]
- ands r2, r5
- adds r7, r1, 0
- cmp r2, 0
- bne _080C06BE
- b _080C07E8
-_080C06BE:
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- ldr r6, =0x00000988
- adds r1, r3, r6
- adds r1, r4
- ldrb r1, [r1]
- ands r1, r5
- adds r6, r0, 0
- cmp r2, r1
- bne _080C06E0
- ldr r1, =0x00003b24
- adds r0, r3, r1
- adds r0, r4
- ldrb r0, [r0]
- ands r0, r5
- cmp r2, r0
- beq _080C073E
-_080C06E0:
- ldr r1, [r7]
- adds r1, 0x5C
- adds r1, r4
- mvns r3, r5
- b _080C076A
- .pool
-_080C06FC:
- ldr r1, =gSaveBlock2Ptr
- ldr r3, [r1]
- adds r0, r3, 0
- adds r0, 0x28
- adds r0, r4
- ldrb r2, [r0]
- ands r2, r5
- adds r7, r1, 0
- cmp r2, 0
- beq _080C07E8
- adds r0, r3, 0
- adds r0, 0x5C
- adds r0, r4
- ldrb r0, [r0]
- ands r0, r5
- ldr r6, =gSaveBlock1Ptr
- cmp r2, r0
- bne _080C0754
- ldr r1, [r6]
- ldr r3, =0x00000988
- adds r0, r1, r3
- adds r0, r4
- ldrb r0, [r0]
- ands r0, r5
- cmp r2, r0
- bne _080C0754
- ldr r3, =0x00003b24
- adds r0, r1, r3
- adds r0, r4
- ldrb r0, [r0]
- ands r0, r5
- cmp r2, r0
- bne _080C0754
-_080C073E:
- movs r6, 0x1
- b _080C07E8
- .pool
-_080C0754:
- ldr r1, [r7]
- adds r1, 0x28
- adds r1, r4
- mvns r3, r5
- ldrb r2, [r1]
- adds r0, r3, 0
- ands r0, r2
- strb r0, [r1]
- ldr r1, [r7]
- adds r1, 0x5C
- adds r1, r4
-_080C076A:
- ldrb r2, [r1]
- adds r0, r3, 0
- ands r0, r2
- strb r0, [r1]
- ldr r1, [r6]
- ldr r0, =0x00000988
- adds r1, r0
- adds r1, r4
- ldrb r2, [r1]
- adds r0, r3, 0
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r6]
- ldr r1, =0x00003b24
- adds r0, r1
- adds r0, r4
- ldrb r1, [r0]
- ands r3, r1
- strb r3, [r0]
- movs r6, 0
- b _080C07E8
- .pool
-_080C079C:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r1, 0x5C
- adds r1, r4
- ldrb r2, [r1]
- adds r0, r5, 0
- orrs r0, r2
- strb r0, [r1]
- ldr r3, =gSaveBlock1Ptr
- ldr r1, [r3]
- ldr r0, =0x00000988
- adds r1, r0
- adds r1, r4
- ldrb r2, [r1]
- adds r0, r5, 0
- orrs r0, r2
- strb r0, [r1]
- ldr r1, [r3]
- ldr r3, =0x00003b24
- adds r1, r3
- b _080C07DE
- .pool
-_080C07D8:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r1, 0x28
-_080C07DE:
- adds r1, r4
- ldrb r2, [r1]
- adds r0, r5, 0
- orrs r0, r2
- strb r0, [r1]
-_080C07E8:
- adds r0, r6, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetSetPokedexFlag
-
- thumb_func_start GetNationalPokedexCount
-GetNationalPokedexCount: @ 80C07F4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- movs r0, 0
- ldr r7, =0x00000181
-_080C0800:
- cmp r6, 0
- beq _080C0810
- cmp r6, 0x1
- beq _080C081A
- adds r4, r0, 0x1
- b _080C0832
- .pool
-_080C0810:
- adds r4, r0, 0x1
- lsls r0, r4, 16
- lsrs r0, 16
- movs r1, 0
- b _080C0822
-_080C081A:
- adds r4, r0, 0x1
- lsls r0, r4, 16
- lsrs r0, 16
- movs r1, 0x1
-_080C0822:
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _080C0832
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_080C0832:
- lsls r0, r4, 16
- lsrs r0, 16
- cmp r0, r7
- bls _080C0800
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end GetNationalPokedexCount
-
- thumb_func_start GetHoennPokedexCount
-GetHoennPokedexCount: @ 80C0844
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- movs r0, 0
-_080C084E:
- cmp r6, 0
- beq _080C085A
- cmp r6, 0x1
- beq _080C086C
- adds r4, r0, 0x1
- b _080C088C
-_080C085A:
- adds r4, r0, 0x1
- lsls r0, r4, 16
- lsrs r0, 16
- bl HoennToNationalOrder
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- b _080C087C
-_080C086C:
- adds r4, r0, 0x1
- lsls r0, r4, 16
- lsrs r0, 16
- bl HoennToNationalOrder
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
-_080C087C:
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _080C088C
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_080C088C:
- lsls r0, r4, 16
- lsrs r0, 16
- cmp r0, 0xC9
- bls _080C084E
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end GetHoennPokedexCount
-
- thumb_func_start sub_80C089C
-sub_80C089C: @ 80C089C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- movs r0, 0
-_080C08A6:
- cmp r6, 0
- beq _080C08B2
- cmp r6, 0x1
- beq _080C08BC
- adds r4, r0, 0x1
- b _080C08D4
-_080C08B2:
- adds r4, r0, 0x1
- lsls r0, r4, 16
- lsrs r0, 16
- movs r1, 0
- b _080C08C4
-_080C08BC:
- adds r4, r0, 0x1
- lsls r0, r4, 16
- lsrs r0, 16
- movs r1, 0x1
-_080C08C4:
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _080C08D4
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_080C08D4:
- lsls r0, r4, 16
- lsrs r0, 16
- cmp r0, 0x96
- bls _080C08A6
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80C089C
-
- thumb_func_start sub_80C08E4
-sub_80C08E4: @ 80C08E4
- push {r4,lr}
- movs r0, 0
-_080C08E8:
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- bl HoennToNationalOrder
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- bne _080C0908
- movs r0, 0
- b _080C0910
-_080C0908:
- adds r0, r4, 0
- cmp r0, 0xC7
- bls _080C08E8
- movs r0, 0x1
-_080C0910:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80C08E4
-
- thumb_func_start sub_80C0918
-sub_80C0918: @ 80C0918
- push {r4,lr}
- movs r0, 0
-_080C091C:
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- bne _080C0934
- movs r0, 0
- b _080C093C
-_080C0934:
- adds r0, r4, 0
- cmp r0, 0x95
- bls _080C091C
- movs r0, 0x1
-_080C093C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80C0918
-
- thumb_func_start sub_80C0944
-sub_80C0944: @ 80C0944
- push {r4,r5,lr}
- movs r0, 0
-_080C0948:
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _080C0996
- adds r0, r4, 0
- cmp r0, 0x95
- bls _080C0948
- movs r0, 0x97
-_080C0964:
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _080C0996
- adds r0, r4, 0
- cmp r0, 0xF7
- bls _080C0964
- movs r0, 0xFB
- ldr r5, =0x0000017f
-_080C0982:
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- bne _080C09A0
-_080C0996:
- movs r0, 0
- b _080C09A8
- .pool
-_080C09A0:
- adds r0, r4, 0
- cmp r0, r5
- bls _080C0982
- movs r0, 0x1
-_080C09A8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80C0944
-
- thumb_func_start sub_80C09B0
-sub_80C09B0: @ 80C09B0
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r5, r4, 0
- movs r1, 0x80
- lsls r1, 1
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _080C09E2
- movs r0, 0
- bl ClearGpuRegBits
- movs r0, 0x8
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
-_080C09E2:
- movs r1, 0x80
- lsls r1, 2
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _080C0A0C
- movs r0, 0
- bl ClearGpuRegBits
- movs r0, 0xA
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
-_080C0A0C:
- movs r1, 0x80
- lsls r1, 3
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _080C0A36
- movs r0, 0
- bl ClearGpuRegBits
- movs r0, 0xC
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
-_080C0A36:
- movs r1, 0x80
- lsls r1, 4
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _080C0A60
- movs r0, 0
- bl ClearGpuRegBits
- movs r0, 0xE
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
-_080C0A60:
- movs r1, 0x80
- lsls r1, 5
- ands r5, r1
- cmp r5, 0
- bne _080C0A7E
- movs r0, 0
- bl ClearGpuRegBits
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r1, =gReservedSpritePaletteCount
- movs r0, 0x8
- strb r0, [r1]
-_080C0A7E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C09B0
-
- thumb_func_start sub_80C0A88
-sub_80C0A88: @ 80C0A88
- push {r4-r6,lr}
- sub sp, 0x18
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- add r4, sp, 0x14
- movs r6, 0
- strb r6, [r4]
- adds r5, r4, 0
- movs r4, 0xF
- strb r4, [r5, 0x1]
- movs r4, 0x3
- strb r4, [r5, 0x2]
- str r6, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- subs r4, 0x4
- str r4, [sp, 0xC]
- str r1, [sp, 0x10]
- movs r1, 0x1
- bl AddTextPrinterParameterized2
- add sp, 0x18
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80C0A88
-
- thumb_func_start sub_80C0AC4
-sub_80C0AC4: @ 80C0AC4
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- adds r6, r0, 0
- adds r4, r1, 0
- mov r8, r2
- mov r9, r3
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- mov r5, sp
- adds r0, r4, 0
- movs r1, 0x64
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r5]
- mov r5, sp
- adds r0, r4, 0
- movs r1, 0x64
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r5, 0x1]
- mov r5, sp
- adds r0, r4, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r5, 0x2]
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- adds r0, r6, 0
- mov r2, r8
- mov r3, r9
- bl sub_80C0A88
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80C0AC4
-
- thumb_func_start sub_80C0B44
-sub_80C0B44: @ 80C0B44
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r6, r3, 24
- movs r4, 0
- movs r2, 0xFF
-_080C0B62:
- mov r1, sp
- adds r0, r1, r4
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xA
- bls _080C0B62
- adds r0, r5, 0
- bl NationalPokedexNumToSpecies
- adds r5, r0, 0
- cmp r5, 0
- beq _080C0BC0
- movs r4, 0
- ldr r2, =gSpeciesNames
- movs r0, 0xB
- adds r1, r5, 0
- muls r1, r0
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _080C0BD4
- adds r3, r2, 0
- adds r2, r1, 0
-_080C0B98:
- mov r0, sp
- adds r1, r0, r4
- adds r0, r4, r2
- adds r0, r3
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, r2
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _080C0BD4
- cmp r4, 0x9
- bls _080C0B98
- b _080C0BD4
- .pool
-_080C0BC0:
- movs r4, 0
- movs r1, 0xAE
-_080C0BC4:
- mov r2, sp
- adds r0, r2, r4
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _080C0BC4
-_080C0BD4:
- mov r0, r8
- mov r1, sp
- adds r2, r7, 0
- adds r3, r6, 0
- bl sub_80C0A88
- adds r0, r4, 0
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80C0B44
-
- thumb_func_start sub_80C0BF0
-sub_80C0BF0: @ 80C0BF0
- push {r4-r7,lr}
- sub sp, 0xC
- adds r4, r1, 0
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r2, 24
- lsrs r2, 24
- mov r12, r2
- lsls r3, 24
- lsrs r5, r3, 24
- movs r2, 0
- movs r1, 0
-_080C0C08:
- mov r3, sp
- adds r0, r3, r2
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xA
- bls _080C0C08
- movs r3, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _080C0C32
-_080C0C20:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r4, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C0C32
- cmp r3, 0xA
- bls _080C0C20
-_080C0C32:
- movs r2, 0
- cmp r2, r3
- bcs _080C0C52
-_080C0C38:
- adds r0, r2, 0
- adds r0, 0xB
- subs r0, r3
- mov r7, sp
- adds r1, r7, r0
- adds r0, r4, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r3
- bcc _080C0C38
-_080C0C52:
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1, 0xB]
- adds r0, r6, 0
- mov r2, r12
- adds r3, r5, 0
- bl sub_80C0A88
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80C0BF0
-
- thumb_func_start sub_80C0C6C
-sub_80C0C6C: @ 80C0C6C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r6, r3, 24
- movs r5, 0
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r4, 0
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080C0CA2
- mov r1, sp
- movs r0, 0x77
- strb r0, [r1]
- b _080C0CAA
-_080C0CA2:
- mov r1, sp
- adds r0, 0xA1
- strb r0, [r1]
- movs r5, 0x1
-_080C0CAA:
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r4, 0
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080C0CD0
- cmp r5, 0
- bne _080C0CD0
- mov r1, sp
- movs r0, 0x77
- b _080C0CD4
-_080C0CD0:
- mov r1, sp
- adds r0, 0xA1
-_080C0CD4:
- strb r0, [r1, 0x1]
- mov r5, sp
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r4, 0
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r5, 0x2]
- mov r1, sp
- movs r0, 0xAD
- strb r0, [r1, 0x3]
- mov r5, sp
- adds r0, r4, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r5, 0x4]
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1, 0x5]
- mov r0, r8
- adds r2, r7, 0
- adds r3, r6, 0
- bl sub_80C0A88
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80C0C6C
-
- thumb_func_start sub_80C0D30
-sub_80C0D30: @ 80C0D30
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x80
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 16
- lsrs r1, 16
- ldr r4, =gMonFootprintTable
- adds r0, r1, 0
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r0, 14
- adds r0, r4
- ldr r0, [r0]
- mov r12, r0
- movs r5, 0
- movs r1, 0
- movs r7, 0x2
-_080C0D5A:
- mov r2, r12
- adds r0, r2, r1
- ldrb r3, [r0]
- movs r4, 0
- adds r6, r1, 0x1
-_080C0D64:
- lsls r2, r4, 1
- adds r1, r3, 0
- asrs r1, r2
- movs r0, 0x1
- ands r1, r0
- negs r0, r1
- orrs r0, r1
- asrs r1, r0, 31
- ands r1, r7
- adds r0, r7, 0
- lsls r0, r2
- ands r0, r3
- cmp r0, 0
- beq _080C0D84
- movs r0, 0x20
- orrs r1, r0
-_080C0D84:
- mov r2, sp
- adds r0, r2, r5
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _080C0D64
- lsls r0, r6, 16
- lsrs r1, r0, 16
- cmp r1, 0x1F
- bls _080C0D5A
- mov r0, r8
- mov r1, sp
- movs r2, 0x80
- movs r3, 0
- bl CopyToWindowPixelBuffer
- add sp, 0x80
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C0D30
-
- thumb_func_start sub_80C0DC0
-sub_80C0DC0: @ 80C0DC0
- push {r4,lr}
- lsls r0, 16
- lsls r1, 16
- lsrs r1, 16
- lsrs r0, 5
- ldr r2, =0x06000232
- adds r3, r0, r2
- movs r4, 0xF0
- lsls r4, 8
- adds r2, r1, r4
- strh r2, [r3]
- ldr r2, =0x06000234
- adds r3, r0, r2
- adds r4, 0x1
- adds r2, r1, r4
- strh r2, [r3]
- ldr r2, =0x06000272
- adds r3, r0, r2
- adds r4, 0x1
- adds r2, r1, r4
- strh r2, [r3]
- ldr r2, =0x06000274
- adds r0, r2
- adds r4, 0x1
- adds r1, r4
- strh r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C0DC0
-
- thumb_func_start sub_80C0E0C
-sub_80C0E0C: @ 80C0E0C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- lsls r1, 16
- lsrs r0, r1, 16
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 16
- lsrs r3, 16
- cmp r4, 0x1
- beq _080C0E38
- cmp r4, 0x1
- bgt _080C0E2E
- cmp r4, 0
- beq _080C0E40
- b _080C0E60
-_080C0E2E:
- cmp r5, 0x2
- beq _080C0E52
- cmp r5, 0x3
- beq _080C0E46
- b _080C0E60
-_080C0E38:
- cmp r0, r2
- bls _080C0E60
- subs r0, 0x1
- b _080C0E58
-_080C0E40:
- cmp r0, r3
- bcs _080C0E60
- b _080C0E56
-_080C0E46:
- cmp r0, r2
- bls _080C0E4E
- subs r0, 0x1
- b _080C0E58
-_080C0E4E:
- adds r0, r3, 0
- b _080C0E60
-_080C0E52:
- cmp r0, r3
- bcs _080C0E5E
-_080C0E56:
- adds r0, 0x1
-_080C0E58:
- lsls r0, 16
- lsrs r0, 16
- b _080C0E60
-_080C0E5E:
- adds r0, r2, 0
-_080C0E60:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80C0E0C
-
- thumb_func_start sub_80C0E68
-sub_80C0E68: @ 80C0E68
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0xC9
- beq _080C0E88
- movs r0, 0x9A
- lsls r0, 1
- cmp r1, r0
- bne _080C0E94
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r0, [r0, 0x20]
- b _080C0E96
- .pool
-_080C0E88:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r0, [r0, 0x1C]
- b _080C0E96
- .pool
-_080C0E94:
- movs r0, 0
-_080C0E96:
- pop {r1}
- bx r1
- thumb_func_end sub_80C0E68
-
- thumb_func_start sub_80C0E9C
-sub_80C0E9C: @ 80C0E9C
- push {r4-r6,lr}
- sub sp, 0x14
- adds r4, r1, 0
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- bl NationalPokedexNumToSpecies
- adds r1, r0, 0
- adds r0, r1, 0
- str r1, [sp, 0x10]
- bl sub_80C0E68
- adds r2, r0, 0
- lsls r4, 16
- asrs r4, 16
- str r4, [sp]
- lsls r5, 16
- asrs r5, 16
- str r5, [sp, 0x4]
- lsls r6, 24
- lsrs r6, 24
- str r6, [sp, 0x8]
- ldr r0, =0x0000ffff
- str r0, [sp, 0xC]
- ldr r1, [sp, 0x10]
- adds r0, r1, 0
- movs r1, 0x8
- movs r3, 0x1
- bl sub_818D7D8
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x14
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80C0E9C
-
- thumb_func_start sub_80C0EF8
-sub_80C0EF8: @ 80C0EF8
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp]
- ldr r1, =0x0000ffff
- str r1, [sp, 0x4]
- movs r1, 0x1
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_818D8AC
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80C0EF8
-
- thumb_func_start sub_80C0F30
-sub_80C0F30: @ 80C0F30
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- ldr r4, [sp, 0x34]
- ldr r5, [sp, 0x38]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x4]
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0x8]
- lsls r5, 24
- lsrs r5, 24
- mov r10, r5
- bl sub_80BC8D4
- movs r5, 0
- movs r6, 0
- ldr r4, =0x00000181
- ldr r3, =gUnknown_02039B4C
-_080C0F6A:
- ldr r2, [r3]
- lsls r0, r5, 2
- adds r1, r2, r0
- ldrb r0, [r1, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _080C0F86
- lsls r0, r6, 2
- adds r0, r2, r0
- ldr r1, [r1]
- str r1, [r0]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080C0F86:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r4
- bls _080C0F6A
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000060c
- adds r0, r2
- adds r1, r6, 0
- strh r6, [r0]
- cmp r7, 0xFF
- beq _080C103C
- movs r5, 0
- lsls r0, r1, 16
- movs r6, 0
- cmp r0, 0
- beq _080C1032
- lsls r7, 2
- ldr r0, =gUnknown_0856ED08
- adds r0, 0x3
- adds r0, r7, r0
- str r0, [sp, 0xC]
- ldr r0, =gUnknown_0856ED08
- adds r0, r7
- mov r9, r0
-_080C0FBA:
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- lsls r4, r5, 2
- adds r0, r4
- ldrh r0, [r0]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, =gSpeciesNames
- movs r0, 0xB
- muls r0, r2
- adds r0, r1
- ldrb r2, [r0]
- adds r3, r2, 0
- mov r0, r9
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080C0FF2
- mov r1, r9
- ldrb r0, [r1]
- ldr r1, =gUnknown_0856ED08
- adds r1, 0x1
- adds r1, r7, r1
- ldrb r1, [r1]
- adds r0, r1
- cmp r2, r0
- blt _080C100A
-_080C0FF2:
- ldr r0, =gUnknown_0856ED08
- adds r0, 0x2
- adds r0, r7, r0
- ldrb r2, [r0]
- cmp r3, r2
- bcc _080C101E
- ldrb r1, [r0]
- ldr r2, [sp, 0xC]
- ldrb r0, [r2]
- adds r1, r0
- cmp r3, r1
- bge _080C101E
-_080C100A:
- ldr r2, =gUnknown_02039B4C
- ldr r0, [r2]
- lsls r1, r6, 2
- adds r1, r0, r1
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080C101E:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000060c
- adds r0, r2
- ldrh r0, [r0]
- cmp r5, r0
- bcc _080C0FBA
-_080C1032:
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000060c
- adds r0, r2
- strh r6, [r0]
-_080C103C:
- ldr r0, [sp, 0x4]
- cmp r0, 0xFF
- beq _080C10AC
- movs r5, 0
- movs r6, 0
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000060c
- adds r0, r2
- ldrh r0, [r0]
- cmp r6, r0
- bcs _080C10A2
- adds r7, r1, 0
- ldr r0, =gBaseStats
- mov r8, r0
-_080C105A:
- ldr r0, [r7]
- lsls r4, r5, 2
- adds r0, r4
- ldrh r0, [r0]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- add r0, r8
- ldrb r0, [r0, 0x19]
- lsls r0, 25
- lsrs r0, 25
- ldr r1, [sp, 0x4]
- cmp r1, r0
- bne _080C1090
- ldr r0, [r7]
- lsls r1, r6, 2
- adds r1, r0, r1
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080C1090:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, [r7]
- ldr r2, =0x0000060c
- adds r0, r2
- ldrh r0, [r0]
- cmp r5, r0
- bcc _080C105A
-_080C10A2:
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000060c
- adds r0, r2
- strh r6, [r0]
-_080C10AC:
- ldr r0, [sp, 0x8]
- cmp r0, 0xFF
- bne _080C10C2
- mov r1, r10
- cmp r1, 0xFF
- bne _080C10BA
- b _080C11DE
-_080C10BA:
- mov r2, r10
- str r2, [sp, 0x8]
- movs r0, 0xFF
- mov r10, r0
-_080C10C2:
- mov r1, r10
- cmp r1, 0xFF
- bne _080C1158
- movs r5, 0
- movs r6, 0
- ldr r2, =gUnknown_02039B4C
- ldr r0, [r2]
- ldr r1, =0x0000060c
- adds r0, r1
- ldrh r0, [r0]
- cmp r6, r0
- bcs _080C11D4
- adds r3, r2, 0
- mov r7, sp
- mov r8, r2
-_080C10E0:
- ldr r0, [r3]
- lsls r4, r5, 2
- adds r1, r0, r4
- ldrb r0, [r1, 0x2]
- lsls r0, 30
- cmp r0, 0
- bge _080C112A
- ldrh r0, [r1]
- str r3, [sp, 0x10]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, =gBaseStats
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x6]
- strb r1, [r7]
- ldrb r0, [r0, 0x7]
- strb r0, [r7, 0x1]
- ldr r3, [sp, 0x10]
- ldr r2, [sp, 0x8]
- cmp r1, r2
- beq _080C1118
- cmp r0, r2
- bne _080C112A
-_080C1118:
- ldr r0, [r3]
- lsls r1, r6, 2
- adds r1, r0, r1
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080C112A:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- mov r1, r8
- ldr r0, [r1]
- ldr r2, =0x0000060c
- adds r0, r2
- ldrh r0, [r0]
- cmp r5, r0
- bcc _080C10E0
- b _080C11D4
- .pool
-_080C1158:
- movs r5, 0
- movs r6, 0
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000060c
- adds r0, r2
- ldrh r0, [r0]
- cmp r6, r0
- bcs _080C11D4
- mov r7, sp
-_080C116C:
- ldr r0, [r1]
- lsls r1, r5, 2
- adds r2, r0, r1
- ldrb r0, [r2, 0x2]
- lsls r0, 30
- adds r4, r1, 0
- cmp r0, 0
- bge _080C11C0
- ldrh r0, [r2]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, =gBaseStats
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x6]
- strb r1, [r7]
- ldrb r0, [r0, 0x7]
- strb r0, [r7, 0x1]
- ldr r2, [sp, 0x8]
- cmp r1, r2
- bne _080C11A2
- cmp r0, r10
- beq _080C11AC
-_080C11A2:
- cmp r1, r10
- bne _080C11C0
- ldr r1, [sp, 0x8]
- cmp r0, r1
- bne _080C11C0
-_080C11AC:
- ldr r2, =gUnknown_02039B4C
- ldr r0, [r2]
- lsls r1, r6, 2
- adds r1, r0, r1
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080C11C0:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000060c
- adds r0, r2
- ldrh r0, [r0]
- cmp r5, r0
- bcc _080C116C
-_080C11D4:
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000060c
- adds r0, r2
- strh r6, [r0]
-_080C11DE:
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000060c
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0
- beq _080C1232
- adds r5, r0, 0
- ldr r0, =0x00000181
- cmp r5, r0
- bhi _080C1232
- ldr r4, =gUnknown_02039B4C
- movs r1, 0x2
- negs r1, r1
- mov r10, r1
- movs r2, 0x3
- negs r2, r2
- mov r9, r2
- mov r8, r0
- ldr r0, =0x0000ffff
- adds r7, r0, 0
-_080C1208:
- ldr r1, [r4]
- lsls r3, r5, 2
- adds r1, r3
- ldrh r0, [r1]
- orrs r0, r7
- strh r0, [r1]
- ldrb r2, [r1, 0x2]
- mov r0, r10
- ands r0, r2
- strb r0, [r1, 0x2]
- ldr r1, [r4]
- adds r1, r3
- ldrb r2, [r1, 0x2]
- mov r0, r9
- ands r0, r2
- strb r0, [r1, 0x2]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bls _080C1208
-_080C1232:
- adds r0, r6, 0
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80C0F30
-
- thumb_func_start sub_80C1258
-sub_80C1258: @ 80C1258
- push {lr}
- ldr r0, =sub_80C12E0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80C1258
-
- thumb_func_start sub_80C1270
-sub_80C1270: @ 80C1270
- push {r4,r5,lr}
- sub sp, 0x18
- adds r5, r1, 0
- adds r3, r2, 0
- add r1, sp, 0x14
- movs r4, 0
- strb r4, [r1]
- adds r2, r1, 0
- movs r1, 0xF
- strb r1, [r2, 0x1]
- movs r1, 0x2
- strb r1, [r2, 0x2]
- lsls r5, 24
- lsrs r5, 24
- lsls r3, 24
- lsrs r3, 24
- str r4, [sp]
- str r4, [sp, 0x4]
- str r2, [sp, 0x8]
- subs r1, 0x3
- str r1, [sp, 0xC]
- str r0, [sp, 0x10]
- movs r0, 0
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParameterized2
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80C1270
-
- thumb_func_start sub_80C12B0
-sub_80C12B0: @ 80C12B0
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp]
- lsls r3, 16
- lsrs r3, 16
- str r3, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl FillWindowPixelRect
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80C12B0
-
- thumb_func_start sub_80C12E0
-sub_80C12E0: @ 80C12E0
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r3, r1, 0
- cmp r0, 0x4
- bhi _080C1320
- lsls r0, 2
- ldr r1, =_080C130C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C130C:
- .4byte _080C1320
- .4byte _080C1414
- .4byte _080C1480
- .4byte _080C14A0
- .4byte _080C14F0
-_080C1320:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _080C1332
- b _080C1516
-_080C1332:
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064a
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- movs r0, 0
- bl sub_80C09B0
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_0856EFF8
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r0, =gUnknown_0856F008
- bl InitWindows
- bl DeactivateAllTextPrinters
- movs r0, 0
- bl PutWindowTilemap
- ldr r1, =gPokedexSearchMenu_Gfx
- movs r2, 0x80
- lsls r2, 6
- str r5, [sp]
- movs r0, 0x3
- movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
- bl IsNationalPokedexEnabled
- cmp r0, 0
- bne _080C13E4
- ldr r1, =gPokedexSearch2_Tilemap
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- b _080C13F0
- .pool
-_080C13E4:
- ldr r1, =gPokedexSearch1_Tilemap
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
-_080C13F0:
- ldr r0, =gPokedexSearchMenu_Pal + 0x2
- movs r1, 0x1
- movs r2, 0x7E
- bl LoadPalette
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- b _080C1516
- .pool
-_080C1414:
- ldr r0, =gSpriteSheets_0855D26C
- bl LoadCompressedObjectPic
- ldr r0, =gSpritePalettes_0855D26C
- bl LoadSpritePalettes
- adds r0, r4, 0
- bl sub_80C2594
- movs r1, 0
- lsls r0, r4, 2
- adds r0, r4
- lsls r2, r0, 3
- ldr r5, =gTasks + 0x8
- movs r3, 0
-_080C1432:
- lsls r0, r1, 1
- adds r0, r2
- adds r0, r5
- strh r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0xF
- bls _080C1432
- adds r0, r4, 0
- bl sub_80C23B8
- movs r0, 0
- bl sub_80C2040
- adds r0, r4, 0
- bl sub_80C20F8
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _080C14DA
- .pool
-_080C1480:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _080C14E2
- .pool
-_080C14A0:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl HideBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
-_080C14DA:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
-_080C14E2:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C1516
- .pool
-_080C14F0:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _080C1516
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80C1570
- str r1, [r0]
- movs r1, 0x87
- lsls r1, 3
- adds r0, r3, r1
- strb r2, [r0]
-_080C1516:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C12E0
-
- thumb_func_start sub_80C152C
-sub_80C152C: @ 80C152C
- push {lr}
- bl FreeAllWindowBuffers
- movs r0, 0
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080C1540
- bl Free
-_080C1540:
- movs r0, 0x1
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080C154E
- bl Free
-_080C154E:
- movs r0, 0x2
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080C155C
- bl Free
-_080C155C:
- movs r0, 0x3
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080C156A
- bl Free
-_080C156A:
- pop {r0}
- bx r0
- thumb_func_end sub_80C152C
-
- thumb_func_start sub_80C1570
-sub_80C1570: @ 80C1570
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gTasks
- lsls r5, r4, 2
- adds r5, r4
- lsls r5, 3
- adds r5, r0
- ldrb r0, [r5, 0x8]
- bl sub_80C2040
- adds r0, r4, 0
- bl sub_80C20F8
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- ldr r0, =sub_80C15B0
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C1570
-
- thumb_func_start sub_80C15B0
-sub_80C15B0: @ 80C15B0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080C15E4
- movs r0, 0x3
- bl PlaySE
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80C1D38
- str r0, [r1]
- b _080C16BC
- .pool
-_080C15E4:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C1640
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r5, r0, r1
- movs r0, 0x8
- ldrsh r4, [r5, r0]
- cmp r4, 0x1
- beq _080C161C
- cmp r4, 0x1
- bgt _080C160C
- cmp r4, 0
- beq _080C1612
- b _080C16BC
- .pool
-_080C160C:
- cmp r4, 0x2
- beq _080C1630
- b _080C16BC
-_080C1612:
- movs r0, 0x15
- bl PlaySE
- strh r4, [r5, 0xA]
- b _080C1626
-_080C161C:
- movs r0, 0x15
- bl PlaySE
- movs r0, 0x4
- strh r0, [r5, 0xA]
-_080C1626:
- ldr r0, =sub_80C16CC
- str r0, [r5]
- b _080C16BC
- .pool
-_080C1630:
- movs r0, 0x3
- bl PlaySE
- ldr r0, =sub_80C1D38
- str r0, [r5]
- b _080C16BC
- .pool
-_080C1640:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080C167C
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r4, r1, r0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- ble _080C167C
- movs r0, 0x6D
- bl PlaySE
- ldrh r0, [r4, 0x8]
- subs r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80C2040
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
-_080C167C:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080C16BC
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r4, r1, r0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bgt _080C16BC
- movs r0, 0x6D
- bl PlaySE
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80C2040
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
-_080C16BC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C15B0
-
- thumb_func_start sub_80C16CC
-sub_80C16CC: @ 80C16CC
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gTasks
- lsls r5, r4, 2
- adds r5, r4
- lsls r5, 3
- adds r5, r0
- ldrb r0, [r5, 0x8]
- ldrb r1, [r5, 0xA]
- bl sub_80C2064
- adds r0, r4, 0
- bl sub_80C20F8
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- ldr r0, =sub_80C170C
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C16CC
-
- thumb_func_start sub_80C170C
-sub_80C170C: @ 80C170C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080C1740
- bl IsNationalPokedexEnabled
- ldr r6, =gUnknown_0856EDB8
- cmp r0, 0
- bne _080C174C
- ldr r6, =gUnknown_0856EDF0
- b _080C174C
- .pool
-_080C1740:
- bl IsNationalPokedexEnabled
- ldr r6, =gUnknown_0856ED9C
- cmp r0, 0
- bne _080C174C
- ldr r6, =gUnknown_0856EDD4
-_080C174C:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _080C178C
- movs r0, 0x17
- bl PlaySE
- adds r0, r5, 0
- bl sub_80C23B8
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80C1570
- str r0, [r1]
- b _080C1994
- .pool
-_080C178C:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C1870
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r6, r1, r0
- movs r2, 0xA
- ldrsh r0, [r6, r2]
- cmp r0, 0x6
- bne _080C1860
- movs r1, 0x8
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _080C183C
- ldr r1, =gUnknown_02039B52
- movs r0, 0x40
- strb r0, [r1]
- ldr r7, =gUnknown_02039B4C
- ldr r1, [r7]
- ldr r0, =0x0000062a
- adds r2, r1, r0
- movs r0, 0x40
- strh r0, [r2]
- ldr r0, =gUnknown_02039B50
- strh r3, [r0]
- movs r2, 0xC2
- lsls r2, 3
- adds r1, r2
- strh r3, [r1]
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_80C2318
- ldr r4, =gSaveBlock2Ptr
- ldr r1, [r4]
- strb r0, [r1, 0x19]
- bl IsNationalPokedexEnabled
- cmp r0, 0
- bne _080C17E8
- ldr r1, [r4]
- movs r0, 0
- strb r0, [r1, 0x19]
-_080C17E8:
- ldr r0, [r7]
- ldr r1, [r4]
- ldrb r1, [r1, 0x19]
- ldr r2, =0x00000614
- adds r0, r2
- strh r1, [r0]
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_80C2318
- ldr r1, [r4]
- strb r0, [r1, 0x18]
- ldr r0, [r7]
- ldr r1, [r4]
- ldrb r1, [r1, 0x18]
- movs r2, 0xC3
- lsls r2, 3
- adds r0, r2
- strh r1, [r0]
- movs r0, 0x3
- bl PlaySE
- ldr r0, =sub_80C1D38
- str r0, [r6]
- b _080C1994
- .pool
-_080C183C:
- ldr r0, =gText_SearchingPleaseWait
- bl sub_80C2618
- ldr r0, =sub_80C19A4
- str r0, [r6]
- movs r0, 0x70
- bl PlaySE
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- b _080C1994
- .pool
-_080C1860:
- movs r0, 0x15
- bl PlaySE
- ldr r0, =sub_80C1B64
- str r0, [r6]
- b _080C1994
- .pool
-_080C1870:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080C18B6
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _080C18B6
- movs r0, 0x5
- bl PlaySE
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0]
- strh r1, [r4, 0xA]
- ldrb r0, [r4, 0x8]
- bl sub_80C2064
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
-_080C18B6:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080C1900
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x1]
- cmp r0, 0xFF
- beq _080C1900
- movs r0, 0x5
- bl PlaySE
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0, 0x1]
- strh r1, [r4, 0xA]
- ldrb r0, [r4, 0x8]
- bl sub_80C2064
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
-_080C1900:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080C194A
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x2]
- cmp r0, 0xFF
- beq _080C194A
- movs r0, 0x5
- bl PlaySE
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0, 0x2]
- strh r1, [r4, 0xA]
- ldrb r0, [r4, 0x8]
- bl sub_80C2064
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
-_080C194A:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080C1994
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x3]
- cmp r0, 0xFF
- beq _080C1994
- movs r0, 0x5
- bl PlaySE
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0, 0x3]
- strh r1, [r4, 0xA]
- ldrb r0, [r4, 0x8]
- bl sub_80C2064
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
-_080C1994:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C170C
-
- thumb_func_start sub_80C19A4
-sub_80C19A4: @ 80C19A4
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x8
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_80C2318
- mov r10, r0
- mov r0, r10
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_80C2318
- mov r9, r0
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- adds r0, r5, 0
- movs r1, 0
- bl sub_80C2318
- mov r8, r0
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80C2318
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_80C2318
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x3
- bl sub_80C2318
- lsls r0, 24
- lsrs r0, 24
- str r4, [sp]
- str r0, [sp, 0x4]
- mov r0, r10
- mov r1, r9
- mov r2, r8
- adds r3, r6, 0
- bl sub_80C0F30
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80C1A4C
- str r1, [r0]
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C19A4
-
- thumb_func_start sub_80C1A4C
-sub_80C1A4C: @ 80C1A4C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- bne _080C1AA6
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000060c
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _080C1A84
- movs r0, 0x1F
- bl PlaySE
- ldr r0, =gText_SearchCompleted
- bl sub_80C2618
- b _080C1A90
- .pool
-_080C1A84:
- movs r0, 0x20
- bl PlaySE
- ldr r0, =gUnknown_085E8785
- bl sub_80C2618
-_080C1A90:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80C1AB8
- str r0, [r1]
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
-_080C1AA6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C1A4C
-
- thumb_func_start sub_80C1AB8
-sub_80C1AB8: @ 80C1AB8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r2, r4, 0
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C1B54
- ldr r5, =gUnknown_02039B4C
- ldr r1, [r5]
- ldr r3, =0x0000060c
- adds r0, r1, r3
- ldrh r0, [r0]
- cmp r0, 0
- beq _080C1B40
- ldr r0, =0x0000064e
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x5
- bl sub_80C2318
- ldr r1, [r5]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =0x00000612
- adds r1, r2
- strh r0, [r1]
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_80C2318
- ldr r1, [r5]
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =0x00000616
- adds r1, r3
- strh r0, [r1]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80C1D38
- str r1, [r0]
- movs r0, 0x3
- bl PlaySE
- b _080C1B54
- .pool
-_080C1B40:
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80C16CC
- str r0, [r1]
- movs r0, 0x17
- bl PlaySE
-_080C1B54:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C1AB8
-
- thumb_func_start sub_80C1B64
-sub_80C1B64: @ 80C1B64
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0
- bl sub_80C21D4
- ldr r2, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r6, r1, r2
- ldrb r0, [r6, 0xA]
- adds r2, 0x8
- adds r1, r2
- ldr r2, =gUnknown_0856EFC8
- lsls r0, 3
- adds r0, r2
- ldrb r4, [r0, 0x4]
- lsls r4, 1
- adds r4, r1, r4
- ldrb r0, [r0, 0x5]
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r4]
- strh r0, [r6, 0x24]
- ldrh r0, [r1]
- strh r0, [r6, 0x26]
- adds r0, r5, 0
- bl sub_80C2294
- ldrh r0, [r4]
- bl sub_80C2650
- ldr r0, =sub_80C1BCC
- str r0, [r6]
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C1B64
-
- thumb_func_start sub_80C1BCC
-sub_80C1BCC: @ 80C1BCC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r3, =gTasks
- lsls r2, r7, 2
- adds r2, r7
- lsls r2, 3
- adds r5, r2, r3
- ldrb r1, [r5, 0xA]
- ldr r0, =gUnknown_0856EFC8
- lsls r1, 3
- adds r1, r0
- ldr r0, [r1]
- mov r8, r0
- adds r3, 0x8
- adds r2, r3
- ldrb r0, [r1, 0x4]
- lsls r0, 1
- adds r4, r2, r0
- ldrb r0, [r1, 0x5]
- lsls r0, 1
- adds r6, r2, r0
- ldrh r0, [r1, 0x6]
- subs r0, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =gMain
- mov r12, r0
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C1C30
- movs r0, 0x15
- bl PlaySE
- bl sub_80C267C
- movs r0, 0x1
- bl sub_80C21D4
- b _080C1C50
- .pool
-_080C1C30:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080C1C68
- movs r0, 0x17
- bl PlaySE
- bl sub_80C267C
- movs r0, 0x1
- bl sub_80C21D4
- ldrh r0, [r5, 0x24]
- strh r0, [r4]
- ldrh r0, [r5, 0x26]
- strh r0, [r6]
-_080C1C50:
- ldr r0, =sub_80C16CC
- str r0, [r5]
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _080C1D2E
- .pool
-_080C1C68:
- movs r3, 0
- mov r0, r12
- ldrh r1, [r0, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080C1CCA
- ldrh r0, [r4]
- cmp r0, 0
- beq _080C1C8E
- bl sub_80C2638
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- ldrh r0, [r4]
- bl sub_80C2650
- b _080C1CAA
-_080C1C8E:
- ldrh r0, [r6]
- cmp r0, 0
- beq _080C1CA6
- subs r0, 0x1
- strh r0, [r6]
- adds r0, r7, 0
- bl sub_80C2294
- ldrh r0, [r4]
- bl sub_80C2650
- movs r3, 0x1
-_080C1CA6:
- cmp r3, 0
- beq _080C1D2E
-_080C1CAA:
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4]
- ldrh r1, [r6]
- adds r0, r1
- lsls r0, 3
- add r0, r8
- ldr r0, [r0]
- bl sub_80C2618
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- b _080C1D2E
-_080C1CCA:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080C1D2E
- ldrh r0, [r4]
- cmp r0, 0x4
- bhi _080C1CEE
- cmp r0, r2
- bcs _080C1CEE
- bl sub_80C2638
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- ldrh r0, [r4]
- bl sub_80C2650
- b _080C1D10
-_080C1CEE:
- cmp r2, 0x5
- bls _080C1D0C
- ldrh r1, [r6]
- subs r0, r2, 0x5
- cmp r1, r0
- bge _080C1D0C
- adds r0, r1, 0x1
- strh r0, [r6]
- adds r0, r7, 0
- bl sub_80C2294
- movs r0, 0x5
- bl sub_80C2650
- movs r3, 0x1
-_080C1D0C:
- cmp r3, 0
- beq _080C1D2E
-_080C1D10:
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4]
- ldrh r1, [r6]
- adds r0, r1
- lsls r0, 3
- add r0, r8
- ldr r0, [r0]
- bl sub_80C2618
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
-_080C1D2E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80C1BCC
-
- thumb_func_start sub_80C1D38
-sub_80C1D38: @ 80C1D38
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80C1D70
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C1D38
-
- thumb_func_start sub_80C1D70
-sub_80C1D70: @ 80C1D70
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080C1D8C
- bl sub_80C152C
- adds r0, r4, 0
- bl DestroyTask
-_080C1D8C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C1D70
-
- thumb_func_start sub_80C1D98
-sub_80C1D98: @ 80C1D98
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r3, 0
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x3
- bl GetBgTilemapBuffer
- adds r2, r0, 0
- movs r3, 0
- cmp r3, r4
- bcs _080C1DEC
- lsls r0, r5, 6
- adds r7, r0, r2
- ldr r5, =0x00000fff
- lsls r2, r6, 12
-_080C1DC8:
- mov r0, r8
- adds r1, r0, r3
- lsls r1, 1
- adds r1, r7
- ldrh r0, [r1]
- ands r0, r5
- orrs r0, r2
- strh r0, [r1]
- adds r1, 0x40
- ldrh r0, [r1]
- ands r0, r5
- orrs r0, r2
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r4
- bcc _080C1DC8
-_080C1DEC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C1D98
-
- thumb_func_start sub_80C1DFC
-sub_80C1DFC: @ 80C1DFC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x1
- ands r5, r0
- ands r2, r0
- lsls r2, 1
- orrs r5, r2
- cmp r4, 0xA
- bhi _080C1EE8
- lsls r0, r4, 2
- ldr r1, =_080C1E28
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C1E28:
- .4byte _080C1E54
- .4byte _080C1E54
- .4byte _080C1E54
- .4byte _080C1E64
- .4byte _080C1E64
- .4byte _080C1E7C
- .4byte _080C1E7C
- .4byte _080C1E64
- .4byte _080C1E64
- .4byte _080C1EA4
- .4byte _080C1E94
-_080C1E54:
- ldr r1, =gUnknown_0856ED30
- lsls r0, r4, 3
- adds r0, r1
- ldrb r1, [r0, 0x4]
- ldrb r2, [r0, 0x5]
- b _080C1EC2
- .pool
-_080C1E64:
- ldr r2, =gUnknown_0856ED48
- subs r1, r4, 0x3
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- ldrb r2, [r0, 0x5]
- ldrb r3, [r0, 0x6]
- adds r0, r5, 0
- bl sub_80C1D98
-_080C1E7C:
- ldr r2, =gUnknown_0856ED48
- subs r1, r4, 0x3
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x7]
- ldrb r2, [r0, 0x8]
- ldrb r3, [r0, 0x9]
- b _080C1EC4
- .pool
-_080C1E94:
- ldr r0, =gUnknown_0856ED48
- ldrb r1, [r0, 0x1C]
- ldrb r2, [r0, 0x1D]
- ldrb r3, [r0, 0x1E]
- b _080C1EC4
- .pool
-_080C1EA4:
- bl IsNationalPokedexEnabled
- cmp r0, 0
- bne _080C1ED0
- ldr r2, =gUnknown_0856ED48
- subs r1, r4, 0x3
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- ldrb r2, [r0, 0x5]
- subs r2, 0x2
- lsls r2, 24
- lsrs r2, 24
-_080C1EC2:
- ldrb r3, [r0, 0x6]
-_080C1EC4:
- adds r0, r5, 0
- bl sub_80C1D98
- b _080C1EE8
- .pool
-_080C1ED0:
- ldr r2, =gUnknown_0856ED48
- subs r1, r4, 0x3
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- ldrb r2, [r0, 0x5]
- ldrb r3, [r0, 0x6]
- adds r0, r5, 0
- bl sub_80C1D98
-_080C1EE8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C1DFC
-
- thumb_func_start sub_80C1EF4
-sub_80C1EF4: @ 80C1EF4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x1
- beq _080C1F5E
- cmp r0, 0x1
- bgt _080C1F0A
- cmp r0, 0
- beq _080C1F10
- b _080C203C
-_080C1F0A:
- cmp r1, 0x2
- beq _080C1FCE
- b _080C203C
-_080C1F10:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x4
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0xA
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x5
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x6
- movs r1, 0x1
- movs r2, 0
- b _080C1FAA
-_080C1F5E:
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0x1
- bl sub_80C1DFC
- movs r0, 0x4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_80C1DFC
- movs r0, 0xA
- movs r1, 0x1
- movs r2, 0x1
- bl sub_80C1DFC
- movs r0, 0x5
- movs r1, 0x1
- movs r2, 0x1
- bl sub_80C1DFC
- movs r0, 0x6
- movs r1, 0x1
- movs r2, 0x1
-_080C1FAA:
- bl sub_80C1DFC
- movs r0, 0x7
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x8
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x9
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- b _080C203C
-_080C1FCE:
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0x1
- bl sub_80C1DFC
- movs r0, 0x4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_80C1DFC
- movs r0, 0xA
- movs r1, 0x1
- movs r2, 0x1
- bl sub_80C1DFC
- movs r0, 0x5
- movs r1, 0x1
- movs r2, 0x1
- bl sub_80C1DFC
- movs r0, 0x6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_80C1DFC
- movs r0, 0x7
- movs r1, 0x1
- movs r2, 0x1
- bl sub_80C1DFC
- movs r0, 0x8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_80C1DFC
- movs r0, 0x9
- movs r1, 0x1
- movs r2, 0x1
- bl sub_80C1DFC
-_080C203C:
- pop {r0}
- bx r0
- thumb_func_end sub_80C1EF4
-
- thumb_func_start sub_80C2040
-sub_80C2040: @ 80C2040
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80C1EF4
- ldr r0, =gUnknown_0856ED30
- lsls r4, 3
- adds r4, r0
- ldr r0, [r4]
- bl sub_80C2618
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C2040
-
- thumb_func_start sub_80C2064
-sub_80C2064: @ 80C2064
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- bl sub_80C1EF4
- cmp r4, 0x6
- bhi _080C20DE
- lsls r0, r4, 2
- ldr r1, =_080C2084
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C2084:
- .4byte _080C20A0
- .4byte _080C20A4
- .4byte _080C20A8
- .4byte _080C20B6
- .4byte _080C20C4
- .4byte _080C20C8
- .4byte _080C20D4
-_080C20A0:
- movs r0, 0x3
- b _080C20CA
-_080C20A4:
- movs r0, 0x4
- b _080C20CA
-_080C20A8:
- movs r0, 0xA
- movs r1, 0
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x5
- b _080C20CA
-_080C20B6:
- movs r0, 0xA
- movs r1, 0
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x6
- b _080C20CA
-_080C20C4:
- movs r0, 0x7
- b _080C20CA
-_080C20C8:
- movs r0, 0x8
-_080C20CA:
- movs r1, 0
- movs r2, 0
- bl sub_80C1DFC
- b _080C20DE
-_080C20D4:
- movs r0, 0x9
- movs r1, 0
- movs r2, 0
- bl sub_80C1DFC
-_080C20DE:
- ldr r0, =gUnknown_0856ED48
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- bl sub_80C2618
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C2064
-
- thumb_func_start sub_80C20F8
-sub_80C20F8: @ 80C20F8
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x28
- movs r1, 0x10
- movs r2, 0x60
- movs r3, 0x50
- bl sub_80C12B0
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- ldrh r0, [r5, 0x16]
- ldrh r1, [r5, 0x14]
- adds r0, r1
- lsls r0, 16
- ldr r1, =gUnknown_0856EE5C
- lsrs r0, 13
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2D
- movs r2, 0x11
- bl sub_80C1270
- ldrh r0, [r5, 0x1A]
- ldrh r1, [r5, 0x18]
- adds r0, r1
- lsls r0, 16
- ldr r1, =gUnknown_0856EEB4
- lsrs r0, 13
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2D
- movs r2, 0x21
- bl sub_80C1270
- ldrh r0, [r5, 0x1E]
- ldrh r1, [r5, 0x1C]
- adds r0, r1
- lsls r0, 16
- ldr r4, =gUnknown_0856EF14
- lsrs r0, 13
- adds r4, 0x4
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0x2D
- movs r2, 0x31
- bl sub_80C1270
- ldrh r0, [r5, 0x22]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 13
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0x5D
- movs r2, 0x31
- bl sub_80C1270
- ldrh r0, [r5, 0x12]
- ldrh r1, [r5, 0x10]
- adds r0, r1
- lsls r0, 16
- ldr r1, =gUnknown_0856EE24
- lsrs r0, 13
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2D
- movs r2, 0x41
- bl sub_80C1270
- bl IsNationalPokedexEnabled
- cmp r0, 0
- beq _080C21B6
- ldrh r0, [r5, 0xE]
- ldrh r5, [r5, 0xC]
- adds r0, r5
- lsls r0, 16
- ldr r1, =gUnknown_0856EE0C
- lsrs r0, 13
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2D
- movs r2, 0x51
- bl sub_80C1270
-_080C21B6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C20F8
-
- thumb_func_start sub_80C21D4
-sub_80C21D4: @ 80C21D4
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x3
- bl GetBgTilemapBuffer
- adds r5, r0, 0
- cmp r4, 0
- bne _080C2268
- ldr r1, =0x00000c0b
- adds r0, r1, 0
- strh r0, [r5, 0x22]
- movs r1, 0x12
- ldr r0, =0x0000080d
- adds r2, r0, 0
-_080C21F4:
- lsls r0, r1, 1
- adds r0, r5
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1E
- bls _080C21F4
- movs r2, 0x1
- ldr r1, =0x0000040a
- adds r6, r1, 0
- movs r4, 0x2
-_080C220C:
- lsls r0, r2, 6
- adds r0, r5
- strh r6, [r0, 0x22]
- movs r1, 0x12
- adds r3, r2, 0x1
- adds r2, r0, 0
-_080C2218:
- lsls r0, r1, 1
- adds r0, r2
- strh r4, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1E
- bls _080C2218
- lsls r0, r3, 16
- lsrs r2, r0, 16
- cmp r2, 0xC
- bls _080C220C
- ldr r2, =0x00000362
- adds r1, r5, r2
- adds r2, 0xA9
- adds r0, r2, 0
- strh r0, [r1]
- movs r1, 0x12
- movs r3, 0xD0
- lsls r3, 2
- movs r2, 0xD
-_080C2242:
- lsls r0, r1, 1
- adds r0, r5
- adds r0, r3
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1E
- bls _080C2242
- b _080C228C
- .pool
-_080C2268:
- movs r2, 0
- movs r4, 0x4F
-_080C226C:
- movs r1, 0x11
- lsls r0, r2, 6
- adds r3, r2, 0x1
- adds r2, r0, r5
-_080C2274:
- lsls r0, r1, 1
- adds r0, r2
- strh r4, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1D
- bls _080C2274
- lsls r0, r3, 16
- lsrs r2, r0, 16
- cmp r2, 0xD
- bls _080C226C
-_080C228C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80C21D4
-
- thumb_func_start sub_80C2294
-sub_80C2294: @ 80C2294
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gUnknown_0856EFC8
- ldr r3, =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r0, r2, r3
- movs r5, 0xA
- ldrsh r1, [r0, r5]
- lsls r1, 3
- adds r1, r4
- ldr r6, [r1]
- adds r3, 0x8
- adds r2, r3
- ldrb r0, [r1, 0x4]
- lsls r0, 1
- adds r0, r2
- mov r8, r0
- ldrb r0, [r1, 0x5]
- lsls r0, 1
- adds r7, r2, r0
- bl sub_80C267C
- movs r5, 0
- ldrh r4, [r7]
- b _080C22F2
- .pool
-_080C22D8:
- adds r0, r1, r6
- ldr r1, [r0, 0x4]
- adds r0, r5, 0
- bl sub_80C2668
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r5, 0x5
- bhi _080C22FC
-_080C22F2:
- lsls r1, r4, 3
- adds r0, r1, r6
- ldr r0, [r0, 0x4]
- cmp r0, 0
- bne _080C22D8
-_080C22FC:
- mov r1, r8
- ldrh r0, [r1]
- ldrh r1, [r7]
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- ldr r0, [r0]
- bl sub_80C2618
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80C2294
-
- thumb_func_start sub_80C2318
-sub_80C2318: @ 80C2318
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- ldr r2, =gUnknown_0856EFC8
- lsls r0, r3, 3
- adds r0, r2
- ldrb r2, [r0, 0x4]
- lsls r2, 1
- adds r2, r1, r2
- ldrb r0, [r0, 0x5]
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r1]
- ldrh r2, [r2]
- adds r0, r2
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r3, 0x5
- bhi _080C237C
- lsls r0, r3, 2
- ldr r1, =_080C2364
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C2364:
- .4byte _080C2390
- .4byte _080C239A
- .4byte _080C23AA
- .4byte _080C23AA
- .4byte _080C2388
- .4byte _080C2380
-_080C237C:
- movs r0, 0
- b _080C23B0
-_080C2380:
- ldr r0, =gUnknown_0856EFAC
- b _080C23AC
- .pool
-_080C2388:
- ldr r0, =gUnknown_0856EFAE
- b _080C23AC
- .pool
-_080C2390:
- cmp r2, 0
- beq _080C239E
- lsls r0, r2, 24
- lsrs r0, 24
- b _080C23B0
-_080C239A:
- cmp r2, 0
- bne _080C23A2
-_080C239E:
- movs r0, 0xFF
- b _080C23B0
-_080C23A2:
- subs r0, r2, 0x1
- lsls r0, 24
- lsrs r0, 24
- b _080C23B0
-_080C23AA:
- ldr r0, =gUnknown_0856EFB4
-_080C23AC:
- adds r0, r2, r0
- ldrb r0, [r0]
-_080C23B0:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80C2318
-
- thumb_func_start sub_80C23B8
-sub_80C23B8: @ 80C23B8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x00000614
- adds r0, r2
- ldrh r0, [r0]
- adds r5, r1, 0
- cmp r0, 0
- beq _080C23D2
- cmp r0, 0x1
- beq _080C23E0
-_080C23D2:
- movs r3, 0
- b _080C23E2
- .pool
-_080C23E0:
- movs r3, 0x1
-_080C23E2:
- ldr r1, =gTasks
- lsls r2, r4, 2
- adds r0, r2, r4
- lsls r0, 3
- adds r0, r1
- strh r3, [r0, 0xC]
- ldr r0, [r5]
- movs r3, 0xC3
- lsls r3, 3
- adds r0, r3
- ldrh r0, [r0]
- adds r5, r1, 0
- cmp r0, 0x5
- bhi _080C2428
- lsls r0, 2
- ldr r1, =_080C2410
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C2410:
- .4byte _080C2428
- .4byte _080C242C
- .4byte _080C2430
- .4byte _080C2434
- .4byte _080C2438
- .4byte _080C243C
-_080C2428:
- movs r3, 0
- b _080C243E
-_080C242C:
- movs r3, 0x1
- b _080C243E
-_080C2430:
- movs r3, 0x2
- b _080C243E
-_080C2434:
- movs r3, 0x3
- b _080C243E
-_080C2438:
- movs r3, 0x4
- b _080C243E
-_080C243C:
- movs r3, 0x5
-_080C243E:
- adds r0, r2, r4
- lsls r0, 3
- adds r0, r5
- strh r3, [r0, 0x10]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80C23B8
-
- thumb_func_start sub_80C244C
-sub_80C244C: @ 80C244C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r0, r1, r3
- ldrb r2, [r0, 0xA]
- adds r3, 0x8
- adds r1, r3
- ldr r0, =gUnknown_0856EFC8
- lsls r2, 3
- adds r2, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r2, 0x6]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5
- bls _080C248C
- ldrh r0, [r1]
- cmp r0, 0
- beq _080C248C
- movs r0, 0
- b _080C248E
- .pool
-_080C248C:
- movs r0, 0x1
-_080C248E:
- pop {r1}
- bx r1
- thumb_func_end sub_80C244C
-
- thumb_func_start sub_80C2494
-sub_80C2494: @ 80C2494
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r0, r1, r3
- ldrb r2, [r0, 0xA]
- adds r3, 0x8
- adds r1, r3
- ldr r0, =gUnknown_0856EFC8
- lsls r2, 3
- adds r2, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r2, 0x6]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5
- bls _080C24D8
- ldrh r1, [r1]
- subs r0, 0x5
- cmp r1, r0
- bge _080C24D8
- movs r0, 0
- b _080C24DA
- .pool
-_080C24D8:
- movs r0, 0x1
-_080C24DA:
- pop {r1}
- bx r1
- thumb_func_end sub_80C2494
-
- thumb_func_start sub_80C24E0
-sub_80C24E0: @ 80C24E0
- push {r4,lr}
- adds r4, r0, 0
- ldr r2, =gTasks
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =sub_80C1BCC
- cmp r1, r0
- bne _080C2580
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080C2528
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80C2494
- lsls r0, 24
- cmp r0, 0
- beq _080C2544
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- b _080C2550
- .pool
-_080C2528:
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80C244C
- lsls r0, 24
- cmp r0, 0
- beq _080C2544
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- b _080C2550
-_080C2544:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
-_080C2550:
- strb r0, [r2]
- ldrh r2, [r4, 0x32]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- lsls r0, 7
- adds r0, r2, r0
- lsls r0, 24
- ldr r1, =gSineTable
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _080C256E
- adds r0, 0x7F
-_080C256E:
- asrs r0, 7
- strh r0, [r4, 0x26]
- adds r0, r2, 0
- adds r0, 0x8
- strh r0, [r4, 0x32]
- b _080C258C
- .pool
-_080C2580:
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080C258C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80C24E0
-
- thumb_func_start sub_80C2594
-sub_80C2594: @ 80C2594
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r6, =gUnknown_0855D1AC
- adds r0, r6, 0
- movs r1, 0xB8
- movs r2, 0x4
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r0, r1, r4
- movs r2, 0
- strh r5, [r0, 0x2E]
- strh r2, [r0, 0x30]
- movs r0, 0x1C
- adds r0, r4
- mov r9, r0
- add r1, r9
- ldr r0, =sub_80C24E0
- mov r8, r0
- str r0, [r1]
- adds r0, r6, 0
- movs r1, 0xB8
- movs r2, 0x6C
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r4, r1, r4
- strh r5, [r4, 0x2E]
- movs r0, 0x1
- strh r0, [r4, 0x30]
- adds r4, 0x3F
- ldrb r0, [r4]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r4]
- add r1, r9
- mov r0, r8
- str r0, [r1]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C2594
-
- thumb_func_start sub_80C2618
-sub_80C2618: @ 80C2618
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x8
- movs r1, 0x78
- movs r2, 0xE0
- movs r3, 0x20
- bl sub_80C12B0
- adds r0, r4, 0
- movs r1, 0x8
- movs r2, 0x79
- bl sub_80C1270
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80C2618
-
- thumb_func_start sub_80C2638
-sub_80C2638: @ 80C2638
- push {lr}
- adds r1, r0, 0
- lsls r1, 4
- adds r1, 0x8
- movs r0, 0x90
- movs r2, 0x8
- movs r3, 0x10
- bl sub_80C12B0
- pop {r0}
- bx r0
- thumb_func_end sub_80C2638
-
- thumb_func_start sub_80C2650
-sub_80C2650: @ 80C2650
- push {lr}
- adds r2, r0, 0
- ldr r0, =gText_SelectorArrow
- lsls r2, 4
- adds r2, 0x9
- movs r1, 0x90
- bl sub_80C1270
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C2650
-
- thumb_func_start sub_80C2668
-sub_80C2668: @ 80C2668
- push {lr}
- adds r2, r0, 0
- adds r0, r1, 0
- lsls r2, 4
- adds r2, 0x9
- movs r1, 0x98
- bl sub_80C1270
- pop {r0}
- bx r0
- thumb_func_end sub_80C2668
-
- thumb_func_start sub_80C267C
-sub_80C267C: @ 80C267C
- push {lr}
- movs r0, 0x90
- movs r1, 0x8
- movs r2, 0x60
- movs r3, 0x60
- bl sub_80C12B0
- pop {r0}
- bx r0
- thumb_func_end sub_80C267C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_icon.s b/asm/pokemon_icon.s
deleted file mode 100644
index 40291bee4..000000000
--- a/asm/pokemon_icon.s
+++ /dev/null
@@ -1,822 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start CreateMonIcon
-@ int CreateMonIcon(u16 speciesId, int a2, u16 a3, u16 a4, u8 a5, u32 personality, int a7)
-CreateMonIcon: @ 80D2CC4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x30
- adds r4, r0, 0
- adds r6, r1, 0
- ldr r0, [sp, 0x4C]
- ldr r1, [sp, 0x50]
- ldr r5, [sp, 0x54]
- lsls r4, 16
- lsrs r4, 16
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- lsls r3, 16
- lsrs r7, r3, 16
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, =sMonIconOamData
- str r0, [sp, 0x18]
- adds r0, r4, 0
- adds r2, r5, 0
- bl GetMonIconPtr
- str r0, [sp, 0x1C]
- ldr r0, =sMonIconAnims
- str r0, [sp, 0x20]
- ldr r0, =sMonIconAffineAnims
- str r0, [sp, 0x24]
- str r6, [sp, 0x28]
- ldr r0, =gMonIconPaletteIndices
- adds r0, r4, r0
- ldr r1, =0x0000dac0
- adds r5, r1, 0
- ldrb r0, [r0]
- adds r1, r5, r0
- add r0, sp, 0x2C
- strh r1, [r0]
- add r1, sp, 0x18
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- bls _080D2D2A
- mov r0, sp
- strh r5, [r0, 0x14]
-_080D2D2A:
- mov r0, r8
- lsls r1, r0, 16
- asrs r1, 16
- lsls r2, r7, 16
- asrs r2, 16
- mov r0, sp
- mov r3, r9
- bl sub_80D31B4
- 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
- bl sub_80D30DC
- adds r0, r4, 0
- add sp, 0x30
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CreateMonIcon
-
- thumb_func_start sub_80D2D78
-sub_80D2D78: @ 80D2D78
- push {r4-r7,lr}
- sub sp, 0x18
- adds r4, r2, 0
- adds r5, r3, 0
- ldr r6, [sp, 0x2C]
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 24
- lsrs r6, 24
- mov r3, sp
- ldr r2, =sMonIconOamData
- str r2, [sp]
- movs r2, 0
- str r2, [sp, 0x4]
- ldr r2, =sMonIconAnims
- str r2, [sp, 0x8]
- ldr r2, =sMonIconAffineAnims
- str r2, [sp, 0xC]
- str r1, [sp, 0x10]
- ldr r2, =gMonIconPaletteIndices
- adds r2, r0, r2
- ldr r7, =0x0000dac0
- adds r1, r7, 0
- ldrb r2, [r2]
- adds r1, r2
- strh r1, [r3, 0x14]
- ldr r1, [sp, 0x30]
- bl GetMonIconTiles
- str r0, [sp, 0x4]
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_80D31B4
- 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
- bl sub_80D30DC
- adds r0, r4, 0
- add sp, 0x18
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D2D78
-
- thumb_func_start mon_icon_convert_unown_species_id
-@ u16 mon_icon_convert_unown_species_id(u16 speciesId, u32 personality)
-mon_icon_convert_unown_species_id: @ 80D2E08
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0xC9
- bne _080D2E32
- adds r0, r1, 0
- bl GetUnownLetterByPersonality
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _080D2E24
- movs r0, 0xC9
- b _080D2E2E
-_080D2E24:
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
-_080D2E2E:
- adds r1, r0, 0
- b _080D2E40
-_080D2E32:
- movs r0, 0xCE
- lsls r0, 1
- adds r1, r2, 0
- cmp r1, r0
- bls _080D2E40
- movs r1, 0x82
- lsls r1, 1
-_080D2E40:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end mon_icon_convert_unown_species_id
-
- thumb_func_start GetUnownLetterByPersonality
-GetUnownLetterByPersonality: @ 80D2E48
- push {lr}
- adds r2, r0, 0
- cmp r2, 0
- beq _080D2E7E
- 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
- b _080D2E80
-_080D2E7E:
- movs r0, 0
-_080D2E80:
- pop {r1}
- bx r1
- thumb_func_end GetUnownLetterByPersonality
-
- thumb_func_start sub_80D2E84
-sub_80D2E84: @ 80D2E84
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- mov r1, sp
- bl MailSpeciesToSpecies
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xC9
- bne _080D2EBA
- mov r0, sp
- ldrh r0, [r0]
- cmp r0, 0
- bne _080D2EAA
- mov r1, sp
- adds r0, 0xC9
- b _080D2EB2
-_080D2EAA:
- mov r1, sp
- movs r2, 0xCE
- lsls r2, 1
- adds r0, r2
-_080D2EB2:
- strh r0, [r1]
- mov r0, sp
- ldrh r0, [r0]
- b _080D2ED2
-_080D2EBA:
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- bls _080D2EC6
- movs r4, 0x82
- lsls r4, 1
-_080D2EC6:
- adds r0, r4, 0
- movs r1, 0
- bl mon_icon_convert_unown_species_id
- lsls r0, 16
- lsrs r0, 16
-_080D2ED2:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80D2E84
-
- thumb_func_start GetMonIconPtr
-@ void *GetMonIconPtr(u16 speciesId, u32 personality, bool32)
-GetMonIconPtr: @ 80D2EDC
- push {r4,lr}
- adds r4, r2, 0
- lsls r0, 16
- lsrs r0, 16
- bl mon_icon_convert_unown_species_id
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl GetMonIconTiles
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetMonIconPtr
-
- thumb_func_start sub_80D2EF8
-sub_80D2EF8: @ 80D2EF8
- push {lr}
- bl sub_80D328C
- pop {r0}
- bx r0
- thumb_func_end sub_80D2EF8
-
- thumb_func_start sub_80D2F04
-sub_80D2F04: @ 80D2F04
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =gMonIconPaletteTable
-_080D2F0A:
- lsls r0, r4, 3
- adds r0, r5
- bl LoadSpritePalette
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _080D2F0A
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2F04
-
- thumb_func_start sub_80D2F28
-sub_80D2F28: @ 80D2F28
- push {r4,lr}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bls _080D2F3A
- movs r1, 0x82
- lsls r1, 1
-_080D2F3A:
- ldr r0, =gMonIconPaletteIndices
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r1, =gMonIconPaletteTable
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080D2F5A
- adds r0, r4, 0
- bl LoadSpritePalette
-_080D2F5A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2F28
-
- thumb_func_start sub_80D2F68
-sub_80D2F68: @ 80D2F68
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =gMonIconPaletteIndices
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, =gMonIconPaletteTable
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080D2F8E
- adds r0, r4, 0
- bl LoadSpritePalette
-_080D2F8E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2F68
-
- thumb_func_start sub_80D2F9C
-sub_80D2F9C: @ 80D2F9C
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =gMonIconPaletteTable
-_080D2FA2:
- lsls r0, r4, 3
- adds r0, r5
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _080D2FA2
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2F9C
-
- thumb_func_start sub_80D2FC0
-sub_80D2FC0: @ 80D2FC0
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bls _080D2FD2
- movs r1, 0x82
- lsls r1, 1
-_080D2FD2:
- ldr r0, =gMonIconPaletteIndices
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r1, =gMonIconPaletteTable
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2FC0
-
- thumb_func_start sub_80D2FF0
-sub_80D2FF0: @ 80D2FF0
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =gMonIconPaletteIndices
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, =gMonIconPaletteTable
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2FF0
-
- thumb_func_start sub_80D3014
-sub_80D3014: @ 80D3014
- push {lr}
- bl sub_80D30DC
- pop {r0}
- bx r0
- thumb_func_end sub_80D3014
-
- thumb_func_start GetMonIconTiles
-@ void *GetMonIconTiles(u16 speciesId, bool32)
-GetMonIconTiles: @ 80D3020
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- lsrs r0, 16
- ldr r2, =gMonIconTable
- lsls r1, r0, 2
- adds r1, r2
- ldr r2, [r1]
- movs r1, 0xCD
- lsls r1, 1
- cmp r0, r1
- bne _080D3042
- cmp r3, 0x1
- bne _080D3042
- movs r0, 0x80
- lsls r0, 3
- adds r2, r0
-_080D3042:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetMonIconTiles
-
- thumb_func_start sub_80D304C
-sub_80D304C: @ 80D304C
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0xA0
- bhi _080D3074
- ldr r6, =gMonIconPaletteTable
- movs r5, 0x5
-_080D305A:
- ldr r0, [r6]
- adds r1, r4, 0
- movs r2, 0x20
- bl LoadPalette
- adds r0, r4, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r4, r0, 16
- adds r6, 0x8
- subs r5, 0x1
- cmp r5, 0
- bge _080D305A
-_080D3074:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D304C
-
- thumb_func_start sub_80D3080
-sub_80D3080: @ 80D3080
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bls _080D3092
- movs r1, 0x82
- lsls r1, 1
-_080D3092:
- ldr r0, =gMonIconPaletteIndices
- adds r0, r1, r0
- ldrb r0, [r0]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D3080
-
- thumb_func_start sub_80D30A0
-sub_80D30A0: @ 80D30A0
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =gMonIconPaletteIndices
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80D30A0
-
- thumb_func_start GetValidMonIconPalettePtr
-GetValidMonIconPalettePtr: @ 80D30B0
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- movs r0, 0xCE
- lsls r0, 1
- cmp r2, r0
- bls _080D30C2
- movs r2, 0x82
- lsls r2, 1
-_080D30C2:
- ldr r1, =gMonIconPaletteTable
- ldr r0, =gMonIconPaletteIndices
- adds r0, r2, r0
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0]
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetValidMonIconPalettePtr
-
- thumb_func_start sub_80D30DC
-sub_80D30DC: @ 80D30DC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- movs r7, 0
- adds r6, r4, 0
- adds r6, 0x2C
- ldrb r2, [r6]
- movs r0, 0x3F
- mov r9, r0
- ands r0, r2
- cmp r0, 0
- bne _080D3190
- movs r1, 0x2A
- adds r1, r4
- mov r8, r1
- ldrb r1, [r1]
- ldr r0, [r4, 0x8]
- lsls r1, 2
- adds r1, r0
- adds r5, r4, 0
- adds r5, 0x2B
- ldrb r0, [r5]
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- ldrsh r3, [r0, r1]
- movs r0, 0x2
- negs r0, r0
- cmp r3, r0
- beq _080D3126
- adds r0, 0x1
- cmp r3, r0
- bne _080D312A
- b _080D31A4
-_080D3126:
- strb r7, [r5]
- b _080D31A4
-_080D312A:
- ldr r2, =sSpriteImageSizes
- ldrb r1, [r4, 0x3]
- lsrs r1, 6
- lsls r1, 1
- ldrb r0, [r4, 0x1]
- lsrs r0, 6
- lsls r0, 3
- adds r1, r0
- adds r1, r2
- ldrh r2, [r1]
- adds r1, r2, 0
- muls r1, r3
- ldr r0, [r4, 0xC]
- adds r0, r1
- ldrh r1, [r4, 0x4]
- lsls r1, 22
- lsrs r1, 17
- ldr r3, =0x06010000
- adds r1, r3
- bl RequestSpriteCopy
- mov r0, r8
- ldrb r1, [r0]
- ldr r0, [r4, 0x8]
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r5]
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- lsls r0, 10
- lsrs r0, 26
- mov r1, r9
- ands r1, r0
- ldrb r2, [r6]
- movs r0, 0x40
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6]
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- ldrb r7, [r5]
- b _080D31A4
- .pool
-_080D3190:
- lsls r0, r2, 26
- lsrs r0, 26
- subs r0, 0x1
- movs r1, 0x3F
- ands r0, r1
- movs r1, 0x40
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r6]
-_080D31A4:
- adds r0, r7, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80D30DC
-
- thumb_func_start sub_80D31B4
-sub_80D31B4: @ 80D31B4
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x38
- mov r9, r0
- adds r4, r1, 0
- adds r5, r2, 0
- mov r8, r3
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0
- str r0, [sp, 0x30]
- ldr r2, =sSpriteImageSizes
- mov r0, r9
- ldr r6, [r0]
- ldrb r1, [r6, 0x3]
- lsrs r1, 6
- lsls r1, 1
- ldrb r0, [r6, 0x1]
- lsrs r0, 6
- lsls r0, 3
- adds r1, r0
- adds r1, r2
- ldrh r2, [r1]
- ldr r1, =0xffff0000
- add r3, sp, 0x30
- ldr r0, [r3, 0x4]
- ands r0, r1
- orrs r0, r2
- str r0, [r3, 0x4]
- add r1, sp, 0x18
- ldr r0, =0x0000ffff
- strh r0, [r1]
- mov r0, r9
- ldrh r2, [r0, 0x14]
- mov r0, sp
- adds r0, 0x1A
- strh r2, [r0]
- str r6, [sp, 0x1C]
- mov r2, r9
- ldr r0, [r2, 0x8]
- str r0, [sp, 0x20]
- str r3, [sp, 0x24]
- ldr r0, [r2, 0xC]
- str r0, [sp, 0x28]
- ldr r0, [r2, 0x10]
- str r0, [sp, 0x2C]
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- mov r3, r8
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r6, =gSprites
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- adds r4, r3, r6
- adds r5, r4, 0
- adds r5, 0x2C
- ldrb r1, [r5]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r5]
- adds r4, 0x3F
- ldrb r2, [r4]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r4]
- adds r6, 0xC
- adds r3, r6
- mov r2, r9
- ldr r1, [r2, 0x4]
- str r1, [r3]
- add sp, 0x38
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D31B4
-
- thumb_func_start sub_80D328C
-sub_80D328C: @ 80D328C
- push {lr}
- sub sp, 0x8
- movs r1, 0
- str r1, [sp]
- ldr r3, =sSpriteImageSizes
- ldrb r2, [r0, 0x3]
- lsrs r2, 6
- lsls r2, 1
- ldrb r1, [r0, 0x1]
- lsrs r1, 6
- lsls r1, 3
- adds r2, r1
- adds r2, r3
- ldrh r3, [r2]
- ldr r2, =0xffff0000
- ldr r1, [sp, 0x4]
- ands r1, r2
- orrs r1, r3
- str r1, [sp, 0x4]
- mov r1, sp
- str r1, [r0, 0xC]
- bl DestroySprite
- add sp, 0x8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D328C
-
- thumb_func_start sub_80D32C8
-sub_80D32C8: @ 80D32C8
- mov r12, r0
- adds r0, 0x2A
- movs r3, 0
- strb r1, [r0]
- mov r2, r12
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x40
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- mov r0, r12
- adds r0, 0x2B
- strb r3, [r0]
- bx lr
- thumb_func_end sub_80D32C8
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index a74538fb1..24e041b7f 100644
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -245,7 +245,7 @@ _080C72AC:
b _080C7318
.pool
_080C730C:
- bl sub_80ABDFC
+ bl IsWeatherNotFadingIn
lsls r0, 24
cmp r0, 0
bne _080C7318
@@ -1837,7 +1837,7 @@ _080C805E:
movs r0, 0x1
movs r1, 0xB
movs r2, 0xE0
- bl sub_809882C
+ bl LoadUserWindowBorderGfx
b _080C8198
.pool
_080C808C:
@@ -6712,7 +6712,7 @@ sub_80CAC1C: @ 80CAC1C
movs r0, 0x1
movs r1, 0x2
movs r2, 0xD0
- bl sub_809882C
+ bl LoadUserWindowBorderGfx
movs r0, 0x20
str r0, [sp]
movs r0, 0x14
@@ -6737,7 +6737,7 @@ sub_80CAC58: @ 80CAC58
sub sp, 0xC
lsls r0, 24
lsrs r6, r0, 24
- bl UnkTextUtil_Reset
+ bl DynamicPlaceholderTextUtil_Reset
ldr r1, =gUnknown_0857276C
lsls r0, r6, 3
adds r0, r1
@@ -6774,7 +6774,7 @@ _080CACB8:
adds r1, r2
_080CACC0:
movs r0, 0
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
b _080CAD30
.pool
_080CACD0:
@@ -6817,7 +6817,7 @@ _080CAD16:
ldr r0, =0x000021eb
adds r1, r0
movs r0, 0
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
_080CAD30:
ldr r5, =gUnknown_02039D08
ldr r0, [r5]
@@ -6827,7 +6827,7 @@ _080CAD30:
lsls r1, r6, 3
adds r1, r2
ldr r1, [r1]
- bl UnkTextUtil_StringExpandPlaceholders
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
movs r0, 0x1
movs r1, 0x11
bl FillWindowPixelBuffer
@@ -7034,7 +7034,7 @@ _080CAEFA:
thumb_func_start sub_80CAF04
sub_80CAF04: @ 80CAF04
push {r4-r6,lr}
- bl sub_80D2F04
+ bl LoadMonIconPalettes
movs r2, 0
ldr r3, =gUnknown_02039D08
ldr r5, =0x00000b08
@@ -14810,7 +14810,7 @@ _080CF020:
beq _080CF0AC
ldr r3, =0x00000d65
adds r4, r3
- bl ItemId_GetItem
+ bl ItemId_GetName
adds r1, r0, 0
adds r0, r4, 0
movs r2, 0
@@ -19057,7 +19057,7 @@ sub_80D12B8: @ 80D12B8
ldr r1, =0x00002234
adds r0, r1
ldrh r0, [r0]
- bl ItemId_GetItem
+ bl ItemId_GetName
pop {r1}
bx r1
.pool
diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s
index 3b41afb55..b2cba6dab 100644
--- a/asm/pokemon_summary_screen.s
+++ b/asm/pokemon_summary_screen.s
@@ -5,869 +5,7 @@
.text
- thumb_func_start sub_81C3E2C
-sub_81C3E2C: @ 81C3E2C
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x4
- bne _081C3E48
- ldr r0, =gUnknown_0203CF1C
- ldr r0, [r0]
- ldr r1, =0x000040c4
- b _081C3E50
- .pool
-_081C3E48:
- ldr r0, =gUnknown_0203CF1C
- ldr r0, [r0]
- lsls r1, 1
- adds r0, 0x84
-_081C3E50:
- adds r0, r1
- ldrh r4, [r0]
- cmp r4, 0
- beq _081C3E82
- ldr r0, =gUnknown_0861CD14
- movs r1, 0x2
- bl sub_81C2D2C
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gContestEffectDescriptionPointers
- ldr r2, =gContestMoves
- lsls r1, r4, 3
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- movs r2, 0
- str r2, [sp]
- str r2, [sp, 0x4]
- movs r2, 0x6
- movs r3, 0x1
- bl sub_81C25A4
-_081C3E82:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C3E2C
-
- thumb_func_start sub_81C3E9C
-sub_81C3E9C: @ 81C3E9C
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 16
- lsrs r4, r0, 16
- adds r6, r4, 0
- ldr r0, =gUnknown_0861CD14
- movs r1, 0x2
- bl sub_81C2D2C
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- cmp r4, 0
- beq _081C3F30
- ldr r0, =gUnknown_0203CF1C
- ldr r0, [r0]
- ldr r1, =0x000040c0
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _081C3F00
- adds r0, r4, 0
- bl sub_81C3C5C
- ldr r1, =gMoveDescriptionPointers
- subs r0, r4, 0x1
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r2, 0x6
- movs r3, 0x1
- bl sub_81C25A4
- b _081C3F20
- .pool
-_081C3F00:
- ldr r2, =gContestEffectDescriptionPointers
- ldr r1, =gContestMoves
- lsls r0, r6, 3
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r2
- ldr r1, [r0]
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r2, 0x6
- movs r3, 0x1
- bl sub_81C25A4
-_081C3F20:
- adds r0, r5, 0
- bl PutWindowTilemap
- b _081C3F36
- .pool
-_081C3F30:
- adds r0, r5, 0
- bl ClearWindowTilemap
-_081C3F36:
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81C3E9C
-
- thumb_func_start sub_81C3F44
-sub_81C3F44: @ 81C3F44
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r4, =gUnknown_0861CD14
- adds r0, r4, 0
- movs r1, 0
- bl sub_81C2D2C
- lsls r0, 24
- lsrs r6, r0, 24
- adds r7, r6, 0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81C2D2C
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, =gUnknown_0203CF1C
- ldr r1, [r0]
- ldr r2, =0x000040c4
- adds r0, r1, r2
- ldrh r2, [r0]
- cmp r2, 0
- bne _081C3F9C
- ldr r1, =gText_Cancel
- str r2, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- adds r0, r6, 0
- movs r2, 0
- movs r3, 0x41
- bl sub_81C25A4
- b _081C4044
- .pool
-_081C3F9C:
- ldrh r5, [r0]
- ldr r2, =0x000040c0
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _081C3FD0
- movs r0, 0xD
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gMoveNames
- adds r1, r0
- movs r0, 0
- str r0, [sp]
- movs r0, 0x6
- str r0, [sp, 0x4]
- adds r0, r6, 0
- movs r2, 0
- movs r3, 0x41
- bl sub_81C25A4
- b _081C3FEC
- .pool
-_081C3FD0:
- movs r0, 0xD
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gMoveNames
- adds r1, r0
- movs r0, 0
- str r0, [sp]
- movs r0, 0x5
- str r0, [sp, 0x4]
- adds r0, r7, 0
- movs r2, 0
- movs r3, 0x41
- bl sub_81C25A4
-_081C3FEC:
- ldr r4, =gStringVar1
- ldr r1, =gBattleMoves
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x4]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- bl UnkTextUtil_Reset
- movs r0, 0
- adds r1, r4, 0
- bl UnkTextUtil_SetPtrI
- movs r0, 0x1
- adds r1, r4, 0
- bl UnkTextUtil_SetPtrI
- ldr r4, =gStringVar4
- ldr r1, =gUnknown_0861CE97
- adds r0, r4, 0
- bl UnkTextUtil_StringExpandPlaceholders
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0x2C
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC
- str r0, [sp, 0x4]
- mov r0, r8
- adds r1, r4, 0
- movs r3, 0x41
- bl sub_81C25A4
-_081C4044:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C3F44
-
- thumb_func_start sub_81C4064
-sub_81C4064: @ 81C4064
- push {r4,lr}
- sub sp, 0x8
- ldr r0, =gUnknown_0861CD14
- movs r1, 0
- bl sub_81C2D2C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x48
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x42
- bl FillWindowPixelRect
- adds r0, r4, 0
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C4064
-
- thumb_func_start sub_81C40A0
-sub_81C40A0: @ 81C40A0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r9, r0
- mov r10, r1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- mov r0, r10
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r5, =gUnknown_0861CD14
- adds r0, r5, 0
- movs r1, 0
- bl sub_81C2D2C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81C2D2C
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- mov r0, r9
- lsls r6, r0, 4
- movs r0, 0x48
- mov r8, r0
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- adds r3, r6, 0
- bl FillWindowPixelRect
- mov r0, r10
- lsls r7, r0, 4
- mov r0, r8
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- adds r3, r7, 0
- bl FillWindowPixelRect
- movs r4, 0x30
- str r4, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- adds r3, r6, 0
- bl FillWindowPixelRect
- str r4, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- adds r3, r7, 0
- bl FillWindowPixelRect
- mov r0, r9
- bl sub_81C3B08
- mov r0, r10
- bl sub_81C3B08
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C40A0
-
- thumb_func_start sub_81C4154
-sub_81C4154: @ 81C4154
- push {r4,lr}
- sub sp, 0x8
- ldr r0, =gUnknown_0861CD14
- movs r1, 0x2
- bl sub_81C2D2C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r1, =gText_HMMovesCantBeForgotten2
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r2, 0x6
- movs r3, 0x1
- bl sub_81C25A4
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C4154
-
- thumb_func_start sub_81C4190
-sub_81C4190: @ 81C4190
- push {r4,r5,lr}
- movs r2, 0
- ldr r5, =gUnknown_0203CF1C
- ldr r4, =0x000040d3
- movs r3, 0xFF
-_081C419A:
- ldr r0, [r5]
- adds r0, r4
- adds r0, r2
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1B
- bls _081C419A
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C4190
-
- thumb_func_start sub_81C41C0
-sub_81C41C0: @ 81C41C0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, =gUnknown_0203CF1C
- ldr r0, [r5]
- ldr r1, =0x000040d3
- adds r0, r1
- adds r1, r0, r4
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _081C41F2
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- ldr r0, [r5]
- ldr r1, =0x000040d3
- adds r0, r1
- adds r0, r4
- movs r1, 0xFF
- strb r1, [r0]
-_081C41F2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C41C0
-
- thumb_func_start sub_81C4204
-sub_81C4204: @ 81C4204
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gSprites
- ldr r2, =gUnknown_0203CF1C
- ldr r2, [r2]
- ldr r4, =0x000040d3
- adds r2, r4
- adds r2, r0
- ldrb r0, [r2]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- adds r2, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C4204
-
- thumb_func_start sub_81C424C
-sub_81C424C: @ 81C424C
- push {r4,lr}
- movs r4, 0x3
-_081C4250:
- ldr r0, =gUnknown_0203CF1C
- ldr r0, [r0]
- ldr r1, =0x000040d3
- adds r0, r1
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _081C4268
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81C4204
-_081C4268:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1B
- bls _081C4250
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C424C
- thumb_func_start sub_81C4280
-sub_81C4280: @ 81C4280
- push {lr}
- ldr r0, =gUnknown_0203CF1C
- ldr r0, [r0]
- ldr r1, =0x000040c0
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _081C42B0
- cmp r0, 0x2
- bgt _081C42A4
- cmp r0, 0
- beq _081C42AA
- b _081C42C2
- .pool
-_081C42A4:
- cmp r0, 0x3
- beq _081C42BA
- b _081C42C2
-_081C42AA:
- bl sub_81C43A0
- b _081C42C2
-_081C42B0:
- bl sub_81C4420
- bl sub_81C44F0
- b _081C42C2
-_081C42BA:
- bl sub_81C4484
- bl sub_81C44F0
-_081C42C2:
- pop {r0}
- bx r0
- thumb_func_end sub_81C4280
-
- thumb_func_start sub_81C42C8
-sub_81C42C8: @ 81C42C8
- push {r4,r5,lr}
- movs r4, 0x3
- ldr r5, =gUnknown_0203CF1C
-_081C42CE:
- ldr r0, [r5]
- ldr r1, =0x000040d3
- adds r0, r1
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _081C42F2
- ldr r0, =gUnknown_0861CFC4
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl CreateSprite
- ldr r1, [r5]
- ldr r2, =0x000040d3
- adds r1, r2
- adds r1, r4
- strb r0, [r1]
-_081C42F2:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81C4204
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _081C42CE
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C42C8
-
- thumb_func_start sub_81C4318
-sub_81C4318: @ 81C4318
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- mov r8, r2
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =gUnknown_0203CF1C
- ldr r0, [r0]
- ldr r1, =0x000040d3
- adds r0, r1
- adds r0, r3
- ldrb r0, [r0]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- adds r0, r4, 0
- adds r1, r5, 0
- str r3, [sp]
- bl StartSpriteAnim
- ldr r0, =gUnknown_0861CFDC
- adds r5, r0
- ldrb r1, [r5]
- lsls r1, 4
- ldrb r2, [r4, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- adds r6, 0x10
- strh r6, [r4, 0x20]
- movs r0, 0x8
- add r8, r0
- mov r1, r8
- strh r1, [r4, 0x22]
- ldr r3, [sp]
- adds r0, r3, 0
- movs r1, 0
- bl sub_81C4204
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C4318
-
- thumb_func_start sub_81C43A0
-sub_81C43A0: @ 81C43A0
- push {r4,r5,lr}
- ldr r0, =gUnknown_0203CF1C
- ldr r0, [r0]
- adds r5, r0, 0
- adds r5, 0x70
- ldrb r0, [r5, 0x4]
- cmp r0, 0
- beq _081C43CC
- movs r0, 0x9
- movs r1, 0x78
- movs r2, 0x30
- movs r3, 0x3
- bl sub_81C4318
- movs r0, 0x4
- movs r1, 0x1
- bl sub_81C4204
- b _081C4418
- .pool
-_081C43CC:
- ldr r4, =gBaseStats
- ldrh r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x6]
- movs r1, 0x78
- movs r2, 0x30
- movs r3, 0x3
- bl sub_81C4318
- ldrh r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r1, r0, r4
- ldrb r0, [r1, 0x6]
- ldrb r2, [r1, 0x7]
- cmp r0, r2
- beq _081C4410
- ldrb r0, [r1, 0x7]
- movs r1, 0xA0
- movs r2, 0x30
- movs r3, 0x4
- bl sub_81C4318
- movs r0, 0x4
- movs r1, 0
- bl sub_81C4204
- b _081C4418
- .pool
-_081C4410:
- movs r0, 0x4
- movs r1, 0x1
- bl sub_81C4204
-_081C4418:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81C43A0
-
- thumb_func_start sub_81C4420
-sub_81C4420: @ 81C4420
- push {r4-r6,lr}
- ldr r0, =gUnknown_0203CF1C
- ldr r0, [r0]
- adds r5, r0, 0
- adds r5, 0x70
- movs r4, 0
- ldr r6, =gBattleMoves
-_081C442E:
- lsls r0, r4, 1
- adds r1, r5, 0
- adds r1, 0x14
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _081C4468
- adds r1, r0, 0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x2]
- lsls r2, r4, 28
- movs r1, 0x80
- lsls r1, 22
- adds r2, r1
- lsrs r2, 24
- adds r3, r4, 0x3
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x55
- bl sub_81C4318
- b _081C4474
- .pool
-_081C4468:
- adds r0, r4, 0x3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_81C4204
-_081C4474:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081C442E
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81C4420
-
- thumb_func_start sub_81C4484
-sub_81C4484: @ 81C4484
- push {r4,r5,lr}
- ldr r0, =gUnknown_0203CF1C
- ldr r0, [r0]
- adds r5, r0, 0
- adds r5, 0x70
- movs r4, 0
-_081C4490:
- lsls r0, r4, 1
- adds r1, r5, 0
- adds r1, 0x14
- adds r2, r1, r0
- ldrh r0, [r2]
- cmp r0, 0
- beq _081C44D4
- ldr r1, =gContestMoves
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0, 0x1]
- lsls r0, 29
- lsrs r0, 5
- movs r1, 0x90
- lsls r1, 21
- adds r0, r1
- lsrs r0, 24
- lsls r2, r4, 28
- movs r1, 0x80
- lsls r1, 22
- adds r2, r1
- lsrs r2, 24
- adds r3, r4, 0x3
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x55
- bl sub_81C4318
- b _081C44E0
- .pool
-_081C44D4:
- adds r0, r4, 0x3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_81C4204
-_081C44E0:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081C4490
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81C4484
-
- thumb_func_start sub_81C44F0
-sub_81C44F0: @ 81C44F0
- push {lr}
- ldr r0, =gUnknown_0203CF1C
- ldr r1, [r0]
- ldr r0, =0x000040c4
- adds r3, r1, r0
- ldrh r0, [r3]
- cmp r0, 0
- bne _081C4514
- movs r0, 0x7
- movs r1, 0x1
- bl sub_81C4204
- b _081C4560
- .pool
-_081C4514:
- ldr r2, =0x000040c0
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _081C4540
- ldr r2, =gBattleMoves
- ldrh r1, [r3]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x2]
- movs r1, 0x55
- movs r2, 0x60
- movs r3, 0x7
- bl sub_81C4318
- b _081C4560
- .pool
-_081C4540:
- ldr r1, =gContestMoves
- ldrh r0, [r3]
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0, 0x1]
- lsls r0, 29
- lsrs r0, 5
- movs r1, 0x90
- lsls r1, 21
- adds r0, r1
- lsrs r0, 24
- movs r1, 0x55
- movs r2, 0x60
- movs r3, 0x7
- bl sub_81C4318
-_081C4560:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C44F0
thumb_func_start sub_81C4568
sub_81C4568: @ 81C4568
@@ -1092,7 +230,7 @@ _081C4750:
bl LoadCompressedObjectPalette
ldrh r0, [r4, 0x4]
movs r1, 0x1
- bl sub_806A068
+ bl SetMultiuseSpriteTemplateToPokemon
_081C4768:
ldrh r0, [r6]
adds r0, 0x1
@@ -1116,7 +254,7 @@ sub_81C4778: @ 81C4778
bne _081C47AE
adds r0, r1, 0
adds r0, 0xC
- bl ShouldPlayNormalPokeCry
+ bl ShouldPlayNormalMonCry
cmp r0, 0x1
bne _081C47A4
ldrh r0, [r4, 0x2]
@@ -1144,7 +282,7 @@ sub_81C47B4: @ 81C47B4
ldr r0, =gUnknown_0203CF1C
ldr r6, [r0]
adds r6, 0x70
- ldr r0, =gUnknown_0202499C
+ ldr r0, =gMultiuseSpriteTemplate
movs r1, 0x28
movs r2, 0x40
movs r3, 0x5
@@ -2070,7 +1208,7 @@ sub_81C4F44: @ 81C4F44
cmp r0, 0
bne _081C4F6E
bl overworld_free_bg_tilemaps
- ldr r0, =gUnknown_03005DB0
+ ldr r0, =gFieldCallback2
ldr r1, =hm_add_c3_without_phase_2
str r1, [r0]
ldr r1, =CB2_ReturnToField
@@ -2869,7 +2007,7 @@ sub_81C5674: @ 81C5674
movs r1, 0xAC
movs r2, 0xC
movs r3, 0x94
- bl AddScrollIndicatorArrowPairParametrized
+ bl AddScrollIndicatorArrowPairParameterized
ldr r1, [r4]
ldr r2, =0x00000816
adds r1, r2
@@ -4686,7 +3824,7 @@ sub_81C6648: @ 81C6648
.pool
_081C667C:
ldrh r0, [r5]
- bl itemid_is_unique
+ bl ItemId_GetImportance
lsls r0, 24
cmp r0, 0
bne _081C66A0
@@ -4799,7 +3937,7 @@ sub_81C674C: @ 81C674C
.pool
_081C677C:
ldrh r0, [r5]
- bl itemid_is_unique
+ bl ItemId_GetImportance
lsls r0, 24
cmp r0, 0
bne _081C6790
@@ -4868,7 +4006,7 @@ sub_81C67CC: @ 81C67CC
ldrb r0, [r5]
movs r1, 0x10
movs r2, 0x1
- bl sub_81AF15C
+ bl ListMenuSetUnkIndicatorsStructField
ldr r0, =gSaveBlock2Ptr
ldr r3, [r0]
movs r0, 0x2
@@ -5293,11 +4431,11 @@ sub_81C6BD8: @ 81C6BD8
movs r0, 0
movs r1, 0x1
movs r2, 0xE0
- bl sub_809882C
+ bl LoadUserWindowBorderGfx
movs r0, 0
movs r1, 0xA
movs r2, 0xD0
- bl copy_textbox_border_tile_patterns_to_vram
+ bl LoadMessageBoxGfx
ldr r0, =gUnknown_0860F074
movs r1, 0xF0
movs r2, 0x20
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 56bf3d41f..c9fe787e0 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -66,7 +66,7 @@ sub_81C72BC: @ 81C72BC
str r0, [r4]
cmp r0, 0
bne _081C72F0
- ldr r0, =CB2_ReturnToFieldContinueScript
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
b _081C7320
.pool
@@ -351,7 +351,7 @@ _081C752C:
bl sub_81C7334
cmp r4, 0
beq _081C755C
- ldr r0, =CB2_ReturnToFieldContinueScript
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
b _081C7562
.pool
@@ -1568,7 +1568,7 @@ sub_81C7E58: @ 81C7E58
ldr r2, [r6]
mov r8, r2
mov r0, r8
- bl sub_8034974
+ bl GetDecompressedDataSize
adds r5, r0, 0
lsls r4, 5
ldr r0, =gPokenavLeftHeader_Pal
@@ -1585,7 +1585,7 @@ sub_81C7E58: @ 81C7E58
adds r0, r4, 0
movs r2, 0x20
bl LoadPalette
- ldr r4, =0x0201c000
+ ldr r4, =gDecompressionBuffer
mov r0, r8
adds r1, r4, 0
bl LZ77UnCompWram
@@ -1650,7 +1650,7 @@ sub_81C7F24: @ 81C7F24
adds r1, r2
ldr r6, [r1]
adds r0, r6, 0
- bl sub_8034974
+ bl GetDecompressedDataSize
adds r5, r0, 0
lsls r4, 5
ldr r0, =gPokenavLeftHeader_Pal
@@ -1667,7 +1667,7 @@ sub_81C7F24: @ 81C7F24
adds r0, r4, 0
movs r2, 0x20
bl LoadPalette
- ldr r4, =0x0201d000
+ ldr r4, =gDecompressionBuffer+0x1000
adds r0, r6, 0
adds r1, r4, 0
bl LZ77UnCompWram
@@ -7611,7 +7611,7 @@ _081CAD4C:
ldrh r5, [r4, 0x8]
_081CAD50:
adds r0, r5, 0
- bl sub_81D15F4
+ bl MatchCallFlagGetByIndex
cmp r0, 0
beq _081CAD80
ldrh r0, [r4, 0xA]
@@ -7834,7 +7834,7 @@ sub_81CAEBC: @ 81CAEBC
b _081CAEDC
_081CAED4:
ldrh r0, [r1, 0x1E]
- bl sub_81D1854
+ bl MatchCall_GetRematchTableIdx
adds r4, r0, 0
_081CAEDC:
cmp r4, 0x4E
@@ -7870,7 +7870,7 @@ sub_81CAF04: @ 81CAF04
cmp r0, 0
bne _081CAF34
ldrh r0, [r1, 0x1E]
- bl sub_81D15BC
+ bl GetTrainerIdxByRematchIdx
adds r4, r0, 0
ldr r1, =gTrainers
lsls r0, r4, 2
@@ -7883,7 +7883,7 @@ sub_81CAF04: @ 81CAF04
_081CAF34:
ldrh r5, [r1, 0x1E]
adds r0, r5, 0
- bl sub_81D1854
+ bl MatchCall_GetRematchTableIdx
adds r4, r0, 0
cmp r4, 0x4E
bne _081CAF58
@@ -7897,7 +7897,7 @@ _081CAF34:
.pool
_081CAF58:
adds r0, r4, 0
- bl sub_81D15BC
+ bl GetTrainerIdxByRematchIdx
adds r4, r0, 0
ldr r0, =gTrainers
lsls r1, r4, 2
@@ -7938,7 +7938,7 @@ _081CAFA4:
cmp r0, 0
bne _081CAFC4
ldrh r0, [r1, 0x1E]
- bl sub_81D15BC
+ bl GetTrainerIdxByRematchIdx
ldr r1, =gStringVar4
bl sub_81967AC
strb r0, [r6]
@@ -7947,7 +7947,7 @@ _081CAFA4:
_081CAFC4:
ldrh r0, [r1, 0x1E]
ldr r1, =gStringVar4
- bl sub_81D189C
+ bl MatchCall_GetMessage
_081CAFCC:
ldr r0, =gStringVar4
_081CAFCE:
@@ -7970,7 +7970,7 @@ sub_81CAFD8: @ 81CAFD8
cmp r0, 0
beq _081CB004
ldrh r0, [r4, 0x1E]
- bl sub_81D1854
+ bl MatchCall_GetRematchTableIdx
adds r1, r0, 0
cmp r1, 0x4E
bne _081CB006
@@ -8036,7 +8036,7 @@ sub_81CB050: @ 81CB050
cmp r0, 0
bne _081CB088
ldrh r0, [r2, 0x2]
- bl sub_81D15BC
+ bl GetTrainerIdxByRematchIdx
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
@@ -8207,11 +8207,11 @@ _081CB18A:
movs r4, 0
_081CB192:
adds r0, r4, 0
- bl sub_81D15F4
+ bl MatchCallFlagGetByIndex
cmp r0, 0
beq _081CB1C0
adds r0, r4, 0
- bl sub_81D1854
+ bl MatchCall_GetRematchTableIdx
ldr r1, =gSaveBlock1Ptr
ldr r1, [r1]
ldr r2, =0x000009ca
@@ -10101,7 +10101,7 @@ sub_81CC09C: @ 81CC09C
ldrb r0, [r4, 0x14]
movs r1, 0x1
movs r2, 0x40
- bl sub_809882C
+ bl LoadUserWindowBorderGfx
ldrb r0, [r4, 0x14]
movs r1, 0x1
movs r2, 0x4
@@ -11351,7 +11351,7 @@ sub_81CCA1C: @ 81CCA1C
lsrs r0, 24
movs r1, 0x42
movs r2, 0x40
- bl box_border_load_tiles_and_pal
+ bl LoadUserWindowBorderGfx_
ldrb r0, [r5, 0x8]
movs r1, 0x42
movs r2, 0x4
@@ -16941,17 +16941,17 @@ sub_81CF7F4: @ 81CF7F4
mov r8, r0
bl sub_81CF0F0
adds r7, r0, 0
- bl UnkTextUtil_Reset
+ bl DynamicPlaceholderTextUtil_Reset
ldr r4, =gStringVar1
movs r0, 0
adds r1, r4, 0
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r0, 0xFF
strb r0, [r4]
ldr r5, =gStringVar2
ldr r1, =gText_NumberF700
adds r0, r5, 0
- bl UnkTextUtil_StringExpandPlaceholders
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
mov r1, r8
ldrb r0, [r1, 0x8]
movs r1, 0x1
@@ -19854,14 +19854,14 @@ sub_81D0E84: @ 81D0E84
movs r2, 0
movs r3, 0x2
bl ConvertIntToDecimalStringN
- bl UnkTextUtil_Reset
+ bl DynamicPlaceholderTextUtil_Reset
movs r0, 0
adds r1, r4, 0
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r4, =gStringVar4
ldr r1, =gText_RibbonsF700
adds r0, r4, 0
- bl UnkTextUtil_StringExpandPlaceholders
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
ldrb r0, [r5, 0xA]
movs r1, 0x44
bl FillWindowPixelBuffer
@@ -20697,1034 +20697,7 @@ _081D156A:
.pool
thumb_func_end sub_81D1538
- thumb_func_start sub_81D1574
-sub_81D1574: @ 81D1574
- push {lr}
- ldrb r0, [r0]
- cmp r0, 0x5
- bhi _081D15A4
- lsls r0, 2
- ldr r1, =_081D158C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081D158C:
- .4byte _081D15A4
- .4byte _081D15A8
- .4byte _081D15AC
- .4byte _081D15B4
- .4byte _081D15B0
- .4byte _081D15A8
-_081D15A4:
- movs r0, 0
- b _081D15B6
-_081D15A8:
- movs r0, 0x1
- b _081D15B6
-_081D15AC:
- movs r0, 0x2
- b _081D15B6
-_081D15B0:
- movs r0, 0x3
- b _081D15B6
-_081D15B4:
- movs r0, 0x4
-_081D15B6:
- pop {r1}
- bx r1
- thumb_func_end sub_81D1574
-
- thumb_func_start sub_81D15BC
-sub_81D15BC: @ 81D15BC
- ldr r1, =gRematchTable
- lsls r0, 4
- adds r0, r1
- ldrh r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_81D15BC
-
- thumb_func_start sub_81D15CC
-sub_81D15CC: @ 81D15CC
- push {lr}
- adds r3, r0, 0
- movs r1, 0
- ldr r2, =gRematchTable
-_081D15D4:
- ldrh r0, [r2]
- cmp r0, r3
- bne _081D15E4
- adds r0, r1, 0
- b _081D15F0
- .pool
-_081D15E4:
- adds r2, 0x10
- adds r1, 0x1
- cmp r1, 0x4D
- ble _081D15D4
- movs r0, 0x1
- negs r0, r0
-_081D15F0:
- pop {r1}
- bx r1
- thumb_func_end sub_81D15CC
-
- thumb_func_start sub_81D15F4
-sub_81D15F4: @ 81D15F4
- push {r4,lr}
- cmp r0, 0x14
- bhi _081D1620
- ldr r1, =gUnknown_086252A8
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_81D1574
- ldr r1, =gUnknown_086252FC
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _081D1622
- .pool
-_081D1620:
- movs r0, 0
-_081D1622:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81D15F4
-
- thumb_func_start sub_81D1628
-sub_81D1628: @ 81D1628
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2]
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _081D1644
- adds r0, r1, 0
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- b _081D1646
- .pool
-_081D1644:
- movs r0, 0x1
-_081D1646:
- pop {r1}
- bx r1
- thumb_func_end sub_81D1628
-
- thumb_func_start sub_81D164C
-sub_81D164C: @ 81D164C
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2]
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _081D1668
- adds r0, r1, 0
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- b _081D166A
- .pool
-_081D1668:
- movs r0, 0x1
-_081D166A:
- pop {r1}
- bx r1
- thumb_func_end sub_81D164C
-
- thumb_func_start sub_81D1670
-sub_81D1670: @ 81D1670
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2]
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _081D168C
- adds r0, r1, 0
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- b _081D168E
- .pool
-_081D168C:
- movs r0, 0x1
-_081D168E:
- pop {r1}
- bx r1
- thumb_func_end sub_81D1670
-
- thumb_func_start sub_81D1694
-sub_81D1694: @ 81D1694
- push {lr}
- adds r2, r0, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldrb r0, [r2, 0x1]
- ldrb r1, [r1, 0x8]
- cmp r0, r1
- beq _081D16AC
- movs r0, 0
- b _081D16C6
- .pool
-_081D16AC:
- ldrh r1, [r2, 0x2]
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _081D16C4
- adds r0, r1, 0
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- b _081D16C6
- .pool
-_081D16C4:
- movs r0, 0x1
-_081D16C6:
- pop {r1}
- bx r1
- thumb_func_end sub_81D1694
-
- thumb_func_start sub_81D16CC
-sub_81D16CC: @ 81D16CC
- push {lr}
- ldrh r0, [r0, 0x2]
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_81D16CC
-
- thumb_func_start sub_81D16DC
-sub_81D16DC: @ 81D16DC
- push {r4,lr}
- cmp r0, 0x14
- bhi _081D170C
- ldr r1, =gUnknown_086252A8
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_81D1574
- ldr r1, =gUnknown_08625310
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- lsrs r0, 24
- b _081D170E
- .pool
-_081D170C:
- movs r0, 0
-_081D170E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81D16DC
-
- thumb_func_start sub_81D1714
-sub_81D1714: @ 81D1714
- ldrb r0, [r0, 0x1]
- bx lr
- thumb_func_end sub_81D1714
-
- thumb_func_start sub_81D1718
-sub_81D1718: @ 81D1718
- ldrb r0, [r0, 0x1]
- bx lr
- thumb_func_end sub_81D1718
-
- thumb_func_start sub_81D171C
-sub_81D171C: @ 81D171C
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r6, 0
- ldr r7, =0x0000ffff
- b _081D172E
- .pool
-_081D172C:
- adds r6, 0x1
-_081D172E:
- ldr r0, [r5, 0x10]
- lsls r4, r6, 2
- adds r1, r4, r0
- ldrh r0, [r1]
- cmp r0, r7
- beq _081D1744
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _081D172C
-_081D1744:
- ldr r0, [r5, 0x10]
- adds r0, r4, r0
- ldrb r0, [r0, 0x2]
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81D171C
-
- thumb_func_start sub_81D1750
-sub_81D1750: @ 81D1750
- movs r0, 0xD5
- bx lr
- thumb_func_end sub_81D1750
-
- thumb_func_start sub_81D1754
-sub_81D1754: @ 81D1754
- movs r0, 0xD5
- bx lr
- thumb_func_end sub_81D1754
-
- thumb_func_start sub_81D1758
-sub_81D1758: @ 81D1758
- push {r4,lr}
- cmp r0, 0x14
- bhi _081D1784
- ldr r1, =gUnknown_086252A8
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_81D1574
- ldr r1, =gUnknown_08625324
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _081D1786
- .pool
-_081D1784:
- movs r0, 0
-_081D1786:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81D1758
-
- thumb_func_start sub_81D178C
-sub_81D178C: @ 81D178C
- movs r0, 0
- bx lr
- thumb_func_end sub_81D178C
-
- thumb_func_start sub_81D1790
-sub_81D1790: @ 81D1790
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x4]
- cmp r0, 0x48
- bhi _081D17B8
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x000009ca
- adds r0, r2
- ldrh r1, [r1, 0x4]
- adds r0, r1
- ldrb r1, [r0]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- b _081D17BA
- .pool
-_081D17B8:
- movs r0, 0
-_081D17BA:
- pop {r1}
- bx r1
- thumb_func_end sub_81D1790
-
- thumb_func_start sub_81D17C0
-sub_81D17C0: @ 81D17C0
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- ldr r2, =0x000009ca
- adds r1, r2
- ldrh r0, [r0, 0x4]
- adds r1, r0
- ldrb r1, [r1]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- bx lr
- .pool
- thumb_func_end sub_81D17C0
-
- thumb_func_start sub_81D17E0
-sub_81D17E0: @ 81D17E0
- movs r0, 0
- bx lr
- thumb_func_end sub_81D17E0
-
- thumb_func_start sub_81D17E4
-sub_81D17E4: @ 81D17E4
- movs r0, 0
- bx lr
- thumb_func_end sub_81D17E4
-
- thumb_func_start sub_81D17E8
-sub_81D17E8: @ 81D17E8
- push {r4,r5,lr}
- adds r5, r0, 0
- cmp r5, 0x14
- bhi _081D1832
- ldr r1, =gUnknown_086252A8
- lsls r0, r5, 2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_81D1574
- adds r2, r0, 0
- ldr r1, =gUnknown_08625338
- lsls r0, r2, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- cmp r0, 0
- beq _081D1820
-_081D1812:
- movs r0, 0x1
- b _081D1834
- .pool
-_081D1820:
- movs r2, 0
- ldr r1, =gUnknown_08625388
-_081D1824:
- ldrh r0, [r1]
- cmp r0, r5
- beq _081D1812
- adds r1, 0x18
- adds r2, 0x1
- cmp r2, 0x3
- bls _081D1824
-_081D1832:
- movs r0, 0
-_081D1834:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D17E8
-
- thumb_func_start sub_81D1840
-sub_81D1840: @ 81D1840
- movs r0, 0
- bx lr
- thumb_func_end sub_81D1840
-
- thumb_func_start sub_81D1844
-sub_81D1844: @ 81D1844
- movs r0, 0x1
- bx lr
- thumb_func_end sub_81D1844
-
- thumb_func_start sub_81D1848
-sub_81D1848: @ 81D1848
- movs r0, 0x1
- bx lr
- thumb_func_end sub_81D1848
-
- thumb_func_start sub_81D184C
-sub_81D184C: @ 81D184C
- movs r0, 0
- bx lr
- thumb_func_end sub_81D184C
-
- thumb_func_start sub_81D1850
-sub_81D1850: @ 81D1850
- movs r0, 0
- bx lr
- thumb_func_end sub_81D1850
-
- thumb_func_start sub_81D1854
-sub_81D1854: @ 81D1854
- push {r4,lr}
- cmp r0, 0x14
- bhi _081D1880
- ldr r1, =gUnknown_086252A8
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_81D1574
- ldr r1, =gUnknown_0862534C
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _081D1882
- .pool
-_081D1880:
- movs r0, 0x4E
-_081D1882:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81D1854
-
- thumb_func_start sub_81D1888
-sub_81D1888: @ 81D1888
- movs r0, 0x4E
- bx lr
- thumb_func_end sub_81D1888
-
- thumb_func_start sub_81D188C
-sub_81D188C: @ 81D188C
- ldrh r0, [r0, 0x4]
- bx lr
- thumb_func_end sub_81D188C
-
- thumb_func_start sub_81D1890
-sub_81D1890: @ 81D1890
- ldrh r0, [r0, 0x4]
- bx lr
- thumb_func_end sub_81D1890
-
- thumb_func_start sub_81D1894
-sub_81D1894: @ 81D1894
- movs r0, 0x4E
- bx lr
- thumb_func_end sub_81D1894
-
- thumb_func_start sub_81D1898
-sub_81D1898: @ 81D1898
- movs r0, 0x4E
- bx lr
- thumb_func_end sub_81D1898
-
- thumb_func_start sub_81D189C
-sub_81D189C: @ 81D189C
- push {r4,r5,lr}
- adds r5, r1, 0
- cmp r0, 0x14
- bhi _081D18C2
- ldr r1, =gUnknown_086252A8
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_81D1574
- ldr r1, =gUnknown_08625360
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl _call_via_r2
-_081D18C2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D189C
-
- thumb_func_start sub_81D18D0
-sub_81D18D0: @ 81D18D0
- push {lr}
- ldr r0, [r0, 0xC]
- bl sub_81D1920
- pop {r0}
- bx r0
- thumb_func_end sub_81D18D0
-
- thumb_func_start sub_81D18DC
-sub_81D18DC: @ 81D18DC
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldrb r0, [r3]
- cmp r0, 0x5
- beq _081D18F0
- ldr r0, [r3, 0x10]
- bl sub_81D1920
- b _081D18F8
-_081D18F0:
- ldr r0, [r3, 0x10]
- ldrh r1, [r3, 0x4]
- bl sub_81D199C
-_081D18F8:
- pop {r0}
- bx r0
- thumb_func_end sub_81D18DC
-
- thumb_func_start sub_81D18FC
-sub_81D18FC: @ 81D18FC
- push {lr}
- ldr r0, [r0, 0xC]
- bl sub_81D1920
- pop {r0}
- bx r0
- thumb_func_end sub_81D18FC
-
- thumb_func_start sub_81D1908
-sub_81D1908: @ 81D1908
- push {lr}
- ldr r0, [r0, 0xC]
- bl sub_81D1920
- pop {r0}
- bx r0
- thumb_func_end sub_81D1908
-
- thumb_func_start sub_81D1914
-sub_81D1914: @ 81D1914
- push {lr}
- adds r0, r1, 0
- bl sub_8197080
- pop {r0}
- bx r0
- thumb_func_end sub_81D1914
-
- thumb_func_start sub_81D1920
-sub_81D1920: @ 81D1920
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- mov r9, r1
- movs r5, 0
- ldr r0, [r6]
- cmp r0, 0
- beq _081D1940
- adds r1, r6, 0
-_081D1936:
- adds r1, 0x8
- adds r5, 0x1
- ldr r0, [r1]
- cmp r0, 0
- bne _081D1936
-_081D1940:
- cmp r5, 0
- beq _081D1946
- subs r5, 0x1
-_081D1946:
- ldr r0, =0x0000ffff
- mov r8, r0
- lsls r0, r5, 3
- adds r0, 0x4
- adds r4, r0, r6
- b _081D195C
- .pool
-_081D1958:
- subs r4, 0x8
- subs r5, 0x1
-_081D195C:
- lsls r7, r5, 3
- cmp r5, 0
- beq _081D1974
- ldrh r0, [r4]
- cmp r0, r8
- beq _081D1958
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081D1958
-_081D1974:
- adds r4, r7, r6
- ldrh r1, [r4, 0x6]
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _081D1984
- adds r0, r1, 0
- bl FlagSet
-_081D1984:
- ldr r1, [r4]
- mov r0, r9
- bl StringExpandPlaceholders
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D1920
-
- thumb_func_start sub_81D199C
-sub_81D199C: @ 81D199C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- mov r10, r2
- lsls r1, 16
- lsrs r7, r1, 16
- movs r5, 0
- ldr r0, [r6]
- cmp r0, 0
- beq _081D19E6
- ldrh r0, [r6, 0x4]
- ldr r1, =0x0000fffe
- cmp r0, r1
- beq _081D1A24
- ldr r0, =0x0000ffff
- mov r9, r0
- mov r8, r1
- adds r4, r6, 0
-_081D19C6:
- ldrh r0, [r4, 0x4]
- cmp r0, r9
- beq _081D19D6
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _081D19E6
-_081D19D6:
- adds r4, 0x8
- adds r5, 0x1
- ldr r0, [r4]
- cmp r0, 0
- beq _081D19E6
- ldrh r0, [r4, 0x4]
- cmp r0, r8
- bne _081D19C6
-_081D19E6:
- lsls r0, r5, 3
- adds r0, r6
- ldrh r1, [r0, 0x4]
- ldr r0, =0x0000fffe
- cmp r1, r0
- beq _081D1A24
- cmp r5, 0
- beq _081D19F8
- subs r5, 0x1
-_081D19F8:
- lsls r0, r5, 3
- adds r4, r0, r6
- ldrh r1, [r4, 0x6]
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _081D1A0A
- adds r0, r1, 0
- bl FlagSet
-_081D1A0A:
- ldr r1, [r4]
- mov r0, r10
- bl StringExpandPlaceholders
- b _081D1A5C
- .pool
-_081D1A1C:
- adds r5, 0x2
- b _081D1A50
-_081D1A20:
- adds r5, 0x3
- b _081D1A50
-_081D1A24:
- ldr r0, =0x00000864
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _081D1A50
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000009ca
- adds r0, r1
- adds r0, r7
- ldrb r0, [r0]
- cmp r0, 0
- bne _081D1A1C
- adds r0, r7, 0
- bl CountBattledRematchTeams
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _081D1A20
- adds r5, 0x1
-_081D1A50:
- lsls r0, r5, 3
- adds r0, r6
- ldr r1, [r0]
- mov r0, r10
- bl StringExpandPlaceholders
-_081D1A5C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D199C
-
- thumb_func_start sub_81D1A78
-sub_81D1A78: @ 81D1A78
- push {r4-r6,lr}
- adds r5, r1, 0
- adds r6, r2, 0
- cmp r0, 0x14
- bhi _081D1AA2
- ldr r1, =gUnknown_086252A8
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_81D1574
- ldr r1, =gUnknown_08625374
- lsls r0, 2
- adds r0, r1
- ldr r3, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl _call_via_r3
-_081D1AA2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D1A78
-
- thumb_func_start sub_81D1AB0
-sub_81D1AB0: @ 81D1AB0
- ldr r3, [r0, 0x4]
- str r3, [r1]
- ldr r0, [r0, 0x8]
- str r0, [r2]
- bx lr
- thumb_func_end sub_81D1AB0
-
- thumb_func_start sub_81D1ABC
-sub_81D1ABC: @ 81D1ABC
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r4, r0, 0
- ldr r0, [r4, 0xC]
- cmp r0, 0
- bne _081D1AD0
- ldrh r0, [r4, 0x4]
- bl sub_81D1B0C
- b _081D1AD2
-_081D1AD0:
- str r0, [r2]
-_081D1AD2:
- ldr r0, [r4, 0x8]
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81D1ABC
-
- thumb_func_start sub_81D1ADC
-sub_81D1ADC: @ 81D1ADC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrh r0, [r4, 0x4]
- bl sub_81D1B0C
- ldr r0, [r4, 0x8]
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81D1ADC
-
- thumb_func_start sub_81D1AF4
-sub_81D1AF4: @ 81D1AF4
- ldr r3, [r0, 0x4]
- str r3, [r1]
- ldr r0, [r0, 0x8]
- str r0, [r2]
- bx lr
- thumb_func_end sub_81D1AF4
-
- thumb_func_start sub_81D1B00
-sub_81D1B00: @ 81D1B00
- ldr r3, [r0, 0x4]
- str r3, [r1]
- ldr r0, [r0, 0x8]
- str r0, [r2]
- bx lr
- thumb_func_end sub_81D1B00
-
- thumb_func_start sub_81D1B0C
-sub_81D1B0C: @ 81D1B0C
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- bl sub_81D15BC
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTrainers
- adds r1, r0
- ldrb r2, [r1, 0x1]
- movs r0, 0xD
- muls r0, r2
- ldr r2, =gTrainerClassNames
- adds r0, r2
- str r0, [r4]
- adds r1, 0x4
- str r1, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D1B0C
-
- thumb_func_start sub_81D1B40
-sub_81D1B40: @ 81D1B40
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- movs r5, 0
- ldr r2, =gUnknown_08625388
- movs r0, 0x8
- adds r0, r2
- mov r9, r0
-_081D1B54:
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 3
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, r6
- bne _081D1BBC
- adds r4, r5, 0x1
- lsls r1, 2
- mov r8, r1
- cmp r4, 0x3
- bhi _081D1BA8
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 3
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, r6
- bne _081D1BA8
- ldr r7, =gUnknown_08625388
-_081D1B7C:
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 3
- adds r1, r7, 0x4
- adds r0, r1
- ldrh r0, [r0]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _081D1BA8
- adds r5, r4, 0
- adds r4, r5, 0x1
- cmp r4, 0x3
- bhi _081D1BA8
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 3
- adds r0, r7
- ldrh r0, [r0]
- cmp r0, r6
- beq _081D1B7C
-_081D1BA8:
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 3
- add r0, r8
- add r0, r9
- ldr r0, [r0]
- b _081D1BC4
- .pool
-_081D1BBC:
- adds r5, 0x1
- cmp r5, 0x3
- bls _081D1B54
- movs r0, 0
-_081D1BC4:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81D1B40
-
- thumb_func_start sub_81D1BD0
-sub_81D1BD0: @ 81D1BD0
- push {lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r1, =gUnknown_08625388
-_081D1BD8:
- ldrh r0, [r1]
- cmp r0, r3
- bne _081D1BE8
- ldrh r0, [r1, 0x2]
- b _081D1BF4
- .pool
-_081D1BE8:
- adds r1, 0x18
- adds r2, 0x1
- cmp r2, 0x3
- bls _081D1BD8
- movs r0, 0x1
- negs r0, r0
-_081D1BF4:
- pop {r1}
- bx r1
- thumb_func_end sub_81D1BD0
-
- thumb_func_start sub_81D1BF8
-sub_81D1BF8: @ 81D1BF8
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r4, 0
-_081D1BFE:
- adds r0, r4, 0
- bl sub_81D1854
- cmp r0, 0x4E
- beq _081D1C10
- cmp r0, r5
- bne _081D1C10
- movs r0, 0x1
- b _081D1C18
-_081D1C10:
- adds r4, 0x1
- cmp r4, 0x14
- ble _081D1BFE
- movs r0, 0
-_081D1C18:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81D1BF8
-
- thumb_func_start sub_81D1C20
-sub_81D1C20: @ 81D1C20
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- bl sub_81D15CC
- cmp r0, 0
- blt _081D1C3C
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl FlagSet
-_081D1C3C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D1C20
+ .section .text.after.match.call
thumb_func_start sub_81D1C44
sub_81D1C44: @ 81D1C44
@@ -21780,7 +20753,7 @@ sub_81D1C84: @ 81D1C84
ldr r0, [r0, 0x10]
str r0, [sp]
str r1, [sp, 0x4]
- ldr r0, =gUnknown_085DFF04
+ ldr r0, =gMailboxMailOptions
movs r1, 0x4
bl GetMaxWidthInMenuTable
lsls r0, 24
@@ -22028,7 +21001,7 @@ sub_81D1E90: @ 81D1E90
movs r1, 0xC8
movs r2, 0xC
movs r3, 0x94
- bl AddScrollIndicatorArrowPairParametrized
+ bl AddScrollIndicatorArrowPairParameterized
strb r0, [r4, 0x9]
add sp, 0x10
pop {r4}
@@ -23309,7 +22282,7 @@ sub_81D2824: @ 81D2824
movs r0, 0
movs r1, 0x1
movs r2, 0xE0
- bl sub_809882C
+ bl LoadUserWindowBorderGfx
ldr r0, =gUnknown_0860F074
movs r1, 0xF0
movs r2, 0x20
@@ -26611,7 +25584,7 @@ sub_81D4258: @ 81D4258
ldrb r2, [r0, 0x4]
movs r0, 0x1
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
mov r0, sp
ldrb r0, [r0]
add sp, 0x4
@@ -26633,7 +25606,7 @@ sub_81D427C: @ 81D427C
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
adds r5, r1, r2
ldr r4, =gUnknown_030012F8
ldr r3, =gPlayerAvatar
@@ -26671,7 +25644,7 @@ _081D42CA:
mov r8, r0
cmp r0, 0x3
bls _081D42CA
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
@@ -26727,7 +25700,7 @@ _081D4356:
_081D4360:
movs r4, 0
mov r8, r4
- ldr r6, =gMapObjects
+ ldr r6, =gEventObjects
mov r10, r6
_081D4368:
ldr r3, =gPlayerAvatar
@@ -26745,7 +25718,7 @@ _081D4368:
ldrsh r2, [r4, r6]
movs r6, 0
ldrsh r0, [r0, r6]
- ldr r6, =gMapObjects
+ ldr r6, =gEventObjects
mov r9, r6
mov r12, r3
adds r7, r1, 0
@@ -26893,7 +25866,7 @@ _081D449E:
ldrsh r1, [r4, r3]
movs r3, 0
ldrsh r0, [r0, r3]
- ldr r3, =gMapObjects
+ ldr r3, =gEventObjects
mov r9, r3
mov r12, r2
cmp r1, r0
@@ -27151,7 +26124,7 @@ _081D46D0:
ldrsh r0, [r0, r3]
cmp r0, 0
bne _081D476E
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
@@ -27176,7 +26149,7 @@ _081D46D0:
beq _081D470C
b _081D447C
_081D470C:
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
@@ -27230,7 +26203,7 @@ _081D476E:
ldrsh r0, [r0, r2]
cmp r0, 0
bne _081D480C
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
@@ -27255,7 +26228,7 @@ _081D476E:
beq _081D47AA
b _081D45AA
_081D47AA:
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
@@ -27326,7 +26299,7 @@ sub_81D4834: @ 81D4834
lsls r0, 16
lsls r1, 16
lsrs r4, r1, 16
- ldr r3, =gMapObjects
+ ldr r3, =gEventObjects
ldr r1, =gPlayerAvatar
ldrb r2, [r1, 0x5]
lsls r1, r2, 3
@@ -27377,7 +26350,7 @@ sub_81D4890: @ 81D4890
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r4, r1, r0
movs r1, 0
ldr r3, =gUnknown_030012FC
@@ -27530,9 +26503,9 @@ _081D49E0:
bx r0
thumb_func_end sub_81D4998
- thumb_func_start FieldObjectIsFarawayIslandMew
-@ bool8 FieldObjectIsFarawayIslandMew(struct npc_state *fieldObject)
-FieldObjectIsFarawayIslandMew: @ 81D49E8
+ thumb_func_start EventObjectIsFarawayIslandMew
+@ bool8 EventObjectIsFarawayIslandMew(struct npc_state *eventObject)
+EventObjectIsFarawayIslandMew: @ 81D49E8
push {lr}
adds r2, r0, 0
ldr r0, =gSaveBlock1Ptr
@@ -27552,10 +26525,10 @@ _081D4A0C:
_081D4A0E:
pop {r1}
bx r1
- thumb_func_end FieldObjectIsFarawayIslandMew
+ thumb_func_end EventObjectIsFarawayIslandMew
- thumb_func_start unown_chamber_related
-unown_chamber_related: @ 81D4A14
+ thumb_func_start IsMewPlayingHideAndSeek
+IsMewPlayingHideAndSeek: @ 81D4A14
push {lr}
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
@@ -27584,7 +26557,7 @@ _081D4A50:
_081D4A52:
pop {r1}
bx r1
- thumb_func_end unown_chamber_related
+ thumb_func_end IsMewPlayingHideAndSeek
thumb_func_start sub_81D4A58
sub_81D4A58: @ 81D4A58
@@ -27625,7 +26598,7 @@ sub_81D4A90: @ 81D4A90
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r5, r1, r0
ldrb r1, [r5, 0x1]
movs r0, 0x21
@@ -27703,7 +26676,7 @@ _081D4B3A:
bl IndexOfSpritePaletteTag
lsls r0, 24
lsrs r0, 24
- bl sub_80ABE18
+ bl UpdateSpritePaletteWithWeather
ldrh r1, [r5, 0x10]
mov r0, sp
strh r1, [r0]
@@ -28063,7 +27036,7 @@ _081D4E1C:
thumb_func_start sub_81D4E30
sub_81D4E30: @ 81D4E30
push {lr}
- ldr r0, =0x0201c000
+ ldr r0, =gDecompressionBuffer
movs r2, 0x80
lsls r2, 6
movs r1, 0
@@ -28684,7 +27657,7 @@ _081D5386:
strb r0, [r4, 0x8]
b _081D548A
_081D5390:
- ldr r0, =0x0201c000
+ ldr r0, =gDecompressionBuffer
bl sub_81D3920
strb r0, [r4, 0xE]
ldrb r0, [r4, 0xE]
@@ -28710,7 +27683,7 @@ _081D53C0:
strb r0, [r4, 0x8]
b _081D548A
_081D53C6:
- ldr r0, =0x0201c000
+ ldr r0, =gDecompressionBuffer
bl sub_81D3AB0
cmp r0, 0
beq _081D53EC
@@ -29745,8 +28718,8 @@ nullsub_2: @ 81D5C88
bx lr
thumb_func_end nullsub_2
- thumb_func_start sub_81D5C8C
-sub_81D5C8C: @ 81D5C8C
+ thumb_func_start PrintOnTrainerHillRecordsWindow
+PrintOnTrainerHillRecordsWindow: @ 81D5C8C
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -29884,7 +28857,7 @@ _081D5CD6:
pop {r0}
bx r0
.pool
- thumb_func_end sub_81D5C8C
+ thumb_func_end PrintOnTrainerHillRecordsWindow
thumb_func_start free_203F458
free_203F458: @ 81D5DF0
@@ -30358,7 +29331,7 @@ sub_81D6180: @ 81D6180
thumb_func_end sub_81D6180
thumb_func_start GetTrainerHillTrainerFlag
-@ u8 GetTrainerHillTrainerFlag(u8 fieldObjectId)
+@ u8 GetTrainerHillTrainerFlag(u8 eventObjectId)
GetTrainerHillTrainerFlag: @ 81D619C
push {r4,lr}
adds r4, r0, 0
@@ -30367,7 +29340,7 @@ GetTrainerHillTrainerFlag: @ 81D619C
bl sub_81D5520
lsls r0, 24
lsrs r0, 23
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
lsls r1, r4, 3
adds r1, r4
lsls r1, 2
diff --git a/asm/record_mixing.s b/asm/record_mixing.s
deleted file mode 100644
index 2dab009a5..000000000
--- a/asm/record_mixing.s
+++ /dev/null
@@ -1,3711 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80E6BE8
-sub_80E6BE8: @ 80E6BE8
- push {lr}
- ldr r0, =sub_80E715C
- bl sub_80B37D4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E6BE8
-
- thumb_func_start sub_80E6BF8
-sub_80E6BF8: @ 80E6BF8
- push {r4,lr}
- ldr r2, =gUnknown_03001134
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r3, =0x00001a9c
- adds r0, r1, r3
- str r0, [r2]
- ldr r2, =gUnknown_03001138
- ldr r4, =0x000027cc
- adds r0, r1, r4
- str r0, [r2]
- ldr r2, =gUnknown_0300113C
- ldr r3, =0x00002b50
- adds r0, r1, r3
- str r0, [r2]
- ldr r2, =gUnknown_03001140
- ldr r4, =0x00002e28
- adds r0, r1, r4
- str r0, [r2]
- ldr r2, =gUnknown_03001144
- ldr r3, =0x00002e68
- adds r0, r1, r3
- str r0, [r2]
- ldr r2, =gUnknown_03001148
- ldr r0, =gUnknown_02039F9C
- str r0, [r2]
- ldr r2, =gUnknown_0300114C
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r4, =0x0000064c
- adds r3, r0, r4
- str r3, [r2]
- ldr r2, =gUnknown_03001150
- ldr r4, =0x00003b58
- adds r1, r4
- str r1, [r2]
- ldr r1, =gUnknown_03001154
- adds r0, 0xDC
- str r0, [r1]
- ldr r0, =gUnknown_03001158
- str r3, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E6BF8
-
- thumb_func_start sub_80E6CA0
-sub_80E6CA0: @ 80E6CA0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gUnknown_03001134
- ldr r1, [r0]
- movs r4, 0xC8
- lsls r4, 4
- adds r0, r5, 0
- adds r2, r4, 0
- bl memcpy
- adds r4, r5, r4
- ldr r0, =gUnknown_03001138
- ldr r1, [r0]
- movs r2, 0xE1
- lsls r2, 2
- adds r0, r4, 0
- bl memcpy
- adds r0, r4, 0
- bl sub_80F14F8
- ldr r1, =0x00001004
- adds r0, r5, r1
- ldr r1, =gUnknown_0300113C
- ldr r1, [r1]
- movs r2, 0x40
- bl memcpy
- ldr r2, =0x00001044
- adds r0, r5, r2
- ldr r1, =gUnknown_03001140
- ldr r1, [r1]
- movs r2, 0x40
- bl memcpy
- ldr r1, =0x00001084
- adds r0, r5, r1
- ldr r1, =gUnknown_03001144
- ldr r1, [r1]
- movs r2, 0x28
- bl memcpy
- ldr r2, =0x000010ac
- adds r0, r5, r2
- bl sub_80E89F8
- ldr r0, =gUnknown_0300114C
- ldr r0, [r0]
- ldr r2, =0x00001124
- adds r1, r5, r2
- bl sub_81659DC
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080E6D1C
- bl GetRecordMixingGift
- ldr r2, =0x000011c8
- adds r1, r5, r2
- strh r0, [r1]
-_080E6D1C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E6CA0
-
- thumb_func_start sub_80E6D54
-sub_80E6D54: @ 80E6D54
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gUnknown_03001134
- ldr r1, [r0]
- movs r4, 0xC8
- lsls r4, 4
- adds r0, r5, 0
- adds r2, r4, 0
- bl memcpy
- adds r0, r5, 0
- bl sub_80EB18C
- adds r4, r5, r4
- ldr r0, =gUnknown_03001138
- ldr r1, [r0]
- movs r2, 0xE1
- lsls r2, 2
- adds r0, r4, 0
- bl memcpy
- adds r0, r4, 0
- bl sub_80F1208
- ldr r1, =0x00001004
- adds r0, r5, r1
- ldr r1, =gUnknown_0300113C
- ldr r1, [r1]
- movs r2, 0x40
- bl memcpy
- ldr r2, =0x00001044
- adds r4, r5, r2
- ldr r0, =gUnknown_03001140
- ldr r1, [r0]
- adds r0, r4, 0
- movs r2, 0x40
- bl memcpy
- adds r0, r4, 0
- bl sub_8120B70
- ldr r1, =0x00001084
- adds r0, r5, r1
- ldr r1, =gUnknown_03001144
- ldr r1, [r1]
- movs r2, 0x28
- bl memcpy
- ldr r2, =0x000010ac
- adds r4, r5, r2
- adds r0, r4, 0
- bl sub_80E89F8
- adds r0, r4, 0
- bl sub_80E8A54
- ldr r0, =gUnknown_0300114C
- ldr r0, [r0]
- ldr r1, =0x00001124
- adds r4, r5, r1
- adds r1, r4, 0
- bl sub_81659DC
- adds r0, r4, 0
- bl TaskDummy4
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080E6DEE
- bl GetRecordMixingGift
- ldr r2, =0x000011c8
- adds r1, r5, r2
- strh r0, [r1]
-_080E6DEE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E6D54
-
- thumb_func_start sub_80E6E24
-sub_80E6E24: @ 80E6E24
- push {r4,r5,lr}
- bl sub_80E9914
- bl sub_80F0BB8
- bl sub_80E6BF8
- bl sub_800A064
- cmp r0, 0
- beq _080E6E60
- bl sub_800A03C
- cmp r0, 0
- bne _080E6E50
- ldr r0, =gUnknown_0203A018
- ldr r0, [r0]
- bl sub_80E6CA0
- b _080E6F12
- .pool
-_080E6E50:
- ldr r0, =gUnknown_0203A018
- ldr r0, [r0]
- bl sub_80E6D54
- b _080E6F12
- .pool
-_080E6E60:
- ldr r5, =gUnknown_0203A018
- ldr r0, [r5]
- ldr r1, =gUnknown_03001134
- ldr r1, [r1]
- movs r4, 0xC8
- lsls r4, 4
- adds r2, r4, 0
- bl memcpy
- ldr r0, [r5]
- adds r0, r4
- ldr r1, =gUnknown_03001138
- ldr r1, [r1]
- movs r2, 0xE1
- lsls r2, 2
- bl memcpy
- ldr r0, [r5]
- ldr r1, =0x00001004
- adds r0, r1
- ldr r1, =gUnknown_0300113C
- ldr r1, [r1]
- movs r2, 0x40
- bl memcpy
- ldr r0, [r5]
- ldr r2, =0x00001044
- adds r0, r2
- ldr r1, =gUnknown_03001140
- ldr r1, [r1]
- movs r2, 0x40
- bl memcpy
- ldr r0, [r5]
- ldr r1, =0x00001214
- adds r0, r1
- ldr r1, =gUnknown_03001150
- ldr r1, [r1]
- movs r2, 0x40
- bl memcpy
- ldr r0, [r5]
- ldr r2, =0x00001084
- adds r0, r2
- ldr r1, =gUnknown_03001144
- ldr r1, [r1]
- movs r2, 0x28
- bl memcpy
- ldr r0, [r5]
- ldr r1, =0x000010ac
- adds r0, r1
- bl sub_80E89F8
- ldr r0, [r5]
- ldr r4, =0x00001124
- adds r0, r4
- ldr r1, =gUnknown_0300114C
- ldr r1, [r1]
- movs r2, 0xEC
- bl memcpy
- ldr r0, [r5]
- adds r0, r4
- bl sub_80E8AC0
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080E6EFA
- bl GetRecordMixingGift
- ldr r1, [r5]
- ldr r2, =0x00001210
- adds r1, r2
- strh r0, [r1]
-_080E6EFA:
- ldr r0, [r5]
- ldr r1, =0x00001254
- adds r0, r1
- ldr r1, =gUnknown_03001154
- ldr r1, [r1]
- bl sub_80E8110
- ldr r0, [r5]
- ldr r2, =0x000012dc
- adds r0, r2
- bl sub_80E8260
-_080E6F12:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E6E24
-
- thumb_func_start sub_80E6F60
-sub_80E6F60: @ 80E6F60
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- bl sub_800A064
- cmp r0, 0
- beq _080E7014
- ldr r5, =gUnknown_0203A014
- ldr r0, [r5]
- movs r1, 0xC8
- lsls r1, 4
- mov r8, r1
- add r0, r8
- bl sub_80E7B2C
- ldr r0, [r5]
- ldr r6, =0x00001230
- lsls r4, 24
- lsrs r4, 24
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80EAF80
- ldr r3, [r5]
- ldr r1, =0x000010ac
- adds r0, r3, r1
- add r3, r8
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80E7B60
- ldr r0, [r5]
- ldr r1, =0x00001124
- adds r0, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80E7948
- ldr r0, [r5]
- add r0, r8
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80F01E8
- ldr r0, [r5]
- ldr r1, =0x00001004
- adds r0, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80F0C7C
- ldr r0, [r5]
- ldr r1, =0x00001044
- adds r0, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80E78C4
- ldr r0, [r5]
- ldr r1, =0x00001084
- adds r0, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_812287C
- ldr r0, [r5]
- ldr r1, =0x000011c8
- adds r0, r1
- adds r1, r4, 0
- bl sub_80E7F68
- b _080E70BE
- .pool
-_080E7014:
- ldr r5, =gUnknown_0203A014
- ldr r0, [r5]
- movs r1, 0xC8
- lsls r1, 4
- mov r8, r1
- add r0, r8
- bl sub_80E7B2C
- ldr r0, [r5]
- ldr r6, =0x00001444
- lsls r4, 24
- lsrs r4, 24
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80EAF80
- ldr r0, [r5]
- add r0, r8
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80F01E8
- ldr r0, [r5]
- ldr r1, =0x00001004
- adds r0, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80F0C7C
- ldr r0, [r5]
- ldr r1, =0x00001044
- adds r0, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80E78C4
- ldr r0, [r5]
- ldr r1, =0x00001084
- adds r0, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_812287C
- ldr r3, [r5]
- ldr r1, =0x000010ac
- adds r0, r3, r1
- add r3, r8
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80E7B60
- ldr r0, [r5]
- ldr r1, =0x00001124
- adds r0, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80E7948
- ldr r0, [r5]
- ldr r1, =0x00001210
- adds r0, r1
- adds r1, r4, 0
- bl sub_80E7F68
- ldr r0, [r5]
- ldr r1, =0x00001214
- adds r0, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80E7A14
- ldr r0, [r5]
- ldr r1, =0x00001254
- adds r0, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80E8468
- ldr r0, [r5]
- ldr r1, =0x000012dc
- adds r0, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80E89AC
-_080E70BE:
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E6F60
-
- thumb_func_start sub_80E70F4
-sub_80E70F4: @ 80E70F4
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0
- bl NewMenuHelpers_DrawDialogueFrame
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0
- bl PrintTextOnWindow
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80E70F4
-
- thumb_func_start sub_80E7128
-sub_80E7128: @ 80E7128
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x32
- bne _080E7150
- movs r0, 0xE2
- bl PlaySE
- movs r0, 0
- strh r0, [r4, 0x8]
-_080E7150:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E7128
-
- thumb_func_start sub_80E715C
-sub_80E715C: @ 80E715C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x5
- bls _080E7176
- b _080E730A
-_080E7176:
- lsls r0, 2
- ldr r1, =_080E7188
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080E7188:
- .4byte _080E71A0
- .4byte _080E7218
- .4byte _080E724C
- .4byte _080E726C
- .4byte _080E72AC
- .4byte _080E72C0
-_080E71A0:
- ldr r4, =gUnknown_0203A018
- ldr r0, =0x00001444
- bl Alloc
- str r0, [r4]
- ldr r4, =gUnknown_0203A014
- ldr r0, =0x00005110
- bl Alloc
- str r0, [r4]
- ldr r0, =gSpecialVar_0x8005
- ldrb r0, [r0]
- bl sub_8009628
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x1
- bl VarSet
- ldr r1, =gUnknown_03001130
- movs r0, 0
- strb r0, [r1]
- bl sub_80E6E24
- bl sub_80FB00C
- movs r0, 0x1
- strh r0, [r5]
- ldr r0, =sub_80E7324
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x14]
- ldr r0, =sub_80E7128
- movs r1, 0x51
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x1E]
- b _080E730A
- .pool
-_080E7218:
- ldr r2, =gTasks
- movs r0, 0x14
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _080E730A
- movs r0, 0x2
- strh r0, [r5]
- ldr r0, =0x00000894
- bl FlagSet
- bl sub_80FB074
- ldrb r0, [r5, 0x1E]
- bl DestroyTask
- b _080E730A
- .pool
-_080E724C:
- ldr r0, =sub_80E7FF8
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x14]
- movs r0, 0x3
- strh r0, [r5]
- movs r0, 0xE0
- bl PlaySE
- b _080E730A
- .pool
-_080E726C:
- ldr r2, =gTasks
- movs r0, 0x14
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r4, [r0, 0x4]
- cmp r4, 0
- bne _080E730A
- movs r0, 0x4
- strh r0, [r5]
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E7296
- bl sub_80B3050
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x14]
-_080E7296:
- ldr r0, =gText_RecordMixingComplete
- bl sub_80E70F4
- strh r4, [r5, 0x10]
- b _080E730A
- .pool
-_080E72AC:
- ldrh r0, [r5, 0x10]
- adds r0, 0x1
- strh r0, [r5, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- ble _080E730A
- movs r0, 0x5
- strh r0, [r5]
- b _080E730A
-_080E72C0:
- ldr r2, =gTasks
- movs r0, 0x14
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _080E730A
- ldr r0, =gUnknown_0203A014
- ldr r0, [r0]
- bl Free
- ldr r0, =gUnknown_0203A018
- ldr r0, [r0]
- bl Free
- bl sub_808729C
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E72F8
- ldr r0, =sub_80AF2B4
- movs r1, 0xA
- bl CreateTask
-_080E72F8:
- movs r0, 0
- movs r1, 0x1
- bl sub_8197434
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_080E730A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E715C
-
- thumb_func_start sub_80E7324
-sub_80E7324: @ 80E7324
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r6, =gTasks
- adds r5, r0, r6
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- cmp r1, 0x64
- beq _080E73A0
- cmp r1, 0x64
- bgt _080E7362
- cmp r1, 0x1
- bne _080E7346
- b _080E7464
-_080E7346:
- cmp r1, 0x1
- bgt _080E7354
- cmp r1, 0
- beq _080E7384
- b _080E7566
- .pool
-_080E7354:
- cmp r1, 0x2
- bne _080E735A
- b _080E7490
-_080E735A:
- cmp r1, 0x5
- bne _080E7360
- b _080E7550
-_080E7360:
- b _080E7566
-_080E7362:
- cmp r1, 0xC9
- beq _080E73F8
- cmp r1, 0xC9
- bgt _080E7370
- cmp r1, 0x65
- beq _080E73B8
- b _080E7566
-_080E7370:
- ldr r0, =0x0000012d
- cmp r1, r0
- beq _080E7432
- adds r0, 0x63
- cmp r1, r0
- beq _080E744A
- b _080E7566
- .pool
-_080E7384:
- ldr r0, =gText_MixingRecords
- bl sub_80E70F4
- movs r0, 0xE1
- lsls r0, 3
- strh r0, [r5, 0x18]
- movs r0, 0xC8
- lsls r0, 1
- strh r0, [r5, 0x8]
- bl ClearLinkCallback_2
- b _080E7566
- .pool
-_080E73A0:
- ldrh r0, [r5, 0x20]
- adds r0, 0x1
- strh r0, [r5, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bgt _080E73B0
- b _080E7566
-_080E73B0:
- movs r0, 0
- strh r0, [r5, 0x20]
- movs r0, 0x65
- b _080E7564
-_080E73B8:
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsLinkMaster
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E73EA
- bl sub_800AA48
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- beq _080E73DA
- b _080E7566
-_080E73DA:
- movs r0, 0x15
- bl PlaySE
- movs r1, 0
- movs r0, 0xC9
- strh r0, [r5, 0x8]
- strh r1, [r5, 0x20]
- b _080E7566
-_080E73EA:
- movs r0, 0x16
- bl PlaySE
- ldr r0, =0x0000012d
- b _080E7564
- .pool
-_080E73F8:
- bl sub_800AA48
- adds r4, r0, 0
- bl GetLinkPlayerCount_2
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- beq _080E740C
- b _080E7566
-_080E740C:
- ldrh r4, [r5, 0x20]
- adds r4, 0x1
- strh r4, [r5, 0x20]
- lsls r4, 16
- asrs r4, 16
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 1
- cmp r4, r1
- bgt _080E742A
- b _080E7566
-_080E742A:
- bl sub_800A620
- movs r0, 0x1
- b _080E7564
-_080E7432:
- bl sub_800AA48
- adds r4, r0, 0
- bl GetLinkPlayerCount_2
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- beq _080E7446
- b _080E7566
-_080E7446:
- movs r0, 0x1
- b _080E7564
-_080E744A:
- ldrh r0, [r5, 0x20]
- adds r0, 0x1
- strh r0, [r5, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bgt _080E745A
- b _080E7566
-_080E745A:
- movs r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- strh r0, [r5, 0x20]
- b _080E7566
-_080E7464:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E746E
- b _080E7566
-_080E746E:
- ldr r4, =gStringVar1
- bl sub_80E7810
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- movs r0, 0x5
- b _080E7564
- .pool
-_080E7490:
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- strh r0, [r5, 0x14]
- strh r1, [r5, 0x8]
- bl sub_80E7810
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x12]
- ldr r0, =sub_80E756C
- str r0, [r5]
- bl sub_800A064
- cmp r0, 0
- beq _080E7504
- ldr r0, =gUnknown_0203A018
- ldr r0, [r0]
- adds r1, r5, 0
- adds r1, 0xC
- bl sub_80E7808
- ldr r0, =sub_80E7630
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x1C]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r0, r1, r6
- strh r4, [r0, 0x8]
- ldr r0, =gUnknown_0203A014
- ldr r0, [r0]
- adds r1, r6, r1
- adds r1, 0x12
- bl sub_80E7808
- ldr r1, =gUnknown_0300115C
- ldr r0, =0x00001230
- str r0, [r1]
- b _080E7566
- .pool
-_080E7504:
- ldr r0, =gUnknown_0203A018
- ldr r0, [r0]
- adds r1, r5, 0
- adds r1, 0xC
- bl sub_80E7808
- ldr r0, =sub_80E7630
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x1C]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r0, r1, r6
- strh r4, [r0, 0x8]
- ldr r0, =gUnknown_0203A014
- ldr r0, [r0]
- adds r1, r6, r1
- adds r1, 0x12
- bl sub_80E7808
- ldr r1, =gUnknown_0300115C
- ldr r0, =0x00001444
- str r0, [r1]
- b _080E7566
- .pool
-_080E7550:
- ldrh r0, [r5, 0x1C]
- adds r0, 0x1
- strh r0, [r5, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- ble _080E7566
- movs r0, 0
- strh r0, [r5, 0x1C]
- movs r0, 0x2
-_080E7564:
- strh r0, [r5, 0x8]
-_080E7566:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80E7324
-
- thumb_func_start sub_80E756C
-sub_80E756C: @ 80E756C
- push {r4,r5,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 r2, 0x8
- ldrsh r1, [r5, r2]
- adds r2, r0, 0
- cmp r1, 0x4
- bhi _080E7624
- lsls r0, r1, 2
- ldr r1, =_080E7598
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080E7598:
- .4byte _080E75AC
- .4byte _080E75D0
- .4byte _080E7624
- .4byte _080E75E2
- .4byte _080E760E
-_080E75AC:
- adds r0, r5, 0
- adds r0, 0xC
- bl sub_80E77FC
- adds r1, r0, 0
- movs r0, 0x10
- ldrsh r2, [r5, r0]
- movs r0, 0xC8
- muls r0, r2
- adds r1, r0
- ldr r0, =gBlockSendBuffer
- movs r2, 0xC8
- bl memcpy
- b _080E75FC
- .pool
-_080E75D0:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080E75FC
- movs r0, 0x1
- bl sub_800A4D8
- b _080E75FC
-_080E75E2:
- ldrh r0, [r5, 0x10]
- adds r0, 0x1
- strh r0, [r5, 0x10]
- movs r1, 0x10
- ldrsh r4, [r5, r1]
- ldr r0, =gUnknown_0300115C
- ldr r0, [r0]
- movs r1, 0xC8
- bl __udivsi3
- adds r0, 0x1
- cmp r4, r0
- bne _080E7608
-_080E75FC:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _080E7624
- .pool
-_080E7608:
- movs r0, 0
- strh r0, [r5, 0x8]
- b _080E7624
-_080E760E:
- movs r1, 0x1C
- ldrsh r0, [r5, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- bne _080E7624
- ldr r0, =sub_80E77D4
- str r0, [r5]
-_080E7624:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E756C
-
- thumb_func_start sub_80E7630
-sub_80E7630: @ 80E7630
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- lsls r0, 2
- ldr r1, [sp]
- adds r0, r1
- lsls r0, 3
- ldr r1, =gTasks
- adds r0, r1
- mov r10, r0
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r2, 0
- str r2, [sp, 0x8]
- bl sub_800A9D8
- lsls r0, 24
- lsrs r0, 24
- ldr r3, [sp, 0x4]
- cmp r3, r0
- bne _080E773E
- movs r4, 0
- mov r8, r4
- b _080E771C
- .pool
-_080E7678:
- ldr r1, [sp, 0x4]
- mov r0, r8
- asrs r1, r0
- movs r0, 0x1
- ands r1, r0
- movs r2, 0x1
- add r2, r8
- mov r9, r2
- cmp r1, 0
- beq _080E7714
- mov r0, r10
- adds r0, 0x12
- bl sub_80E77FC
- mov r3, r9
- lsls r4, r3, 1
- mov r5, r10
- adds r5, 0x8
- adds r4, r5, r4
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r7, 0xC8
- muls r1, r7
- adds r0, r1
- ldr r3, =gUnknown_0300115C
- ldr r1, [r3]
- mov r2, r8
- muls r2, r1
- adds r1, r2, 0
- adds r6, r0, r1
- mov r0, r8
- bl sub_80E7820
- adds r1, r0, 0
- movs r3, 0
- ldrsh r2, [r4, r3]
- adds r0, r2, 0x1
- muls r0, r7
- ldr r4, =gUnknown_0300115C
- ldr r3, [r4]
- cmp r0, r3
- bls _080E76DC
- muls r2, r7
- subs r2, r3, r2
- adds r0, r6, 0
- bl memcpy
- b _080E76E4
- .pool
-_080E76DC:
- adds r0, r6, 0
- movs r2, 0xC8
- bl memcpy
-_080E76E4:
- mov r0, r8
- bl ResetBlockReceivedFlag
- mov r0, r9
- lsls r1, r0, 1
- adds r1, r5, r1
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r2, 0
- ldrsh r4, [r1, r2]
- ldr r3, =gUnknown_0300115C
- ldr r0, [r3]
- movs r1, 0xC8
- bl __udivsi3
- adds r0, 0x1
- cmp r4, r0
- bne _080E7714
- ldr r0, [sp, 0x8]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
-_080E7714:
- mov r4, r9
- lsls r0, r4, 24
- lsrs r0, 24
- mov r8, r0
-_080E771C:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r8, r0
- bcc _080E7678
- ldr r2, =gTasks
- mov r0, r10
- movs r3, 0x8
- ldrsh r1, [r0, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
-_080E773E:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- ldr r4, [sp, 0x8]
- cmp r4, r0
- bne _080E7752
- ldr r0, [sp]
- bl DestroyTask
-_080E7752:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E7630
-
- thumb_func_start sub_80E776C
-sub_80E776C: @ 80E776C
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- ldr r2, =gTasks
- adds r0, r2
- movs r4, 0x1C
- ldrsh r1, [r0, r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _080E7794
- adds r0, r3, 0
- bl DestroyTask
-_080E7794:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E776C
-
- thumb_func_start sub_80E77A0
-sub_80E77A0: @ 80E77A0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r1, r0
- ldr r0, =sub_80E776C
- str r0, [r1]
- ldr r0, =gUnknown_03001130
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080E77C4
- movs r2, 0x12
- ldrsh r0, [r1, r2]
- bl sub_80E6F60
-_080E77C4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E77A0
-
- thumb_func_start sub_80E77D4
-sub_80E77D4: @ 80E77D4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, =sub_80E77A0
- str r0, [r1]
- ldr r1, =gUnknown_03001130
- movs r0, 0x1
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80E77D4
-
- thumb_func_start sub_80E77FC
-sub_80E77FC: @ 80E77FC
- adds r1, r0, 0
- ldrh r0, [r1]
- ldrh r1, [r1, 0x2]
- lsls r1, 16
- orrs r0, r1
- bx lr
- thumb_func_end sub_80E77FC
-
- thumb_func_start sub_80E7808
-sub_80E7808: @ 80E7808
- strh r0, [r1]
- lsrs r0, 16
- strh r0, [r1, 0x2]
- bx lr
- thumb_func_end sub_80E7808
-
- thumb_func_start sub_80E7810
-sub_80E7810: @ 80E7810
- push {lr}
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80E7810
-
- thumb_func_start sub_80E7820
-sub_80E7820: @ 80E7820
- lsls r0, 24
- lsrs r0, 16
- ldr r1, =gBlockRecvBuffer
- adds r0, r1
- bx lr
- .pool
- thumb_func_end sub_80E7820
-
- thumb_func_start sub_80E7830
-sub_80E7830: @ 80E7830
- push {r4,lr}
- adds r4, r0, 0
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _080E7868
- cmp r0, 0x3
- bhi _080E784A
- cmp r0, 0x2
- beq _080E7850
- b _080E78B8
-_080E784A:
- cmp r0, 0x4
- beq _080E7894
- b _080E78B8
-_080E7850:
- movs r3, 0
- ldr r2, =gUnknown_0858CF8C
- adds r1, r4, 0
-_080E7856:
- adds r0, r3, r2
- ldrb r0, [r0]
- stm r1!, {r0}
- adds r3, 0x1
- cmp r3, 0x1
- bls _080E7856
- b _080E78B8
- .pool
-_080E7868:
- movs r0, 0
- bl GetLinkPlayerTrainerId
- adds r2, r0, 0
- movs r0, 0x1
- ands r2, r0
- movs r3, 0
- ldr r1, =gUnknown_0858CF8E
- lsls r0, r2, 1
- adds r0, r2
- adds r1, r0, r1
- adds r2, r4, 0
-_080E7880:
- ldrb r0, [r1]
- stm r2!, {r0}
- adds r1, 0x1
- adds r3, 0x1
- cmp r3, 0x2
- bls _080E7880
- b _080E78B8
- .pool
-_080E7894:
- movs r0, 0
- bl GetLinkPlayerTrainerId
- movs r1, 0x9
- bl __umodsi3
- adds r2, r0, 0
- movs r3, 0
- ldr r1, =gUnknown_0858CF94
- lsls r0, r2, 2
- adds r1, r0, r1
- adds r2, r4, 0
-_080E78AC:
- ldrb r0, [r1]
- stm r2!, {r0}
- adds r1, 0x1
- adds r3, 0x1
- cmp r3, 0x3
- bls _080E78AC
-_080E78B8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E7830
-
- thumb_func_start sub_80E78C4
-sub_80E78C4: @ 80E78C4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- mov r9, r0
- mov r8, r1
- lsls r2, 24
- lsrs r7, r2, 24
- mov r0, sp
- bl sub_80E7830
- lsls r0, r7, 2
- add r0, sp
- ldr r1, [r0]
- mov r0, r8
- muls r0, r1
- mov r2, r9
- adds r6, r2, r0
- ldr r2, =gLinkPlayers
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r4, [r0]
- ldrh r5, [r0, 0x1A]
- bl sub_800A064
- cmp r0, 0
- beq _080E7910
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_8120D34
- b _080E791A
- .pool
-_080E7910:
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_8120CD0
-_080E791A:
- ldr r0, =gUnknown_03001140
- ldr r0, [r0]
- lsls r1, r7, 2
- add r1, sp
- ldr r1, [r1]
- mov r2, r8
- muls r2, r1
- adds r1, r2, 0
- add r1, r9
- movs r2, 0x40
- bl memcpy
- bl sub_8120670
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E78C4
-
- thumb_func_start sub_80E7948
-sub_80E7948: @ 80E7948
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- mov r8, r0
- adds r7, r1, 0
- lsls r2, 24
- lsrs r6, r2, 24
- mov r0, sp
- bl sub_80E7830
- bl sub_800A064
- cmp r0, 0
- beq _080E79AC
- lsls r0, r6, 2
- mov r1, sp
- adds r5, r1, r0
- ldr r0, [r5]
- muls r0, r7
- add r0, r8
- adds r4, r7, 0
- muls r4, r6
- mov r1, r8
- adds r6, r1, r4
- adds r1, r6, 0
- bl sub_816587C
- mov r9, r4
- cmp r0, 0x1
- bne _080E79FE
- adds r7, r6, 0
- ldr r2, =gLinkPlayers
- ldr r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x1A]
- adds r0, r7, 0
- adds r0, 0xE4
- strb r1, [r0]
- adds r0, r7, 0
- bl sub_8164F70
- b _080E79FE
- .pool
-_080E79AC:
- adds r5, r7, 0
- muls r5, r6
- mov r0, r8
- adds r4, r0, r5
- lsls r0, r6, 2
- add r0, sp
- ldr r0, [r0]
- adds r1, r7, 0
- muls r1, r0
- add r1, r8
- adds r0, r4, 0
- movs r2, 0xEC
- bl memcpy
- adds r7, r4, 0
- movs r6, 0
- mov r9, r5
-_080E79CE:
- movs r0, 0x2C
- muls r0, r6
- adds r0, 0x34
- adds r1, r7, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _080E79F2
- adds r4, r1, 0
- adds r4, 0x20
- adds r0, r4, 0
- bl IsStringJapanese
- cmp r0, 0
- beq _080E79F2
- adds r0, r4, 0
- movs r1, 0x1
- bl ConvertInternationalString
-_080E79F2:
- adds r6, 0x1
- cmp r6, 0x3
- ble _080E79CE
- adds r0, r7, 0
- bl sub_8164F70
-_080E79FE:
- mov r0, r8
- add r0, r9
- bl sub_81628A0
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80E7948
-
- thumb_func_start sub_80E7A14
-sub_80E7A14: @ 80E7A14
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- mov r8, r0
- adds r7, r1, 0
- lsls r2, 24
- lsrs r5, r2, 24
- mov r0, sp
- bl sub_80E7830
- adds r0, r7, 0
- muls r0, r5
- add r0, r8
- ldr r6, =gUnknown_03001150
- ldr r1, [r6]
- movs r2, 0x40
- bl memcpy
- bl GetLilycoveLadyId
- lsls r0, 24
- cmp r0, 0
- bne _080E7A60
- movs r0, 0x40
- bl Alloc
- adds r4, r0, 0
- cmp r4, 0
- beq _080E7A8A
- ldr r1, [r6]
- movs r2, 0x40
- bl memcpy
- b _080E7A62
- .pool
-_080E7A60:
- movs r4, 0
-_080E7A62:
- ldr r0, =gUnknown_03001150
- ldr r0, [r0]
- lsls r1, r5, 2
- add r1, sp
- ldr r1, [r1]
- muls r1, r7
- add r1, r8
- movs r2, 0x40
- bl memcpy
- bl sub_818DA78
- cmp r4, 0
- beq _080E7A8A
- adds r0, r4, 0
- bl sub_818E570
- adds r0, r4, 0
- bl Free
-_080E7A8A:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E7A14
-
- thumb_func_start sub_80E7A9C
-sub_80E7A9C: @ 80E7A9C
- ldrh r0, [r0, 0x20]
- lsls r0, 24
- lsrs r0, 24
- bx lr
- thumb_func_end sub_80E7A9C
-
- thumb_func_start sub_80E7AA4
-sub_80E7AA4: @ 80E7AA4
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x38
- mov r8, r0
- mov r10, r1
- mov r9, r2
- adds r4, r3, 0
- ldr r5, [sp, 0x54]
- lsls r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsrs r4, 23
- add r4, r9
- ldrb r0, [r4]
- mov r6, r10
- muls r6, r0
- add r6, r8
- ldrb r0, [r4, 0x1]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 3
- adds r1, r6, r1
- mov r0, sp
- movs r2, 0x38
- bl memcpy
- lsls r5, 1
- add r5, r9
- ldrb r0, [r5]
- mov r1, r10
- muls r1, r0
- adds r0, r1, 0
- add r8, r0
- ldrb r1, [r4, 0x1]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 3
- adds r6, r0
- ldrb r0, [r5, 0x1]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 3
- add r1, r8
- adds r0, r6, 0
- movs r2, 0x38
- bl memcpy
- ldrb r1, [r5, 0x1]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 3
- add r8, r0
- mov r0, r8
- mov r1, sp
- movs r2, 0x38
- bl memcpy
- add sp, 0x38
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80E7AA4
-
- thumb_func_start sub_80E7B2C
-sub_80E7B2C: @ 80E7B2C
- push {r4,lr}
- adds r3, r0, 0
- movs r2, 0
- movs r1, 0
- ldr r4, =gUnknown_03001160
-_080E7B36:
- adds r0, r3, r1
- ldrb r0, [r0]
- adds r0, r2, r0
- lsls r0, 24
- lsrs r2, r0, 24
- adds r1, 0x1
- cmp r1, 0xFF
- ble _080E7B36
- strb r2, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E7B2C
-
- thumb_func_start sub_80E7B54
-sub_80E7B54: @ 80E7B54
- ldr r0, =gUnknown_03001160
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80E7B54
-
- thumb_func_start sub_80E7B60
-sub_80E7B60: @ 80E7B60
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x58
- str r0, [sp, 0x2C]
- str r1, [sp, 0x30]
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- bl Random2
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x38]
- ldr r0, =gLinkPlayers
- ldrh r0, [r0, 0x4]
- bl SeedRng2
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0
- mov r8, r0
- mov r1, sp
- adds r1, 0x1C
- str r1, [sp, 0x4C]
- mov r2, sp
- adds r2, 0x1D
- str r2, [sp, 0x50]
- mov r3, sp
- adds r3, 0xC
- str r3, [sp, 0x48]
- movs r7, 0xFF
- add r3, sp, 0x8
- movs r2, 0
- adds r6, r1, 0
- ldr r5, [sp, 0x50]
-_080E7BB0:
- mov r1, sp
- add r1, r8
- adds r1, 0x4
- ldrb r0, [r1]
- orrs r0, r7
- strb r0, [r1]
- mov r1, r8
- adds r0, r3, r1
- strb r2, [r0]
- lsls r1, 1
- adds r0, r6, r1
- strb r2, [r0]
- adds r1, r5, r1
- strb r2, [r1]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0x3
- bls _080E7BB0
- bl sub_800A064
- str r0, [sp, 0x3C]
- movs r2, 0
- mov r8, r2
- lsls r4, 16
- str r4, [sp, 0x54]
- ldr r0, [sp, 0x30]
- mov r3, r9
- muls r3, r0
- str r3, [sp, 0x44]
- b _080E7D04
- .pool
-_080E7BF8:
- ldr r1, [sp, 0x30]
- mov r0, r8
- muls r0, r1
- ldr r2, [sp, 0x2C]
- adds r7, r2, r0
- ldr r1, =gLinkPlayers
- mov r3, r8
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0x1A]
- mov r9, r1
- ldrb r0, [r0]
- str r0, [sp, 0x40]
- movs r6, 0
- ldr r0, [r7, 0x70]
- cmp r6, r0
- bcs _080E7CFA
- movs r2, 0x10
- negs r2, r2
- mov r10, r2
-_080E7C24:
- lsls r0, r6, 3
- subs r0, r6
- lsls r0, 3
- adds r5, r7, r0
- ldrh r0, [r5, 0x20]
- cmp r0, 0
- beq _080E7CEE
- ldr r3, [sp, 0x3C]
- cmp r3, 0
- beq _080E7C9A
- adds r4, r5, 0
- adds r4, 0x24
- adds r0, r4, 0
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5
- bhi _080E7C54
- movs r4, 0x1
- b _080E7C5C
- .pool
-_080E7C54:
- adds r0, r4, 0
- bl StripExtCtrlCodes
- mov r4, r9
-_080E7C5C:
- ldrh r1, [r5, 0x2C]
- ldr r0, =0x000015fc
- cmp r1, r0
- bne _080E7C74
- adds r0, r5, 0
- adds r0, 0x2C
- bl StripExtCtrlCodes
- movs r1, 0x1
- b _080E7C76
- .pool
-_080E7C74:
- mov r1, r9
-_080E7C76:
- ldr r0, [sp, 0x40]
- subs r0, 0x1
- cmp r0, 0x1
- bhi _080E7CEE
- adds r2, r5, 0
- adds r2, 0x37
- movs r0, 0xF
- ands r4, r0
- ldrb r0, [r2]
- mov r3, r10
- ands r0, r3
- orrs r0, r4
- lsls r1, 4
- movs r3, 0xF
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- b _080E7CEE
-_080E7C9A:
- mov r0, r9
- cmp r0, 0x1
- bne _080E7CEE
- adds r0, r5, 0
- adds r0, 0x24
- bl IsStringJapanese
- cmp r0, 0
- beq _080E7CBA
- adds r0, r5, 0
- adds r0, 0x37
- ldrb r1, [r0]
- mov r2, r10
- ands r1, r2
- movs r2, 0x1
- b _080E7CC6
-_080E7CBA:
- adds r0, r5, 0
- adds r0, 0x37
- ldrb r1, [r0]
- mov r3, r10
- ands r1, r3
- movs r2, 0x2
-_080E7CC6:
- orrs r1, r2
- strb r1, [r0]
- adds r4, r0, 0
- adds r0, r5, 0
- adds r0, 0x2C
- bl IsStringJapanese
- cmp r0, 0
- beq _080E7CE2
- ldrb r0, [r4]
- movs r1, 0xF
- ands r1, r0
- movs r0, 0x10
- b _080E7CEA
-_080E7CE2:
- ldrb r0, [r4]
- movs r1, 0xF
- ands r1, r0
- movs r0, 0x20
-_080E7CEA:
- orrs r1, r0
- strb r1, [r4]
-_080E7CEE:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, [r7, 0x70]
- cmp r6, r0
- bcc _080E7C24
-_080E7CFA:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
-_080E7D04:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r8, r0
- bcs _080E7D12
- b _080E7BF8
-_080E7D12:
- movs r0, 0
- str r0, [sp, 0x34]
- mov r8, r0
- ldr r1, [sp, 0x54]
- lsrs r0, r1, 16
- ldr r2, [sp, 0x34]
- cmp r2, r0
- bcs _080E7D70
- adds r5, r0, 0
-_080E7D24:
- ldr r3, [sp, 0x30]
- mov r0, r8
- muls r0, r3
- ldr r1, [sp, 0x2C]
- adds r7, r1, r0
- ldr r0, [r7, 0x70]
- cmp r0, 0
- beq _080E7D62
- movs r6, 0
- cmp r6, r0
- bcs _080E7D62
- adds r3, r7, 0
- adds r3, 0x74
- ldr r2, [sp, 0x4C]
- mov r0, r8
- lsls r1, r0, 1
- movs r4, 0x1
-_080E7D46:
- lsls r0, r6, 1
- adds r0, r3, r0
- ldrh r0, [r0]
- cmp r0, 0
- bne _080E7D56
- adds r0, r6, r1
- adds r0, r2, r0
- strb r4, [r0]
-_080E7D56:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, [r7, 0x70]
- cmp r6, r0
- bcc _080E7D46
-_080E7D62:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r8, r5
- bcc _080E7D24
-_080E7D70:
- movs r6, 0
- mov r8, r6
- ldr r1, [sp, 0x54]
- cmp r1, 0
- beq _080E7E64
- add r2, sp, 0x24
- mov r10, r2
- movs r3, 0x25
- add r3, sp
- mov r9, r3
-_080E7D84:
- ldr r1, [sp, 0x30]
- mov r0, r8
- muls r0, r1
- ldr r2, [sp, 0x2C]
- adds r7, r2, r0
- mov r3, r8
- lsls r1, r3, 1
- ldr r2, [sp, 0x4C]
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080E7DA6
- ldr r3, [sp, 0x50]
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080E7DB0
-_080E7DA6:
- ldr r0, [sp, 0x34]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x34]
-_080E7DB0:
- ldr r2, [sp, 0x4C]
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080E7DD4
- ldr r3, [sp, 0x50]
- adds r0, r3, r1
- ldrb r2, [r0]
- cmp r2, 0
- bne _080E7DD4
-_080E7DC4:
- lsls r1, r6, 1
- mov r3, r10
- adds r0, r3, r1
- mov r3, r8
- strb r3, [r0]
- add r1, r9
- strb r2, [r1]
- b _080E7E4E
-_080E7DD4:
- ldr r2, [sp, 0x4C]
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E7DE8
- ldr r3, [sp, 0x50]
- adds r0, r3, r1
- ldrb r2, [r0]
- cmp r2, 0x1
- beq _080E7DC4
-_080E7DE8:
- ldr r2, [sp, 0x4C]
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080E7E54
- ldr r3, [sp, 0x50]
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080E7E54
- lsls r5, r6, 1
- mov r1, r10
- adds r0, r1, r5
- mov r2, r8
- strb r2, [r0]
- adds r0, r7, 0
- bl sub_80E7A9C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r7, 0
- adds r0, 0x38
- bl sub_80E7A9C
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r4, 0
- bne _080E7E30
- cmp r1, 0
- beq _080E7E34
- mov r3, r9
- adds r1, r3, r5
- movs r0, 0x1
- strb r0, [r1]
- b _080E7E4E
-_080E7E30:
- cmp r1, 0
- beq _080E7E48
-_080E7E34:
- bl Random2
- mov r1, r9
- adds r2, r1, r5
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- strb r0, [r2]
- b _080E7E4E
-_080E7E48:
- mov r2, r9
- adds r0, r2, r5
- strb r1, [r0]
-_080E7E4E:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080E7E54:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- mov r8, r3
- ldr r1, [sp, 0x54]
- cmp r0, r1
- bcc _080E7D84
-_080E7E64:
- movs r2, 0
- mov r8, r2
- ldr r3, [sp, 0x44]
- lsls r0, r3, 4
- subs r0, r3
- lsls r0, 3
- ldr r1, [sp, 0x2C]
- adds r7, r1, r0
- ldr r1, [sp, 0x48]
-_080E7E76:
- mov r2, r8
- lsls r0, r2, 2
- adds r0, r1, r0
- str r7, [r0]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0x3
- bls _080E7E76
- bl sub_80E7B54
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, [sp, 0x34]
- cmp r3, 0x3
- beq _080E7EC8
- cmp r3, 0x3
- bgt _080E7EAE
- cmp r3, 0x2
- beq _080E7EB6
- b _080E7F1C
-_080E7EAE:
- ldr r0, [sp, 0x34]
- cmp r0, 0x4
- beq _080E7EE8
- b _080E7F1C
-_080E7EB6:
- add r2, sp, 0x24
- movs r0, 0x1
- str r0, [sp]
- ldr r0, [sp, 0x2C]
- ldr r1, [sp, 0x30]
- movs r3, 0
- bl sub_80E7AA4
- b _080E7F1C
-_080E7EC8:
- ldr r0, =gUnknown_0858CFB8
- lsls r1, 1
- adds r2, r1, r0
- ldrb r3, [r2]
- adds r0, 0x1
- adds r1, r0
- ldrb r0, [r1]
- add r2, sp, 0x24
- str r0, [sp]
- ldr r0, [sp, 0x2C]
- ldr r1, [sp, 0x30]
- bl sub_80E7AA4
- b _080E7F1C
- .pool
-_080E7EE8:
- add r6, sp, 0x24
- ldr r4, =gUnknown_0858CFBE
- lsls r5, r1, 2
- adds r0, r5, r4
- ldrb r3, [r0]
- adds r0, r4, 0x1
- adds r0, r5, r0
- ldrb r0, [r0]
- str r0, [sp]
- ldr r0, [sp, 0x2C]
- ldr r1, [sp, 0x30]
- adds r2, r6, 0
- bl sub_80E7AA4
- adds r0, r4, 0x2
- adds r0, r5, r0
- ldrb r3, [r0]
- adds r4, 0x3
- adds r5, r4
- ldrb r0, [r5]
- str r0, [sp]
- ldr r0, [sp, 0x2C]
- ldr r1, [sp, 0x30]
- adds r2, r6, 0
- bl sub_80E7AA4
-_080E7F1C:
- ldr r1, [sp, 0x2C]
- ldr r2, [sp, 0x44]
- adds r7, r1, r2
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- movs r3, 0xC2
- lsls r3, 6
- adds r0, r3
- adds r1, r7, 0
- movs r2, 0x38
- bl memcpy
- ldr r0, [r4]
- ldr r1, =0x0000310c
- adds r0, r1
- adds r1, r7, 0
- adds r1, 0x38
- movs r2, 0x38
- bl memcpy
- ldr r0, [sp, 0x38]
- bl SeedRng
- add sp, 0x58
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E7B60
-
- thumb_func_start sub_80E7F68
-sub_80E7F68: @ 80E7F68
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- cmp r1, 0
- beq _080E7FEC
- ldrh r0, [r4]
- cmp r0, 0
- beq _080E7FEC
- bl GetPocketByItemId
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _080E7FEC
- ldrh r0, [r4]
- movs r1, 0x1
- bl CheckBagHasItem
- lsls r0, 24
- cmp r0, 0
- bne _080E7FE4
- ldrh r0, [r4]
- movs r1, 0x1
- bl CheckPCHasItem
- lsls r0, 24
- cmp r0, 0
- bne _080E7FE4
- ldrh r0, [r4]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- cmp r0, 0
- beq _080E7FE4
- ldr r0, =0x00004001
- ldrh r1, [r4]
- bl VarSet
- ldr r0, =gStringVar1
- ldr r1, =gLinkPlayers + 8
- bl StringCopy
- ldrh r1, [r4]
- ldr r0, =0x00000113
- cmp r1, r0
- bne _080E7FEC
- ldr r0, =0x000008b3
- bl FlagSet
- b _080E7FEC
- .pool
-_080E7FE4:
- ldr r0, =0x00004001
- movs r1, 0
- bl VarSet
-_080E7FEC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E7F68
-
- thumb_func_start sub_80E7FF8
-sub_80E7FF8: @ 80E7FF8
- 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, 0x9
- bls _080E8012
- b _080E810A
-_080E8012:
- lsls r0, 2
- ldr r1, =_080E8024
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080E8024:
- .4byte _080E80F2
- .4byte _080E804C
- .4byte _080E805A
- .4byte _080E8064
- .4byte _080E807C
- .4byte _080E8090
- .4byte _080E80A4
- .4byte _080E80C0
- .4byte _080E80EE
- .4byte _080E80FA
-_080E804C:
- bl sub_800A064
- cmp r0, 0
- bne _080E80F2
- movs r0, 0x6
- strh r0, [r4, 0x8]
- b _080E810A
-_080E805A:
- bl sub_8076D5C
- bl sub_8153430
- b _080E80F2
-_080E8064:
- bl sub_8153474
- lsls r0, 24
- cmp r0, 0
- beq _080E810A
- bl sav2_gender2_inplace_and_xFE
- movs r1, 0
- movs r0, 0x4
- strh r0, [r4, 0x8]
- strh r1, [r4, 0xA]
- b _080E810A
-_080E807C:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- ble _080E810A
- bl sub_800AC34
- b _080E80F2
-_080E8090:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E810A
- adds r0, r5, 0
- bl DestroyTask
- b _080E810A
- .pool
-_080E80A4:
- movs r0, 0
- bl sub_801048C
- lsls r0, 24
- cmp r0, 0
- bne _080E810A
- ldr r0, =sub_8153688
- movs r1, 0x5
- bl CreateTask
- b _080E80F2
- .pool
-_080E80C0:
- ldr r0, =sub_8153688
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080E810A
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E80E8
- movs r0, 0x1
- bl sub_801048C
- movs r0, 0x8
- strh r0, [r4, 0x8]
- b _080E810A
- .pool
-_080E80E8:
- movs r0, 0x4
- strh r0, [r4, 0x8]
- b _080E810A
-_080E80EE:
- bl sub_800ADF8
-_080E80F2:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080E810A
-_080E80FA:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _080E810A
- adds r0, r5, 0
- bl DestroyTask
-_080E810A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80E7FF8
-
- thumb_func_start sub_80E8110
-sub_80E8110: @ 80E8110
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- str r0, [sp]
- mov r10, r1
- adds r1, r0, 0
- adds r1, 0x38
- movs r0, 0xFF
- strb r0, [r1]
- ldr r1, [sp]
- adds r1, 0x7C
- movs r0, 0x1
- negs r0, r0
- strb r0, [r1]
- ldr r0, [sp]
- mov r1, r10
- movs r2, 0x44
- bl memcpy
- movs r0, 0
- str r0, [sp, 0x8]
- movs r1, 0
- str r1, [sp, 0xC]
- movs r2, 0
- str r2, [sp, 0x4]
- mov r8, r2
- movs r7, 0
- ldr r0, =gSaveBlock2Ptr
- mov r9, r0
-_080E8150:
- mov r1, r9
- ldr r0, [r1]
- adds r0, 0xB2
- ldrb r0, [r0]
- lsls r0, 27
- lsrs r0, 30
- adds r0, r7, r0
- movs r1, 0x3
- bl __modsi3
- adds r6, r0, 0x1
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- mov r2, r10
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x38
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _080E81B8
- adds r5, r1, 0
- adds r5, 0x34
- adds r0, r5, 0
- bl ReadUnalignedWord
- adds r4, r0, 0
- mov r1, r9
- ldr r0, [r1]
- adds r0, 0xA
- bl ReadUnalignedWord
- cmp r4, r0
- beq _080E819A
- movs r2, 0x1
- add r8, r2
- str r6, [sp, 0x4]
-_080E819A:
- adds r0, r5, 0
- bl ReadUnalignedWord
- adds r4, r0, 0
- mov r1, r9
- ldr r0, [r1]
- adds r0, 0xA
- bl ReadUnalignedWord
- cmp r4, r0
- bne _080E81B8
- ldr r2, [sp, 0xC]
- adds r2, 0x1
- str r2, [sp, 0xC]
- str r6, [sp, 0x8]
-_080E81B8:
- adds r7, 0x1
- cmp r7, 0x1
- ble _080E8150
- mov r0, r8
- cmp r0, 0
- bne _080E81D0
- ldr r1, [sp, 0xC]
- cmp r1, 0
- beq _080E81D0
- mov r8, r1
- ldr r2, [sp, 0x8]
- str r2, [sp, 0x4]
-_080E81D0:
- mov r0, r8
- cmp r0, 0x1
- beq _080E81E0
- cmp r0, 0x2
- beq _080E81EC
- b _080E824C
- .pool
-_080E81E0:
- ldr r2, [sp, 0x4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- add r1, r10
- b _080E820E
-_080E81EC:
- bl Random2
- lsls r0, 16
- ldr r1, =0x33330000
- cmp r0, r1
- bls _080E8224
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB2
- ldrb r0, [r0]
- lsls r0, 27
- lsrs r0, 30
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r10
- adds r1, 0x44
-_080E820E:
- ldr r0, [sp]
- adds r0, 0x44
- movs r2, 0x44
- bl memcpy
- b _080E824C
- .pool
-_080E8224:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB2
- ldrb r0, [r0]
- lsls r0, 27
- lsrs r0, 30
- adds r0, 0x1
- movs r1, 0x3
- bl __modsi3
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r10
- adds r1, 0x44
- ldr r0, [sp]
- adds r0, 0x44
- movs r2, 0x44
- bl memcpy
-_080E824C:
- 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_80E8110
-
- thumb_func_start sub_80E8260
-sub_80E8260: @ 80E8260
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r8, r0
- movs r6, 0
- ldr r0, =gSaveBlock2Ptr
- mov r10, r0
-_080E8274:
- movs r7, 0
- lsls r0, r6, 5
- adds r6, 0x1
- mov r9, r6
- mov r1, r8
- adds r4, r0, r1
- adds r0, 0x6
- adds r6, r1, r0
- adds r5, r4, 0
-_080E8286:
- mov r2, r10
- ldr r1, [r2]
- adds r1, 0xA
- adds r0, r5, 0
- bl CopyUnalignedWord
- movs r0, 0x2
- strb r0, [r4, 0xE]
- mov r0, r10
- ldr r1, [r0]
- adds r0, r6, 0
- bl StringCopy
- adds r4, 0x10
- adds r6, 0x10
- adds r5, 0x10
- adds r7, 0x1
- cmp r7, 0x1
- ble _080E8286
- mov r6, r9
- cmp r6, 0x8
- ble _080E8274
- ldr r1, =gSaveBlock2Ptr
- mov r10, r1
- ldr r2, =0x00000ee1
- str r2, [sp, 0x4]
- movs r4, 0x99
- lsls r4, 1
- add r4, r8
- movs r0, 0x95
- lsls r0, 1
- add r0, r8
- mov r9, r0
- ldr r1, =0x00000ef1
- str r1, [sp, 0x8]
- movs r6, 0x92
- lsls r6, 1
- add r6, r8
- movs r5, 0x90
- lsls r5, 1
- add r5, r8
- movs r7, 0x1
-_080E82DA:
- movs r0, 0x2
- strb r0, [r4, 0x8]
- mov r2, r10
- ldr r1, [r2]
- adds r1, 0xA
- adds r0, r5, 0
- bl CopyUnalignedWord
- mov r0, r10
- ldr r1, [r0]
- ldr r2, [sp, 0x8]
- adds r1, r2
- adds r0, r6, 0
- bl CopyUnalignedWord
- mov r0, r10
- ldr r1, [r0]
- mov r0, r9
- bl StringCopy
- mov r2, r10
- ldr r1, [r2]
- ldr r0, [sp, 0x4]
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy
- ldr r1, [sp, 0x4]
- adds r1, 0x8
- str r1, [sp, 0x4]
- adds r4, 0x1C
- movs r2, 0x1C
- add r9, r2
- ldr r0, [sp, 0x8]
- adds r0, 0x4
- str r0, [sp, 0x8]
- adds r6, 0x1C
- adds r5, 0x1C
- subs r7, 0x1
- cmp r7, 0
- bge _080E82DA
- movs r6, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- mov r4, r8
- movs r1, 0xC4
- adds r1, r4
- mov r9, r1
- movs r2, 0x84
- adds r2, r4
- mov r8, r2
- movs r0, 0x44
- adds r0, r4
- mov r12, r0
- adds r7, r4, 0x4
- movs r1, 0xCF
- lsls r1, 4
- adds r1, r3, r1
- str r1, [sp]
- mov r10, r4
- ldr r2, =0x00000cf4
- adds r5, r3, r2
-_080E8356:
- lsls r2, r6, 1
- ldr r1, [sp]
- ldrh r0, [r1]
- strh r0, [r7]
- ldrh r0, [r5]
- strh r0, [r7, 0x20]
- ldrh r0, [r5, 0x4]
- mov r1, r12
- strh r0, [r1]
- ldr r1, =0x00000d14
- adds r0, r3, r1
- adds r0, r2
- ldrh r0, [r0]
- mov r1, r12
- strh r0, [r1, 0x20]
- movs r1, 0xDD
- lsls r1, 4
- adds r0, r3, r1
- adds r0, r2
- ldrh r0, [r0]
- mov r1, r8
- strh r0, [r1]
- ldr r1, =0x00000dde
- adds r0, r3, r1
- adds r0, r2
- ldrh r0, [r0]
- mov r1, r8
- strh r0, [r1, 0x20]
- ldr r1, =0x00000dea
- adds r0, r3, r1
- adds r0, r2
- ldrh r0, [r0]
- mov r1, r9
- strh r0, [r1]
- ldr r1, =0x00000e08
- adds r0, r3, r1
- adds r0, r2
- ldrh r0, [r0]
- mov r1, r9
- strh r0, [r1, 0x20]
- ldr r1, =0x00000e1e
- adds r0, r3, r1
- adds r0, r2
- ldrh r1, [r0]
- movs r0, 0x82
- lsls r0, 1
- add r0, r10
- strh r1, [r0]
- ldr r1, =0x00000cfc
- adds r0, r3, r1
- adds r0, r2
- ldrh r1, [r0]
- movs r2, 0x94
- lsls r2, 1
- adds r0, r4, r2
- strh r1, [r0]
- adds r4, 0x1C
- movs r0, 0x10
- add r9, r0
- add r8, r0
- add r12, r0
- adds r7, 0x10
- ldr r1, [sp]
- adds r1, 0x2
- str r1, [sp]
- add r10, r0
- adds r5, 0x2
- adds r6, 0x1
- cmp r6, 0x1
- ble _080E8356
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E8260
-
- thumb_func_start sub_80E841C
-sub_80E841C: @ 80E841C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- movs r0, 0
- mov r8, r0
- adds r6, r1, 0
- adds r6, 0x34
- adds r5, r1, 0
-_080E842E:
- adds r0, r7, 0
- adds r0, 0x34
- bl ReadUnalignedWord
- adds r4, r0, 0
- adds r0, r6, 0
- bl ReadUnalignedWord
- cmp r4, r0
- bne _080E844E
- ldrb r0, [r7, 0x2]
- ldrb r1, [r5, 0x2]
- cmp r0, r1
- bne _080E844E
- movs r0, 0x1
- b _080E845E
-_080E844E:
- adds r6, 0x44
- adds r5, 0x44
- movs r0, 0x1
- add r8, r0
- mov r1, r8
- cmp r1, 0x3
- ble _080E842E
- movs r0, 0
-_080E845E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80E841C
-
- thumb_func_start sub_80E8468
-sub_80E8468: @ 80E8468
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- adds r6, r0, 0
- adds r5, r1, 0
- adds r4, r2, 0
- mov r0, sp
- bl sub_80E7830
- lsls r4, 2
- mov r1, sp
- adds r0, r1, r4
- ldr r0, [r0]
- muls r0, r5
- adds r3, r6, r0
- movs r7, 0
- movs r2, 0
- mov r8, r2
- movs r5, 0
- adds r6, r3, 0
- adds r6, 0x38
- adds r4, r3, 0
-_080E8496:
- ldrb r0, [r6]
- cmp r0, 0xFF
- beq _080E84B4
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r1, 0xDC
- adds r0, r4, 0
- str r3, [sp, 0x10]
- bl sub_80E841C
- ldr r3, [sp, 0x10]
- cmp r0, 0
- bne _080E84B4
- adds r7, 0x1
- mov r8, r5
-_080E84B4:
- adds r6, 0x44
- adds r4, 0x44
- adds r5, 0x1
- cmp r5, 0x1
- ble _080E8496
- cmp r7, 0x1
- beq _080E84CC
- cmp r7, 0x2
- beq _080E8508
- b _080E8566
- .pool
-_080E84CC:
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0xB2
- ldrb r1, [r1]
- lsls r1, 27
- lsrs r1, 30
- adds r2, r1, 0x1
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r0, r1
- adds r0, 0xDC
- mov r2, r8
- lsls r1, r2, 4
- add r1, r8
- lsls r1, 2
- adds r1, r3
- movs r2, 0x44
- bl memcpy
- ldr r4, [r4]
- adds r4, 0xB2
- ldrb r5, [r4]
- lsls r0, r5, 27
- lsrs r0, 30
- adds r0, 0x1
- b _080E8550
- .pool
-_080E8508:
- movs r5, 0
- adds r6, r3, 0
-_080E850C:
- movs r0, 0x1
- eors r0, r5
- ldr r7, =gSaveBlock2Ptr
- ldr r4, [r7]
- adds r1, r4, 0
- adds r1, 0xB2
- ldrb r1, [r1]
- lsls r1, 27
- lsrs r1, 30
- adds r0, r1
- movs r1, 0x3
- bl __modsi3
- adds r2, r0, 0x1
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r4, r0
- adds r4, 0xDC
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0x44
- bl memcpy
- adds r6, 0x44
- adds r5, 0x1
- cmp r5, 0x1
- ble _080E850C
- ldr r4, [r7]
- adds r4, 0xB2
- ldrb r5, [r4]
- lsls r0, r5, 27
- lsrs r0, 30
- adds r0, 0x2
-_080E8550:
- movs r1, 0x3
- bl __modsi3
- movs r1, 0x3
- ands r0, r1
- lsls r0, 3
- movs r1, 0x19
- negs r1, r1
- ands r1, r5
- orrs r1, r0
- strb r1, [r4]
-_080E8566:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E8468
-
- thumb_func_start sub_80E8578
-sub_80E8578: @ 80E8578
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x54
- str r0, [sp]
- ldr r0, [sp, 0x74]
- movs r4, 0
- mov r8, r4
- movs r5, 0
- str r5, [sp, 0x4]
- ldr r4, =gUnknown_03001168
- b _080E85A0
- .pool
-_080E8598:
- adds r1, r2
- ldr r6, [sp, 0x4]
- adds r6, 0x1
- str r6, [sp, 0x4]
-_080E85A0:
- ldr r5, [sp, 0x4]
- cmp r5, r0
- bge _080E85B6
- cmp r5, r3
- beq _080E85B0
- stm r4!, {r1}
- movs r6, 0x1
- add r8, r6
-_080E85B0:
- mov r5, r8
- cmp r5, 0x3
- bne _080E8598
-_080E85B6:
- movs r6, 0
- str r6, [sp, 0x4]
- subs r0, 0x1
- str r0, [sp, 0x24]
-_080E85BE:
- movs r0, 0
- str r0, [sp, 0x8]
- ldr r1, [sp, 0x4]
- adds r1, 0x1
- str r1, [sp, 0x28]
- ldr r2, [sp, 0x4]
- lsls r2, 1
- str r2, [sp, 0x34]
- ldr r3, [sp, 0x4]
- adds r3, r2, r3
- str r3, [sp, 0x10]
- movs r4, 0
- str r4, [sp, 0x44]
- movs r5, 0
- str r5, [sp, 0x48]
-_080E85DC:
- movs r6, 0
- mov r8, r6
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r2, [sp, 0x10]
- lsls r0, r2, 5
- ldr r3, [sp, 0x48]
- adds r0, r3, r0
- adds r3, r0, r1
- lsls r0, r2, 6
- ldr r4, [sp, 0x44]
- adds r0, r4, r0
- ldr r5, [sp]
- adds r2, r0, r5
-_080E85F8:
- adds r0, r2, 0
- movs r6, 0x87
- lsls r6, 2
- adds r1, r3, r6
- ldm r1!, {r4-r6}
- stm r0!, {r4-r6}
- ldr r1, [r1]
- str r1, [r0]
- adds r3, 0x10
- adds r2, 0x10
- movs r0, 0x1
- add r8, r0
- mov r1, r8
- cmp r1, 0x2
- ble _080E85F8
- movs r2, 0
- mov r8, r2
- ldr r3, [sp, 0x24]
- cmp r8, r3
- bge _080E86DC
- ldr r4, [sp, 0x4]
- lsls r4, 5
- mov r9, r4
- ldr r5, [sp, 0x8]
- lsls r7, r5, 4
- ldr r6, [sp, 0x34]
- ldr r1, [sp, 0x4]
- adds r0, r6, r1
- lsls r0, 6
- str r0, [sp, 0x14]
- ldr r2, [sp]
- adds r0, r2, r0
- ldr r3, [sp, 0x44]
- str r3, [sp, 0x18]
- adds r0, r3
- str r0, [sp, 0x1C]
- ldr r4, [sp, 0x14]
- adds r0, r3, r4
- adds r0, r2
- adds r0, 0x30
- mov r10, r0
-_080E864A:
- movs r5, 0
- str r5, [sp, 0xC]
- movs r3, 0
- mov r6, r8
- lsls r6, 2
- str r6, [sp, 0x38]
- ldr r1, [sp, 0x18]
- ldr r2, [sp, 0x14]
- adds r0, r1, r2
- ldr r4, [sp]
- adds r5, r0, r4
- ldr r0, =gUnknown_03001168
- adds r0, r6, r0
- str r0, [sp, 0x50]
-_080E8666:
- lsls r0, r3, 4
- ldr r6, [sp, 0x1C]
- adds r0, r6, r0
- str r3, [sp, 0x4C]
- bl ReadUnalignedWord
- adds r4, r0, 0
- ldr r1, [sp, 0x50]
- ldr r0, [r1]
- add r0, r9
- adds r0, r7
- bl ReadUnalignedWord
- ldr r3, [sp, 0x4C]
- cmp r4, r0
- bne _080E86A8
- ldr r2, [sp, 0xC]
- adds r2, 0x1
- str r2, [sp, 0xC]
- ldr r4, [sp, 0x50]
- ldr r0, [r4]
- mov r6, r9
- adds r1, r7, r6
- adds r1, r0, r1
- ldrh r0, [r5, 0x4]
- ldrh r2, [r1, 0x4]
- cmp r0, r2
- bcs _080E86A8
- adds r0, r5, 0
- ldm r1!, {r2,r4,r6}
- stm r0!, {r2,r4,r6}
- ldr r1, [r1]
- str r1, [r0]
-_080E86A8:
- adds r5, 0x10
- adds r3, 0x1
- cmp r3, 0x2
- ble _080E8666
- ldr r3, [sp, 0xC]
- cmp r3, 0
- bne _080E86CE
- ldr r0, =gUnknown_03001168
- ldr r4, [sp, 0x38]
- adds r0, r4, r0
- ldr r0, [r0]
- mov r5, r9
- adds r2, r7, r5
- mov r1, r10
- adds r0, r2
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r0, [r0]
- str r0, [r1]
-_080E86CE:
- movs r4, 0x10
- add r10, r4
- movs r5, 0x1
- add r8, r5
- ldr r6, [sp, 0x24]
- cmp r8, r6
- blt _080E864A
-_080E86DC:
- ldr r0, [sp, 0x44]
- adds r0, 0x60
- str r0, [sp, 0x44]
- ldr r1, [sp, 0x48]
- adds r1, 0x30
- str r1, [sp, 0x48]
- ldr r2, [sp, 0x8]
- adds r2, 0x1
- str r2, [sp, 0x8]
- cmp r2, 0x1
- bgt _080E86F4
- b _080E85DC
-_080E86F4:
- ldr r3, [sp, 0x28]
- str r3, [sp, 0x4]
- cmp r3, 0x8
- bgt _080E86FE
- b _080E85BE
-_080E86FE:
- movs r4, 0
- str r4, [sp, 0x8]
-_080E8702:
- ldr r5, [sp, 0x8]
- adds r5, 0x1
- str r5, [sp, 0x2C]
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- movs r0, 0x54
- ldr r6, [sp, 0x8]
- muls r0, r6
- adds r3, r0, r1
- movs r0, 0xA8
- muls r0, r6
- ldr r1, [sp]
- adds r2, r0, r1
- movs r4, 0x2
- mov r8, r4
-_080E8720:
- movs r5, 0xD8
- lsls r5, 3
- adds r0, r2, r5
- ldr r6, =0x0000057c
- adds r1, r3, r6
- ldm r1!, {r4-r6}
- stm r0!, {r4-r6}
- ldm r1!, {r4-r6}
- stm r0!, {r4-r6}
- ldr r1, [r1]
- str r1, [r0]
- adds r3, 0x1C
- adds r2, 0x1C
- movs r0, 0x1
- negs r0, r0
- add r8, r0
- mov r1, r8
- cmp r1, 0
- bge _080E8720
- movs r2, 0
- mov r8, r2
- ldr r3, [sp, 0x24]
- cmp r8, r3
- blt _080E8752
- b _080E885A
-_080E8752:
- ldr r4, [sp, 0x8]
- lsls r1, r4, 3
- movs r0, 0xA8
- adds r5, r4, 0
- muls r5, r0
- str r5, [sp, 0x20]
- str r5, [sp, 0x3C]
- subs r1, r4
- lsls r1, 2
- mov r10, r1
-_080E8766:
- movs r6, 0
- str r6, [sp, 0xC]
- mov r0, r8
- lsls r0, 2
- str r0, [sp, 0x38]
- mov r1, r8
- adds r1, 0x1
- str r1, [sp, 0x30]
- ldr r0, =gUnknown_03001168
- ldr r2, [sp, 0x38]
- adds r2, r0
- mov r9, r2
- ldr r3, [sp]
- movs r4, 0xD8
- lsls r4, 3
- adds r0, r3, r4
- ldr r5, [sp, 0x3C]
- adds r7, r5, r0
- str r6, [sp, 0x40]
- movs r3, 0x2
-_080E878E:
- ldr r1, [sp, 0x20]
- movs r2, 0xD8
- lsls r2, 3
- adds r0, r1, r2
- ldr r4, [sp]
- adds r0, r4, r0
- ldr r6, [sp, 0x40]
- adds r5, r0, r6
- adds r0, r5, 0
- str r3, [sp, 0x4C]
- bl ReadUnalignedWord
- adds r4, r0, 0
- movs r6, 0x90
- lsls r6, 1
- add r6, r10
- mov r1, r9
- ldr r0, [r1]
- adds r0, r6
- bl ReadUnalignedWord
- ldr r3, [sp, 0x4C]
- cmp r4, r0
- bne _080E8808
- adds r0, r5, 0x4
- bl ReadUnalignedWord
- adds r4, r0, 0
- mov r2, r9
- ldr r0, [r2]
- adds r0, r6
- adds r0, 0x4
- bl ReadUnalignedWord
- ldr r3, [sp, 0x4C]
- cmp r4, r0
- bne _080E8808
- ldr r4, [sp, 0xC]
- adds r4, 0x1
- str r4, [sp, 0xC]
- mov r5, r9
- ldr r0, [r5]
- mov r6, r10
- adds r2, r0, r6
- movs r0, 0x94
- lsls r0, 1
- adds r1, r2, r0
- ldrh r0, [r7, 0x8]
- ldrh r1, [r1]
- cmp r0, r1
- bcs _080E8808
- adds r0, r7, 0
- movs r4, 0x90
- lsls r4, 1
- adds r1, r2, r4
- ldm r1!, {r2,r5,r6}
- stm r0!, {r2,r5,r6}
- ldm r1!, {r4-r6}
- stm r0!, {r4-r6}
- ldr r1, [r1]
- str r1, [r0]
-_080E8808:
- adds r7, 0x1C
- ldr r0, [sp, 0x40]
- adds r0, 0x1C
- str r0, [sp, 0x40]
- subs r3, 0x1
- cmp r3, 0
- bge _080E878E
- ldr r1, [sp, 0xC]
- cmp r1, 0
- bne _080E8850
- mov r0, r8
- adds r0, 0x3
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r2, [sp, 0x20]
- adds r1, r2
- ldr r3, [sp]
- adds r1, r3, r1
- ldr r0, =gUnknown_03001168
- ldr r4, [sp, 0x38]
- adds r0, r4, r0
- ldr r0, [r0]
- add r0, r10
- movs r5, 0xD8
- lsls r5, 3
- adds r1, r5
- movs r6, 0x90
- lsls r6, 1
- adds r0, r6
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldr r0, [r0]
- str r0, [r1]
-_080E8850:
- ldr r3, [sp, 0x30]
- mov r8, r3
- ldr r4, [sp, 0x24]
- cmp r8, r4
- blt _080E8766
-_080E885A:
- ldr r5, [sp, 0x2C]
- str r5, [sp, 0x8]
- cmp r5, 0x1
- bgt _080E8864
- b _080E8702
-_080E8864:
- add sp, 0x54
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E8578
-
- thumb_func_start sub_80E8880
-sub_80E8880: @ 80E8880
- push {r4-r7,lr}
- mov r12, r0
- adds r7, r1, 0
- movs r5, 0
-_080E8888:
- movs r2, 0
- movs r4, 0x1
- negs r4, r4
- movs r1, 0
- adds r6, r5, 0x1
- adds r3, r7, 0
-_080E8894:
- ldrh r0, [r3, 0x4]
- cmp r0, r2
- ble _080E889E
- adds r4, r1, 0
- adds r2, r0, 0
-_080E889E:
- adds r3, 0x10
- adds r1, 0x1
- cmp r1, 0x5
- ble _080E8894
- cmp r4, 0
- blt _080E88C0
- lsls r1, r5, 4
- lsls r2, r4, 4
- adds r2, r7
- add r1, r12
- adds r0, r2, 0
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldr r0, [r0]
- str r0, [r1]
- movs r0, 0
- strh r0, [r2, 0x4]
-_080E88C0:
- adds r5, r6, 0
- cmp r5, 0x2
- ble _080E8888
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80E8880
-
- thumb_func_start sub_80E88CC
-sub_80E88CC: @ 80E88CC
- push {r4-r7,lr}
- mov r12, r0
- adds r6, r1, 0
- movs r5, 0
-_080E88D4:
- movs r3, 0
- movs r4, 0x1
- negs r4, r4
- movs r2, 0
- adds r7, r5, 0x1
- adds r1, r6, 0
-_080E88E0:
- ldrh r0, [r1, 0x8]
- cmp r0, r3
- ble _080E88EA
- adds r4, r2, 0
- adds r3, r0, 0
-_080E88EA:
- adds r1, 0x1C
- adds r2, 0x1
- cmp r2, 0x5
- ble _080E88E0
- cmp r4, 0
- blt _080E8918
- lsls r1, r5, 3
- subs r1, r5
- lsls r1, 2
- lsls r2, r4, 3
- subs r2, r4
- lsls r2, 2
- adds r2, r6
- add r1, r12
- adds r0, r2, 0
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldr r0, [r0]
- str r0, [r1]
- movs r0, 0
- strh r0, [r2, 0x8]
-_080E8918:
- adds r5, r7, 0
- cmp r5, 0x2
- ble _080E88D4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80E88CC
-
- thumb_func_start sub_80E8924
-sub_80E8924: @ 80E8924
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r0
- movs r0, 0
- ldr r1, =gSaveBlock2Ptr
- mov r10, r1
-_080E8936:
- lsls r1, r0, 1
- adds r2, r0, 0x1
- mov r8, r2
- adds r1, r0
- lsls r0, r1, 5
- movs r2, 0x87
- lsls r2, 2
- adds r7, r0, r2
- lsls r1, 6
- mov r0, r9
- adds r4, r0, r1
- movs r6, 0
- movs r5, 0x1
-_080E8950:
- mov r1, r10
- ldr r0, [r1]
- adds r0, r7
- adds r0, r6
- adds r1, r4, 0
- bl sub_80E8880
- adds r4, 0x60
- adds r6, 0x30
- subs r5, 0x1
- cmp r5, 0
- bge _080E8950
- mov r0, r8
- cmp r0, 0x8
- ble _080E8936
- movs r5, 0
- ldr r4, =gSaveBlock2Ptr
-_080E8972:
- movs r0, 0x54
- adds r1, r5, 0
- muls r1, r0
- ldr r2, =0x0000057c
- adds r1, r2
- ldr r0, [r4]
- adds r0, r1
- movs r1, 0xA8
- muls r1, r5
- movs r2, 0xD8
- lsls r2, 3
- adds r1, r2
- add r1, r9
- bl sub_80E88CC
- adds r5, 0x1
- cmp r5, 0x1
- ble _080E8972
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E8924
-
- thumb_func_start sub_80E89AC
-sub_80E89AC: @ 80E89AC
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- adds r6, r0, 0
- mov r8, r1
- mov r9, r2
- bl GetLinkPlayerCount
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x81
- lsls r0, 4
- bl AllocZeroed
- adds r5, r0, 0
- str r4, [sp]
- adds r1, r6, 0
- mov r2, r8
- mov r3, r9
- bl sub_80E8578
- adds r0, r5, 0
- bl sub_80E8924
- adds r0, r5, 0
- bl Free
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80E89AC
-
- thumb_func_start sub_80E89F8
-sub_80E89F8: @ 80E89F8
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r5, =gUnknown_02039F9C
- ldr r4, =gSaveBlock1Ptr
- ldr r1, [r4]
- movs r0, 0xC2
- lsls r0, 6
- adds r1, r0
- adds r0, r5, 0
- movs r2, 0x38
- bl memcpy
- ldr r1, [r4]
- ldr r0, =0x0000310c
- adds r1, r0
- adds r0, r5, 0
- adds r0, 0x38
- movs r2, 0x38
- bl memcpy
- ldr r0, [r4]
- ldr r1, =0x00003030
- adds r0, r1
- adds r1, r5, 0
- bl InitDaycareMailRecordMixing
- ldr r0, =gUnknown_03001148
- ldr r1, [r0]
- adds r0, r6, 0
- movs r2, 0x78
- bl memcpy
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E89F8
-
- thumb_func_start sub_80E8A54
-sub_80E8A54: @ 80E8A54
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r0, 0
- movs r0, 0
- mov r9, r0
- ldr r0, [r5, 0x70]
- cmp r9, r0
- bcs _080E8AAE
- adds r4, r5, 0
- adds r4, 0x2C
- movs r0, 0x24
- adds r0, r5
- mov r8, r0
- adds r7, r5, 0
- adds r7, 0x37
- adds r6, r5, 0
-_080E8A78:
- ldrh r0, [r6, 0x20]
- cmp r0, 0
- beq _080E8A9A
- ldrb r1, [r4, 0xB]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x1
- beq _080E8A90
- mov r0, r8
- movs r1, 0xFC
- bl PadNameString
-_080E8A90:
- ldrb r1, [r7]
- lsrs r1, 4
- adds r0, r4, 0
- bl ConvertInternationalString
-_080E8A9A:
- adds r4, 0x38
- movs r0, 0x38
- add r8, r0
- adds r7, 0x38
- adds r6, 0x38
- movs r0, 0x1
- add r9, r0
- ldr r0, [r5, 0x70]
- cmp r9, r0
- bcc _080E8A78
-_080E8AAE:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80E8A54
-
- thumb_func_start TaskDummy4
-TaskDummy4: @ 80E8ABC
- bx lr
- thumb_func_end TaskDummy4
-
- thumb_func_start sub_80E8AC0
-sub_80E8AC0: @ 80E8AC0
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r4, 0
-_080E8AC6:
- movs r0, 0x2C
- muls r0, r4
- adds r0, 0x34
- adds r1, r5, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _080E8ADC
- adds r0, r1, 0
- adds r0, 0x20
- bl StripExtCtrlCodes
-_080E8ADC:
- adds r4, 0x1
- cmp r4, 0x3
- ble _080E8AC6
- adds r0, r5, 0
- bl sub_8164F70
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80E8AC0
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/rom6.s b/asm/rom6.s
deleted file mode 100644
index b103c0875..000000000
--- a/asm/rom6.s
+++ /dev/null
@@ -1,452 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start npc_before_player_of_type
-npc_before_player_of_type: @ 8135424
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r4, =gUnknown_0203AB40
- adds r1, r4, 0x2
- adds r0, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- bl PlayerGetZCoord
- strb r0, [r4, 0x4]
- ldrh r0, [r4]
- ldrh r1, [r4, 0x2]
- ldrb r2, [r4, 0x4]
- bl GetFieldObjectIdByXYZ
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gMapObjects
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r2, r1, r2
- ldrb r0, [r2, 0x5]
- cmp r0, r5
- bne _08135470
- ldr r1, =gSpecialVar_LastTalked
- ldrb r0, [r2, 0x8]
- strh r0, [r1]
- movs r0, 0x1
- b _08135472
- .pool
-_08135470:
- movs r0, 0
-_08135472:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end npc_before_player_of_type
-
- thumb_func_start oei_task_add
-oei_task_add: @ 8135478
- push {lr}
- ldr r0, =gUnknown_0203AB40
- adds r1, r0, 0x2
- bl GetXYCoordsOneStepInFrontOfPlayer
- ldr r0, =task08_080C9820
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end oei_task_add
-
- thumb_func_start task08_080C9820
-task08_080C9820: @ 813549C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- bl ScriptContext2_Enable
- ldr r1, =gPlayerAvatar
- movs r0, 0x1
- strb r0, [r1, 0x6]
- ldrb r1, [r1, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _081354D2
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _0813551E
-_081354D2:
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- cmp r0, 0x5
- bne _08135504
- movs r0, 0x3B
- bl FieldEffectStart
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_8135578
- b _0813551C
- .pool
-_08135504:
- bl sub_808C114
- adds r0, r4, 0
- movs r1, 0x39
- bl FieldObjectSetSpecialAnim
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_813552C
-_0813551C:
- str r0, [r1]
-_0813551E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task08_080C9820
-
- thumb_func_start sub_813552C
-sub_813552C: @ 813552C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08135560
- movs r0, 0x3B
- bl FieldEffectStart
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_8135578
- str r0, [r1]
-_08135560:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813552C
-
- thumb_func_start sub_8135578
-sub_8135578: @ 8135578
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- movs r0, 0x6
- bl FieldEffectActiveListContains
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _081355FC
- bl player_get_direction_lower_nybble
- ldr r6, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r6, 0x4]
- cmp r0, 0x1
- bne _0813559E
- str r4, [r6, 0x8]
-_0813559E:
- ldr r1, [r6, 0x4]
- cmp r1, 0x2
- bne _081355A8
- movs r0, 0x1
- str r0, [r6, 0x8]
-_081355A8:
- cmp r1, 0x3
- bne _081355B0
- movs r0, 0x2
- str r0, [r6, 0x8]
-_081355B0:
- cmp r1, 0x4
- bne _081355B8
- movs r0, 0x3
- str r0, [r6, 0x8]
-_081355B8:
- ldr r5, =gPlayerAvatar
- ldrb r0, [r5, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gMapObjects
- adds r4, r0
- bl GetPlayerAvatarGraphicsIdByCurrentState
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetGraphicsId
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- ldrb r1, [r6, 0x8]
- bl StartSpriteAnim
- movs r0, 0x6
- bl FieldEffectActiveListRemove
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_813561C
- str r1, [r0]
-_081355FC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8135578
-
- thumb_func_start sub_813561C
-sub_813561C: @ 813561C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x18]
- lsls r1, 16
- ldrh r0, [r0, 0x1A]
- orrs r1, r0
- bl _call_via_r1
- ldr r1, =gPlayerAvatar
- movs r0, 0
- strb r0, [r1, 0x6]
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813561C
-
- thumb_func_start sub_8135654
-sub_8135654: @ 8135654
- push {r4,lr}
- bl ShouldDoBrailleStrengthEffect
- lsls r0, 24
- cmp r0, 0
- beq _0813568C
- ldr r4, =gSpecialVar_Result
- bl GetCursorSelectionMonId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- ldr r1, =gUnknown_03005DB0
- ldr r0, =FieldCallback_Teleport
- str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
- ldr r0, =sub_8179834
- b _081356A8
- .pool
-_0813568C:
- movs r0, 0x56
- bl npc_before_player_of_type
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0813569E
- movs r0, 0
- b _081356AC
-_0813569E:
- ldr r1, =gUnknown_03005DB0
- ldr r0, =FieldCallback_Teleport
- str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
- ldr r0, =sub_81356C4
-_081356A8:
- str r0, [r1]
- movs r0, 0x1
-_081356AC:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8135654
-
- thumb_func_start sub_81356C4
-sub_81356C4: @ 81356C4
- push {lr}
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- ldr r0, =Route111_EventScript_2907F0
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81356C4
-
- thumb_func_start oei_rocksmash
-oei_rocksmash: @ 81356E4
- push {lr}
- bl oei_task_add
- 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_8135714
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0x13
- bl IncrementGameStat
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end oei_rocksmash
-
- thumb_func_start sub_8135714
-sub_8135714: @ 8135714
- push {lr}
- movs r0, 0x83
- bl PlaySE
- movs r0, 0x25
- bl FieldEffectActiveListRemove
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_8135714
-
- thumb_func_start sub_813572C
-sub_813572C: @ 813572C
- push {lr}
- bl sub_80FE314
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0813573E
- movs r0, 0
- b _0813574C
-_0813573E:
- ldr r1, =gUnknown_03005DB0
- ldr r0, =FieldCallback_Teleport
- str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
- ldr r0, =hm2_dig
- str r0, [r1]
- movs r0, 0x1
-_0813574C:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_813572C
-
- thumb_func_start hm2_dig
-hm2_dig: @ 8135760
- push {lr}
- bl Overworld_ResetStateAfterDigEscRope
- movs r0, 0x26
- bl FieldEffectStart
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end hm2_dig
-
- thumb_func_start sub_8135780
-sub_8135780: @ 8135780
- push {lr}
- bl oei_task_add
- 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_81357BC
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- bl ShouldDoBrailleDigEffect
- lsls r0, 24
- cmp r0, 0
- bne _081357AC
- movs r0, 0x1
- bl SetPlayerAvatarTransitionFlags
-_081357AC:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8135780
-
- thumb_func_start sub_81357BC
-sub_81357BC: @ 81357BC
- push {r4,lr}
- movs r0, 0x26
- bl FieldEffectActiveListRemove
- bl ShouldDoBrailleDigEffect
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _081357D6
- bl DoBrailleDigEffect
- b _081357EE
-_081357D6:
- ldr r0, =task08_080A1C44
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
-_081357EE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81357BC
-
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s
index 4d50a5271..61324b207 100644
--- a/asm/rom_8011DC0.s
+++ b/asm/rom_8011DC0.s
@@ -5,5467 +5,6 @@
.text
- thumb_func_start nullsub_89
-nullsub_89: @ 80124E8
- bx lr
- thumb_func_end nullsub_89
-
- thumb_func_start sub_80124EC
-sub_80124EC: @ 80124EC
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r1, 0
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r2, 24
- lsrs r5, r2, 24
- adds r0, r6, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- lsls r4, 8
- movs r0, 0x90
- lsls r0, 6
- cmp r4, r0
- beq _08012588
- cmp r4, r0
- bgt _08012526
- movs r0, 0x80
- lsls r0, 2
- cmp r4, r0
- beq _08012538
- movs r0, 0x80
- lsls r0, 3
- cmp r4, r0
- beq _08012544
- b _080125A6
-_08012526:
- movs r0, 0x94
- lsls r0, 6
- cmp r4, r0
- beq _08012554
- movs r0, 0xD4
- lsls r0, 6
- cmp r4, r0
- beq _08012564
- b _080125A6
-_08012538:
- ldr r1, =gUnknown_082EDB60
- subs r0, r5, 0x1
- lsls r0, 2
- b _0801256C
- .pool
-_08012544:
- ldr r1, =gUnknown_082EDB60
- subs r0, r5, 0x1
- lsls r0, 2
- adds r1, 0x14
- b _0801256C
- .pool
-_08012554:
- ldr r1, =gUnknown_082EDB60
- subs r0, r5, 0x1
- lsls r0, 2
- adds r1, 0x28
- b _0801256C
- .pool
-_08012564:
- ldr r1, =gUnknown_082EDB60
- subs r0, r5, 0x1
- lsls r0, 2
- adds r1, 0x3C
-_0801256C:
- adds r0, r1
- ldr r2, [r0]
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r6, 0
- movs r1, 0x1
- movs r3, 0
- bl sub_80173E0
- b _080125A6
- .pool
-_08012588:
- ldr r1, =gUnknown_082EDB60
- subs r0, r5, 0x1
- lsls r0, 2
- adds r1, 0x50
- adds r0, r1
- ldr r2, [r0]
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r6, 0
- movs r1, 0x1
- movs r3, 0
- bl sub_80173E0
-_080125A6:
- adds r0, r6, 0
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80124EC
-
- thumb_func_start sub_80125BC
-sub_80125BC: @ 80125BC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x28
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r6, =gSaveBlock2Ptr
- ldr r2, [r6]
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- mov r8, r0
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0x1
- movs r3, 0
- bl sub_80173E0
- ldr r1, =gText_UnkCtrlCodeF907
- add r0, sp, 0x8
- bl StringCopy
- adds r5, r0, 0
- ldr r0, [r6]
- adds r0, 0xA
- bl sub_8015658
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r5, 0
- movs r2, 0x2
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- movs r0, 0x11
- str r0, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0x1
- add r2, sp, 0x8
- movs r3, 0
- bl sub_80173E0
- add sp, 0x28
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80125BC
-
- thumb_func_start sub_801262C
-sub_801262C: @ 801262C
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- subs r0, r1, 0x1
- cmp r0, 0x1B
- bhi _080126C0
- lsls r0, 2
- ldr r1, =_08012648
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08012648:
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126C0
- .4byte _080126C0
- .4byte _080126C0
- .4byte _080126C0
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126C0
- .4byte _080126C0
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126C0
- .4byte _080126C0
- .4byte _080126C0
- .4byte _080126C0
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126B8
-_080126B8:
- ldr r0, =gStringVar4
- ldr r1, =gText_AwaitingCommunication
- bl StringExpandPlaceholders
-_080126C0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801262C
-
- thumb_func_start sub_80126CC
-sub_80126CC: @ 80126CC
- push {lr}
- subs r0, 0x9
- cmp r0, 0x12
- bhi _08012734
- lsls r0, 2
- ldr r1, =_080126E4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080126E4:
- .4byte _08012730
- .4byte _08012730
- .4byte _08012730
- .4byte _08012734
- .4byte _08012734
- .4byte _08012734
- .4byte _08012730
- .4byte _08012730
- .4byte _08012734
- .4byte _08012734
- .4byte _08012734
- .4byte _08012734
- .4byte _08012734
- .4byte _08012734
- .4byte _08012730
- .4byte _08012730
- .4byte _08012730
- .4byte _08012730
- .4byte _08012730
-_08012730:
- movs r0, 0x1
- b _08012736
-_08012734:
- movs r0, 0
-_08012736:
- pop {r1}
- bx r1
- thumb_func_end sub_80126CC
-
- thumb_func_start BerryBlenderLinkBecomeLeader
-BerryBlenderLinkBecomeLeader: @ 801273C
- push {lr}
- ldr r0, =sub_8012780
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_02022C30
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- str r1, [r2]
- ldr r0, =gUnknown_03000DA0
- str r1, [r0]
- movs r0, 0
- strb r0, [r1, 0xC]
- strb r0, [r1, 0xD]
- ldr r1, =gSpecialVar_Result
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end BerryBlenderLinkBecomeLeader
-
- thumb_func_start sub_8012780
-sub_8012780: @ 8012780
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_02022C30
- ldr r6, [r0]
- ldrb r0, [r6, 0xC]
- cmp r0, 0x1E
- bls _0801279A
- bl _08012F50
-_0801279A:
- lsls r0, 2
- ldr r1, =_080127AC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080127AC:
- .4byte _08012828
- .4byte _08012F50
- .4byte _08012F50
- .4byte _080128A0
- .4byte _080129C8
- .4byte _08012A50
- .4byte _08012A6C
- .4byte _08012B8C
- .4byte _08012F50
- .4byte _08012AFC
- .4byte _08012B14
- .4byte _08012BA8
- .4byte _08012C5C
- .4byte _08012D5A
- .4byte _08012D78
- .4byte _08012D8A
- .4byte _08012DA8
- .4byte _08012E62
- .4byte _08012E78
- .4byte _08012DF2
- .4byte _08012E10
- .4byte _08012ED0
- .4byte _08012EFC
- .4byte _08012ED0
- .4byte _08012EE6
- .4byte _08012F50
- .4byte _08012F14
- .4byte _08012F50
- .4byte _08012F50
- .4byte _08012B54
- .4byte _08012EB6
-_08012828:
- ldr r0, =gSpecialVar_0x8004
- ldrh r2, [r0]
- adds r3, r0, 0
- cmp r2, 0x14
- bne _08012848
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _08012848
- adds r0, r2, 0x1
- strh r0, [r3]
-_08012848:
- ldr r2, =gUnknown_02022C2C
- ldr r1, =gUnknown_082F00C4
- ldrh r0, [r3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- strb r0, [r2]
- ldr r4, =gUnknown_02022C2D
- ldrh r0, [r3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- lsrs r0, 8
- strb r0, [r4]
- ldrb r0, [r2]
- movs r1, 0
- movs r2, 0
- bl sub_8010F84
- bl sub_800B488
- bl OpenLink
- ldrb r1, [r4]
- movs r0, 0xF
- ands r0, r1
- bl sub_8011C10
- movs r0, 0x3
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_080128A0:
- movs r0, 0x70
- bl AllocZeroed
- str r0, [r6, 0x4]
- movs r0, 0xA0
- bl AllocZeroed
- str r0, [r6]
- movs r0, 0xA0
- bl AllocZeroed
- str r0, [r6, 0x8]
- ldr r0, [r6, 0x4]
- movs r1, 0x4
- bl sub_80175EC
- ldr r0, [r6]
- movs r1, 0x5
- bl sub_8017580
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x10
- bl sub_800DF90
- ldr r1, [r6]
- movs r3, 0
- movs r0, 0
- strh r0, [r1, 0x18]
- ldr r2, [r6]
- ldrb r1, [r2, 0x1A]
- subs r0, 0x4
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x1A]
- ldr r2, [r6]
- ldrb r1, [r2, 0x1A]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x1A]
- ldr r0, [r6]
- strb r3, [r0, 0x1B]
- ldr r0, [r6, 0x4]
- movs r1, 0xFF
- bl sub_8016FC0
- strb r0, [r6, 0x17]
- ldr r0, =gUnknown_082F00BC
- bl AddWindow
- strb r0, [r6, 0x10]
- ldr r0, =gUnknown_02022C2D
- ldrb r0, [r0]
- movs r1, 0xF
- ands r1, r0
- cmp r1, 0x2
- blt _08012938
- cmp r1, 0x4
- ble _08012928
- cmp r1, 0x5
- beq _08012930
- b _08012938
- .pool
-_08012928:
- ldr r0, =gUnknown_082F011C
- b _08012932
- .pool
-_08012930:
- ldr r0, =gUnknown_082F0124
-_08012932:
- bl AddWindow
- strb r0, [r6, 0xF]
-_08012938:
- ldr r0, =gUnknown_082F012C
- bl AddWindow
- strb r0, [r6, 0x11]
- ldrb r0, [r6, 0x10]
- movs r1, 0x22
- bl FillWindowPixelBuffer
- ldrb r0, [r6, 0x10]
- ldr r2, =gUnknown_082EDBC4
- movs r3, 0x1
- mov r8, r3
- str r3, [sp]
- movs r4, 0x4
- str r4, [sp, 0x4]
- movs r1, 0
- movs r3, 0x8
- bl sub_80173E0
- ldrb r0, [r6, 0x10]
- bl PutWindowTilemap
- ldrb r0, [r6, 0x10]
- movs r1, 0x2
- bl CopyWindowToVram
- ldrb r0, [r6, 0xF]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldr r0, =gMultiuseListMenuTemplate
- adds r2, r0, 0
- ldr r1, =gUnknown_082F015C
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldrb r1, [r6, 0xF]
- strb r1, [r0, 0x10]
- movs r1, 0
- movs r2, 0
- bl ListMenuInit
- strb r0, [r6, 0x12]
- ldrb r0, [r6, 0x11]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r6, 0x11]
- bl PutWindowTilemap
- ldrb r0, [r6, 0x11]
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- mov r5, r8
- strb r5, [r6, 0x13]
- strb r4, [r6, 0xC]
- b _08012F50
- .pool
-_080129C8:
- ldr r0, =gStringVar1
- ldr r2, =gUnknown_082F0048
- ldr r4, =gUnknown_02022C2C
- ldrb r1, [r4]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- ldr r0, =gUnknown_02022C2D
- ldrb r2, [r0]
- lsrs r0, r2, 4
- cmp r0, 0
- beq _08012A2C
- ldrb r1, [r6, 0x13]
- subs r0, 0x1
- cmp r1, r0
- ble _08012A18
- movs r0, 0xF
- ands r0, r2
- cmp r0, 0
- beq _08012A18
- ldr r0, =gStringVar4
- ldr r1, =gText_AwaitingLink
- bl StringExpandPlaceholders
- b _08012A34
- .pool
-_08012A18:
- ldr r0, =gStringVar4
- ldr r1, =gText_AwaitingCommunication
- bl StringExpandPlaceholders
- b _08012A34
- .pool
-_08012A2C:
- ldr r0, =gStringVar4
- ldrb r1, [r4]
- bl sub_801262C
-_08012A34:
- ldrb r0, [r6, 0x11]
- ldr r1, =gUnknown_02022C2D
- ldrb r1, [r1]
- ldrb r2, [r6, 0x13]
- bl sub_80124EC
- movs r0, 0x5
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012A50:
- adds r0, r6, 0
- adds r0, 0xD
- ldr r1, =gStringVar4
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _08012A62
- b _08012F50
-_08012A62:
- movs r0, 0x6
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012A6C:
- adds r0, r6, 0
- movs r1, 0x7
- movs r2, 0xA
- bl sub_801320C
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08012AA8
- ldrb r0, [r6, 0x13]
- cmp r0, 0x1
- bne _08012A90
- movs r0, 0x17
- b _08012AA6
- .pool
-_08012A90:
- ldr r0, =gUnknown_02022C2D
- ldrb r1, [r0]
- movs r0, 0xF0
- ands r0, r1
- cmp r0, 0
- beq _08012AA4
- movs r0, 0x1E
- b _08012AA6
- .pool
-_08012AA4:
- movs r0, 0x13
-_08012AA6:
- strb r0, [r6, 0xC]
-_08012AA8:
- ldr r0, =gUnknown_02022C2D
- ldrb r2, [r0]
- lsrs r0, r2, 4
- cmp r0, 0
- beq _08012ADE
- ldrb r1, [r6, 0x13]
- subs r0, 0x1
- cmp r1, r0
- ble _08012ADE
- movs r4, 0xF
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _08012ADE
- bl sub_8012240
- cmp r0, 0
- beq _08012ADE
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08012ADE
- strb r4, [r6, 0xC]
- bl sub_800EF38
-_08012ADE:
- ldrb r0, [r6, 0xC]
- cmp r0, 0x6
- beq _08012AE6
- b _08012F50
-_08012AE6:
- bl sub_80105EC
- cmp r0, 0
- bne _08012AF0
- b _08012F50
-_08012AF0:
- b _08012C56
- .pool
-_08012AFC:
- bl sub_80105EC
- cmp r0, 0
- beq _08012B06
- b _08012F50
-_08012B06:
- movs r0, 0x6
- strb r0, [r6, 0xC]
- ldr r0, [r6]
- bl sub_8013398
- strb r0, [r6, 0x13]
- b _08012F50
-_08012B14:
- movs r3, 0
- ldr r0, =gUnknown_02022C2C
- ldrb r1, [r0]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x2
- bne _08012B24
- movs r3, 0x1
-_08012B24:
- adds r0, r6, 0
- adds r0, 0xD
- ldr r2, =gUnknown_082EDDC4
- lsls r1, r3, 2
- adds r1, r2
- ldr r1, [r1]
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _08012B3C
- b _08012F50
-_08012B3C:
- ldr r0, [r6]
- bl sub_8013398
- strb r0, [r6, 0x13]
- ldrb r0, [r6, 0x12]
- bl sub_81AE70C
- b _08012E5C
- .pool
-_08012B54:
- ldr r0, =gUnknown_02022C2D
- ldrb r0, [r0]
- movs r1, 0xF
- ands r1, r0
- movs r0, 0x2
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r3, r0, 31
- adds r0, r6, 0
- adds r0, 0xD
- ldr r2, =gUnknown_082EDDC4
- lsls r1, r3, 2
- adds r1, r2
- ldr r1, [r1]
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _08012B7E
- b _08012F50
-_08012B7E:
- movs r0, 0x15
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012B8C:
- adds r0, r6, 0
- adds r0, 0xD
- ldr r1, =gStringVar4
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _08012B9E
- b _08012F50
-_08012B9E:
- movs r0, 0xB
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012BA8:
- adds r4, r6, 0
- adds r4, 0xD
- ldrb r1, [r6, 0x13]
- lsls r1, 5
- ldr r0, [r6]
- adds r0, r1
- adds r0, 0x2
- bl sub_8015658
- lsls r0, 16
- lsrs r0, 16
- ldrb r2, [r6, 0x13]
- lsls r2, 5
- ldr r1, [r6]
- adds r1, r2
- adds r1, 0x10
- bl sub_801064C
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_80170B8
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08012C28
- cmp r1, r0
- bgt _08012BEC
- subs r0, 0x2
- cmp r1, r0
- beq _08012C56
- b _08012F50
-_08012BEC:
- cmp r1, 0
- beq _08012BF6
- cmp r1, 0x1
- beq _08012C28
- b _08012F50
-_08012BF6:
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl CreateWirelessStatusIndicatorSprite
- movs r0, 0x5
- strb r0, [r6, 0x19]
- ldrb r1, [r6, 0x13]
- lsls r1, 5
- ldr r0, [r6]
- adds r0, r1
- adds r0, 0x2
- bl sub_8015658
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldrb r0, [r6, 0x13]
- lsls r0, 5
- ldr r2, [r6]
- adds r2, r0
- adds r2, 0x10
- movs r0, 0x5
- b _08012C4C
-_08012C28:
- movs r0, 0x6
- strb r0, [r6, 0x19]
- ldrb r1, [r6, 0x13]
- lsls r1, 5
- ldr r0, [r6]
- adds r0, r1
- adds r0, 0x2
- bl sub_8015658
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldrb r0, [r6, 0x13]
- lsls r0, 5
- ldr r2, [r6]
- adds r2, r0
- adds r2, 0x10
- movs r0, 0x6
-_08012C4C:
- bl sub_8010688
- movs r0, 0xC
- strb r0, [r6, 0xC]
- b _08012F50
-_08012C56:
- movs r0, 0x9
- strb r0, [r6, 0xC]
- b _08012F50
-_08012C5C:
- ldrb r1, [r6, 0x13]
- lsls r1, 5
- ldr r0, [r6]
- adds r0, r1
- adds r0, 0x2
- bl sub_8015658
- lsls r0, 16
- lsrs r0, 16
- ldrb r2, [r6, 0x13]
- lsls r2, 5
- ldr r1, [r6]
- adds r1, r2
- adds r1, 0x10
- bl sub_8010714
- cmp r0, 0x1
- bne _08012D4A
- ldrb r0, [r6, 0x19]
- cmp r0, 0x5
- bne _08012D04
- ldr r1, [r6]
- ldrb r0, [r6, 0x13]
- lsls r0, 5
- adds r1, r0
- movs r0, 0
- strb r0, [r1, 0x1B]
- ldrb r0, [r6, 0x12]
- bl sub_81AE70C
- ldrb r0, [r6, 0x13]
- adds r0, 0x1
- strb r0, [r6, 0x13]
- ldr r1, =gUnknown_02022C2D
- ldrb r1, [r1]
- movs r3, 0xF
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r3, 0
- ands r0, r1
- cmp r2, r0
- bne _08012D40
- movs r0, 0xF0
- ands r0, r1
- cmp r0, 0
- bne _08012CBC
- cmp r2, 0x4
- bne _08012CC4
-_08012CBC:
- strb r3, [r6, 0xC]
- b _08012CE0
- .pool
-_08012CC4:
- ldr r0, =gStringVar1
- ldrb r2, [r6, 0x13]
- lsls r2, 5
- subs r2, 0x20
- ldr r1, [r6]
- adds r1, r2
- bl sub_8018404
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_082EDC9C
- bl StringExpandPlaceholders
- movs r0, 0xD
- strb r0, [r6, 0xC]
-_08012CE0:
- bl sub_800EF38
- ldrb r0, [r6, 0x11]
- ldr r1, =gUnknown_02022C2D
- ldrb r1, [r1]
- ldrb r2, [r6, 0x13]
- bl sub_80124EC
- b _08012D44
- .pool
-_08012D04:
- ldrb r1, [r6, 0x13]
- lsls r1, 5
- ldr r0, [r6]
- adds r0, r1
- adds r4, r0, 0
- adds r4, 0x10
- adds r0, 0x2
- bl sub_8015658
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_8011DC0
- ldr r1, [r6]
- ldrb r0, [r6, 0x13]
- lsls r0, 5
- adds r1, r0
- ldrb r2, [r1, 0x1A]
- movs r0, 0x4
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1A]
- ldr r0, [r6]
- bl sub_8013398
- ldrb r0, [r6, 0x12]
- bl sub_81AE70C
-_08012D40:
- movs r0, 0x4
- strb r0, [r6, 0xC]
-_08012D44:
- movs r0, 0
- strb r0, [r6, 0x19]
- b _08012F50
-_08012D4A:
- cmp r0, 0x2
- beq _08012D50
- b _08012F50
-_08012D50:
- movs r0, 0
- movs r1, 0
- bl sub_8011A64
- b _08012E5C
-_08012D5A:
- adds r0, r6, 0
- adds r0, 0xD
- ldr r1, =gStringVar4
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _08012D6C
- b _08012F50
-_08012D6C:
- movs r0, 0xE
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012D78:
- ldrb r0, [r6, 0xE]
- adds r0, 0x1
- strb r0, [r6, 0xE]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x78
- bhi _08012D88
- b _08012F50
-_08012D88:
- b _08012DCE
-_08012D8A:
- adds r0, r6, 0
- adds r0, 0xD
- ldr r1, =gUnknown_082EDC5C
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _08012D9C
- b _08012F50
-_08012D9C:
- movs r0, 0x10
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012DA8:
- adds r0, r6, 0
- adds r0, 0xD
- movs r1, 0
- bl sub_80170B8
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _08012DCE
- cmp r1, 0
- bgt _08012DC8
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08012DD4
- b _08012F50
-_08012DC8:
- cmp r1, 0x1
- beq _08012DD4
- b _08012F50
-_08012DCE:
- movs r0, 0x11
- strb r0, [r6, 0xC]
- b _08012F50
-_08012DD4:
- ldr r0, =gUnknown_02022C2D
- ldrb r1, [r0]
- movs r0, 0xF0
- ands r0, r1
- cmp r0, 0
- beq _08012DEC
- movs r0, 0x1E
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012DEC:
- movs r0, 0x13
- strb r0, [r6, 0xC]
- b _08012F50
-_08012DF2:
- adds r0, r6, 0
- adds r0, 0xD
- ldr r1, =gUnknown_082EDC78
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _08012E04
- b _08012F50
-_08012E04:
- movs r0, 0x14
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012E10:
- adds r0, r6, 0
- adds r0, 0xD
- movs r1, 0
- bl sub_80170B8
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _08012EC6
- cmp r1, 0
- bgt _08012E30
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08012E36
- b _08012F50
-_08012E30:
- cmp r1, 0x1
- beq _08012E36
- b _08012F50
-_08012E36:
- ldr r0, =gUnknown_02022C2D
- ldrb r2, [r0]
- movs r0, 0xF0
- ands r0, r2
- cmp r0, 0
- beq _08012E4C
- movs r0, 0xF
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012E4C:
- movs r3, 0xF
- ldrb r1, [r6, 0x13]
- adds r0, r3, 0
- ands r0, r2
- cmp r1, r0
- bne _08012E5C
- strb r3, [r6, 0xC]
- b _08012F50
-_08012E5C:
- movs r0, 0x4
- strb r0, [r6, 0xC]
- b _08012F50
-_08012E62:
- adds r0, r6, 0
- movs r1, 0x7
- movs r2, 0x1D
- bl sub_801320C
- lsls r0, 24
- cmp r0, 0
- bne _08012F50
- movs r0, 0x12
- strb r0, [r6, 0xC]
- b _08012F50
-_08012E78:
- bl sub_800EF1C
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08012EAE
- movs r0, 0
- bl sub_800EF58
- cmp r0, 0
- beq _08012E94
- movs r0, 0x1A
- strb r0, [r6, 0xC]
- b _08012F50
-_08012E94:
- ldrh r0, [r6, 0x1A]
- adds r0, 0x1
- strh r0, [r6, 0x1A]
- lsls r0, 16
- movs r1, 0x96
- lsls r1, 17
- cmp r0, r1
- bls _08012F50
- movs r0, 0x1D
- strb r0, [r6, 0xC]
- movs r0, 0
- strb r0, [r6, 0xD]
- b _08012F50
-_08012EAE:
- movs r0, 0x1D
- strb r0, [r6, 0xC]
- strb r1, [r6, 0xD]
- b _08012F50
-_08012EB6:
- adds r0, r6, 0
- adds r0, 0xD
- ldr r1, =gUnknown_082EDD58
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- beq _08012F50
-_08012EC6:
- movs r0, 0x17
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012ED0:
- bl sub_800E084
- bl sub_800EDD4
- adds r0, r6, 0
- bl sub_8012F64
- ldrb r0, [r6, 0xC]
- adds r0, 0x1
- strb r0, [r6, 0xC]
- b _08012F50
-_08012EE6:
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
- ldr r1, =gSpecialVar_Result
- movs r0, 0x5
- strh r0, [r1]
- b _08012F50
- .pool
-_08012EFC:
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
- ldr r1, =gSpecialVar_Result
- movs r0, 0x8
- strh r0, [r1]
- b _08012F50
- .pool
-_08012F14:
- bl sub_8011A80
- cmp r0, 0
- beq _08012F22
- movs r0, 0x1D
- strb r0, [r6, 0xC]
- b _08012F50
-_08012F22:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08012F50
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- bl sub_80126CC
- cmp r0, 0
- beq _08012F3A
- bl sub_801103C
-_08012F3A:
- movs r0, 0x1
- bl sub_8011068
- bl sub_80149C4
- adds r0, r6, 0
- bl sub_8012F64
- adds r0, r4, 0
- bl DestroyTask
-_08012F50:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8012780
-
- thumb_func_start sub_8012F64
-sub_8012F64: @ 8012F64
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x11]
- bl ClearWindowTilemap
- ldrb r0, [r4, 0x11]
- movs r1, 0
- bl sub_819746C
- ldrb r0, [r4, 0x12]
- movs r1, 0
- movs r2, 0
- bl DestroyListMenuTask
- ldrb r0, [r4, 0x10]
- bl ClearWindowTilemap
- ldrb r0, [r4, 0xF]
- movs r1, 0
- bl sub_819746C
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldrb r0, [r4, 0x11]
- bl RemoveWindow
- ldrb r0, [r4, 0xF]
- bl RemoveWindow
- ldrb r0, [r4, 0x10]
- bl RemoveWindow
- ldrb r0, [r4, 0x17]
- bl DestroyTask
- ldr r0, [r4, 0x8]
- bl Free
- ldr r0, [r4]
- bl Free
- ldr r0, [r4, 0x4]
- bl Free
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8012F64
-
- thumb_func_start sub_8012FC4
-sub_8012FC4: @ 8012FC4
- push {lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r1, 24
- subs r0, r1, 0x1
- cmp r0, 0x1B
- bhi _08013070
- lsls r0, 2
- ldr r1, =_08012FE0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08012FE0:
- .4byte _08013050
- .4byte _08013050
- .4byte _08013068
- .4byte _08013050
- .4byte _08013070
- .4byte _08013070
- .4byte _08013070
- .4byte _08013070
- .4byte _08013068
- .4byte _08013068
- .4byte _08013068
- .4byte _08013070
- .4byte _08013070
- .4byte _08013050
- .4byte _08013068
- .4byte _08013068
- .4byte _08013070
- .4byte _08013070
- .4byte _08013070
- .4byte _08013070
- .4byte _08013058
- .4byte _08013058
- .4byte _08013068
- .4byte _08013068
- .4byte _08013068
- .4byte _08013068
- .4byte _08013068
- .4byte _08013050
-_08013050:
- ldr r1, =gUnknown_082EDBE8
- b _0801305A
- .pool
-_08013058:
- ldr r1, =gUnknown_082EDC0C
-_0801305A:
- adds r0, r2, 0
- bl StringExpandPlaceholders
- b _08013070
- .pool
-_08013068:
- ldr r1, =gUnknown_082EDC34
- adds r0, r2, 0
- bl StringExpandPlaceholders
-_08013070:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8012FC4
-
- thumb_func_start sub_8013078
-sub_8013078: @ 8013078
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- adds r2, r1, 0
- cmp r1, 0x44
- beq _08013098
- cmp r1, 0x44
- bgt _0801308E
- cmp r1, 0x41
- beq _08013098
- b _080130AA
-_0801308E:
- cmp r2, 0x45
- beq _080130A4
- cmp r2, 0x48
- beq _080130A4
- b _080130AA
-_08013098:
- ldr r1, =gUnknown_082EE560
- bl StringExpandPlaceholders
- b _080130AA
- .pool
-_080130A4:
- ldr r1, =gUnknown_082EE57C
- bl StringExpandPlaceholders
-_080130AA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8013078
-
- thumb_func_start sub_80130B4
-sub_80130B4: @ 80130B4
- push {lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r1, 24
- subs r0, r1, 0x1
- cmp r0, 0x1B
- bhi _08013158
- lsls r0, 2
- ldr r1, =_080130D0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080130D0:
- .4byte _08013140
- .4byte _08013140
- .4byte _08013150
- .4byte _08013140
- .4byte _08013158
- .4byte _08013158
- .4byte _08013158
- .4byte _08013158
- .4byte _08013150
- .4byte _08013150
- .4byte _08013150
- .4byte _08013158
- .4byte _08013158
- .4byte _08013140
- .4byte _08013150
- .4byte _08013150
- .4byte _08013158
- .4byte _08013158
- .4byte _08013158
- .4byte _08013158
- .4byte _08013140
- .4byte _08013140
- .4byte _08013150
- .4byte _08013150
- .4byte _08013150
- .4byte _08013150
- .4byte _08013150
- .4byte _08013140
-_08013140:
- ldr r1, =gUnknown_082EFC3C
- adds r0, r2, 0
- bl StringExpandPlaceholders
- b _08013158
- .pool
-_08013150:
- ldr r1, =gUnknown_082EFC54
- adds r0, r2, 0
- bl StringExpandPlaceholders
-_08013158:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80130B4
-
- thumb_func_start sub_8013160
-sub_8013160: @ 8013160
- push {lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r1, 24
- subs r0, r1, 0x1
- cmp r0, 0x1B
- bhi _08013204
- lsls r0, 2
- ldr r1, =_0801317C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801317C:
- .4byte _080131EC
- .4byte _080131EC
- .4byte _080131FC
- .4byte _080131EC
- .4byte _08013204
- .4byte _08013204
- .4byte _08013204
- .4byte _08013204
- .4byte _080131FC
- .4byte _080131FC
- .4byte _080131FC
- .4byte _08013204
- .4byte _08013204
- .4byte _080131EC
- .4byte _080131FC
- .4byte _080131FC
- .4byte _08013204
- .4byte _08013204
- .4byte _08013204
- .4byte _08013204
- .4byte _080131EC
- .4byte _080131EC
- .4byte _080131FC
- .4byte _080131FC
- .4byte _080131FC
- .4byte _080131FC
- .4byte _080131FC
- .4byte _080131EC
-_080131EC:
- ldr r1, =gUnknown_082EDDF4
- adds r0, r2, 0
- bl StringExpandPlaceholders
- b _08013204
- .pool
-_080131FC:
- ldr r1, =gUnknown_082EDE0C
- adds r0, r2, 0
- bl StringExpandPlaceholders
-_08013204:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8013160
-
- thumb_func_start sub_801320C
-sub_801320C: @ 801320C
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- adds r5, r2, 0
- ldr r0, [r4]
- bl sub_80132D4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08013228
- cmp r0, 0x2
- beq _0801325C
- b _08013270
-_08013228:
- movs r0, 0x2
- bl PlaySE
- ldrb r0, [r4, 0x12]
- bl sub_81AE70C
- ldr r0, =gStringVar2
- ldrb r2, [r4, 0x13]
- lsls r2, 5
- ldr r1, [r4]
- adds r1, r2
- bl sub_8018404
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_02022C2C
- ldrb r1, [r1]
- bl sub_8012FC4
- strb r6, [r4, 0xC]
- b _08013270
- .pool
-_0801325C:
- movs r0, 0
- movs r1, 0
- bl sub_8011A64
- ldrb r0, [r4, 0x12]
- bl sub_81AE70C
- strb r5, [r4, 0xC]
- movs r0, 0x1
- b _08013272
-_08013270:
- movs r0, 0
-_08013272:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801320C
-
- thumb_func_start sub_8013278
-sub_8013278: @ 8013278
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r0, =gUnknown_02022C30
- ldr r3, [r0]
- movs r2, 0
- ldr r1, [r3]
- lsls r0, r4, 5
- adds r1, r0
- ldrb r0, [r1, 0x1A]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x1
- beq _080132A8
- cmp r0, 0x2
- beq _080132B2
- b _080132B4
- .pool
-_080132A8:
- ldrb r0, [r1, 0x1B]
- cmp r0, 0
- beq _080132B4
- movs r2, 0x2
- b _080132B4
-_080132B2:
- movs r2, 0x1
-_080132B4:
- lsls r0, r4, 5
- ldr r3, [r3]
- adds r3, r0
- str r2, [sp]
- lsls r0, r4, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0
- adds r2, r6, 0
- bl sub_80178A0
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8013278
-
- thumb_func_start sub_80132D4
-sub_80132D4: @ 80132D4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- ldr r0, =gUnknown_02022C30
- ldr r5, [r0]
- movs r0, 0
- mov r8, r0
- movs r3, 0x1
-_080132E8:
- ldr r0, [r5]
- lsls r6, r3, 5
- adds r2, r0, r6
- ldrb r0, [r2, 0x1A]
- lsls r0, 30
- lsrs r0, 30
- mov r9, r0
- cmp r0, 0x1
- bne _08013348
- ldr r1, [r5, 0x4]
- adds r0, r2, 0
- str r3, [sp]
- bl sub_80176E4
- adds r4, r0, 0
- ldr r3, [sp]
- cmp r4, 0xFF
- beq _08013330
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- lsls r2, r4, 3
- subs r2, r4
- lsls r2, 2
- adds r1, r6
- adds r0, r2
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- ldr r0, [r5]
- adds r0, r6
- mov r1, r9
- strh r1, [r0, 0x18]
- b _08013348
- .pool
-_08013330:
- ldr r2, [r5]
- adds r2, r6
- ldrb r1, [r2, 0x1A]
- movs r4, 0x4
- negs r4, r4
- adds r0, r4, 0
- ands r1, r0
- movs r0, 0x2
- orrs r1, r0
- strb r1, [r2, 0x1A]
- movs r7, 0x2
- mov r8, r7
-_08013348:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x4
- bls _080132E8
- movs r6, 0
- movs r4, 0x3
-_08013356:
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- adds r1, r6
- movs r2, 0x5
- bl sub_8017734
- adds r6, 0x1C
- subs r4, 0x1
- ldr r0, [r5]
- cmp r4, 0
- bge _08013356
- mov r1, r8
- cmp r1, 0x2
- beq _08013388
- adds r1, r0, 0
- movs r4, 0x4
-_08013376:
- ldrb r0, [r1, 0x1B]
- cmp r0, 0
- beq _08013380
- movs r2, 0x1
- mov r8, r2
-_08013380:
- adds r1, 0x20
- subs r4, 0x1
- cmp r4, 0
- bge _08013376
-_08013388:
- mov r0, r8
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80132D4
-
- thumb_func_start sub_8013398
-sub_8013398: @ 8013398
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =gUnknown_02022C30
- ldr r4, [r0]
- movs r3, 0
-_080133A8:
- ldr r0, [r4, 0x8]
- lsls r2, r3, 5
- ldr r1, [r4]
- adds r0, r2
- adds r1, r2
- ldm r1!, {r2,r5,r6}
- stm r0!, {r2,r5,r6}
- ldm r1!, {r2,r5,r7}
- stm r0!, {r2,r5,r7}
- ldm r1!, {r6,r7}
- stm r0!, {r6,r7}
- adds r3, 0x1
- ldr r0, [r4, 0x8]
- ldr r1, [r4]
- cmp r3, 0x4
- ble _080133A8
- movs r5, 0
- mov r8, r1
- mov r9, r0
- movs r3, 0x4
-_080133D0:
- mov r1, r9
- ldrb r0, [r1, 0x1A]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x1
- bne _080133F2
- lsls r0, r5, 5
- add r0, r8
- ldm r1!, {r2,r6,r7}
- stm r0!, {r2,r6,r7}
- ldm r1!, {r2,r6,r7}
- stm r0!, {r2,r6,r7}
- ldm r1!, {r2,r6}
- stm r0!, {r2,r6}
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080133F2:
- movs r7, 0x20
- add r9, r7
- subs r3, 0x1
- cmp r3, 0
- bge _080133D0
- mov r10, r5
- cmp r5, 0x4
- bhi _08013454
- ldr r0, =gUnknown_082F045C
- mov r9, r0
- movs r1, 0
- mov r12, r1
- movs r2, 0x4
- negs r2, r2
- mov r8, r2
-_08013410:
- ldr r1, [r4]
- lsls r3, r5, 5
- adds r1, r3
- mov r0, r9
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- ldr r0, [r4]
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x18]
- ldr r1, [r4]
- adds r1, r3
- ldrb r2, [r1, 0x1A]
- mov r0, r8
- ands r0, r2
- strb r0, [r1, 0x1A]
- ldr r1, [r4]
- adds r1, r3
- ldrb r2, [r1, 0x1A]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1A]
- ldr r0, [r4]
- adds r0, r3
- mov r6, r12
- strb r6, [r0, 0x1B]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _08013410
-_08013454:
- movs r3, 0
- ldr r1, [r4]
- ldrb r0, [r1, 0x1A]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x1
- bne _08013474
- ldrb r0, [r1, 0x1B]
- cmp r0, 0x40
- bne _08013474
- mov r10, r3
- b _08013494
- .pool
-_08013474:
- adds r3, 0x1
- cmp r3, 0x4
- bgt _08013494
- lsls r0, r3, 5
- adds r2, r1, r0
- ldrb r0, [r2, 0x1A]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x1
- bne _08013474
- ldrb r0, [r2, 0x1B]
- cmp r0, 0x40
- bne _08013474
- lsls r0, r3, 24
- lsrs r0, 24
- mov r10, r0
-_08013494:
- mov r0, r10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8013398
-
- thumb_func_start BerryBlenderLinkJoinGroup
-BerryBlenderLinkJoinGroup: @ 80134A4
- push {lr}
- ldr r0, =sub_80134E8
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_02022C30
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- str r1, [r2]
- ldr r0, =gUnknown_03000DA4
- str r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x8]
- strb r0, [r1, 0x9]
- ldr r1, =gSpecialVar_Result
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end BerryBlenderLinkJoinGroup
-
- thumb_func_start sub_80134E8
-sub_80134E8: @ 80134E8
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_02022C30
- ldr r6, [r0]
- ldrb r0, [r6, 0x8]
- cmp r0, 0x17
- bls _080134FC
- b _08013B82
-_080134FC:
- lsls r0, 2
- ldr r1, =_08013510
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08013510:
- .4byte _08013570
- .4byte _080135E0
- .4byte _0801360C
- .4byte _080136D8
- .4byte _08013B82
- .4byte _08013788
- .4byte _080137C4
- .4byte _08013A10
- .4byte _08013A2C
- .4byte _08013A7A
- .4byte _08013A8C
- .4byte _08013B14
- .4byte _08013A8C
- .4byte _08013AE4
- .4byte _08013A8C
- .4byte _08013B24
- .4byte _08013B82
- .4byte _08013B82
- .4byte _08013A8C
- .4byte _08013B44
- .4byte _08013A8C
- .4byte _08013B78
- .4byte _08013B82
- .4byte _08013B68
-_08013570:
- ldr r0, =gSpecialVar_0x8004
- ldrh r2, [r0]
- adds r3, r0, 0
- cmp r2, 0x14
- bne _08013590
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _08013590
- adds r0, r2, 0x1
- strh r0, [r3]
-_08013590:
- ldr r2, =gUnknown_02022C2C
- ldr r1, =gUnknown_082F0530
- ldrh r0, [r3]
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- ldrb r0, [r2]
- movs r1, 0
- movs r2, 0
- bl sub_8010F84
- bl sub_800B488
- bl OpenLink
- bl sub_8011C5C
- movs r0, 0x70
- bl AllocZeroed
- str r0, [r6, 0x4]
- movs r0, 0x80
- lsls r0, 2
- bl AllocZeroed
- str r0, [r6]
- movs r0, 0x1
- strb r0, [r6, 0x8]
- b _08013B82
- .pool
-_080135E0:
- adds r0, r6, 0
- adds r0, 0x9
- ldr r2, =gUnknown_082EFB70
- ldr r1, =gSpecialVar_0x8004
- ldrh r1, [r1]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _080135FC
- b _08013B82
-_080135FC:
- movs r0, 0x2
- strb r0, [r6, 0x8]
- b _08013B82
- .pool
-_0801360C:
- ldr r0, [r6, 0x4]
- movs r1, 0x4
- bl sub_80175EC
- ldr r0, [r6]
- movs r1, 0x10
- bl sub_8017580
- ldr r0, [r6, 0x4]
- ldr r1, =gSpecialVar_0x8004
- ldrh r1, [r1]
- bl sub_8016FC0
- movs r4, 0
- strb r0, [r6, 0x11]
- ldr r0, =gUnknown_082F00BC
- bl AddWindow
- strb r0, [r6, 0xC]
- ldr r0, =gUnknown_082F0174
- bl AddWindow
- strb r0, [r6, 0xB]
- ldr r0, =gUnknown_082F017C
- bl AddWindow
- strb r0, [r6, 0xD]
- ldrb r0, [r6, 0xC]
- movs r1, 0x22
- bl FillWindowPixelBuffer
- ldrb r0, [r6, 0xC]
- ldr r2, =gUnknown_082EF7DC
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0x8
- bl sub_80173E0
- ldrb r0, [r6, 0xC]
- bl PutWindowTilemap
- ldrb r0, [r6, 0xC]
- movs r1, 0x2
- bl CopyWindowToVram
- ldrb r0, [r6, 0xB]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldr r0, =gMultiuseListMenuTemplate
- adds r2, r0, 0
- ldr r1, =gUnknown_082F0204
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldrb r1, [r6, 0xB]
- strb r1, [r0, 0x10]
- movs r1, 0
- movs r2, 0
- bl ListMenuInit
- strb r0, [r6, 0xE]
- ldrb r0, [r6, 0xD]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r6, 0xD]
- bl PutWindowTilemap
- ldrb r0, [r6, 0xD]
- bl sub_80125BC
- ldrb r0, [r6, 0xD]
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- strb r4, [r6, 0xF]
- movs r0, 0x3
- strb r0, [r6, 0x8]
- b _08013B82
- .pool
-_080136D8:
- bl sub_8013E44
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _080136F2
- cmp r4, 0x1
- beq _080136EA
- b _08013A72
-_080136EA:
- movs r0, 0x2
- bl PlaySE
- b _08013A72
-_080136F2:
- ldrb r0, [r6, 0xE]
- bl ListMenuHandleInputGetItemId
- adds r4, r0, 0
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08013770
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _08013770
- ldr r0, [r6]
- lsls r1, r4, 5
- adds r0, r1
- ldrb r1, [r0, 0xA]
- ldrb r0, [r0, 0x1A]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x1
- bne _08013768
- lsrs r0, r1, 7
- cmp r0, 0
- bne _08013768
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8013B8C
- adds r1, r0, 0
- cmp r1, 0
- bne _08013744
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8013BD8
- movs r0, 0x5
- b _08013756
- .pool
-_08013744:
- ldr r0, =gStringVar4
- ldr r2, =gUnknown_082EDD50
- subs r1, 0x1
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- movs r0, 0x12
-_08013756:
- strb r0, [r6, 0x8]
- movs r0, 0x6E
- bl PlaySE
- b _08013B82
- .pool
-_08013768:
- movs r0, 0x7
- bl PlaySE
- b _08013B82
-_08013770:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0801377E
- b _08013B82
-_0801377E:
- movs r0, 0xA
- strb r0, [r6, 0x8]
- b _08013B82
- .pool
-_08013788:
- ldr r4, =gStringVar4
- ldr r0, =gUnknown_02022C2C
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_80130B4
- adds r0, r6, 0
- adds r0, 0x9
- adds r1, r4, 0
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _080137A6
- b _08013B82
-_080137A6:
- ldr r0, =gStringVar1
- ldrb r2, [r6, 0xF]
- lsls r2, 5
- ldr r1, [r6]
- adds r1, r2
- bl sub_8018404
- b _08013A86
- .pool
-_080137C4:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0801387A
- ldr r4, =gUnknown_02022C2C
- ldr r1, [r6]
- ldrb r0, [r6, 0xF]
- lsls r0, 5
- adds r1, r0
- ldrb r0, [r1, 0xA]
- lsls r0, 25
- lsrs r0, 25
- strb r0, [r4]
- movs r0, 0
- movs r1, 0
- bl sub_8011A64
- ldrb r0, [r4]
- subs r0, 0x1
- cmp r0, 0x1B
- bhi _0801387A
- lsls r0, 2
- ldr r1, =_08013804
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08013804:
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _0801387A
- .4byte _0801387A
- .4byte _0801387A
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _0801387A
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _0801387A
- .4byte _0801387A
- .4byte _0801387A
- .4byte _0801387A
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
-_08013874:
- movs r0, 0x14
- strb r0, [r6, 0x8]
- b _08013B82
-_0801387A:
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x8
- bls _0801388A
- b _080139EC
-_0801388A:
- lsls r0, 2
- ldr r1, =_08013898
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08013898:
- .4byte _080138BC
- .4byte _080138C2
- .4byte _080139EC
- .4byte _080139EC
- .4byte _080138C8
- .4byte _080138C2
- .4byte _08013934
- .4byte _080139EC
- .4byte _080138C2
-_080138BC:
- movs r0, 0xC
- strb r0, [r6, 0x8]
- b _080139EC
-_080138C2:
- movs r0, 0xE
- strb r0, [r6, 0x8]
- b _080139EC
-_080138C8:
- ldr r5, =gStringVar4
- ldr r4, =gUnknown_02022C2C
- ldrb r1, [r4]
- adds r0, r5, 0
- bl sub_8013160
- adds r0, r6, 0
- adds r0, 0x9
- adds r1, r5, 0
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _080138E6
- b _080139EC
-_080138E6:
- ldrb r0, [r4]
- cmp r0, 0x1C
- beq _080138F0
- cmp r0, 0xE
- bne _08013904
-_080138F0:
- movs r0, 0xC
- movs r1, 0
- bl sub_8011A64
- b _080139EC
- .pool
-_08013904:
- movs r0, 0x7
- movs r1, 0
- bl sub_8011A64
- ldr r0, =gStringVar1
- ldr r2, =gUnknown_082F0048
- ldrb r1, [r4]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- ldr r1, =gUnknown_082EDE48
- adds r0, r5, 0
- bl StringExpandPlaceholders
- b _080139EC
- .pool
-_08013934:
- ldrb r0, [r6, 0x15]
- adds r2, r0, 0
- cmp r2, 0xF0
- bls _0801395C
- adds r0, r6, 0
- adds r0, 0x9
- ldr r1, =gStringVar4
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- beq _080139EC
- movs r0, 0xC
- movs r1, 0
- bl sub_8011A64
- movs r0, 0
- b _080139EA
- .pool
-_0801395C:
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r0, 0x1B
- bhi _080139E8
- lsls r0, 2
- ldr r1, =_08013978
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08013978:
- .4byte _080139EC
- .4byte _080139EC
- .4byte _080139E8
- .4byte _080139EC
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139EC
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139EC
-_080139E8:
- adds r0, r2, 0x1
-_080139EA:
- strb r0, [r6, 0x15]
-_080139EC:
- bl sub_8011A74
- lsls r0, 24
- cmp r0, 0
- beq _080139F8
- b _08013B82
-_080139F8:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08013A06
- b _08013B82
-_08013A06:
- movs r0, 0x7
- strb r0, [r6, 0x8]
- b _08013B82
- .pool
-_08013A10:
- adds r0, r6, 0
- adds r0, 0x9
- ldr r1, =gUnknown_082EDE64
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _08013A22
- b _08013B82
-_08013A22:
- movs r0, 0x8
- strb r0, [r6, 0x8]
- b _08013B82
- .pool
-_08013A2C:
- adds r4, r6, 0
- adds r4, 0x9
- bl sub_8011A74
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_80170B8
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08013A6A
- cmp r1, r0
- bgt _08013A58
- subs r0, 0x2
- cmp r1, r0
- beq _08013A6E
- b _08013B82
-_08013A58:
- cmp r1, 0
- beq _08013A62
- cmp r1, 0x1
- beq _08013A6A
- b _08013B82
-_08013A62:
- bl sub_80106D4
- movs r0, 0x9
- b _08013A70
-_08013A6A:
- movs r0, 0x5
- b _08013A70
-_08013A6E:
- movs r0, 0x6
-_08013A70:
- strb r0, [r6, 0x8]
-_08013A72:
- ldrb r0, [r6, 0xE]
- bl sub_81AE70C
- b _08013B82
-_08013A7A:
- bl sub_8011A74
- lsls r0, 24
- cmp r0, 0
- bne _08013A86
- b _08013B82
-_08013A86:
- movs r0, 0x6
- strb r0, [r6, 0x8]
- b _08013B82
-_08013A8C:
- ldrb r0, [r6, 0xD]
- bl ClearWindowTilemap
- ldrb r0, [r6, 0xD]
- movs r1, 0
- bl sub_819746C
- ldrb r0, [r6, 0xE]
- movs r1, 0
- movs r2, 0
- bl DestroyListMenuTask
- ldrb r0, [r6, 0xC]
- bl ClearWindowTilemap
- ldrb r0, [r6, 0xB]
- movs r1, 0
- bl sub_819746C
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldrb r0, [r6, 0xD]
- bl RemoveWindow
- ldrb r0, [r6, 0xB]
- bl RemoveWindow
- ldrb r0, [r6, 0xC]
- bl RemoveWindow
- ldrb r0, [r6, 0x11]
- bl DestroyTask
- ldr r0, [r6]
- bl Free
- ldr r0, [r6, 0x4]
- bl Free
- ldrb r0, [r6, 0x8]
- adds r0, 0x1
- strb r0, [r6, 0x8]
- b _08013B82
-_08013AE4:
- bl sub_800E084
- adds r5, r6, 0
- adds r5, 0x9
- ldr r4, =gUnknown_082EDE9C
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- beq _08013B82
- ldr r0, =gSpecialVar_Result
- movs r1, 0x6
- b _08013B58
- .pool
-_08013B14:
- bl sub_800E084
- ldr r0, =gSpecialVar_Result
- movs r1, 0x5
- b _08013B58
- .pool
-_08013B24:
- bl sub_800E084
- adds r5, r6, 0
- adds r5, 0x9
- ldr r4, =gUnknown_082EDE9C
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- ldr r1, [r0]
- adds r0, r5, 0
- b _08013B4A
- .pool
-_08013B44:
- adds r0, r6, 0
- adds r0, 0x9
- ldr r1, =gStringVar4
-_08013B4A:
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- beq _08013B82
- ldr r0, =gSpecialVar_Result
- movs r1, 0x8
-_08013B58:
- strh r1, [r0]
- movs r0, 0x17
- strb r0, [r6, 0x8]
- b _08013B82
- .pool
-_08013B68:
- adds r0, r4, 0
- bl DestroyTask
- bl sub_80173D4
- bl sub_800EDD4
- b _08013B82
-_08013B78:
- bl sub_80149C4
- adds r0, r4, 0
- bl DestroyTask
-_08013B82:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80134E8
-
- thumb_func_start sub_8013B8C
-sub_8013B8C: @ 8013B8C
- push {lr}
- lsls r1, 5
- ldr r0, [r0]
- adds r3, r0, r1
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _08013BCE
- ldrb r1, [r3, 0x1]
- movs r0, 0x3C
- ands r0, r1
- cmp r0, 0xC
- beq _08013BCE
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x9]
- movs r2, 0x80
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08013BC4
- movs r0, 0x1
- b _08013BD4
- .pool
-_08013BC4:
- ldrb r1, [r3]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _08013BD2
-_08013BCE:
- movs r0, 0
- b _08013BD4
-_08013BD2:
- movs r0, 0x2
-_08013BD4:
- pop {r1}
- bx r1
- thumb_func_end sub_8013B8C
-
- thumb_func_start sub_8013BD8
-sub_8013BD8: @ 8013BD8
- push {r4,lr}
- adds r4, r0, 0
- strb r1, [r4, 0xF]
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl CreateWirelessStatusIndicatorSprite
- ldrb r0, [r4, 0xE]
- bl sub_81AE70C
- ldr r0, =gStringVar1
- ldrb r2, [r4, 0xF]
- lsls r2, 5
- ldr r1, [r4]
- adds r1, r2
- bl sub_8018404
- ldr r1, =gUnknown_082F0530
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- movs r2, 0x1
- bl sub_8011090
- ldrb r1, [r4, 0xF]
- lsls r1, 5
- ldr r0, [r4]
- adds r0, r1
- adds r4, r0, 0
- adds r4, 0x10
- adds r0, 0x2
- bl sub_8015658
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_8011FC8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8013BD8
-
- thumb_func_start sub_8013C40
-sub_8013C40: @ 8013C40
- push {lr}
- ldr r0, =sub_8013C7C
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gUnknown_02022C30
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r2, =gTasks + 0x8
- adds r1, r2
- str r1, [r3]
- movs r2, 0
- strb r2, [r1, 0x8]
- strb r2, [r1, 0x9]
- ldr r2, =gUnknown_03000DA4
- str r1, [r2]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8013C40
-
- thumb_func_start sub_8013C7C
-sub_8013C7C: @ 8013C7C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gUnknown_02022C30
- ldr r4, [r0]
- ldrb r0, [r4, 0x8]
- cmp r0, 0xB
- bhi _08013D80
- lsls r0, 2
- ldr r1, =_08013CA0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08013CA0:
- .4byte _08013CD0
- .4byte _08013D80
- .4byte _08013D04
- .4byte _08013D28
- .4byte _08013D80
- .4byte _08013D80
- .4byte _08013D80
- .4byte _08013D80
- .4byte _08013D80
- .4byte _08013D80
- .4byte _08013D58
- .4byte _08013D76
-_08013CD0:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl sub_8010F84
- bl sub_800B488
- bl OpenLink
- bl sub_8011C5C
- movs r0, 0x1
- bl sub_80111B0
- movs r0, 0x70
- bl AllocZeroed
- str r0, [r4, 0x4]
- movs r0, 0x80
- lsls r0, 2
- bl AllocZeroed
- str r0, [r4]
- movs r0, 0x2
- strb r0, [r4, 0x8]
- b _08013D80
-_08013D04:
- ldr r0, [r4, 0x4]
- movs r1, 0x4
- bl sub_80175EC
- ldr r0, [r4]
- movs r1, 0x10
- bl sub_8017580
- ldr r0, [r4, 0x4]
- movs r1, 0xFF
- bl sub_8016FC0
- movs r1, 0
- strb r0, [r4, 0x11]
- strb r1, [r4, 0xF]
- movs r0, 0x3
- strb r0, [r4, 0x8]
- b _08013D80
-_08013D28:
- bl sub_8013E44
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08013D3A
- movs r0, 0x2
- bl PlaySE
-_08013D3A:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r2, 0x26
- ldrsh r0, [r1, r2]
- cmp r0, 0xFF
- bne _08013D80
- movs r0, 0xA
- strb r0, [r4, 0x8]
- b _08013D80
- .pool
-_08013D58:
- ldrb r0, [r4, 0x11]
- bl DestroyTask
- ldr r0, [r4]
- bl Free
- ldr r0, [r4, 0x4]
- bl Free
- bl sub_800EDD4
- ldrb r0, [r4, 0x8]
- adds r0, 0x1
- strb r0, [r4, 0x8]
- b _08013D80
-_08013D76:
- bl sub_800EDD4
- adds r0, r5, 0
- bl DestroyTask
-_08013D80:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8013C7C
-
- thumb_func_start sub_8013D88
-sub_8013D88: @ 8013D88
- push {lr}
- adds r2, r0, 0
- cmp r1, 0xFF
- bne _08013D94
-_08013D90:
- movs r0, 0x1
- b _08013DB8
-_08013D94:
- cmp r1, 0x16
- bhi _08013DB6
- ldr r0, =gUnknown_082F04D8
- lsls r1, 2
- adds r1, r0
- ldr r1, [r1]
- b _08013DB0
- .pool
-_08013DA8:
- ldrb r0, [r1]
- cmp r0, r2
- beq _08013D90
- adds r1, 0x1
-_08013DB0:
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _08013DA8
-_08013DB6:
- movs r0, 0
-_08013DB8:
- pop {r1}
- bx r1
- thumb_func_end sub_8013D88
-
- thumb_func_start sub_8013DBC
-sub_8013DBC: @ 8013DBC
- push {lr}
- ldr r0, [r0]
- lsls r1, 5
- adds r1, r0, r1
- ldrb r2, [r1, 0x1A]
- lsls r0, r2, 30
- lsrs r0, 30
- cmp r0, 0x1
- bne _08013DEE
- ldrb r0, [r1, 0xA]
- lsrs r0, 7
- cmp r0, 0
- beq _08013DDA
- movs r0, 0x3
- b _08013DF0
-_08013DDA:
- lsls r0, r2, 29
- cmp r0, 0
- bge _08013DE4
- movs r0, 0x1
- b _08013DF0
-_08013DE4:
- ldrb r0, [r1, 0x1B]
- cmp r0, 0
- beq _08013DEE
- movs r0, 0x2
- b _08013DF0
-_08013DEE:
- movs r0, 0
-_08013DF0:
- pop {r1}
- bx r1
- thumb_func_end sub_8013DBC
-
- thumb_func_start sub_8013DF4
-sub_8013DF4: @ 8013DF4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x8
- adds r5, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- ldr r0, =gUnknown_02022C30
- ldr r0, [r0]
- mov r8, r0
- bl sub_8013DBC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r4, 5
- mov r2, r8
- ldr r3, [r2]
- adds r3, r1
- str r0, [sp]
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0x8
- adds r2, r6, 0
- bl sub_80177B8
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8013DF4
-
- thumb_func_start sub_8013E44
-sub_8013E44: @ 8013E44
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r0, =gUnknown_02022C30
- ldr r6, [r0]
- movs r7, 0
- movs r3, 0
-_08013E54:
- ldr r0, [r6]
- lsls r5, r3, 5
- adds r2, r0, r5
- ldrb r0, [r2, 0x1A]
- lsls r0, 30
- mov r8, r5
- cmp r0, 0
- beq _08013F20
- ldr r1, [r6, 0x4]
- adds r0, r2, 0
- str r3, [sp]
- bl sub_80176E4
- adds r4, r0, 0
- ldr r3, [sp]
- cmp r4, 0xFF
- beq _08013EEE
- ldr r0, [r6]
- adds r2, r0, r5
- ldrb r1, [r2, 0x1A]
- lsls r0, r1, 30
- lsrs r0, 30
- cmp r0, 0x1
- bne _08013ECC
- lsls r0, r4, 3
- subs r0, r4
- lsls r4, r0, 2
- ldr r1, [r6, 0x4]
- adds r1, r4
- adds r0, r2, 0
- bl sub_8017678
- ldr r3, [sp]
- cmp r0, 0
- beq _08013EB0
- ldr r1, [r6]
- ldr r0, [r6, 0x4]
- adds r1, r5
- adds r0, r4
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- b _08013EDA
- .pool
-_08013EB0:
- ldr r0, [r6]
- adds r1, r0, r5
- ldrb r0, [r1, 0x1B]
- cmp r0, 0
- beq _08013EE4
- subs r0, 0x1
- strb r0, [r1, 0x1B]
- ldr r0, [r6]
- adds r0, r5
- ldrb r0, [r0, 0x1B]
- cmp r0, 0
- bne _08013EE4
- movs r7, 0x2
- b _08013EE4
-_08013ECC:
- movs r4, 0x4
- negs r4, r4
- adds r0, r4, 0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x1A]
-_08013EDA:
- ldr r0, [r6]
- adds r0, r5
- movs r1, 0x40
- strb r1, [r0, 0x1B]
- movs r7, 0x1
-_08013EE4:
- ldr r0, [r6]
- add r0, r8
- movs r1, 0
- strh r1, [r0, 0x18]
- b _08013F20
-_08013EEE:
- ldr r0, [r6]
- adds r1, r0, r5
- ldrb r0, [r1, 0x1A]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x2
- beq _08013F20
- ldrh r0, [r1, 0x18]
- adds r0, 0x1
- strh r0, [r1, 0x18]
- ldr r0, [r6]
- adds r2, r0, r5
- ldrh r1, [r2, 0x18]
- ldr r0, =0x0000012b
- cmp r1, r0
- bls _08013F20
- ldrb r0, [r2, 0x1A]
- movs r7, 0x4
- negs r7, r7
- adds r1, r7, 0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0x1A]
- movs r7, 0x2
-_08013F20:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xF
- bls _08013E54
- movs r5, 0
- movs r4, 0x3
-_08013F2E:
- ldr r0, [r6]
- ldr r1, [r6, 0x4]
- adds r1, r5
- movs r2, 0x10
- bl sub_8017734
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _08013F44
- movs r7, 0x1
-_08013F44:
- adds r5, 0x1C
- subs r4, 0x1
- cmp r4, 0
- bge _08013F2E
- adds r0, r7, 0
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8013E44
-
- thumb_func_start sub_8013F60
-sub_8013F60: @ 8013F60
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80773AC
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8013F60
-
- thumb_func_start sub_8013F78
-sub_8013F78: @ 8013F78
- push {lr}
- ldr r0, =sub_8013F60
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8013F78
-
- thumb_func_start sub_8013F90
-sub_8013F90: @ 8013F90
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gUnknown_02022C40
- mov r8, r0
- bl GetMultiplayerId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r8
- bl sub_8018120
- adds r7, r0, 0
- 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, 0x1
- beq _08013FFC
- cmp r0, 0x1
- bgt _08013FD4
- cmp r0, 0
- beq _08013FDE
- b _080140BC
- .pool
-_08013FD4:
- cmp r0, 0x2
- beq _08014038
- cmp r0, 0x3
- beq _08014070
- b _080140BC
-_08013FDE:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r1, r0
- movs r0, 0
- movs r2, 0x64
- bl SendBlock
- b _080140BC
- .pool
-_08013FFC:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _080140BC
- bl GetMultiplayerId
- adds r1, r0, 0
- ldr r0, =gEnemyParty
- movs r2, 0x1
- eors r1, r2
- lsls r1, 24
- lsrs r1, 16
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0x64
- bl memcpy
- movs r0, 0x32
- bl IncrementGameStat
- bl ResetBlockReceivedFlags
- b _0801405A
- .pool
-_08014038:
- ldr r4, =gBlockSendBuffer
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =0x00002be0
- adds r1, r0
- adds r0, r4, 0
- movs r2, 0xDC
- bl memcpy
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0xDC
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _080140BC
-_0801405A:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _080140BC
- .pool
-_08014070:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _080140BC
- ldr r4, =gUnknown_020321C0
- bl GetMultiplayerId
- adds r1, r0, 0
- movs r0, 0x1
- eors r1, r0
- lsls r1, 24
- lsrs r1, 16
- ldr r0, =gBlockRecvBuffer
- adds r1, r0
- adds r0, r4, 0
- movs r2, 0xD8
- bl memcpy
- bl ResetBlockReceivedFlags
- ldr r1, =gUnknown_02032298
- strb r7, [r1]
- movs r0, 0x6
- strb r0, [r1, 0x1]
- ldr r1, =gMain
- ldr r0, =CB2_ReturnToField
- str r0, [r1, 0x8]
- ldr r0, =sub_807AE50
- bl SetMainCallback2
- mov r0, r8
- bl sub_801807C
- adds r0, r6, 0
- bl DestroyTask
-_080140BC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8013F90
-
- thumb_func_start sub_80140E0
-sub_80140E0: @ 80140E0
- 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 _08014104
- cmp r0, 0x1
- beq _0801411C
- b _0801419E
- .pool
-_08014104:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _08014114
- movs r0, 0x2
- bl sub_800A4D8
-_08014114:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0801419E
-_0801411C:
- bl GetBlockReceivedStatus
- adds r4, r0, 0
- bl sub_800A9D8
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _0801419E
- movs r4, 0
- ldr r5, =gLinkPlayers
- b _08014152
- .pool
-_08014138:
- lsls r1, r4, 8
- ldr r0, =gBlockRecvBuffer
- adds r3, r1, r0
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gUnknown_02039B58
- adds r0, r1
- ldrb r2, [r5]
- adds r1, r3, 0
- bl sub_80C3120
- adds r5, 0x1C
- adds r4, 0x1
-_08014152:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- blt _08014138
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08014190
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 16
- ldr r1, =gBlockRecvBuffer
- adds r3, r0, r1
- adds r0, r3, 0
- adds r0, 0x60
- ldrh r0, [r0]
- bl sub_801B94C
- b _08014194
- .pool
-_08014190:
- bl sub_801B940
-_08014194:
- bl ResetBlockReceivedFlags
- adds r0, r6, 0
- bl DestroyTask
-_0801419E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80140E0
-
- thumb_func_start sub_80141A4
-sub_80141A4: @ 80141A4
- push {r4,lr}
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0
- beq _080141C0
- cmp r0, 0x1
- beq _080141D4
- b _080141F2
- .pool
-_080141C0:
- ldr r0, =sub_80140E0
- movs r1, 0x5
- bl CreateTask
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _080141F2
- .pool
-_080141D4:
- ldr r0, =sub_80140E0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080141F2
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =CB2_ReturnToField
- bl sub_80C4E74
-_080141F2:
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80141A4
-
- thumb_func_start sub_8014210
-sub_8014210: @ 8014210
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r6, 16
- lsrs r6, 16
- bl HealPlayerParty
- bl copy_player_party_to_sav1
- bl copy_bags_and_unk_data_from_save_blocks
- ldr r5, =gLinkPlayers
- ldr r0, =0x00002211
- str r0, [r5, 0x14]
- bl GetMultiplayerId
- adds r4, r0, 0
- bl GetMultiplayerId
- lsls r4, 24
- lsrs r4, 24
- lsls r1, r4, 3
- subs r1, r4
- lsls r1, 2
- adds r1, r5
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x18]
- bl GetMultiplayerId
- adds r4, r0, 0
- bl GetMultiplayerId
- movs r2, 0x1
- eors r4, r2
- lsls r4, 24
- lsrs r4, 24
- lsls r1, r4, 3
- subs r1, r4
- lsls r1, 2
- adds r1, r5
- eors r0, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x18]
- ldr r1, =gMain
- ldr r0, =sub_80B360C
- str r0, [r1, 0x8]
- ldr r0, =gBattleTypeFlags
- str r6, [r0]
- bl PlayBattleBGM
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8014210
-
- thumb_func_start sub_8014290
-sub_8014290: @ 8014290
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x8
- adds r3, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r3, 16
- lsrs r3, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r0, =0x00004087
- adds r1, r3, 0
- bl VarSet
- ldr r6, =gSaveBlock1Ptr
- ldr r1, [r6]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- movs r2, 0x1
- negs r2, r2
- mov r8, r2
- lsls r4, 24
- asrs r4, 24
- lsls r5, 24
- asrs r5, 24
- str r5, [sp]
- adds r3, r4, 0
- bl Overworld_SetWarpDestination
- ldr r0, [r6]
- movs r1, 0x4
- ldrsb r1, [r0, r1]
- movs r2, 0x5
- ldrsb r2, [r0, r2]
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r0, 0
- mov r3, r8
- bl saved_warp2_set_2
- bl warp_in
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8014290
-
- thumb_func_start sub_8014304
-sub_8014304: @ 8014304
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- mov r8, r2
- adds r6, r3, 0
- ldr r1, [sp, 0x18]
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r1, 16
- lsrs r1, 16
- ldr r0, =gSpecialVar_0x8004
- strh r1, [r0]
- ldr r0, =0x00004087
- bl VarSet
- bl GetLinkPlayerCount
- ldr r1, =gFieldLinkPlayerCount
- strb r0, [r1]
- bl GetMultiplayerId
- ldr r1, =gUnknown_03005DB4
- strb r0, [r1]
- bl sub_809D2BC
- lsls r4, 24
- asrs r4, 24
- lsls r5, 24
- asrs r5, 24
- movs r2, 0x1
- negs r2, r2
- mov r0, r8
- lsls r0, 24
- asrs r0, 24
- mov r8, r0
- lsls r6, 24
- asrs r6, 24
- str r6, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- mov r3, r8
- bl Overworld_SetWarpDestination
- bl warp_in
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8014304
-
- thumb_func_start sub_8014384
-sub_8014384: @ 8014384
- push {r4,lr}
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0
- beq _080143A0
- cmp r0, 0x1
- beq _080143B4
- b _080143C6
- .pool
-_080143A0:
- ldr r0, =sub_80140E0
- movs r1, 0x5
- bl CreateTask
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _080143C6
- .pool
-_080143B4:
- ldr r0, =sub_80140E0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080143C6
- ldr r0, =sub_8086074
- bl SetMainCallback2
-_080143C6:
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8014384
-
- thumb_func_start sub_80143E4
-sub_80143E4: @ 80143E4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80C30A4
- cmp r5, 0
- beq _080143FE
- bl sub_801B39C
- adds r1, r4, 0
- adds r1, 0x60
- strh r0, [r1]
- b _08014404
-_080143FE:
- adds r0, r4, 0
- adds r0, 0x60
- strh r5, [r0]
-_08014404:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80143E4
-
- thumb_func_start sub_801440C
-sub_801440C: @ 801440C
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_801B940
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r0, 0xE
- bhi _08014474
- lsls r0, 2
- ldr r1, =_08014434
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08014434:
- .4byte _08014470
- .4byte _08014470
- .4byte _08014470
- .4byte _08014470
- .4byte _08014474
- .4byte _08014474
- .4byte _08014474
- .4byte _08014474
- .4byte _08014470
- .4byte _08014470
- .4byte _08014470
- .4byte _08014474
- .4byte _08014470
- .4byte _08014474
- .4byte _08014470
-_08014470:
- bl sub_800E3A8
-_08014474:
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r0, 0x50
- bls _08014480
- b _08014764
-_08014480:
- lsls r0, 2
- ldr r1, =_08014494
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08014494:
- .4byte _080145F4
- .4byte _08014620
- .4byte _0801464C
- .4byte _08014678
- .4byte _080146D8
- .4byte _08014764
- .4byte _08014764
- .4byte _080146FC
- .4byte _08014714
- .4byte _08014734
- .4byte _0801474C
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014698
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _080145D8
- .4byte _08014764
- .4byte _08014764
- .4byte _080146C4
- .4byte _080146D8
- .4byte _08014764
- .4byte _08014764
- .4byte _080146FC
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _080145D8
-_080145D8:
- bl overworld_free_bg_tilemaps
- ldr r1, =gMain
- ldr r0, =sub_801AC54
- str r0, [r1, 0x8]
- movs r0, 0x3
- bl sub_81B8518
- b _08014764
- .pool
-_080145F4:
- bl overworld_free_bg_tilemaps
- ldr r0, =gBlockSendBuffer
- movs r1, 0x1
- bl sub_80143E4
- bl HealPlayerParty
- bl copy_player_party_to_sav1
- bl copy_bags_and_unk_data_from_save_blocks
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x19
- movs r1, 0x18
- movs r2, 0x6
- movs r3, 0x8
- b _080146B0
- .pool
-_08014620:
- bl overworld_free_bg_tilemaps
- bl HealPlayerParty
- bl copy_player_party_to_sav1
- bl copy_bags_and_unk_data_from_save_blocks
- ldr r0, =gBlockSendBuffer
- movs r1, 0x1
- bl sub_80143E4
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x19
- movs r1, 0x18
- movs r2, 0x6
- movs r3, 0x8
- b _080146B0
- .pool
-_0801464C:
- bl overworld_free_bg_tilemaps
- bl HealPlayerParty
- bl copy_player_party_to_sav1
- bl copy_bags_and_unk_data_from_save_blocks
- ldr r0, =gBlockSendBuffer
- movs r1, 0x1
- bl sub_80143E4
- movs r0, 0x5
- str r0, [sp]
- movs r0, 0x19
- movs r1, 0x1B
- movs r2, 0x5
- movs r3, 0x8
- b _080146B0
- .pool
-_08014678:
- ldr r0, =gBlockSendBuffer
- movs r1, 0x1
- bl sub_80143E4
- bl overworld_free_bg_tilemaps
- movs r0, 0x3
- str r0, [sp]
- movs r0, 0x19
- movs r1, 0x19
- movs r2, 0x5
- movs r3, 0x8
- b _080146B0
- .pool
-_08014698:
- ldr r0, =gBlockSendBuffer
- movs r1, 0x1
- bl sub_80143E4
- bl overworld_free_bg_tilemaps
- movs r0, 0x4
- str r0, [sp]
- movs r0, 0x19
- movs r1, 0x1A
- movs r2, 0x8
- movs r3, 0x9
-_080146B0:
- bl sub_8014304
- ldr r0, =sub_8014384
- bl SetMainCallback2
- b _08014764
- .pool
-_080146C4:
- bl overworld_free_bg_tilemaps
- ldr r0, =sub_8013F90
- movs r1, 0
- bl CreateTask
- b _08014764
- .pool
-_080146D8:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080146E8
- bl sub_800ED10
- b _080146F6
-_080146E8:
- bl sub_800ED28
- movs r0, 0x45
- movs r1, 0
- movs r2, 0x1
- bl sub_8010F84
-_080146F6:
- bl sub_801DD98
- b _08014764
-_080146FC:
- ldr r0, =gBlockSendBuffer
- movs r1, 0
- bl sub_80143E4
- ldr r0, =sub_80141A4
- bl SetMainCallback2
- b _08014764
- .pool
-_08014714:
- movs r0, 0x8
- movs r1, 0x5
- movs r2, 0x1
- bl sub_8014290
- bl GetCursorSelectionMonId
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =CB2_LoadMap
- bl sub_802A9A8
- b _08014764
- .pool
-_08014734:
- movs r0, 0x7
- movs r1, 0x9
- movs r2, 0x1
- bl sub_8014290
- ldr r0, =CB2_LoadMap
- bl sub_8020C70
- b _08014764
- .pool
-_0801474C:
- movs r0, 0x8
- movs r1, 0x5
- movs r2, 0x1
- bl sub_8014290
- bl GetCursorSelectionMonId
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =CB2_LoadMap
- bl sub_802493C
-_08014764:
- adds r0, r4, 0
- bl DestroyTask
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- cmp r0, 0x44
- beq _0801477C
- bl ScriptContext2_Disable
-_0801477C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801440C
-
- thumb_func_start sub_8014790
-sub_8014790: @ 8014790
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r7, r0, r1
- ldr r0, =gBlockSendBuffer
- mov r9, r0
- movs r1, 0
- ldrsh r0, [r7, r1]
- mov r2, r9
- cmp r0, 0x8
- bls _080147B6
- b _080149B2
-_080147B6:
- lsls r0, 2
- ldr r1, =_080147CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080147CC:
- .4byte _080147F0
- .4byte _080148CC
- .4byte _080148E4
- .4byte _0801491E
- .4byte _08014934
- .4byte _0801494A
- .4byte _08014986
- .4byte _08014992
- .4byte _0801499C
-_080147F0:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- subs r0, 0xE
- cmp r0, 0xE
- bhi _080148C2
- lsls r0, 2
- ldr r1, =_08014818
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08014818:
- .4byte _08014854
- .4byte _080148C2
- .4byte _080148B8
- .4byte _080148C2
- .4byte _080148C2
- .4byte _080148C2
- .4byte _080148C2
- .4byte _080148C2
- .4byte _080148C2
- .4byte _080148B8
- .4byte _080148B8
- .4byte _080148B8
- .4byte _080148B8
- .4byte _080148B8
- .4byte _08014854
-_08014854:
- ldr r1, =gLinkPlayers
- ldr r0, =0x00002211
- str r0, [r1, 0x14]
- movs r2, 0
- mov r8, r2
- mov r0, r8
- strh r0, [r1, 0x18]
- movs r0, 0x2
- strh r0, [r1, 0x34]
- ldr r6, =gUnknown_0203CEF8
- ldrb r0, [r6]
- movs r5, 0x64
- muls r0, r5
- ldr r4, =gBattleScripting + 0x14
- adds r0, r4
- movs r1, 0xB
- bl GetMonData
- mov r1, r9
- strh r0, [r1]
- ldrb r0, [r6, 0x1]
- muls r0, r5
- adds r0, r4
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- mov r2, r9
- strh r0, [r2, 0x2]
- ldr r0, =gMain
- mov r1, r8
- str r1, [r0, 0x8]
- movs r0, 0x4
- strh r0, [r7]
- bl sub_800E3A8
- bl ResetBlockReceivedFlags
- b _080149B2
- .pool
-_080148B8:
- bl sub_800E3A8
- adds r0, r4, 0
- bl DestroyTask
-_080148C2:
- bl EnableBothScriptContexts
- movs r0, 0x1
- strh r0, [r7]
- b _080149B2
-_080148CC:
- bl ScriptContext1_IsScriptSetUp
- lsls r0, 24
- cmp r0, 0
- bne _080149B2
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- movs r0, 0x2
- strh r0, [r7]
- b _080149B2
-_080148E4:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080149B2
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- cmp r0, 0x1D
- bne _08014914
- adds r0, r4, 0
- bl DestroyTask
- ldr r0, =sub_80773AC
- bl SetMainCallback2
- b _080149B2
- .pool
-_08014914:
- bl sub_800ADF8
- movs r0, 0x3
- strh r0, [r7]
- b _080149B2
-_0801491E:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _080149B2
- adds r0, r4, 0
- bl DestroyTask
- bl sub_80149D8
- b _080149B2
-_08014934:
- movs r0, 0
- adds r1, r2, 0
- movs r2, 0xE
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _080149B2
- movs r0, 0x5
- strh r0, [r7]
- b _080149B2
-_0801494A:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _080149B2
- bl ResetBlockReceivedFlags
- ldr r0, =gBlockRecvBuffer
- movs r2, 0x80
- lsls r2, 1
- adds r1, r0, r2
- bl sub_80B2AF4
- cmp r0, 0
- beq _08014980
- ldr r0, =gSpecialVar_Result
- movs r1, 0xB
- strh r1, [r0]
- movs r0, 0x7
- strh r0, [r7]
- b _080149B2
- .pool
-_08014980:
- movs r0, 0x6
- strh r0, [r7]
- b _080149B2
-_08014986:
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
- b _080149B2
-_08014992:
- bl sub_800AC34
- movs r0, 0x8
- strh r0, [r7]
- b _080149B2
-_0801499C:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080149B2
- bl sub_800E084
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
-_080149B2:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8014790
-
- thumb_func_start sub_80149C4
-sub_80149C4: @ 80149C4
- push {lr}
- ldr r0, =sub_8014790
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80149C4
-
- thumb_func_start sub_80149D8
-sub_80149D8: @ 80149D8
- push {lr}
- ldr r0, =sub_801440C
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x8]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80149D8
-
- thumb_func_start sub_8014A00
-sub_8014A00: @ 8014A00
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =sub_8014A40
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_02022C30
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- str r1, [r2]
- movs r2, 0
- strb r2, [r1, 0xC]
- strb r2, [r1, 0xD]
- strb r4, [r1, 0x18]
- ldr r0, =gSpecialVar_Result
- strh r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8014A00
-
- thumb_func_start sub_8014A40
-sub_8014A40: @ 8014A40
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_02022C30
- ldr r5, [r0]
- ldrb r0, [r5, 0xC]
- cmp r0, 0x11
- bls _08014A54
- b _08014EF2
-_08014A54:
- lsls r0, 2
- ldr r1, =_08014A68
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08014A68:
- .4byte _08014AB0
- .4byte _08014AEC
- .4byte _08014BBC
- .4byte _08014BEC
- .4byte _08014BFC
- .4byte _08014C4C
- .4byte _08014C24
- .4byte _08014C52
- .4byte _08014CF2
- .4byte _08014DBC
- .4byte _08014DCC
- .4byte _08014DE2
- .4byte _08014DFA
- .4byte _08014E16
- .4byte _08014E4E
- .4byte _08014E74
- .4byte _08014EA8
- .4byte _08014EE2
-_08014AB0:
- ldr r1, =gUnknown_02022C2C
- ldrb r0, [r5, 0x18]
- strb r0, [r1]
- ldr r1, =gUnknown_02022C2D
- movs r0, 0x2
- strb r0, [r1]
- ldrb r0, [r5, 0x18]
- movs r1, 0
- movs r2, 0
- bl sub_8010F84
- movs r0, 0
- movs r1, 0
- bl sub_8010FA0
- bl sub_800B488
- bl OpenLink
- movs r0, 0x2
- bl sub_8011C10
- movs r0, 0x1
- strb r0, [r5, 0xC]
- b _08014EF2
- .pool
-_08014AEC:
- movs r0, 0x70
- bl AllocZeroed
- str r0, [r5, 0x4]
- movs r0, 0xA0
- bl AllocZeroed
- str r0, [r5]
- movs r0, 0xA0
- bl AllocZeroed
- str r0, [r5, 0x8]
- ldr r0, [r5, 0x4]
- movs r1, 0x4
- bl sub_80175EC
- ldr r0, [r5]
- movs r1, 0x5
- bl sub_8017580
- ldr r0, [r5]
- adds r1, r0, 0
- adds r1, 0x10
- bl sub_800DF90
- ldr r1, [r5]
- movs r3, 0
- movs r0, 0
- strh r0, [r1, 0x18]
- ldr r2, [r5]
- ldrb r1, [r2, 0x1A]
- subs r0, 0x4
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x1A]
- ldr r2, [r5]
- ldrb r1, [r2, 0x1A]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x1A]
- ldr r0, [r5]
- strb r3, [r0, 0x1B]
- ldr r0, [r5, 0x4]
- movs r1, 0xFF
- bl sub_8016FC0
- strb r0, [r5, 0x17]
- ldr r0, =gUnknown_082F011C
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- bl sub_8019930
- lsls r0, 16
- ldr r2, =0x0000ffff
- ldr r1, [sp, 0x4]
- ands r1, r2
- orrs r1, r0
- ldr r0, =0xffff00ff
- ands r1, r0
- movs r0, 0xC0
- lsls r0, 4
- orrs r1, r0
- str r1, [sp, 0x4]
- mov r0, sp
- bl AddWindow
- strb r0, [r5, 0xF]
- ldrb r0, [r5, 0xF]
- bl sub_8018784
- ldr r0, =gMultiuseListMenuTemplate
- adds r2, r0, 0
- ldr r1, =gUnknown_082F015C
- ldm r1!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldm r1!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldrb r1, [r5, 0xF]
- strb r1, [r0, 0x10]
- movs r1, 0
- movs r2, 0
- bl ListMenuInit
- strb r0, [r5, 0x12]
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- strb r0, [r5, 0x13]
- b _08014C42
- .pool
-_08014BBC:
- ldr r0, =gStringVar1
- ldr r2, =gUnknown_082F0048
- ldr r4, =gUnknown_02022C2C
- ldrb r1, [r4]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- ldr r0, =gStringVar4
- ldrb r1, [r4]
- bl sub_801262C
- movs r0, 0x3
- strb r0, [r5, 0xC]
- b _08014EF2
- .pool
-_08014BEC:
- ldr r0, =gStringVar4
- bl sub_8018884
- movs r0, 0x4
- strb r0, [r5, 0xC]
- b _08014EF2
- .pool
-_08014BFC:
- adds r0, r5, 0
- movs r1, 0x5
- movs r2, 0x6
- bl sub_801320C
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08014C14
- b _08014EF2
-_08014C14:
- movs r0, 0xD
- strb r0, [r5, 0xC]
- bl sub_800E084
- b _08014EF2
- .pool
-_08014C24:
- adds r0, r5, 0
- adds r0, 0xD
- ldr r1, =gUnknown_082EDF40
- bl mevent_0814257C
- cmp r0, 0
- bne _08014C34
- b _08014EF2
-_08014C34:
- ldr r0, [r5]
- bl sub_8013398
- strb r0, [r5, 0x13]
- ldrb r0, [r5, 0x12]
- bl sub_81AE70C
-_08014C42:
- movs r0, 0x2
- strb r0, [r5, 0xC]
- b _08014EF2
- .pool
-_08014C4C:
- movs r0, 0x7
- strb r0, [r5, 0xC]
- b _08014EF2
-_08014C52:
- adds r0, r5, 0
- adds r0, 0xD
- adds r1, r5, 0
- adds r1, 0x14
- ldr r3, =gStringVar4
- movs r2, 0
- bl sub_8018B08
- lsls r0, 24
- asrs r4, r0, 24
- cmp r4, 0
- beq _08014C82
- cmp r4, 0
- bgt _08014C7C
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _08014CC4
- b _08014EF2
- .pool
-_08014C7C:
- cmp r4, 0x1
- beq _08014CC4
- b _08014EF2
-_08014C82:
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl CreateWirelessStatusIndicatorSprite
- ldr r1, [r5]
- ldrb r0, [r5, 0x13]
- lsls r0, 5
- adds r1, r0
- strb r4, [r1, 0x1B]
- ldrb r0, [r5, 0x12]
- bl sub_81AE70C
- movs r0, 0x5
- strb r0, [r5, 0x19]
- ldrb r1, [r5, 0x13]
- lsls r1, 5
- ldr r0, [r5]
- adds r0, r1
- adds r0, 0x2
- bl sub_8015658
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldrb r0, [r5, 0x13]
- lsls r0, 5
- ldr r2, [r5]
- adds r2, r0
- adds r2, 0x10
- movs r0, 0x5
- b _08014CE8
-_08014CC4:
- movs r0, 0x6
- strb r0, [r5, 0x19]
- ldrb r1, [r5, 0x13]
- lsls r1, 5
- ldr r0, [r5]
- adds r0, r1
- adds r0, 0x2
- bl sub_8015658
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldrb r0, [r5, 0x13]
- lsls r0, 5
- ldr r2, [r5]
- adds r2, r0
- adds r2, 0x10
- movs r0, 0x6
-_08014CE8:
- bl sub_8010688
- movs r0, 0x8
- strb r0, [r5, 0xC]
- b _08014EF2
-_08014CF2:
- ldrb r1, [r5, 0x13]
- lsls r1, 5
- ldr r0, [r5]
- adds r0, r1
- adds r0, 0x2
- bl sub_8015658
- lsls r0, 16
- lsrs r0, 16
- ldrb r2, [r5, 0x13]
- lsls r2, 5
- ldr r1, [r5]
- adds r1, r2
- adds r1, 0x10
- bl sub_8010714
- adds r4, r0, 0
- cmp r4, 0x1
- bne _08014DAA
- ldrb r0, [r5, 0x19]
- cmp r0, 0x5
- bne _08014D64
- ldr r1, [r5]
- ldrb r0, [r5, 0x13]
- lsls r0, 5
- adds r1, r0
- movs r0, 0
- strb r0, [r1, 0x1B]
- ldrb r0, [r5, 0x12]
- bl sub_81AE70C
- ldrb r0, [r5, 0x13]
- adds r0, 0x1
- strb r0, [r5, 0x13]
- ldr r0, =gStringVar1
- ldrb r2, [r5, 0x13]
- lsls r2, 5
- subs r2, 0x20
- ldr r1, [r5]
- adds r1, r2
- bl sub_8018404
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_082EDC9C
- bl StringExpandPlaceholders
- movs r0, 0x9
- strb r0, [r5, 0xC]
- bl sub_800EF38
- b _08014DA4
- .pool
-_08014D64:
- ldrb r1, [r5, 0x13]
- lsls r1, 5
- ldr r0, [r5]
- adds r0, r1
- adds r4, r0, 0
- adds r4, 0x10
- adds r0, 0x2
- bl sub_8015658
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_8011DC0
- ldr r1, [r5]
- ldrb r0, [r5, 0x13]
- lsls r0, 5
- adds r1, r0
- ldrb r2, [r1, 0x1A]
- movs r0, 0x4
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1A]
- ldr r0, [r5]
- bl sub_8013398
- ldrb r0, [r5, 0x12]
- bl sub_81AE70C
- movs r0, 0x2
- strb r0, [r5, 0xC]
-_08014DA4:
- movs r0, 0
- strb r0, [r5, 0x19]
- b _08014EF2
-_08014DAA:
- cmp r4, 0x2
- beq _08014DB0
- b _08014EF2
-_08014DB0:
- movs r0, 0
- movs r1, 0
- bl sub_8011A64
- strb r4, [r5, 0xC]
- b _08014EF2
-_08014DBC:
- ldr r0, =gStringVar4
- bl sub_8018884
- movs r0, 0xA
- strb r0, [r5, 0xC]
- b _08014EF2
- .pool
-_08014DCC:
- ldrb r0, [r5, 0xE]
- adds r0, 0x1
- strb r0, [r5, 0xE]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x78
- bhi _08014DDC
- b _08014EF2
-_08014DDC:
- movs r0, 0xB
- strb r0, [r5, 0xC]
- b _08014EF2
-_08014DE2:
- adds r0, r5, 0
- movs r1, 0x5
- movs r2, 0x6
- bl sub_801320C
- lsls r0, 24
- cmp r0, 0
- beq _08014DF4
- b _08014EF2
-_08014DF4:
- movs r0, 0xC
- strb r0, [r5, 0xC]
- b _08014EF2
-_08014DFA:
- bl sub_800EF1C
- lsls r0, 24
- cmp r0, 0
- beq _08014E10
- movs r0, 0
- bl sub_800EF58
- movs r0, 0xF
- strb r0, [r5, 0xC]
- b _08014EF2
-_08014E10:
- movs r0, 0x6
- strb r0, [r5, 0xC]
- b _08014EF2
-_08014E16:
- bl sub_800E084
- bl sub_800EDD4
- ldrb r0, [r5, 0x12]
- movs r1, 0
- movs r2, 0
- bl DestroyListMenuTask
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldrb r0, [r5, 0xF]
- bl RemoveWindow
- ldrb r0, [r5, 0x17]
- bl DestroyTask
- ldr r0, [r5, 0x8]
- bl Free
- ldr r0, [r5]
- bl Free
- ldr r0, [r5, 0x4]
- bl Free
- b _08014EDA
-_08014E4E:
- adds r0, r5, 0
- adds r0, 0xD
- ldr r1, =gText_PleaseStartOver
- bl mevent_0814257C
- cmp r0, 0
- beq _08014EF2
- adds r0, r4, 0
- bl DestroyTask
- ldr r1, =gSpecialVar_Result
- movs r0, 0x5
- strh r0, [r1]
- b _08014EF2
- .pool
-_08014E74:
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08014E8C
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08014E92
-_08014E8C:
- movs r0, 0xD
- strb r0, [r5, 0xC]
- b _08014EF2
-_08014E92:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08014EF2
- movs r0, 0x1
- bl sub_8011068
- b _08014EDA
- .pool
-_08014EA8:
- ldrb r0, [r5, 0x12]
- movs r1, 0
- movs r2, 0
- bl DestroyListMenuTask
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldrb r0, [r5, 0xF]
- bl RemoveWindow
- ldrb r0, [r5, 0x17]
- bl DestroyTask
- ldr r0, [r5, 0x8]
- bl Free
- ldr r0, [r5]
- bl Free
- ldr r0, [r5, 0x4]
- bl Free
- bl sub_800ADF8
-_08014EDA:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
- b _08014EF2
-_08014EE2:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _08014EF2
- adds r0, r4, 0
- bl DestroyTask
-_08014EF2:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8014A40
-
- thumb_func_start sub_8014EFC
-sub_8014EFC: @ 8014EFC
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =sub_8014F48
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_02022C30
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- str r1, [r2]
- ldr r0, =gUnknown_03000DA4
- str r1, [r0]
- movs r2, 0
- strb r2, [r1, 0x8]
- strb r2, [r1, 0x9]
- subs r4, 0x15
- strb r4, [r1, 0x12]
- ldr r0, =gSpecialVar_Result
- strh r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8014EFC
-
- thumb_func_start sub_8014F48
-sub_8014F48: @ 8014F48
- push {r4-r7,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gUnknown_02022C30
- ldr r7, [r0]
- ldrb r0, [r7, 0x8]
- cmp r0, 0xC
- bls _08014F5C
- b _080152A0
-_08014F5C:
- lsls r0, 2
- ldr r1, =_08014F70
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08014F70:
- .4byte _08014FA4
- .4byte _08014FD8
- .4byte _08014FE8
- .4byte _080150B8
- .4byte _08015180
- .4byte _080151A4
- .4byte _08015204
- .4byte _08015260
- .4byte _08015204
- .4byte _0801523A
- .4byte _08015204
- .4byte _08015284
- .4byte _08015290
-_08014FA4:
- ldrb r0, [r7, 0x12]
- adds r0, 0x15
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- movs r2, 0
- bl sub_8010F84
- bl sub_800B488
- bl OpenLink
- bl sub_8011C5C
- movs r0, 0x70
- bl AllocZeroed
- str r0, [r7, 0x4]
- movs r0, 0x80
- lsls r0, 2
- bl AllocZeroed
- str r0, [r7]
- movs r0, 0x1
- strb r0, [r7, 0x8]
- b _080152A0
-_08014FD8:
- ldr r0, =gUnknown_082EF7F8
- bl sub_8018884
- movs r0, 0x2
- strb r0, [r7, 0x8]
- b _080152A0
- .pool
-_08014FE8:
- ldr r0, [r7, 0x4]
- movs r1, 0x4
- bl sub_80175EC
- ldr r0, [r7]
- movs r1, 0x10
- bl sub_8017580
- ldr r0, [r7, 0x4]
- ldrb r1, [r7, 0x12]
- adds r1, 0x7
- bl sub_8016FC0
- movs r6, 0
- strb r0, [r7, 0x11]
- ldr r0, =gUnknown_082F0174
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- bl sub_8019930
- lsls r0, 16
- ldr r2, =0x0000ffff
- ldr r1, [sp, 0x4]
- ands r1, r2
- orrs r1, r0
- ldr r5, =0xffff00ff
- ands r1, r5
- movs r4, 0xC0
- lsls r4, 4
- orrs r1, r4
- str r1, [sp, 0x4]
- mov r0, sp
- bl AddWindow
- strb r0, [r7, 0xB]
- ldr r0, =gUnknown_082F017C
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- add r0, sp, 0x8
- ldr r1, [r0, 0x4]
- ands r1, r5
- orrs r1, r4
- str r1, [r0, 0x4]
- bl AddWindow
- strb r0, [r7, 0xD]
- ldrb r0, [r7, 0xB]
- bl sub_8018784
- ldr r0, =gMultiuseListMenuTemplate
- adds r2, r0, 0
- ldr r1, =gUnknown_082F0204
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldrb r1, [r7, 0xB]
- strb r1, [r0, 0x10]
- movs r1, 0
- movs r2, 0
- bl ListMenuInit
- strb r0, [r7, 0xE]
- ldrb r0, [r7, 0xD]
- bl sub_8018784
- ldrb r0, [r7, 0xD]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldrb r0, [r7, 0xD]
- bl PutWindowTilemap
- ldrb r0, [r7, 0xD]
- bl sub_80125BC
- ldrb r0, [r7, 0xD]
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- strb r6, [r7, 0xF]
- movs r0, 0x3
- strb r0, [r7, 0x8]
- b _080152A0
- .pool
-_080150B8:
- bl sub_8013E44
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _080150D6
- cmp r2, 0x1
- bne _080150CE
- movs r0, 0x2
- bl PlaySE
-_080150CE:
- ldrb r0, [r7, 0xE]
- bl sub_81AE70C
- b _080152A0
-_080150D6:
- ldrb r0, [r7, 0xE]
- bl ListMenuHandleInputGetItemId
- adds r2, r0, 0
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08015168
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _08015168
- ldr r0, [r7]
- lsls r1, r2, 5
- adds r0, r1
- ldrb r1, [r0, 0xA]
- ldrb r0, [r0, 0x1A]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x1
- bne _08015160
- lsrs r0, r1, 7
- cmp r0, 0
- bne _08015160
- strb r2, [r7, 0xF]
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl CreateWirelessStatusIndicatorSprite
- ldrb r0, [r7, 0xE]
- bl sub_81AE70C
- ldr r0, =gStringVar1
- ldrb r2, [r7, 0xF]
- lsls r2, 5
- ldr r1, [r7]
- adds r1, r2
- bl sub_8018404
- ldrb r1, [r7, 0xF]
- lsls r1, 5
- ldr r0, [r7]
- adds r0, r1
- adds r4, r0, 0
- adds r4, 0x10
- adds r0, 0x2
- bl sub_8015658
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_8011FC8
- movs r0, 0x6E
- bl PlaySE
- movs r0, 0x4
- strb r0, [r7, 0x8]
- b _080152A0
- .pool
-_08015160:
- movs r0, 0x7
- bl PlaySE
- b _080152A0
-_08015168:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08015176
- b _080152A0
-_08015176:
- movs r0, 0x6
- strb r0, [r7, 0x8]
- b _080152A0
- .pool
-_08015180:
- ldr r0, =gUnknown_082EFC3C
- bl sub_8018884
- ldr r0, =gStringVar1
- ldrb r2, [r7, 0xF]
- lsls r2, 5
- ldr r1, [r7]
- adds r1, r2
- bl sub_8018404
- movs r0, 0x5
- strb r0, [r7, 0x8]
- b _080152A0
- .pool
-_080151A4:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _080151C2
- ldr r2, =gUnknown_02022C2C
- ldr r1, [r7]
- ldrb r0, [r7, 0xF]
- lsls r0, 5
- adds r1, r0
- ldrb r0, [r1, 0xA]
- lsls r0, 25
- lsrs r0, 25
- strb r0, [r2]
- movs r0, 0xA
- strb r0, [r7, 0x8]
-_080151C2:
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- beq _080151EE
- cmp r0, 0x5
- bgt _080151E4
- cmp r0, 0x2
- bgt _080152A0
- cmp r0, 0x1
- blt _080152A0
- b _080151E8
- .pool
-_080151E4:
- cmp r0, 0x6
- bne _080152A0
-_080151E8:
- movs r0, 0x8
- strb r0, [r7, 0x8]
- b _080152A0
-_080151EE:
- ldr r0, =gUnknown_082EDDF4
- bl sub_8018884
- movs r0, 0
- movs r1, 0
- bl sub_8011A64
- b _080152A0
- .pool
-_08015204:
- ldrb r0, [r7, 0xE]
- movs r1, 0
- movs r2, 0
- bl DestroyListMenuTask
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldrb r0, [r7, 0xD]
- bl RemoveWindow
- ldrb r0, [r7, 0xB]
- bl RemoveWindow
- ldrb r0, [r7, 0x11]
- bl DestroyTask
- ldr r0, [r7]
- bl Free
- ldr r0, [r7, 0x4]
- bl Free
- ldrb r0, [r7, 0x8]
- adds r0, 0x1
- strb r0, [r7, 0x8]
- b _080152A0
-_0801523A:
- adds r5, r7, 0
- adds r5, 0x9
- ldr r4, =gUnknown_082EDF80
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- ldr r1, [r0]
- adds r0, r5, 0
- bl mevent_0814257C
- cmp r0, 0
- beq _080152A0
- bl sub_800E084
- b _0801526A
- .pool
-_08015260:
- bl sub_800E084
- ldr r0, =gText_PleaseStartOver
- bl sub_8018884
-_0801526A:
- adds r0, r6, 0
- bl DestroyTask
- bl sub_800EDD4
- ldr r1, =gSpecialVar_Result
- movs r0, 0x5
- strh r0, [r1]
- b _080152A0
- .pool
-_08015284:
- ldrb r0, [r7, 0x8]
- adds r0, 0x1
- strb r0, [r7, 0x8]
- bl sub_800ADF8
- b _080152A0
-_08015290:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _080152A0
- adds r0, r6, 0
- bl DestroyTask
-_080152A0:
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8014F48
-
- thumb_func_start sub_80152A8
-sub_80152A8: @ 80152A8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =task00_081182DC
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_02022C30
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- str r1, [r2]
- ldr r0, =gUnknown_03000DA4
- str r1, [r0]
- movs r2, 0
- strb r2, [r1, 0x8]
- strb r2, [r1, 0x9]
- subs r4, 0x15
- strb r4, [r1, 0x12]
- ldr r0, =gSpecialVar_Result
- strh r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80152A8
-
- thumb_func_start task00_081182DC
-task00_081182DC: @ 80152F4
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_02022C30
- ldr r5, [r0]
- ldrb r0, [r5, 0x8]
- cmp r0, 0xE
- bls _08015308
- b _08015604
-_08015308:
- lsls r0, 2
- ldr r1, =_0801531C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801531C:
- .4byte _08015358
- .4byte _08015386
- .4byte _08015398
- .4byte _08015420
- .4byte _080154E0
- .4byte _08015504
- .4byte _08015564
- .4byte _080155A8
- .4byte _08015564
- .4byte _0801559A
- .4byte _08015564
- .4byte _080155B4
- .4byte _08015564
- .4byte _080155E8
- .4byte _080155F4
-_08015358:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl sub_8010F84
- bl sub_800B488
- bl OpenLink
- bl sub_8011C5C
- movs r0, 0x70
- bl AllocZeroed
- str r0, [r5, 0x4]
- movs r0, 0x80
- lsls r0, 2
- bl AllocZeroed
- str r0, [r5]
- movs r0, 0x1
- strb r0, [r5, 0x8]
- b _08015604
-_08015386:
- ldr r0, =gUnknown_082EFBC8
- bl sub_8018884
- movs r0, 0x2
- strb r0, [r5, 0x8]
- b _08015604
- .pool
-_08015398:
- ldr r0, [r5, 0x4]
- movs r1, 0x4
- bl sub_80175EC
- ldr r0, [r5]
- movs r1, 0x10
- bl sub_8017580
- ldr r0, [r5, 0x4]
- ldrb r1, [r5, 0x12]
- adds r1, 0x7
- bl sub_8016FF0
- strb r0, [r5, 0x11]
- ldrb r0, [r5, 0x13]
- cmp r0, 0
- beq _08015404
- ldr r0, =gUnknown_082F0174
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- bl sub_8019930
- lsls r0, 16
- ldr r2, =0x0000ffff
- ldr r1, [sp, 0x4]
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0x4]
- mov r0, sp
- bl AddWindow
- strb r0, [r5, 0xB]
- ldrb r0, [r5, 0xB]
- bl sub_8018784
- ldr r0, =gMultiuseListMenuTemplate
- adds r2, r0, 0
- ldr r1, =gUnknown_082F0204
- ldm r1!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldm r1!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldrb r1, [r5, 0xB]
- strb r1, [r0, 0x10]
- movs r1, 0
- movs r2, 0
- bl ListMenuInit
- strb r0, [r5, 0xE]
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_08015404:
- movs r0, 0
- strb r0, [r5, 0xF]
- movs r0, 0x3
- strb r0, [r5, 0x8]
- b _08015604
- .pool
-_08015420:
- bl sub_8013E44
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08015446
- cmp r0, 0x1
- bne _08015436
- movs r0, 0x2
- bl PlaySE
-_08015436:
- ldrb r0, [r5, 0x13]
- cmp r0, 0
- bne _0801543E
- b _08015604
-_0801543E:
- ldrb r0, [r5, 0xE]
- bl sub_81AE70C
- b _08015604
-_08015446:
- ldrb r0, [r5, 0x13]
- cmp r0, 0
- beq _08015452
- ldrb r0, [r5, 0xE]
- bl ListMenuHandleInputGetItemId
-_08015452:
- ldrb r0, [r5, 0x14]
- cmp r0, 0x78
- bls _080154C0
- ldr r2, [r5]
- ldrb r1, [r2, 0x1A]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _080154D4
- ldrb r1, [r2, 0xA]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080154D4
- ldrb r1, [r5, 0x12]
- adds r1, 0x7
- adds r0, r2, 0
- bl sub_8016F1C
- cmp r0, 0
- beq _080154B4
- strb r4, [r5, 0xF]
- strb r4, [r5, 0x14]
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl CreateWirelessStatusIndicatorSprite
- ldr r0, [r5]
- adds r4, r0, 0
- adds r4, 0x10
- adds r0, 0x2
- bl sub_8015658
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_8011FC8
- movs r0, 0x6E
- bl PlaySE
- movs r0, 0x4
- strb r0, [r5, 0x8]
- b _080154D4
-_080154B4:
- movs r0, 0x16
- bl PlaySE
- movs r0, 0xA
- strb r0, [r5, 0x8]
- b _080154D4
-_080154C0:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080154D4
- movs r1, 0
- movs r0, 0x6
- strb r0, [r5, 0x8]
- strb r1, [r5, 0x14]
-_080154D4:
- ldrb r0, [r5, 0x14]
- adds r0, 0x1
- strb r0, [r5, 0x14]
- b _08015604
- .pool
-_080154E0:
- ldr r0, =gUnknown_082EFC90
- bl sub_8018884
- ldr r0, =gStringVar1
- ldrb r2, [r5, 0xF]
- lsls r2, 5
- ldr r1, [r5]
- adds r1, r2
- bl sub_8018404
- movs r0, 0x5
- strb r0, [r5, 0x8]
- b _08015604
- .pool
-_08015504:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08015522
- ldr r2, =gUnknown_02022C2C
- ldr r1, [r5]
- ldrb r0, [r5, 0xF]
- lsls r0, 5
- adds r1, r0
- ldrb r0, [r1, 0xA]
- lsls r0, 25
- lsrs r0, 25
- strb r0, [r2]
- movs r0, 0xC
- strb r0, [r5, 0x8]
-_08015522:
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- beq _0801554E
- cmp r0, 0x5
- bgt _08015544
- cmp r0, 0x2
- bgt _08015604
- cmp r0, 0x1
- blt _08015604
- b _08015548
- .pool
-_08015544:
- cmp r0, 0x6
- bne _08015604
-_08015548:
- movs r0, 0x8
- strb r0, [r5, 0x8]
- b _08015604
-_0801554E:
- ldr r0, =gUnknown_082EDEC4
- bl sub_8018884
- movs r0, 0
- movs r1, 0
- bl sub_8011A64
- b _08015604
- .pool
-_08015564:
- ldrb r0, [r5, 0x13]
- cmp r0, 0
- beq _08015580
- ldrb r0, [r5, 0xE]
- movs r1, 0
- movs r2, 0
- bl DestroyListMenuTask
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldrb r0, [r5, 0xB]
- bl RemoveWindow
-_08015580:
- ldrb r0, [r5, 0x11]
- bl DestroyTask
- ldr r0, [r5]
- bl Free
- ldr r0, [r5, 0x4]
- bl Free
- ldrb r0, [r5, 0x8]
- adds r0, 0x1
- strb r0, [r5, 0x8]
- b _08015604
-_0801559A:
- adds r0, r5, 0
- adds r0, 0x9
- ldr r1, =gUnknown_082EDF04
- b _080155C2
- .pool
-_080155A8:
- adds r0, r5, 0
- adds r0, 0x9
- ldr r1, =gText_WirelessSearchCanceled
- b _080155C2
- .pool
-_080155B4:
- adds r0, r5, 0
- adds r0, 0x9
- ldr r2, =gUnknown_082EFD58
- ldrb r1, [r5, 0x12]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
-_080155C2:
- bl mevent_0814257C
- cmp r0, 0
- beq _08015604
- bl sub_800E084
- adds r0, r4, 0
- bl DestroyTask
- bl sub_800EDD4
- ldr r1, =gSpecialVar_Result
- movs r0, 0x5
- strh r0, [r1]
- b _08015604
- .pool
-_080155E8:
- ldrb r0, [r5, 0x8]
- adds r0, 0x1
- strb r0, [r5, 0x8]
- bl sub_800ADF8
- b _08015604
-_080155F4:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _08015604
- adds r0, r4, 0
- bl DestroyTask
-_08015604:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end task00_081182DC
-
- thumb_func_start UnionRoomSpecial
-UnionRoomSpecial: @ 801560C
- push {r4,lr}
- bl sub_8010F60
- ldr r0, =sub_80156E0
- movs r1, 0xA
- bl CreateTask
- ldr r4, =gUnknown_02022C30
- movs r0, 0x9B
- lsls r0, 2
- bl AllocZeroed
- str r0, [r4]
- ldr r1, =gUnknown_03000DA8
- str r0, [r1]
- movs r1, 0
- strb r1, [r0, 0x14]
- strb r1, [r0, 0x16]
- strh r1, [r0, 0x10]
- strh r1, [r0, 0x12]
- ldr r0, =gSpecialVar_Result
- strh r1, [r0]
- movs r0, 0xD0
- movs r1, 0x1
- bl sub_819A2BC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end UnionRoomSpecial
-
- thumb_func_start sub_8015658
-sub_8015658: @ 8015658
- ldrb r1, [r0, 0x1]
- lsls r1, 8
- ldrb r0, [r0]
- orrs r0, r1
- bx lr
- thumb_func_end sub_8015658
-
- thumb_func_start sub_8015664
-sub_8015664: @ 8015664
- push {lr}
- adds r3, r1, 0
- ldr r1, =gUnknown_02022C30
- ldr r2, [r1]
- movs r1, 0x8
- strb r1, [r2, 0x14]
- strb r0, [r2, 0x15]
- ldr r0, =gStringVar4
- cmp r3, r0
- beq _0801567E
- adds r1, r3, 0
- bl StringExpandPlaceholders
-_0801567E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8015664
-
- thumb_func_start sub_801568C
-sub_801568C: @ 801568C
- push {lr}
- adds r2, r0, 0
- ldr r0, =gUnknown_02022C30
- ldr r1, [r0]
- movs r0, 0x1A
- strb r0, [r1, 0x14]
- ldr r0, =gStringVar4
- cmp r2, r0
- beq _080156A4
- adds r1, r2, 0
- bl StringExpandPlaceholders
-_080156A4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801568C
-
- thumb_func_start sub_80156B0
-sub_80156B0: @ 80156B0
- push {lr}
- ldr r3, =0x0201ff00
- ldr r1, [r0]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r3, 0
- bl memcpy
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80156B0
-
- thumb_func_start sub_80156C8
-sub_80156C8: @ 80156C8
- push {lr}
- ldr r0, [r0]
- ldr r1, =0x0201ff00
- movs r2, 0x80
- lsls r2, 1
- bl memcpy
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80156C8
-
thumb_func_start sub_80156E0
sub_80156E0: @ 80156E0
push {r4-r7,lr}
@@ -6123,7 +662,7 @@ _08015D4C:
adds r1, r2
adds r1, r3
ldr r1, [r1]
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
bne _08015D8C
@@ -6235,7 +774,7 @@ _08015E94:
adds r0, r6, 0
adds r0, 0x16
ldr r1, =gStringVar4
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
bne _08015EA8
@@ -6531,7 +1070,7 @@ _08016158:
adds r0, r6, 0
adds r0, 0x16
ldr r1, =gStringVar4
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
bne _08016170
@@ -6849,7 +1388,7 @@ _0801645C:
adds r0, r6, 0
adds r0, 0x16
ldr r1, =gUnknown_082EF20C
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
bne _0801646E
@@ -7018,7 +1557,7 @@ _080165DC:
adds r0, r6, 0
adds r0, 0x16
ldr r1, =gUnknown_082EF5B8
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
bne _080165EE
@@ -7039,7 +1578,7 @@ _08016610:
adds r0, r6, 0
adds r0, 0x16
ldr r1, =gUnknown_082EF1EC
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
bne _08016622
@@ -7190,7 +1729,7 @@ _0801676C:
adds r0, r6, 0
adds r0, 0x16
ldr r1, =gUnknown_082EF4C4
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
bne _0801677E
@@ -7268,7 +1807,7 @@ _08016838:
adds r0, r6, 0
adds r0, 0x16
ldr r1, =gStringVar4
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
beq _08016878
@@ -7287,7 +1826,7 @@ _08016864:
adds r0, r6, 0
adds r0, 0x16
ldr r1, =gStringVar4
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
beq _08016878
@@ -7315,7 +1854,7 @@ _08016894:
pop {r0}
bx r0
.pool
- thumb_func_end var_800D_set_xB
+thumb_func_end var_800D_set_xB
thumb_func_start sub_801689C
sub_801689C: @ 801689C
@@ -7528,7 +2067,7 @@ _08016A4A:
ldr r0, [r5]
adds r0, r4
adds r0, 0x2
- bl sub_8015658
+ bl ReadAsU16
lsls r0, 16
lsrs r0, 16
mov r1, sp
@@ -8305,8 +2844,8 @@ _0801705E:
bx r1
thumb_func_end sub_801704C
- thumb_func_start sub_8017064
-sub_8017064: @ 8017064
+ thumb_func_start PrintOnTextbox
+PrintOnTextbox: @ 8017064
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -8346,7 +2885,7 @@ _080170B0:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8017064
+ thumb_func_end PrintOnTextbox
thumb_func_start sub_80170B8
sub_80170B8: @ 80170B8
@@ -9531,7 +4070,7 @@ sub_80179AC: @ 80179AC
bl sub_8018404
adds r4, 0x2
adds r0, r4, 0
- bl sub_8015658
+ bl ReadAsU16
lsls r0, 16
lsrs r0, 16
mov r1, sp
@@ -9563,7 +4102,7 @@ sub_80179D4: @ 80179D4
adds r1, r5, 0
bl sub_8018404
adds r0, r5, 0x2
- bl sub_8015658
+ bl ReadAsU16
lsls r0, 16
lsrs r0, 16
adds r1, r4, 0
@@ -10246,14 +4785,14 @@ _08017F8A:
lsls r0, r4, 24
lsrs r0, 24
adds r1, r5, 0
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
adds r5, 0x10
adds r4, 0x1
cmp r4, 0x3
ble _08017F8A
ldr r1, =gUnknown_082EE47C
adds r0, r7, 0
- bl UnkTextUtil_StringExpandPlaceholders
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
b _08017FB4
.pool
_08017FAC:
@@ -10551,7 +5090,7 @@ _080181BC:
sub_80181CC: @ 80181CC
push {lr}
bl ScriptContext2_Enable
- bl ScriptFreezeMapObjects
+ bl ScriptFreezeEventObjects
pop {r0}
bx r0
thumb_func_end sub_80181CC
@@ -10615,10 +5154,10 @@ sub_8018220: @ 8018220
lsrs r0, 24
movs r1, 0x64
muls r1, r0
- ldr r0, =gUnknown_02039B58
+ ldr r0, =gTrainerCards
adds r1, r0
mov r8, r1
- bl UnkTextUtil_Reset
+ bl DynamicPlaceholderTextUtil_Reset
mov r6, r9
adds r6, 0xC0
bl sub_8068BB0
@@ -10632,11 +5171,11 @@ sub_8018220: @ 8018220
bl StringCopy
movs r0, 0
adds r1, r6, 0
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
mov r1, r8
adds r1, 0x30
movs r0, 0x1
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r4, 0xBA
lsls r4, 1
add r4, r9
@@ -10650,7 +5189,7 @@ sub_8018220: @ 8018220
bl StringCopy
movs r0, 0x2
adds r1, r4, 0
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
mov r5, r9
adds r5, 0xDE
mov r0, r8
@@ -10661,7 +5200,7 @@ sub_8018220: @ 8018220
bl ConvertIntToDecimalStringN
movs r0, 0x3
adds r1, r5, 0
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r2, 0xED
add r2, r9
mov r10, r2
@@ -10681,16 +5220,16 @@ sub_8018220: @ 8018220
bl ConvertIntToDecimalStringN
movs r0, 0x4
mov r1, r10
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r0, 0x5
adds r1, r4, 0
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r4, 0xD2
lsls r4, 1
add r4, r9
ldr r1, =gUnknown_082EFF64
adds r0, r4, 0
- bl UnkTextUtil_StringExpandPlaceholders
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
ldr r0, =gStringVar4
adds r1, r4, 0
bl StringCopy
@@ -10707,7 +5246,7 @@ _0801830C:
bl ConvertIntToDecimalStringN
movs r0, 0
adds r1, r6, 0
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
mov r2, r8
ldrh r1, [r2, 0x16]
cmp r1, r4
@@ -10722,7 +5261,7 @@ _08018328:
bl ConvertIntToDecimalStringN
movs r0, 0x2
adds r1, r4, 0
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
mov r0, r8
ldrh r1, [r0, 0x20]
adds r0, r5, 0
@@ -10731,7 +5270,7 @@ _08018328:
bl ConvertIntToDecimalStringN
movs r0, 0x3
adds r1, r5, 0
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r7, 0
movs r6, 0x80
lsls r6, 19
@@ -10744,7 +5283,7 @@ _08018360:
bl CopyEasyChatWord
lsrs r0, r6, 24
adds r1, r4, 0
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r2, 0x80
lsls r2, 17
adds r6, r2
@@ -10758,7 +5297,7 @@ _08018360:
add r4, r9
ldr r1, =gUnknown_082EFFA4
adds r0, r4, 0
- bl UnkTextUtil_StringExpandPlaceholders
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
ldr r5, =gStringVar4
adds r0, r5, 0
adds r1, r4, 0
@@ -10768,7 +5307,7 @@ _08018360:
bne _080183D0
ldr r1, =gUnknown_082F0020
adds r0, r4, 0
- bl UnkTextUtil_StringExpandPlaceholders
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
adds r0, r5, 0
adds r1, r4, 0
bl StringAppend
@@ -10785,7 +5324,7 @@ _080183D0:
adds r1, r0
ldr r1, [r1]
adds r0, r4, 0
- bl UnkTextUtil_StringExpandPlaceholders
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
adds r0, r5, 0
adds r1, r4, 0
bl StringAppend
@@ -10972,11 +5511,11 @@ _08018574:
movs r0, 0
movs r1, 0xA
movs r2, 0xE0
- bl sub_809882C
+ bl LoadUserWindowBorderGfx
movs r0, 0
movs r1, 0x1
movs r2, 0xF0
- bl box_border_load_tiles_and_pal
+ bl LoadUserWindowBorderGfx_
movs r4, 0x20
str r4, [sp]
str r4, [sp, 0x4]
@@ -13578,7 +8117,7 @@ sub_8019AB8: @ 8019AB8
ldr r2, [r1]
ldrb r1, [r2, 0x5]
ldrb r2, [r2, 0x4]
- bl RemoveFieldObjectByLocalIdAndMap
+ bl RemoveEventObjectByLocalIdAndMap
pop {r0}
bx r0
.pool
@@ -13597,7 +8136,7 @@ sub_8019AD8: @ 8019AD8
ldrb r1, [r2, 0x5]
ldrb r2, [r2, 0x4]
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
bne _08019B30
@@ -13606,16 +8145,16 @@ sub_8019AD8: @ 8019AD8
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r4, r0, r1
adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl EventObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
bne _08019B30
ldrb r1, [r5]
adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
lsls r0, 24
cmp r0, 0
bne _08019B30
@@ -13643,7 +8182,7 @@ sub_8019B3C: @ 8019B3C
ldrb r1, [r2, 0x5]
ldrb r2, [r2, 0x4]
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
bne _08019B9C
@@ -13652,10 +8191,10 @@ sub_8019B3C: @ 8019B3C
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r4, r0, r1
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
bne _08019B84
@@ -13668,11 +8207,11 @@ _08019B84:
cmp r0, 0
bne _08019B96
adds r0, r4, 0
- bl npc_sync_anim_pause_bits
+ bl UnfreezeEventObject
b _08019B9C
_08019B96:
adds r0, r4, 0
- bl FreezeMapObject
+ bl FreezeEventObject
_08019B9C:
movs r0, 0x1
_08019B9E:
@@ -14619,7 +9158,7 @@ sub_801A2A8: @ 801A2A8
b _0801A396
_0801A2C4:
ldr r4, =gUnknown_082F076A
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
adds r0, r4
@@ -14898,7 +9437,7 @@ sub_801A43C: @ 801A43C
bl LoadPalette
movs r0, 0xF0
bl sub_81978B0
- bl UnkTextUtil_Reset
+ bl DynamicPlaceholderTextUtil_Reset
movs r0, 0x20
str r0, [sp]
str r0, [sp, 0x4]
@@ -14941,7 +9480,7 @@ _0801A58C:
ldr r0, =gUnknown_03000DAC
ldr r0, [r0]
bl Free
- ldr r0, =CB2_ReturnToFieldContinueScript
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
pop {r4}
pop {r0}
@@ -15907,11 +10446,11 @@ _0801AD8C:
movs r0, 0
movs r1, 0x1
movs r2, 0xD0
- bl sub_809882C
+ bl LoadUserWindowBorderGfx
movs r0, 0
movs r1, 0x1
movs r2, 0xD0
- bl box_border_load_tiles_and_pal
+ bl LoadUserWindowBorderGfx_
bl sub_819789C
ldr r0, =sub_801AC40
bl SetVBlankCallback
@@ -17828,7 +12367,7 @@ _0801BD1A:
bl CopyBgTilemapBufferToVram
b _0801BD86
_0801BD34:
- bl sub_80D2F04
+ bl LoadMonIconPalettes
b _0801BD86
_0801BD3A:
movs r0, 0x1
@@ -17991,7 +12530,7 @@ _0801BE56:
.pool
_0801BE94:
bl sub_801C61C
- bl sub_80D2F9C
+ bl FreeMonIconPalettes
b _0801BEDA
_0801BE9E:
ldr r0, =gUnknown_02022C60
@@ -21111,7 +15650,7 @@ _0801D7D0:
b _0801D804
.pool
_0801D7F0:
- ldr r0, =0x0201c000
+ ldr r0, =gDecompressionBuffer
ldr r1, [r4, 0x18]
movs r2, 0x80
lsls r2, 3
@@ -21184,7 +15723,7 @@ _0801D858:
sub_801D860: @ 801D860
push {r4,lr}
adds r4, r0, 0
- ldr r3, =0x0201c000
+ ldr r3, =gDecompressionBuffer
adds r0, r4, 0x4
ldr r1, =gSaveBlock2Ptr
ldr r1, [r1]
@@ -24175,10 +18714,10 @@ _0801F020:
ldrb r1, [r4, 0x8]
cmp r0, r1
beq _0801F0A8
- bl UnkTextUtil_Reset
+ bl DynamicPlaceholderTextUtil_Reset
movs r0, 0
adds r1, r4, 0
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r1, =gText_F700JoinedChat
b _0801F094
.pool
@@ -24215,14 +18754,14 @@ _0801F07A:
ldrb r5, [r5]
cmp r0, r5
beq _0801F0A8
- bl UnkTextUtil_Reset
+ bl DynamicPlaceholderTextUtil_Reset
movs r0, 0
adds r1, r4, 0
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r1, =gText_F700LeftChat
_0801F094:
adds r0, r6, 0
- bl UnkTextUtil_StringExpandPlaceholders
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
movs r0, 0x1
b _0801F0AA
.pool
@@ -25695,11 +20234,11 @@ sub_801FBF8: @ 801FBF8
beq _0801FC38
b _0801FC42
_0801FC08:
- bl UnkTextUtil_Reset
+ bl DynamicPlaceholderTextUtil_Reset
bl sub_801F1D0
adds r1, r0, 0
movs r0, 0
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r0, 0x5
movs r1, 0
bl sub_801FF18
@@ -25856,11 +20395,11 @@ sub_801FD30: @ 801FD30
beq _0801FD74
b _0801FD7E
_0801FD40:
- bl UnkTextUtil_Reset
+ bl DynamicPlaceholderTextUtil_Reset
ldr r0, =gSaveBlock2Ptr
ldr r1, [r0]
movs r0, 0
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r0, 0x9
movs r1, 0
bl sub_801FF18
@@ -26164,7 +20703,7 @@ _0801FF98:
adds r0, r1, 0
adds r0, 0x22
ldr r1, [r4]
- bl UnkTextUtil_StringExpandPlaceholders
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
ldr r0, [r5]
adds r6, r0, 0
adds r6, 0x22
@@ -27081,11 +21620,11 @@ sub_8020740: @ 8020740
movs r0, 0x3
movs r1, 0x1
movs r2, 0xD0
- bl sub_809882C
+ bl LoadUserWindowBorderGfx
movs r0, 0x3
movs r1, 0xA
movs r2, 0x20
- bl box_border_load_tiles_and_pal
+ bl LoadUserWindowBorderGfx_
ldr r0, =gUnknown_0860F074
movs r1, 0xE0
movs r2, 0x20
@@ -29443,7 +23982,7 @@ _08021A92:
lsls r4, 2
str r4, [sp, 0x24]
_08021A98:
- bl UnkTextUtil_Reset
+ bl DynamicPlaceholderTextUtil_Reset
ldr r0, [sp, 0x10]
cmp r0, 0x1
beq _08021B48
@@ -29702,10 +24241,10 @@ _08021CC8:
ldr r0, [sp, 0xC]
adds r1, r0, r1
movs r0, 0
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r0, =gStringVar4
adds r1, r4, 0
- bl UnkTextUtil_StringExpandPlaceholders
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
ldr r1, [sp, 0xC]
movs r2, 0xDD
lsls r2, 1
@@ -30171,7 +24710,7 @@ _0802210C:
ldr r4, =0x0000021d
adds r1, r4, 0
movs r2, 0xD0
- bl box_border_load_tiles_and_pal
+ bl LoadUserWindowBorderGfx_
ldrb r0, [r5]
movs r1, 0
adds r2, r4, 0
@@ -30370,7 +24909,7 @@ _08022296:
ldr r4, =0x0000021d
adds r1, r4, 0
movs r2, 0xD0
- bl box_border_load_tiles_and_pal
+ bl LoadUserWindowBorderGfx_
ldrb r0, [r6, 0x2]
movs r1, 0
adds r2, r4, 0
@@ -30847,7 +25386,7 @@ sub_80226D0: @ 80226D0
adds r6, r0, 0
movs r5, 0
ldr r0, =gUnknown_08DE3FD4
- ldr r4, =0x0201c000
+ ldr r4, =gDecompressionBuffer
adds r1, r4, 0
bl LZ77UnCompWram
b _0802271A
@@ -35221,7 +29760,7 @@ sub_80248B0: @ 80248B0
ldr r5, =0x0000021d
adds r1, r5, 0
movs r2, 0xD0
- bl box_border_load_tiles_and_pal
+ bl LoadUserWindowBorderGfx_
ldrb r4, [r4]
bl sub_80247BC
adds r3, r0, 0
@@ -41645,7 +36184,7 @@ sub_8027BEC: @ 8027BEC
adds r0, r7, 0
adds r1, r4, 0
movs r2, 0xD0
- bl box_border_load_tiles_and_pal
+ bl LoadUserWindowBorderGfx_
adds r0, r7, 0
adds r1, r4, 0
movs r2, 0xD
@@ -44214,7 +38753,7 @@ sub_802902C: @ 802902C
movs r0, 0
movs r1, 0xA
movs r2, 0xB0
- bl box_border_load_tiles_and_pal
+ bl LoadUserWindowBorderGfx_
pop {r0}
bx r0
thumb_func_end sub_802902C
@@ -45753,7 +40292,7 @@ _08029DA0:
movs r1, 0x1
adds r2, r5, 0
bl PrintTextOnWindow
- bl UnkTextUtil_Reset
+ bl DynamicPlaceholderTextUtil_Reset
bl sub_802762C
lsls r0, 16
lsrs r0, 16
@@ -45762,11 +40301,11 @@ _08029DA0:
bl CopyItemName
movs r0, 0
adds r1, r5, 0
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r7, =gStringVar4
ldr r1, =gText_FirstPlacePrize
adds r0, r7, 0
- bl UnkTextUtil_StringExpandPlaceholders
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
ldr r0, [r4]
add r0, r10
ldrb r0, [r0]
@@ -45787,7 +40326,7 @@ _08029DA0:
beq _08029EC8
cmp r4, 0x3
beq _08029EC8
- bl UnkTextUtil_Reset
+ bl DynamicPlaceholderTextUtil_Reset
bl sub_802762C
lsls r0, 16
lsrs r0, 16
@@ -45795,12 +40334,12 @@ _08029DA0:
bl CopyItemName
movs r0, 0
adds r1, r5, 0
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
cmp r4, 0x2
bne _08029E9C
ldr r1, =gText_CantHoldAnyMore
adds r0, r7, 0
- bl UnkTextUtil_StringExpandPlaceholders
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
b _08029EA8
.pool
_08029E9C:
@@ -45808,7 +40347,7 @@ _08029E9C:
bne _08029EA8
ldr r1, =gText_FilledStorageSpace
adds r0, r7, 0
- bl UnkTextUtil_StringExpandPlaceholders
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
_08029EA8:
ldr r0, =gUnknown_02022CF8
ldr r0, [r0]
@@ -52968,19 +47507,19 @@ sub_802D7E8: @ 802D7E8
movs r2, 0
movs r3, 0x1
bl ConvertIntToDecimalStringN
- bl UnkTextUtil_Reset
+ bl DynamicPlaceholderTextUtil_Reset
ldr r1, [r5]
adds r1, 0x26
movs r0, 0
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r1, [r5]
adds r1, 0x66
movs r0, 0x1
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r0, [r5]
adds r0, 0xA6
ldr r1, =gText_AwesomeWonF701F700
- bl UnkTextUtil_StringExpandPlaceholders
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
movs r0, 0x4
movs r1, 0x8
movs r2, 0x16
@@ -53025,15 +47564,15 @@ sub_802D884: @ 802D884
ldr r1, [r4]
adds r1, 0x26
bl CopyItemName
- bl UnkTextUtil_Reset
+ bl DynamicPlaceholderTextUtil_Reset
ldr r1, [r4]
adds r1, 0x26
movs r0, 0
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r0, [r4]
adds r0, 0xA6
ldr r1, =gText_FilledStorageSpace2
- bl UnkTextUtil_StringExpandPlaceholders
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
movs r0, 0x4
movs r1, 0x8
movs r2, 0x16
@@ -53078,15 +47617,15 @@ sub_802D8FC: @ 802D8FC
ldr r1, [r4]
adds r1, 0x26
bl CopyItemName
- bl UnkTextUtil_Reset
+ bl DynamicPlaceholderTextUtil_Reset
ldr r1, [r4]
adds r1, 0x26
movs r0, 0
- bl UnkTextUtil_SetPtrI
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r0, [r4]
adds r0, 0xA6
ldr r1, =gText_CantHoldMore
- bl UnkTextUtil_StringExpandPlaceholders
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
movs r0, 0x4
movs r1, 0x9
movs r2, 0x16
@@ -54638,7 +49177,7 @@ sub_802E500: @ 802E500
adds r0, r4, 0
adds r1, r5, 0
movs r2, 0xD0
- bl box_border_load_tiles_and_pal
+ bl LoadUserWindowBorderGfx_
adds r0, r4, 0
adds r1, r5, 0
movs r2, 0xD
diff --git a/asm/rom_8034C54.s b/asm/rom_8034C54.s
deleted file mode 100644
index 4274f26b6..000000000
--- a/asm/rom_8034C54.s
+++ /dev/null
@@ -1,1312 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8034C54
-sub_8034C54: @ 8034C54
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r5, =gUnknown_02022E10
- ldr r0, [r5]
- cmp r0, 0
- beq _08034C64
- bl sub_8034CC8
-_08034C64:
- movs r0, 0x8
- bl Alloc
- str r0, [r5]
- cmp r0, 0
- bne _08034C78
- movs r0, 0
- b _08034CC0
- .pool
-_08034C78:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- bl Alloc
- ldr r1, [r5]
- str r0, [r1, 0x4]
- cmp r0, 0
- bne _08034C94
- adds r0, r1, 0
- bl Free
- movs r0, 0
- b _08034CC0
-_08034C94:
- str r4, [r1]
- movs r3, 0
- cmp r3, r4
- bcs _08034CBE
- movs r7, 0
- movs r6, 0xFF
- movs r2, 0
-_08034CA2:
- ldr r0, [r5]
- ldr r0, [r0, 0x4]
- adds r0, r2, r0
- strb r7, [r0]
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- adds r1, r2, r1
- ldrb r0, [r1, 0x1]
- orrs r0, r6
- strb r0, [r1, 0x1]
- adds r2, 0x1C
- adds r3, 0x1
- cmp r3, r4
- bcc _08034CA2
-_08034CBE:
- movs r0, 0x1
-_08034CC0:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8034C54
-
- thumb_func_start sub_8034CC8
-sub_8034CC8: @ 8034CC8
- push {r4,r5,lr}
- ldr r2, =gUnknown_02022E10
- ldr r1, [r2]
- cmp r1, 0
- beq _08034D08
- ldr r0, [r1, 0x4]
- cmp r0, 0
- beq _08034CFC
- movs r4, 0
- ldr r0, [r1]
- cmp r4, r0
- bcs _08034CF2
- adds r5, r2, 0
-_08034CE2:
- adds r0, r4, 0
- bl sub_80353DC
- adds r4, 0x1
- ldr r0, [r5]
- ldr r0, [r0]
- cmp r4, r0
- bcc _08034CE2
-_08034CF2:
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bl Free
-_08034CFC:
- ldr r4, =gUnknown_02022E10
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
-_08034D08:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8034CC8
-
- thumb_func_start sub_8034D14
-sub_8034D14: @ 8034D14
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r8, r0
- mov r10, r1
- adds r5, r2, 0
- ldr r6, =gUnknown_02022E10
- ldr r0, [r6]
- cmp r0, 0
- beq _08034DD4
- ldr r1, [r0, 0x4]
- mov r0, r8
- lsls r2, r0, 3
- subs r0, r2, r0
- lsls r4, r0, 2
- adds r1, r4, r1
- ldrb r0, [r1]
- mov r9, r2
- cmp r0, 0
- bne _08034DD4
- ldrb r0, [r5, 0x1]
- bl sub_8035518
- ldr r1, [r6]
- ldr r1, [r1, 0x4]
- adds r1, r4, r1
- strb r0, [r1, 0x1]
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r0, r4, r0
- ldrb r0, [r0, 0x1]
- cmp r0, 0xFF
- beq _08034DD4
- ldr r0, [r5, 0x8]
- ldrh r0, [r0, 0x6]
- bl GetSpriteTileStartByTag
- ldr r2, [r6]
- ldr r1, [r2, 0x4]
- adds r1, r4, r1
- strh r0, [r1, 0xA]
- ldr r0, [r2, 0x4]
- adds r0, r4, r0
- ldrh r1, [r0, 0xA]
- ldr r7, =0xffff0000
- lsrs r0, r7, 16
- cmp r1, r0
- bne _08034DE0
- ldr r2, [r5, 0x8]
- ldrh r0, [r2, 0x4]
- adds r1, r2, 0
- cmp r0, 0
- beq _08034D94
- adds r0, r1, 0
- bl LoadSpriteSheet
- b _08034DB4
- .pool
-_08034D94:
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r0, [r2]
- bl sub_8034974
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [sp, 0x4]
- ands r1, r7
- orrs r1, r0
- str r1, [sp, 0x4]
- mov r0, sp
- bl LoadCompressedObjectPic
-_08034DB4:
- ldr r1, [r6]
- ldr r1, [r1, 0x4]
- adds r1, r4, r1
- strh r0, [r1, 0xA]
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- mov r2, r9
- mov r3, r8
- subs r0, r2, r3
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0xA]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _08034DE0
-_08034DD4:
- movs r0, 0
- b _08034EE8
- .pool
-_08034DE0:
- ldr r0, [r5, 0xC]
- ldrh r0, [r0, 0x4]
- bl IndexOfSpritePaletteTag
- ldr r6, =gUnknown_02022E10
- ldr r1, [r6]
- ldr r1, [r1, 0x4]
- mov r4, r9
- mov r3, r8
- subs r2, r4, r3
- lsls r4, r2, 2
- adds r1, r4, r1
- strb r0, [r1, 0x4]
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r0, r4, r0
- ldrb r0, [r0, 0x4]
- cmp r0, 0xFF
- bne _08034E14
- ldr r0, [r5, 0xC]
- bl LoadSpritePalette
- ldr r1, [r6]
- ldr r1, [r1, 0x4]
- adds r1, r4, r1
- strb r0, [r1, 0x4]
-_08034E14:
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r0, [r5]
- lsls r0, 30
- lsrs r0, 30
- strb r0, [r1, 0x2]
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r0, r4, r0
- ldrb r1, [r5, 0x1]
- strb r1, [r0, 0x3]
- ldr r2, [r6]
- ldr r0, [r2, 0x4]
- adds r0, r4, r0
- ldrh r1, [r5, 0x4]
- strh r1, [r0, 0xC]
- ldr r0, [r2, 0x4]
- adds r0, r4, r0
- ldrh r1, [r5, 0x6]
- strh r1, [r0, 0xE]
- ldr r1, [r2, 0x4]
- adds r1, r4, r1
- ldrb r0, [r5]
- lsls r0, 28
- lsrs r0, 30
- strb r0, [r1, 0x6]
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r0, [r5]
- lsls r0, 26
- lsrs r0, 30
- strb r0, [r1, 0x5]
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r0, [r5]
- lsrs r0, 6
- strb r0, [r1, 0x7]
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r0, r4, r0
- ldrb r1, [r5, 0x2]
- strb r1, [r0, 0x8]
- ldrb r1, [r5]
- lsls r0, r1, 28
- lsrs r0, 30
- lsls r1, 26
- lsrs r1, 30
- bl sub_80355F8
- ldr r1, [r6]
- ldr r1, [r1, 0x4]
- adds r1, r4, r1
- strb r0, [r1, 0x9]
- ldr r2, [r6]
- ldr r0, [r2, 0x4]
- adds r0, r4, r0
- ldr r1, [r5, 0x8]
- ldrh r1, [r1, 0x6]
- strh r1, [r0, 0x10]
- ldr r0, [r2, 0x4]
- adds r0, r4, r0
- ldr r1, [r5, 0xC]
- ldrh r1, [r1, 0x4]
- strh r1, [r0, 0x12]
- ldr r0, [r2, 0x4]
- adds r0, r4, r0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r0, r4, r0
- str r1, [r0, 0x14]
- movs r3, 0x1
- ldrb r0, [r5, 0x1]
- cmp r3, r0
- bcs _08034ECA
-_08034EB2:
- ldr r0, [r6]
- ldr r2, [r0, 0x4]
- adds r2, r4, r2
- ldr r1, [r2, 0x14]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- str r0, [r2, 0x14]
- adds r3, 0x1
- ldrb r2, [r5, 0x1]
- cmp r3, r2
- bcc _08034EB2
-_08034ECA:
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- mov r3, r9
- mov r4, r8
- subs r1, r3, r4
- lsls r1, 2
- ldr r0, [r0, 0x4]
- adds r0, r1
- bl sub_8034EFC
- mov r0, r8
- mov r1, r10
- bl sub_8035044
- movs r0, 0x1
-_08034EE8:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8034D14
-
- thumb_func_start sub_8034EFC
-sub_8034EFC: @ 8034EFC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r4, r0, 0
- ldrb r5, [r4, 0x1]
- movs r0, 0xC
- ldrsh r7, [r4, r0]
- ldrb r0, [r4, 0x3]
- adds r0, 0x1
- mov r8, r0
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- lsls r1, r5, 3
- ldr r2, =gMain+0x38
- mov r9, r2
- add r1, r9
- mov r0, r8
- lsls r2, r0, 2
- movs r0, 0x80
- lsls r0, 17
- orrs r2, r0
- mov r0, sp
- bl CpuSet
- movs r6, 0
- ldrb r5, [r4, 0x1]
- cmp r6, r8
- bcs _08034FCE
- movs r1, 0x3F
- mov r10, r1
- movs r2, 0xD
- negs r2, r2
- mov r9, r2
-_08034F46:
- lsls r0, r5, 3
- ldr r1, =gMain
- adds r3, r0, r1
- ldrh r1, [r4, 0xE]
- adds r0, r3, 0
- adds r0, 0x38
- strb r1, [r0]
- ldr r2, =0x000001ff
- adds r0, r2, 0
- adds r1, r7, 0
- ands r1, r0
- ldrh r2, [r3, 0x3A]
- ldr r0, =0xfffffe00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x3A]
- ldrb r1, [r4, 0x6]
- movs r0, 0x39
- adds r0, r3
- mov r12, r0
- lsls r1, 6
- ldrb r2, [r0]
- mov r0, r10
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrb r1, [r4, 0x5]
- movs r2, 0x3B
- adds r2, r3
- mov r12, r2
- lsls r1, 6
- ldrb r2, [r2]
- mov r0, r10
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrh r0, [r4, 0xA]
- ldr r1, =0x000003ff
- ands r1, r0
- ldrh r2, [r3, 0x3C]
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x3C]
- adds r3, 0x3D
- movs r0, 0x3
- ldrb r1, [r4, 0x7]
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- mov r0, r9
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- ldrb r2, [r4, 0x4]
- lsls r2, 4
- movs r1, 0xF
- ands r0, r1
- orrs r0, r2
- strb r0, [r3]
- ldrb r0, [r4, 0x8]
- adds r7, r0
- adds r6, 0x1
- adds r5, 0x1
- cmp r6, r8
- bcc _08034F46
-_08034FCE:
- subs r5, 0x1
- ldr r0, =gMain
- lsls r3, r5, 3
- adds r3, r0
- movs r2, 0xC
- ldrsh r1, [r4, r2]
- ldrb r0, [r4, 0x8]
- subs r1, r0
- ldr r2, =0x000001ff
- adds r0, r2, 0
- ands r1, r0
- ldrh r2, [r3, 0x3A]
- ldr r0, =0xfffffe00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x3A]
- adds r2, r3, 0
- adds r2, 0x39
- ldrb r1, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r4, 0x9]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 1
- ldrh r4, [r4, 0xA]
- adds r1, r4
- ldr r2, =0x000003ff
- adds r0, r2, 0
- ands r1, r0
- ldrh r2, [r3, 0x3C]
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x3C]
- 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_8034EFC
-
- thumb_func_start sub_8035044
-sub_8035044: @ 8035044
- push {r4-r6,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- ldr r0, =gUnknown_02022E10
- ldr r1, [r0]
- adds r6, r0, 0
- cmp r1, 0
- beq _080350A8
- ldr r2, [r1, 0x4]
- lsls r1, r3, 3
- subs r0, r1, r3
- lsls r0, 2
- adds r2, r0, r2
- ldrb r0, [r2]
- adds r5, r1, 0
- cmp r0, 0
- beq _080350A8
- str r4, [r2, 0x18]
- cmp r4, 0
- bge _08035078
- movs r2, 0x1
- negs r4, r4
- b _0803507A
- .pool
-_08035078:
- movs r2, 0
-_0803507A:
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- subs r0, r5, r3
- lsls r0, 2
- adds r0, r1
- ldrb r3, [r0, 0x2]
- cmp r3, 0x1
- beq _0803509A
- cmp r3, 0x1
- ble _08035092
- cmp r3, 0x2
- beq _080350A2
-_08035092:
- adds r1, r4, 0
- bl sub_80350B0
- b _080350A8
-_0803509A:
- adds r1, r4, 0
- bl sub_8035164
- b _080350A8
-_080350A2:
- adds r1, r4, 0
- bl sub_80352C0
-_080350A8:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8035044
-
- thumb_func_start sub_80350B0
-sub_80350B0: @ 80350B0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r8, r0
- mov r9, r1
- str r2, [sp]
- ldr r5, [r0, 0x14]
- ldrb r7, [r0, 0x1]
- ldr r0, =gMain
- mov r10, r0
- cmp r5, 0
- beq _0803511A
- lsls r0, r7, 3
- adds r0, 0x3C
- mov r1, r10
- adds r6, r0, r1
-_080350D6:
- mov r0, r9
- adds r1, r5, 0
- bl __udivsi3
- adds r4, r0, 0
- adds r0, r4, 0
- muls r0, r5
- mov r2, r9
- subs r2, r0
- mov r9, r2
- adds r0, r5, 0
- movs r1, 0xA
- bl __udivsi3
- adds r5, r0, 0
- mov r1, r8
- ldrb r0, [r1, 0x9]
- adds r1, r4, 0
- muls r1, r0
- mov r2, r8
- ldrh r2, [r2, 0xA]
- adds r1, r2
- ldr r2, =0x000003ff
- adds r0, r2, 0
- ands r1, r0
- ldrh r0, [r6]
- ldr r2, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r6]
- adds r6, 0x8
- adds r7, 0x1
- cmp r5, 0
- bne _080350D6
-_0803511A:
- ldr r0, [sp]
- cmp r0, 0
- beq _08035140
- lsls r0, r7, 3
- add r0, r10
- adds r0, 0x39
- ldrb r2, [r0]
- movs r1, 0x4
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- b _08035154
- .pool
-_08035140:
- lsls r2, r7, 3
- add r2, r10
- adds r2, 0x39
- ldrb r1, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
-_08035154:
- 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_80350B0
-
- thumb_func_start sub_8035164
-sub_8035164: @ 8035164
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r0, 0
- mov r8, r1
- str r2, [sp]
- ldr r5, [r6, 0x14]
- ldr r3, =gUnknown_03000DD4
- ldrb r0, [r6, 0x1]
- str r0, [r3]
- ldr r2, =gUnknown_03000DD8
- movs r0, 0
- str r0, [r2]
- ldr r1, =gUnknown_03000DDC
- subs r0, 0x1
- str r0, [r1]
- adds r7, r3, 0
- mov r10, r1
- ldr r0, =gMain
- mov r9, r0
- cmp r5, 0
- beq _0803524C
-_08035196:
- mov r0, r8
- adds r1, r5, 0
- bl __udivsi3
- adds r4, r0, 0
- adds r0, r4, 0
- muls r0, r5
- mov r1, r8
- subs r1, r0
- mov r8, r1
- adds r0, r5, 0
- movs r1, 0xA
- bl __udivsi3
- adds r5, r0, 0
- cmp r4, 0
- bne _080351C8
- mov r2, r10
- ldr r1, [r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080351C8
- cmp r5, 0
- bne _08035224
-_080351C8:
- ldr r2, [r7]
- lsls r2, 3
- add r2, r9
- ldrb r0, [r6, 0x9]
- adds r3, r4, 0
- muls r3, r0
- ldrh r4, [r6, 0xA]
- adds r3, r4
- ldr r1, =0x000003ff
- adds r0, r1, 0
- ands r3, r0
- ldrh r0, [r2, 0x3C]
- ldr r4, =0xfffffc00
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r3
- strh r0, [r2, 0x3C]
- adds r2, 0x39
- ldrb r0, [r2]
- movs r1, 0x4
- negs r1, r1
- ands r0, r1
- strb r0, [r2]
- mov r2, r10
- ldr r1, [r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _0803523A
- ldr r4, =gUnknown_03000DD8
- ldr r0, [r4]
- str r0, [r2]
- b _0803523A
- .pool
-_08035224:
- ldr r0, [r7]
- lsls r0, 3
- add r0, r9
- adds r0, 0x39
- ldrb r1, [r0]
- movs r2, 0x4
- negs r2, r2
- ands r1, r2
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0]
-_0803523A:
- ldr r0, [r7]
- adds r0, 0x1
- str r0, [r7]
- ldr r4, =gUnknown_03000DD8
- ldr r0, [r4]
- adds r0, 0x1
- str r0, [r4]
- cmp r5, 0
- bne _08035196
-_0803524C:
- ldr r0, [sp]
- cmp r0, 0
- beq _08035298
- ldr r1, [r7]
- lsls r1, 3
- add r1, r9
- adds r1, 0x39
- ldrb r2, [r1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r3, [r7]
- lsls r3, 3
- add r3, r9
- movs r1, 0xC
- ldrsh r2, [r6, r1]
- mov r4, r10
- ldr r0, [r4]
- subs r0, 0x1
- ldrb r1, [r6, 0x8]
- muls r0, r1
- adds r2, r0
- ldr r1, =0x000001ff
- adds r0, r1, 0
- ands r2, r0
- ldrh r1, [r3, 0x3A]
- ldr r0, =0xfffffe00
- ands r0, r1
- orrs r0, r2
- strh r0, [r3, 0x3A]
- b _080352AE
- .pool
-_08035298:
- ldr r0, [r7]
- lsls r0, 3
- add r0, r9
- adds r0, 0x39
- ldrb r2, [r0]
- movs r1, 0x4
- negs r1, r1
- ands r1, r2
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0]
-_080352AE:
- 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_8035164
-
- thumb_func_start sub_80352C0
-sub_80352C0: @ 80352C0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r8, r0
- mov r10, r1
- str r2, [sp]
- ldr r5, [r0, 0x14]
- ldrb r3, [r0, 0x1]
- movs r0, 0
- str r0, [sp, 0x4]
- mov r9, r0
- cmp r5, 0
- beq _0803535A
-_080352E0:
- lsls r0, r3, 3
- adds r1, r0, 0
- adds r1, 0x39
- ldr r2, =gMain
- adds r7, r1, r2
- adds r0, 0x3C
- adds r6, r0, r2
-_080352EE:
- mov r0, r10
- adds r1, r5, 0
- str r3, [sp, 0x8]
- bl __udivsi3
- adds r4, r0, 0
- adds r0, r4, 0
- muls r0, r5
- mov r1, r10
- subs r1, r0
- mov r10, r1
- adds r0, r5, 0
- movs r1, 0xA
- bl __udivsi3
- adds r5, r0, 0
- ldr r3, [sp, 0x8]
- cmp r4, 0
- bne _0803531E
- ldr r2, [sp, 0x4]
- cmp r2, 0
- bne _0803531E
- cmp r5, 0
- bne _080352E0
-_0803531E:
- movs r0, 0x1
- str r0, [sp, 0x4]
- mov r1, r8
- ldrb r0, [r1, 0x9]
- adds r2, r4, 0
- muls r2, r0
- ldrh r4, [r1, 0xA]
- adds r2, r4
- ldr r1, =0x000003ff
- adds r0, r1, 0
- ands r2, r0
- ldrh r0, [r6]
- ldr r4, =0xfffffc00
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r2
- strh r0, [r6]
- ldrb r0, [r7]
- movs r2, 0x4
- negs r2, r2
- adds r1, r2, 0
- ands r0, r1
- strb r0, [r7]
- adds r7, 0x8
- adds r6, 0x8
- adds r3, 0x1
- movs r4, 0x1
- add r9, r4
- cmp r5, 0
- bne _080352EE
-_0803535A:
- mov r0, r8
- ldrb r0, [r0, 0x3]
- cmp r9, r0
- bge _0803538A
- ldr r1, =gMain
- movs r5, 0x4
- negs r5, r5
- movs r4, 0x2
- lsls r0, r3, 3
- adds r0, 0x39
- adds r2, r0, r1
-_08035370:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- orrs r0, r4
- strb r0, [r2]
- adds r2, 0x8
- adds r3, 0x1
- movs r1, 0x1
- add r9, r1
- mov r0, r8
- ldrb r0, [r0, 0x3]
- cmp r9, r0
- blt _08035370
-_0803538A:
- ldr r1, [sp]
- cmp r1, 0
- beq _080353B0
- lsls r0, r3, 3
- ldr r2, =gMain
- adds r0, r2
- adds r0, 0x39
- ldrb r2, [r0]
- movs r1, 0x4
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- b _080353C6
- .pool
-_080353B0:
- lsls r2, r3, 3
- ldr r4, =gMain
- adds r2, r4
- adds r2, 0x39
- ldrb r1, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
-_080353C6:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80352C0
-
- thumb_func_start sub_80353DC
-sub_80353DC: @ 80353DC
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- cmp r0, 0
- beq _0803546E
- ldr r2, [r0, 0x4]
- lsls r1, r4, 3
- subs r0, r1, r4
- lsls r0, 2
- adds r2, r0, r2
- ldrb r0, [r2]
- adds r5, r1, 0
- cmp r0, 0
- beq _0803546E
- ldrb r3, [r2, 0x3]
- adds r0, r3, 0x1
- ldrb r2, [r2, 0x1]
- cmp r0, 0
- beq _08035426
- ldr r1, =gMain
- movs r7, 0x4
- negs r7, r7
- movs r6, 0x2
- adds r3, r0, 0
- lsls r0, r2, 3
- adds r0, 0x39
- adds r2, r0, r1
-_08035414:
- ldrb r1, [r2]
- adds r0, r7, 0
- ands r0, r1
- orrs r0, r6
- strb r0, [r2]
- subs r3, 0x1
- adds r2, 0x8
- cmp r3, 0
- bne _08035414
-_08035426:
- adds r0, r4, 0
- bl sub_8035570
- cmp r0, 0
- bne _08035442
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- subs r0, r5, r4
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x10]
- bl FreeSpriteTilesByTag
-_08035442:
- adds r0, r4, 0
- bl sub_80355B4
- cmp r0, 0
- bne _0803545E
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- subs r0, r5, r4
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x12]
- bl FreeSpritePaletteByTag
-_0803545E:
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- subs r0, r5, r4
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_0803546E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80353DC
-
- thumb_func_start sub_803547C
-sub_803547C: @ 803547C
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, =gUnknown_02022E10
- ldr r1, [r0]
- adds r7, r0, 0
- cmp r1, 0
- beq _0803550C
- ldr r2, [r1, 0x4]
- lsls r1, r4, 3
- subs r0, r1, r4
- lsls r0, 2
- adds r2, r0, r2
- ldrb r0, [r2]
- adds r6, r1, 0
- cmp r0, 0
- beq _0803550C
- ldrb r3, [r2, 0x3]
- adds r1, r3, 0x1
- ldrb r0, [r2, 0x1]
- cmp r5, 0
- beq _080354D8
- cmp r1, 0
- beq _0803550C
- ldr r1, =gMain
- movs r5, 0x4
- negs r5, r5
- movs r4, 0x2
- adds r3, 0x1
- lsls r0, 3
- adds r0, 0x39
- adds r2, r0, r1
-_080354BC:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- orrs r0, r4
- strb r0, [r2]
- subs r3, 0x1
- adds r2, 0x8
- cmp r3, 0
- bne _080354BC
- b _0803550C
- .pool
-_080354D8:
- cmp r1, 0
- beq _080354FA
- ldr r1, =gMain
- movs r5, 0x4
- negs r5, r5
- adds r3, 0x1
- lsls r0, 3
- adds r0, 0x39
- adds r2, r0, r1
-_080354EA:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2]
- subs r3, 0x1
- adds r2, 0x8
- cmp r3, 0
- bne _080354EA
-_080354FA:
- ldr r0, [r7]
- ldr r1, [r0, 0x4]
- subs r0, r6, r4
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0, 0x18]
- adds r0, r4, 0
- bl sub_8035044
-_0803550C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_803547C
-
- thumb_func_start sub_8035518
-sub_8035518: @ 8035518
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0x40
- movs r3, 0
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- ldr r2, [r0]
- cmp r3, r2
- bcs _0803555A
- ldr r1, [r0, 0x4]
-_0803552E:
- ldrb r0, [r1]
- cmp r0, 0
- bne _08035548
- ldrb r0, [r1, 0x1]
- cmp r0, 0xFF
- beq _08035552
- ldrb r0, [r1, 0x3]
- cmp r0, r4
- bhi _08035552
- ldrb r0, [r1, 0x1]
- b _0803556A
- .pool
-_08035548:
- adds r0, r5, 0x1
- ldrb r5, [r1, 0x3]
- adds r0, r5
- lsls r0, 16
- lsrs r5, r0, 16
-_08035552:
- adds r1, 0x1C
- adds r3, 0x1
- cmp r3, r2
- bcc _0803552E
-_0803555A:
- adds r0, r5, r4
- adds r0, 0x1
- cmp r0, 0x80
- bgt _08035568
- lsls r0, r5, 24
- lsrs r0, 24
- b _0803556A
-_08035568:
- movs r0, 0xFF
-_0803556A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8035518
-
- thumb_func_start sub_8035570
-sub_8035570: @ 8035570
- push {r4-r6,lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- ldr r4, [r0]
- cmp r2, r4
- bcs _080355AC
- ldr r1, [r0, 0x4]
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 2
- adds r5, r0, r1
-_0803558A:
- ldrb r0, [r1]
- cmp r0, 0
- beq _080355A4
- cmp r2, r3
- beq _080355A4
- ldrh r0, [r1, 0x10]
- ldrh r6, [r5, 0x10]
- cmp r0, r6
- bne _080355A4
- movs r0, 0x1
- b _080355AE
- .pool
-_080355A4:
- adds r1, 0x1C
- adds r2, 0x1
- cmp r2, r4
- bcc _0803558A
-_080355AC:
- movs r0, 0
-_080355AE:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8035570
-
- thumb_func_start sub_80355B4
-sub_80355B4: @ 80355B4
- push {r4-r6,lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- ldr r4, [r0]
- cmp r2, r4
- bcs _080355F0
- ldr r1, [r0, 0x4]
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 2
- adds r5, r0, r1
-_080355CE:
- ldrb r0, [r1]
- cmp r0, 0
- beq _080355E8
- cmp r2, r3
- beq _080355E8
- ldrh r0, [r1, 0x12]
- ldrh r6, [r5, 0x12]
- cmp r0, r6
- bne _080355E8
- movs r0, 0x1
- b _080355F2
- .pool
-_080355E8:
- adds r1, 0x1C
- adds r2, 0x1
- cmp r2, r4
- bcc _080355CE
-_080355F0:
- movs r0, 0
-_080355F2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80355B4
-
- thumb_func_start sub_80355F8
-sub_80355F8: @ 80355F8
- ldr r2, =gUnknown_082FF1C8
- lsls r0, 2
- adds r1, r0
- adds r1, r2
- ldrb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80355F8
-
- thumb_func_start sub_8035608
-sub_8035608: @ 8035608
- push {lr}
- bl ResetSpriteData
- ldr r0, =gUnknown_0831AC88
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldr r0, =sub_8035648
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8035608
-
- thumb_func_start sub_8035648
-sub_8035648: @ 8035648
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8035648
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/rotating_gate.s b/asm/rotating_gate.s
deleted file mode 100644
index 9b57dc1b0..000000000
--- a/asm/rotating_gate.s
+++ /dev/null
@@ -1,1152 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start GetCurrentMapRotatingGatePuzzleType
-GetCurrentMapRotatingGatePuzzleType: @ 80FB7E8
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- movs r0, 0x86
- lsls r0, 1
- cmp r1, r0
- bne _080FB800
- movs r0, 0x1
- b _080FB812
- .pool
-_080FB800:
- ldr r0, =0x0000081d
- cmp r1, r0
- beq _080FB810
- movs r0, 0
- b _080FB812
- .pool
-_080FB810:
- movs r0, 0x2
-_080FB812:
- pop {r1}
- bx r1
- thumb_func_end GetCurrentMapRotatingGatePuzzleType
-
- thumb_func_start sub_80FB818
-sub_80FB818: @ 80FB818
- push {r4-r6,lr}
- movs r0, 0x80
- lsls r0, 7
- bl GetVarPointer
- adds r5, r0, 0
- movs r3, 0
- ldr r4, =gUnknown_0203A048
- ldrb r0, [r4]
- cmp r3, r0
- bge _080FB844
- ldr r6, =gUnknown_0203A044
-_080FB830:
- adds r2, r5, r3
- ldr r1, [r6]
- lsls r0, r3, 3
- adds r0, r1
- ldrb r0, [r0, 0x5]
- strb r0, [r2]
- adds r3, 0x1
- ldrb r0, [r4]
- cmp r3, r0
- blt _080FB830
-_080FB844:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FB818
-
- thumb_func_start sub_80FB854
-sub_80FB854: @ 80FB854
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x80
- lsls r0, 7
- bl GetVarPointer
- adds r0, r4
- ldrb r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FB854
-
- thumb_func_start sub_80FB870
-sub_80FB870: @ 80FB870
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x80
- lsls r0, 7
- bl GetVarPointer
- adds r0, r4
- strb r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80FB870
-
- thumb_func_start sub_80FB890
-sub_80FB890: @ 80FB890
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_80FB854
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r4, 0x1
- bne _080FB8B4
- cmp r1, 0
- beq _080FB8B0
- subs r0, r1, 0x1
- lsls r0, 24
- b _080FB8BE
-_080FB8B0:
- movs r1, 0x3
- b _080FB8C0
-_080FB8B4:
- adds r1, 0x1
- lsls r1, 24
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r1
-_080FB8BE:
- lsrs r1, r0, 24
-_080FB8C0:
- adds r0, r5, 0
- bl sub_80FB870
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80FB890
-
- thumb_func_start sub_80FB8CC
-sub_80FB8CC: @ 80FB8CC
- push {lr}
- bl GetCurrentMapRotatingGatePuzzleType
- cmp r0, 0x1
- beq _080FB8E0
- cmp r0, 0x1
- ble _080FB914
- cmp r0, 0x2
- beq _080FB8F8
- b _080FB914
-_080FB8E0:
- ldr r1, =gUnknown_0203A044
- ldr r0, =gUnknown_0858E8B0
- str r0, [r1]
- ldr r1, =gUnknown_0203A048
- movs r0, 0x8
- b _080FB902
- .pool
-_080FB8F8:
- ldr r1, =gUnknown_0203A044
- ldr r0, =gUnknown_0858E8F0
- str r0, [r1]
- ldr r1, =gUnknown_0203A048
- movs r0, 0xB
-_080FB902:
- strb r0, [r1]
- movs r1, 0
- ldr r3, =gUnknown_0203A038
- movs r2, 0x40
-_080FB90A:
- adds r0, r1, r3
- strb r2, [r0]
- adds r1, 0x1
- cmp r1, 0xA
- bls _080FB90A
-_080FB914:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FB8CC
-
- thumb_func_start sub_80FB928
-sub_80FB928: @ 80FB928
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp]
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldrh r1, [r2]
- subs r0, r1, 0x2
- lsls r0, 16
- lsrs r3, r0, 16
- adds r1, 0x11
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- ldrh r1, [r2, 0x2]
- subs r0, r1, 0x2
- lsls r0, 16
- lsrs r2, r0, 16
- adds r1, 0xE
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- movs r5, 0
- ldr r0, =gUnknown_0203A048
- ldrb r0, [r0]
- cmp r5, r0
- bcs _080FB9DA
- lsls r0, r2, 16
- asrs r7, r0, 16
- lsls r0, r3, 16
- asrs r6, r0, 16
-_080FB976:
- ldr r0, =gUnknown_0203A044
- ldr r0, [r0]
- lsls r1, r5, 3
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x7
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r1, 0x2]
- adds r0, 0x7
- lsls r0, 16
- asrs r1, r0, 16
- cmp r7, r1
- bgt _080FB9CC
- mov r3, r8
- lsls r0, r3, 16
- asrs r0, 16
- cmp r0, r1
- blt _080FB9CC
- lsls r0, r2, 16
- asrs r1, r0, 16
- cmp r6, r1
- bgt _080FB9CC
- mov r2, r9
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, r1
- blt _080FB9CC
- ldr r0, =gUnknown_0203A038
- adds r4, r5, r0
- ldrb r0, [r4]
- cmp r0, 0x40
- bne _080FB9CC
- ldr r3, [sp]
- lsls r1, r3, 16
- mov r0, r10
- lsls r2, r0, 16
- adds r0, r5, 0
- asrs r1, 16
- asrs r2, 16
- bl sub_80FB9FC
- strb r0, [r4]
-_080FB9CC:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gUnknown_0203A048
- ldrb r0, [r0]
- cmp r5, r0
- bcc _080FB976
-_080FB9DA:
- 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_80FB928
-
- thumb_func_start sub_80FB9FC
-sub_80FB9FC: @ 80FB9FC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- ldr r0, =gUnknown_0203A044
- lsls r1, r6, 3
- ldr r0, [r0]
- adds r4, r0, r1
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _080FBA24
- cmp r0, 0x4
- bne _080FBA34
-_080FBA24:
- mov r1, sp
- ldr r0, =gUnknown_08591FE0
- b _080FBA38
- .pool
-_080FBA34:
- mov r1, sp
- ldr r0, =gUnknown_08591FC8
-_080FBA38:
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- mov r2, sp
- ldrb r0, [r4, 0x4]
- movs r3, 0x98
- lsls r3, 5
- adds r1, r3, 0
- adds r0, r1
- strh r0, [r2]
- mov r0, sp
- movs r1, 0
- movs r2, 0
- movs r3, 0x94
- bl CreateSprite
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x40
- beq _080FBAD4
- ldrh r0, [r4]
- adds r0, 0x7
- ldrh r1, [r4, 0x2]
- adds r1, 0x7
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- ldr r2, =gSprites
- adds r4, r2
- strh r6, [r4, 0x2E]
- movs r2, 0x3E
- adds r2, r4
- mov r12, r2
- ldrb r2, [r2]
- movs r3, 0x2
- orrs r2, r3
- mov r3, r12
- strb r2, [r3]
- lsls r0, 16
- asrs r0, 16
- lsls r2, r7, 16
- asrs r2, 16
- adds r0, r2
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- mov r3, r8
- lsls r2, r3, 16
- asrs r2, 16
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- adds r2, r4, 0
- adds r2, 0x20
- adds r3, r4, 0
- adds r3, 0x22
- bl sub_8092FF0
- adds r0, r4, 0
- bl sub_80FBB64
- adds r0, r6, 0
- bl sub_80FB854
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAffineAnim
- adds r0, r5, 0
- b _080FBAD6
- .pool
-_080FBAD4:
- movs r0, 0x40
-_080FBAD6:
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80FB9FC
-
- thumb_func_start sub_80FBAE4
-sub_80FBAE4: @ 80FBAE4
- push {r4-r7,lr}
- adds r6, r0, 0
- ldrh r0, [r6, 0x30]
- lsls r0, 24
- lsrs r5, r0, 24
- ldrh r0, [r6, 0x32]
- lsls r0, 24
- lsrs r4, r0, 24
- adds r7, r4, 0
- adds r0, r6, 0
- bl sub_80FBB64
- cmp r5, 0x1
- bne _080FBB2A
- adds r0, r4, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- bl GetPlayerSpeed
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- beq _080FBB1A
- adds r0, r4, 0
- adds r0, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
-_080FBB1A:
- movs r0, 0x30
- bl PlaySE
- adds r0, r6, 0
- adds r1, r4, 0
- bl StartSpriteAffineAnim
- b _080FBB58
-_080FBB2A:
- cmp r5, 0x2
- bne _080FBB58
- adds r0, r7, 0
- adds r0, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- bl GetPlayerSpeed
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- beq _080FBB4A
- adds r0, r4, 0
- adds r0, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
-_080FBB4A:
- movs r0, 0x30
- bl PlaySE
- adds r0, r6, 0
- adds r1, r4, 0
- bl StartSpriteAffineAnim
-_080FBB58:
- movs r0, 0
- strh r0, [r6, 0x30]
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80FBAE4
-
- thumb_func_start sub_80FBB64
-sub_80FBB64: @ 80FBB64
- push {r4-r6,lr}
- mov r12, r0
- mov r4, r12
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r5, 0x5
- negs r5, r5
- ands r5, r0
- strb r5, [r4]
- mov r0, r12
- ldrh r1, [r0, 0x24]
- ldrh r2, [r0, 0x20]
- adds r1, r2
- adds r0, 0x28
- movs r2, 0
- ldrsb r2, [r0, r2]
- ldr r0, =gSpriteCoordOffsetX
- adds r2, r1
- ldrh r0, [r0]
- adds r2, r0
- lsls r2, 16
- mov r3, r12
- ldrh r1, [r3, 0x26]
- ldrh r0, [r3, 0x22]
- adds r1, r0
- mov r0, r12
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldr r3, =gSpriteCoordOffsetY
- adds r0, r1
- ldrh r3, [r3]
- adds r0, r3
- lsls r0, 16
- movs r3, 0x80
- lsls r3, 15
- adds r1, r2, r3
- lsrs r1, 16
- lsrs r6, r0, 16
- adds r0, r3
- lsrs r3, r0, 16
- asrs r2, 16
- cmp r2, 0xFF
- bgt _080FBBCA
- lsls r0, r1, 16
- asrs r0, 16
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _080FBBD2
-_080FBBCA:
- movs r1, 0x4
- adds r0, r5, 0
- orrs r0, r1
- strb r0, [r4]
-_080FBBD2:
- lsls r0, r6, 16
- asrs r0, 16
- cmp r0, 0xAF
- bgt _080FBBE6
- lsls r0, r3, 16
- asrs r0, 16
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _080FBBF2
-_080FBBE6:
- mov r0, r12
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080FBBF2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FBB64
-
- thumb_func_start LoadRotatingGatePics
-@ void LoadRotatingGatePics()
-LoadRotatingGatePics: @ 80FBC00
- push {lr}
- ldr r0, =gUnknown_08591D58
- bl LoadSpriteSheets
- pop {r0}
- bx r0
- .pool
- thumb_func_end LoadRotatingGatePics
-
- thumb_func_start sub_80FBC10
-sub_80FBC10: @ 80FBC10
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldrh r1, [r2]
- subs r0, r1, 0x2
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- adds r1, 0x11
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- ldrh r1, [r2, 0x2]
- subs r0, r1, 0x2
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- adds r1, 0xE
- lsls r1, 16
- lsrs r7, r1, 16
- movs r6, 0
- b _080FBCB6
- .pool
-_080FBC48:
- ldr r0, =gUnknown_0203A044
- ldr r0, [r0]
- lsls r1, r6, 3
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x7
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r1, 0x2]
- adds r0, 0x7
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, =gUnknown_0203A038
- adds r0, r6, r0
- ldrb r0, [r0]
- cmp r0, 0x40
- beq _080FBCB4
- lsls r0, r2, 16
- mov r2, r10
- lsls r1, r2, 16
- asrs r2, r0, 16
- cmp r0, r1
- blt _080FBC94
- mov r1, r9
- lsls r0, r1, 16
- asrs r0, 16
- cmp r2, r0
- bgt _080FBC94
- lsls r0, r3, 16
- mov r2, r8
- lsls r1, r2, 16
- asrs r2, r0, 16
- cmp r0, r1
- blt _080FBC94
- lsls r0, r7, 16
- asrs r0, 16
- cmp r2, r0
- ble _080FBCB4
-_080FBC94:
- ldr r0, =gUnknown_0203A038
- adds r5, r6, r0
- ldrb r0, [r5]
- 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
- movs r0, 0x40
- strb r0, [r5]
-_080FBCB4:
- adds r6, 0x1
-_080FBCB6:
- ldr r0, =gUnknown_0203A048
- ldrb r0, [r0]
- cmp r6, r0
- blt _080FBC48
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FBC10
-
- thumb_func_start sub_80FBCDC
-sub_80FBCDC: @ 80FBCDC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r1, 0x1
- bne _080FBCFC
- ldr r0, =gUnknown_08592058
- mov r10, r0
- b _080FBD08
- .pool
-_080FBCFC:
- cmp r1, 0x2
- beq _080FBD04
-_080FBD00:
- movs r0, 0
- b _080FBD98
-_080FBD04:
- ldr r1, =gUnknown_08592038
- mov r10, r1
-_080FBD08:
- adds r0, r4, 0
- bl sub_80FB854
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- ldr r0, =gUnknown_0203A044
- ldr r1, [r0]
- lsls r0, r4, 3
- adds r0, r1
- ldrb r2, [r0, 0x4]
- ldrh r1, [r0]
- adds r1, 0x7
- ldrh r0, [r0, 0x2]
- adds r0, 0x7
- movs r3, 0
- lsls r2, 3
- str r2, [sp, 0x4]
- lsls r1, 16
- asrs r1, 16
- mov r9, r1
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
-_080FBD38:
- movs r6, 0
- ldr r2, [sp]
- adds r7, r2, r3
- lsls r0, r3, 1
- adds r5, r7, 0
- ldr r1, [sp, 0x4]
- adds r0, r1
- ldr r2, =gUnknown_08592078
- adds r4, r0, r2
-_080FBD4A:
- adds r0, r5, 0
- cmp r5, 0
- bge _080FBD52
- adds r0, r7, 0x3
-_080FBD52:
- asrs r0, 2
- lsls r0, 2
- subs r0, r5, r0
- lsls r0, 1
- adds r0, r6
- lsls r0, 24
- lsrs r1, r0, 24
- ldrb r0, [r4]
- cmp r0, 0
- beq _080FBD88
- lsls r1, 2
- add r1, r10
- movs r0, 0
- ldrsb r0, [r1, r0]
- add r0, r9
- ldrb r1, [r1, 0x1]
- lsls r1, 24
- asrs r1, 24
- add r1, r8
- str r3, [sp, 0x8]
- bl MapGridIsImpassableAt
- lsls r0, 24
- lsrs r0, 24
- ldr r3, [sp, 0x8]
- cmp r0, 0x1
- beq _080FBD00
-_080FBD88:
- adds r4, 0x1
- adds r6, 0x1
- cmp r6, 0x1
- ble _080FBD4A
- adds r3, 0x1
- cmp r3, 0x3
- ble _080FBD38
- movs r0, 0x1
-_080FBD98:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FBCDC
-
- thumb_func_start sub_80FBDB4
-sub_80FBDB4: @ 80FBDB4
- push {r4-r6,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- lsls r4, 24
- lsrs r5, r4, 24
- lsrs r4, 25
- movs r0, 0x1
- ands r5, r0
- adds r0, r6, 0
- bl sub_80FB854
- subs r4, r0
- adds r1, r4, 0x4
- adds r0, r1, 0
- cmp r1, 0
- bge _080FBDDA
- adds r0, r4, 0x7
-_080FBDDA:
- asrs r0, 2
- lsls r0, 2
- subs r0, r1, r0
- ldr r1, =gUnknown_0203A044
- ldr r2, [r1]
- lsls r1, r6, 3
- adds r1, r2
- ldrb r1, [r1, 0x4]
- ldr r2, =gUnknown_08592078
- lsls r0, 24
- asrs r0, 23
- adds r0, r5
- lsls r1, 3
- adds r0, r1
- adds r0, r2
- ldrb r0, [r0]
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FBDB4
-
- thumb_func_start sub_80FBE08
-sub_80FBE08: @ 80FBE08
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, =gUnknown_0203A038
- adds r2, r3, r0
- ldrb r0, [r2]
- cmp r0, 0x40
- beq _080FBE2C
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- strh r1, [r4, 0x30]
- adds r0, r3, 0
- bl sub_80FB854
- strh r0, [r4, 0x32]
-_080FBE2C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FBE08
-
- thumb_func_start sub_80FBE3C
-sub_80FBE3C: @ 80FBE3C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- cmp r0, 0x2
- bne _080FBE58
- ldr r3, =gUnknown_08591FF8
- b _080FBE7A
- .pool
-_080FBE58:
- cmp r0, 0x1
- bne _080FBE64
- ldr r3, =gUnknown_08592008
- b _080FBE7A
- .pool
-_080FBE64:
- cmp r0, 0x3
- bne _080FBE70
- ldr r3, =gUnknown_08592018
- b _080FBE7A
- .pool
-_080FBE70:
- cmp r3, 0x4
- beq _080FBE78
- movs r0, 0xFF
- b _080FBE88
-_080FBE78:
- ldr r3, =gUnknown_08592028
-_080FBE7A:
- lsls r0, r2, 16
- lsls r1, 16
- asrs r1, 16
- asrs r0, 14
- adds r0, r1
- adds r0, r3, r0
- ldrb r0, [r0]
-_080FBE88:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FBE3C
-
- thumb_func_start sub_80FBE90
-sub_80FBE90: @ 80FBE90
- push {lr}
- bl GetCurrentMapRotatingGatePuzzleType
- cmp r0, 0
- beq _080FBEA2
- bl sub_80FB8CC
- bl sub_80FB818
-_080FBEA2:
- pop {r0}
- bx r0
- thumb_func_end sub_80FBE90
-
- thumb_func_start RotatingGatePuzzleCameraUpdate
-@ void RotatingGatePuzzleCameraUpdate(s32 deltaX, s32 deltaY)
-RotatingGatePuzzleCameraUpdate: @ 80FBEA8
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- lsrs r5, r1, 16
- bl GetCurrentMapRotatingGatePuzzleType
- cmp r0, 0
- beq _080FBECA
- lsls r0, r4, 16
- asrs r0, 16
- lsls r1, r5, 16
- asrs r1, 16
- bl sub_80FB928
- bl sub_80FBC10
-_080FBECA:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end RotatingGatePuzzleCameraUpdate
-
- thumb_func_start RotatingGate_InitPuzzleAndGraphics
-RotatingGate_InitPuzzleAndGraphics: @ 80FBED0
- push {lr}
- bl GetCurrentMapRotatingGatePuzzleType
- cmp r0, 0
- beq _080FBEEA
- bl LoadRotatingGatePics
- bl sub_80FB8CC
- movs r0, 0
- movs r1, 0
- bl sub_80FB928
-_080FBEEA:
- pop {r0}
- bx r0
- thumb_func_end RotatingGate_InitPuzzleAndGraphics
-
- thumb_func_start CheckForRotatingGatePuzzleCollision
-CheckForRotatingGatePuzzleCollision: @ 80FBEF0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- bl GetCurrentMapRotatingGatePuzzleType
- cmp r0, 0
- bne _080FBF24
- b _080FBFC2
-_080FBF12:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80FBE08
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80FB890
- b _080FBFC2
-_080FBF24:
- movs r6, 0
- ldr r0, =gUnknown_0203A048
- ldrb r0, [r0]
- cmp r6, r0
- bge _080FBFC2
- lsls r0, r4, 16
- asrs r7, r0, 16
-_080FBF32:
- ldr r0, =gUnknown_0203A044
- ldr r1, [r0]
- lsls r0, r6, 3
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x7
- ldrh r0, [r0, 0x2]
- adds r0, 0x7
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, 16
- asrs r4, r1, 16
- subs r0, r4, 0x2
- cmp r0, r7
- bgt _080FBFB8
- adds r0, r4, 0x1
- cmp r7, r0
- bgt _080FBFB8
- lsls r0, r2, 16
- asrs r3, r0, 16
- subs r1, r3, 0x2
- mov r2, r8
- lsls r0, r2, 16
- asrs r2, r0, 16
- cmp r1, r2
- bgt _080FBFB8
- adds r0, r3, 0x1
- cmp r2, r0
- bgt _080FBFB8
- subs r1, r7, r4
- adds r1, 0x2
- subs r2, r3
- adds r2, 0x2
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- mov r0, r9
- bl sub_80FBE3C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080FBFB8
- lsrs r5, r0, 4
- movs r1, 0xF
- ands r1, r0
- lsls r0, r6, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_80FBDB4
- cmp r0, 0
- beq _080FBFB8
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80FBCDC
- cmp r0, 0
- bne _080FBF12
- movs r0, 0x1
- b _080FBFC4
- .pool
-_080FBFB8:
- adds r6, 0x1
- ldr r0, =gUnknown_0203A048
- ldrb r0, [r0]
- cmp r6, r0
- blt _080FBF32
-_080FBFC2:
- movs r0, 0
-_080FBFC4:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CheckForRotatingGatePuzzleCollision
-
- thumb_func_start sub_80FBFD4
-sub_80FBFD4: @ 80FBFD4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- bl GetCurrentMapRotatingGatePuzzleType
- cmp r0, 0
- bne _080FBFFA
- b _080FC08A
-_080FBFF6:
- movs r0, 0x1
- b _080FC08C
-_080FBFFA:
- movs r6, 0
- ldr r0, =gUnknown_0203A048
- ldrb r0, [r0]
- cmp r6, r0
- bge _080FC08A
- lsls r0, r4, 16
- asrs r7, r0, 16
-_080FC008:
- ldr r0, =gUnknown_0203A044
- ldr r1, [r0]
- lsls r0, r6, 3
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x7
- ldrh r0, [r0, 0x2]
- adds r0, 0x7
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, 16
- asrs r4, r1, 16
- subs r0, r4, 0x2
- cmp r0, r7
- bgt _080FC080
- adds r0, r4, 0x1
- cmp r7, r0
- bgt _080FC080
- lsls r0, r2, 16
- asrs r3, r0, 16
- subs r1, r3, 0x2
- mov r2, r8
- lsls r0, r2, 16
- asrs r2, r0, 16
- cmp r1, r2
- bgt _080FC080
- adds r0, r3, 0x1
- cmp r2, r0
- bgt _080FC080
- subs r1, r7, r4
- adds r1, 0x2
- subs r2, r3
- adds r2, 0x2
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- mov r0, r9
- bl sub_80FBE3C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080FC080
- lsrs r5, r0, 4
- movs r1, 0xF
- ands r1, r0
- lsls r0, r6, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_80FBDB4
- cmp r0, 0
- beq _080FC080
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80FBCDC
- cmp r0, 0
- beq _080FBFF6
-_080FC080:
- adds r6, 0x1
- ldr r0, =gUnknown_0203A048
- ldrb r0, [r0]
- cmp r6, r0
- blt _080FC008
-_080FC08A:
- movs r0, 0
-_080FC08C:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FBFD4
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/roulette.s b/asm/roulette.s
index d3dd5fd9e..b0098daf6 100644
--- a/asm/roulette.s
+++ b/asm/roulette.s
@@ -4948,7 +4948,7 @@ sub_8142CD0: @ 8142CD0
sub sp, 0x8
ldr r4, =gUnknown_085B7488
ldr r0, [r4]
- ldr r5, =0x0201c000
+ ldr r5, =gDecompressionBuffer
adds r1, r5, 0
bl LZ77UnCompWram
str r5, [sp]
@@ -5575,7 +5575,7 @@ sub_81431E4: @ 81431E4
sub sp, 0xC
ldr r4, =gUnknown_085B741C
ldr r0, [r4]
- ldr r5, =0x0201c000
+ ldr r5, =gDecompressionBuffer
adds r1, r5, 0
bl LZ77UnCompWram
str r5, [sp, 0x4]
@@ -5720,7 +5720,7 @@ sub_8143314: @ 8143314
push {r7}
sub sp, 0x8
movs r5, 0
- ldr r7, =0x0201c000
+ ldr r7, =gDecompressionBuffer
mov r6, sp
_08143322:
ldr r0, =gUnknown_085B7750
@@ -6448,7 +6448,7 @@ sub_814391C: @ 814391C
sub sp, 0x8
ldr r4, =gUnknown_085B7948
ldr r0, [r4]
- ldr r5, =0x0201c000
+ ldr r5, =gDecompressionBuffer
adds r1, r5, 0
bl LZ77UnCompWram
str r5, [sp]
diff --git a/asm/script_menu.s b/asm/script_menu.s
index 7317317a3..670740a77 100644
--- a/asm/script_menu.s
+++ b/asm/script_menu.s
@@ -836,7 +836,7 @@ _080E24C6:
adds r1, r4, 0
adds r2, r7, 0
movs r3, 0x11
- bl sub_819A024
+ bl PrintPlayerNameOnWindow
adds r0, r6, 0
mov r1, r8
movs r2, 0
@@ -1316,7 +1316,7 @@ _080E28CA:
ldr r1, =gSprites
adds r0, r1
ldrb r1, [r4, 0xC]
- bl sub_80B6070
+ bl FreeResourcesAndDestroySprite
_080E28DE:
ldrh r0, [r4, 0x8]
adds r0, 0x1
@@ -1363,7 +1363,7 @@ ScriptMenu_ShowPokemonPic: @ 80E2900
asrs r2, 16
mov r0, r8
movs r3, 0
- bl sub_80B5F84
+ bl CreateMonSprite_PicBox
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
@@ -1498,7 +1498,7 @@ CreateWindowFromRect: @ 80E2A1C
movs r1, 0
adds r2, r4, 0
adds r3, r5, 0
- bl sub_8198A50
+ bl CreateWindowTemplate
ldr r0, [sp, 0x10]
ldr r1, [sp, 0x14]
str r0, [sp, 0x18]
diff --git a/asm/script_movement.s b/asm/script_movement.s
deleted file mode 100644
index 8c6a6257c..000000000
--- a/asm/script_movement.s
+++ /dev/null
@@ -1,577 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start ScriptMovement_StartObjectMovementScript
-ScriptMovement_StartObjectMovementScript: @ 80D32E8
- push {r4,lr}
- sub sp, 0x4
- adds r4, r3, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- beq _080D330A
- movs r0, 0x1
- b _080D3332
-_080D330A:
- ldr r0, =sub_80D3660
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080D331C
- movs r0, 0x32
- bl sub_80D33AC
-_080D331C:
- bl sub_80D33F4
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- ldrb r1, [r1]
- adds r2, r4, 0
- bl sub_80D3408
- lsls r0, 24
- lsrs r0, 24
-_080D3332:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ScriptMovement_StartObjectMovementScript
-
- thumb_func_start ScriptMovement_IsObjectMovementFinished
-ScriptMovement_IsObjectMovementFinished: @ 80D3340
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _080D3382
- bl sub_80D33F4
- lsls r0, 24
- lsrs r4, r0, 24
- mov r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_80D3474
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x10
- beq _080D3382
- adds r0, r4, 0
- bl sub_80D3584
- lsls r0, 24
- lsrs r0, 24
- b _080D3384
-_080D3382:
- movs r0, 0x1
-_080D3384:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScriptMovement_IsObjectMovementFinished
-
- thumb_func_start sub_80D338C
-sub_80D338C: @ 80D338C
- push {r4,lr}
- bl sub_80D33F4
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xFF
- beq _080D33A6
- adds r0, r4, 0
- bl sub_80D361C
- adds r0, r4, 0
- bl DestroyTask
-_080D33A6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D338C
-
- thumb_func_start sub_80D33AC
-sub_80D33AC: @ 80D33AC
- push {r4,r5,lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =sub_80D3660
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x1
- lsls r1, r0, 2
- adds r1, r0
- lsls r3, r1, 3
- ldr r5, =gTasks + 0x8
- ldr r0, =0x0000ffff
- adds r4, r0, 0
-_080D33CC:
- lsls r0, r2, 1
- adds r0, r3
- adds r0, r5
- ldrh r1, [r0]
- orrs r1, r4
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xF
- bls _080D33CC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D33AC
-
- thumb_func_start sub_80D33F4
-sub_80D33F4: @ 80D33F4
- push {lr}
- ldr r0, =sub_80D3660
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D33F4
-
- thumb_func_start sub_80D3408
-sub_80D3408: @ 80D3408
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r2
- lsls r0, 24
- lsrs r5, r0, 24
- adds r7, r5, 0
- lsls r1, 24
- lsrs r6, r1, 24
- mov r8, r6
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80D3474
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x10
- beq _080D3444
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80D3584
- lsls r0, 24
- cmp r0, 0
- beq _080D3464
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r6, 0
- b _080D345A
-_080D3444:
- adds r0, r7, 0
- movs r1, 0xFF
- bl sub_80D3474
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x10
- beq _080D3464
- adds r0, r7, 0
- adds r1, r4, 0
- mov r2, r8
-_080D345A:
- mov r3, r9
- bl sub_80D35DC
- movs r0, 0
- b _080D3466
-_080D3464:
- movs r0, 0x1
-_080D3466:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80D3408
-
- thumb_func_start sub_80D3474
-sub_80D3474: @ 80D3474
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- adds r1, 0x2
- movs r2, 0
-_080D348C:
- ldrb r0, [r1]
- cmp r0, r3
- bne _080D349C
- adds r0, r2, 0
- b _080D34AA
- .pool
-_080D349C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r1, 0x1
- cmp r2, 0xF
- bls _080D348C
- movs r0, 0x10
-_080D34AA:
- pop {r1}
- bx r1
- thumb_func_end sub_80D3474
-
- thumb_func_start sub_80D34B0
-sub_80D34B0: @ 80D34B0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- adds r1, 0x2
- str r1, [r2]
- movs r0, 0
- cmp r0, r3
- bcs _080D34DC
-_080D34CE:
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- adds r1, 0x1
- cmp r0, r3
- bcc _080D34CE
- str r1, [r2]
-_080D34DC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D34B0
-
- thumb_func_start sub_80D34E4
-sub_80D34E4: @ 80D34E4
- push {r4,lr}
- sub sp, 0x4
- adds r4, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r4, 24
- lsrs r4, 24
- mov r2, sp
- bl sub_80D34B0
- ldr r0, [sp]
- strb r4, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D34E4
-
- thumb_func_start sub_80D3508
-sub_80D3508: @ 80D3508
- push {r4,lr}
- sub sp, 0x4
- adds r4, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r2, sp
- bl sub_80D34B0
- ldr r0, [sp]
- ldrb r0, [r0]
- strb r0, [r4]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D3508
-
- thumb_func_start sub_80D352C
-sub_80D352C: @ 80D352C
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r2, =gBitTable
- lsrs r1, 22
- adds r1, r2
- ldr r2, [r1]
- mvns r2, r2
- lsls r2, 16
- lsrs r2, 16
- ldr r3, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r3
- ldrh r0, [r1, 0x8]
- ands r2, r0
- strh r2, [r1, 0x8]
- bx lr
- .pool
- thumb_func_end sub_80D352C
-
- thumb_func_start sub_80D355C
-sub_80D355C: @ 80D355C
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r3, =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- ldr r0, =gBitTable
- lsrs r1, 22
- adds r1, r0
- ldr r0, [r1]
- ldrh r1, [r2, 0x8]
- orrs r0, r1
- strh r0, [r2, 0x8]
- bx lr
- .pool
- thumb_func_end sub_80D355C
-
- thumb_func_start sub_80D3584
-sub_80D3584: @ 80D3584
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r3, =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- ldr r0, =gBitTable
- lsrs r1, 22
- adds r1, r0
- ldr r0, [r1]
- ldrh r1, [r2, 0x8]
- ands r0, r1
- cmp r0, 0
- bne _080D35B4
- movs r0, 0
- b _080D35B6
- .pool
-_080D35B4:
- movs r0, 0x1
-_080D35B6:
- pop {r1}
- bx r1
- thumb_func_end sub_80D3584
-
- thumb_func_start npc_obj_offscreen_culling_and_flag_update
-npc_obj_offscreen_culling_and_flag_update: @ 80D35BC
- lsls r0, 24
- ldr r2, =gUnknown_02039D90
- lsrs r0, 22
- adds r0, r2
- str r1, [r0]
- bx lr
- .pool
- thumb_func_end npc_obj_offscreen_culling_and_flag_update
-
- thumb_func_start sub_80D35CC
-sub_80D35CC: @ 80D35CC
- lsls r0, 24
- ldr r1, =gUnknown_02039D90
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80D35CC
-
- thumb_func_start sub_80D35DC
-sub_80D35DC: @ 80D35DC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- mov r8, r3
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r6, 24
- lsrs r6, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80D352C
- adds r0, r4, 0
- mov r1, r8
- bl npc_obj_offscreen_culling_and_flag_update
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r6, 0
- bl sub_80D34E4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D35DC
-
- thumb_func_start sub_80D361C
-sub_80D361C: @ 80D361C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- adds r4, r1, 0x2
- movs r5, 0
-_080D3630:
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _080D3646
- adds r1, r0, 0
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- bl npc_sync_anim_pause_bits
-_080D3646:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x1
- cmp r5, 0xF
- bls _080D3630
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D361C
-
- thumb_func_start sub_80D3660
-sub_80D3660: @ 80D3660
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- movs r5, 0
- mov r6, sp
-_080D366C:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, sp
- bl sub_80D3508
- ldrb r0, [r6]
- cmp r0, 0xFF
- beq _080D3690
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_80D35CC
- adds r3, r0, 0
- adds r0, r7, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_80D36A4
-_080D3690:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xF
- bls _080D366C
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80D3660
-
- thumb_func_start sub_80D36A4
-sub_80D36A4: @ 80D36A4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r3, 0
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- mov r8, r6
- lsls r2, 24
- lsrs r2, 24
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080D36DC
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080D370E
-_080D36DC:
- ldrb r1, [r5]
- cmp r1, 0xFE
- bne _080D36F8
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_80D355C
- adds r0, r4, 0
- bl FreezeMapObject
- b _080D370E
- .pool
-_080D36F8:
- adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
- lsls r0, 24
- cmp r0, 0
- bne _080D370E
- adds r5, 0x1
- mov r0, r8
- adds r1, r5, 0
- bl npc_obj_offscreen_culling_and_flag_update
-_080D370E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80D36A4
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/script_pokemon_util_80F87D8.s b/asm/script_pokemon_util_80F87D8.s
index b241e3778..bf1d0e156 100644
--- a/asm/script_pokemon_util_80F87D8.s
+++ b/asm/script_pokemon_util_80F87D8.s
@@ -390,7 +390,7 @@ _080F8AB6:
thumb_func_start sub_80F8ACC
sub_80F8ACC: @ 80F8ACC
push {lr}
- ldr r0, =CB2_ReturnToFieldContinueScript
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
pop {r0}
bx r0
@@ -505,10 +505,10 @@ _080F8BBA:
ldr r2, [r1]
ldrb r1, [r2, 0x5]
ldrb r2, [r2, 0x4]
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
lsls r0, 24
lsrs r0, 24
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
@@ -534,12 +534,12 @@ _080F8BBA:
cmp r0, 0
bne _080F8C2C
lsrs r1, r4, 16
- ldr r0, =gFieldObjectPalette33
+ ldr r0, =gEventObjectPalette33
b _080F8C42
.pool
_080F8C2C:
lsrs r1, r4, 16
- ldr r0, =gFieldObjectPalette34
+ ldr r0, =gEventObjectPalette34
b _080F8C42
.pool
_080F8C38:
@@ -547,7 +547,7 @@ _080F8C38:
cmp r0, 0
bne _080F8C50
lsrs r1, r4, 16
- ldr r0, =gFieldObjectPalette8
+ ldr r0, =gEventObjectPalette8
_080F8C42:
movs r2, 0x20
bl LoadPalette
@@ -555,7 +555,7 @@ _080F8C42:
.pool
_080F8C50:
lsrs r1, r4, 16
- ldr r0, =gFieldObjectPalette17
+ ldr r0, =gEventObjectPalette17
movs r2, 0x20
bl LoadPalette
_080F8C5A:
@@ -737,8 +737,8 @@ _080F8DD8:
bl LoadCompressedObjectPalette
adds r0, r6, 0
movs r1, 0x1
- bl sub_806A068
- ldr r0, =gUnknown_0202499C
+ bl SetMultiuseSpriteTemplateToPokemon
+ ldr r0, =gMultiuseSpriteTemplate
ldrh r1, [r4, 0x4]
strh r1, [r0, 0x2]
mov r1, r9
@@ -1559,7 +1559,7 @@ _080F9478:
movs r0, 0x1
strh r0, [r1]
_080F947E:
- ldr r0, =CB2_ReturnToFieldContinueScript
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
pop {r0}
bx r0
@@ -1599,7 +1599,7 @@ _080F94D0:
movs r0, 0x1
strh r0, [r1]
_080F94D6:
- ldr r0, =CB2_ReturnToFieldContinueScript
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
pop {r0}
bx r0
diff --git a/asm/shop.s b/asm/shop.s
index ae60eb364..1412fef22 100644
--- a/asm/shop.s
+++ b/asm/shop.s
@@ -316,7 +316,7 @@ Task_ExitSellMenu: @ 80DFCF8
lsls r0, 24
lsrs r4, r0, 24
adds r5, r4, 0
- bl sub_80ABDFC
+ bl IsWeatherNotFadingIn
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -790,7 +790,7 @@ BuyMenuPrintPriceInList: @ 80E0114
ldr r5, =gStringVar1
lsls r0, r1, 16
lsrs r0, 16
- bl itemid_get_market_price
+ bl ItemId_GetPrice
adds r4, r0, 0
movs r0, 0x1
bl GetPriceReduction
@@ -877,7 +877,7 @@ BuyMenuAddScrollIndicatorArrows: @ 80E01C8
movs r1, 0xAC
movs r2, 0xC
movs r3, 0x94
- bl AddScrollIndicatorArrowPairParametrized
+ bl AddScrollIndicatorArrowPairParameterized
ldr r1, [r5]
adds r1, r4
strb r0, [r1]
@@ -1157,11 +1157,11 @@ BuyMenuInitWindows: @ 80E0468
movs r0, 0
movs r1, 0x1
movs r2, 0xD0
- bl sub_809882C
+ bl LoadUserWindowBorderGfx
movs r0, 0
movs r1, 0xA
movs r2, 0xE0
- bl copy_textbox_border_tile_patterns_to_vram
+ bl LoadMessageBoxGfx
movs r0, 0
bl PutWindowTilemap
movs r0, 0x1
@@ -1277,8 +1277,8 @@ BuyMenuDrawGraphics: @ 80E0524
@ void BuyMenuDrawMapGraphics()
BuyMenuDrawMapGraphics: @ 80E0570
push {lr}
- bl BuyMenuCollectFieldObjectData
- bl BuyMenuDrawFieldObjects
+ bl BuyMenuCollectEventObjectData
+ bl BuyMenuDrawEventObjects
bl BuyMenuDrawMapBg
pop {r0}
bx r0
@@ -1525,9 +1525,9 @@ BuyMenuDrawMapMetatileLayer: @ 80E0734
bx lr
thumb_func_end BuyMenuDrawMapMetatileLayer
- thumb_func_start BuyMenuCollectFieldObjectData
-@ void BuyMenuCollectFieldObjectData()
-BuyMenuCollectFieldObjectData: @ 80E075C
+ thumb_func_start BuyMenuCollectEventObjectData
+@ void BuyMenuCollectEventObjectData()
+BuyMenuCollectEventObjectData: @ 80E075C
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -1584,7 +1584,7 @@ _080E07AA:
lsls r1, 16
asrs r1, 16
str r3, [sp, 0x10]
- bl GetFieldObjectIdByXY
+ bl GetEventObjectIdByXY
lsls r0, 24
lsrs r6, r0, 24
ldr r3, [sp, 0x10]
@@ -1633,7 +1633,7 @@ _080E07AA:
lsrs r0, 24
mov r1, r12
strh r0, [r1]
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
lsls r0, r6, 3
adds r0, r6
lsls r0, 2
@@ -1716,11 +1716,11 @@ _080E08DA:
pop {r0}
bx r0
.pool
- thumb_func_end BuyMenuCollectFieldObjectData
+ thumb_func_end BuyMenuCollectEventObjectData
- thumb_func_start BuyMenuDrawFieldObjects
-@ void BuyMenuDrawFieldObjects()
-BuyMenuDrawFieldObjects: @ 80E08F0
+ thumb_func_start BuyMenuDrawEventObjects
+@ void BuyMenuDrawEventObjects()
+BuyMenuDrawEventObjects: @ 80E08F0
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -1730,7 +1730,7 @@ BuyMenuDrawFieldObjects: @ 80E08F0
movs r7, 0
ldr r0, =gUnknown_02039F70
mov r8, r0
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
mov r10, r1
ldr r2, =gSprites
mov r9, r2
@@ -1753,7 +1753,7 @@ _080E090A:
lsls r0, 2
add r0, r10
ldrb r0, [r0, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
mov r4, r8
ldr r3, [r4]
ldr r2, =0x00002010
@@ -1792,7 +1792,7 @@ _080E090A:
str r0, [sp]
adds r0, r4, 0
ldr r1, =SpriteCallbackDummy
- bl AddPseudoFieldObject
+ bl AddPseudoEventObject
lsls r0, 24
lsrs r4, r0, 24
adds r6, r4, 0
@@ -1801,7 +1801,7 @@ _080E090A:
mov r3, r8
ldr r0, [r3]
adds r0, r1
- bl BuyMenuCheckIfFieldObjectOverlapsMenuBg
+ bl BuyMenuCheckIfEventObjectOverlapsMenuBg
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1850,10 +1850,10 @@ _080E09D8:
pop {r0}
bx r0
.pool
- thumb_func_end BuyMenuDrawFieldObjects
+ thumb_func_end BuyMenuDrawEventObjects
- thumb_func_start BuyMenuCheckIfFieldObjectOverlapsMenuBg
-BuyMenuCheckIfFieldObjectOverlapsMenuBg: @ 80E0A14
+ thumb_func_start BuyMenuCheckIfEventObjectOverlapsMenuBg
+BuyMenuCheckIfEventObjectOverlapsMenuBg: @ 80E0A14
push {r4,lr}
adds r4, r0, 0
movs r1, 0x2
@@ -1877,7 +1877,7 @@ _080E0A3A:
pop {r4}
pop {r1}
bx r1
- thumb_func_end BuyMenuCheckIfFieldObjectOverlapsMenuBg
+ thumb_func_end BuyMenuCheckIfEventObjectOverlapsMenuBg
thumb_func_start BuyMenuCopyMenuBgToBg1TilemapBuffer
@ void BuyMenuCopyMenuBgToBg1TilemapBuffer()
@@ -2017,7 +2017,7 @@ _080E0B32:
bne _080E0B80
lsls r0, r5, 16
lsrs r0, 16
- bl itemid_get_market_price
+ bl ItemId_GetPrice
adds r4, r0, 0
movs r0, 0x1
bl GetPriceReduction
@@ -2259,7 +2259,7 @@ Task_BuyHowManyDialogueHandleInput: @ 80E0D88
cmp r0, 0x1
bne _080E0DF0
ldrh r0, [r5, 0xA]
- bl itemid_get_market_price
+ bl ItemId_GetPrice
adds r4, r0, 0
movs r0, 0x1
bl GetPriceReduction
diff --git a/asm/slot_machine.s b/asm/slot_machine.s
index 88f73fe2c..4f76d1b69 100644
--- a/asm/slot_machine.s
+++ b/asm/slot_machine.s
@@ -634,12 +634,12 @@ sub_812AA48: @ 812AA48
lsls r1, 2
movs r0, 0
movs r2, 0xF0
- bl copy_textbox_border_tile_patterns_to_vram
+ bl LoadMessageBoxGfx
movs r1, 0x85
lsls r1, 2
movs r0, 0
movs r2, 0xE0
- bl sub_809882C
+ bl LoadUserWindowBorderGfx
movs r0, 0
bl PutWindowTilemap
pop {r0}
@@ -5583,7 +5583,7 @@ _0812D08E:
lsrs r3, 24
adds r1, r3, 0
adds r2, r3, 0
- bl sub_80B6128
+ bl MultiplyPaletteRGBComponents
_0812D0A6:
pop {r4-r7}
pop {r0}
diff --git a/asm/start_menu.s b/asm/start_menu.s
deleted file mode 100644
index 275d2124e..000000000
--- a/asm/start_menu.s
+++ /dev/null
@@ -1,2101 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start PrintStartMenuActions
-PrintStartMenuActions: @ 809F7C0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r8, r0
- adds r6, r1, 0
- ldrb r2, [r0]
- ldr r0, =sStartMenuItems
- mov r9, r0
- ldr r1, =gStringVar4
- mov r10, r1
-_0809F7DA:
- ldr r0, =sCurrentStartMenuActions
- lsls r2, 24
- asrs r4, r2, 24
- adds r5, r4, r0
- ldrb r0, [r5]
- lsls r3, r0, 3
- mov r0, r9
- adds r0, 0x4
- adds r0, r3, r0
- ldr r1, [r0]
- ldr r0, =StartMenu_PlayerName
- adds r7, r2, 0
- cmp r1, r0
- bne _0809F828
- bl GetStartMenuWindowId
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r5]
- lsls r1, 3
- add r1, r9
- ldr r1, [r1]
- lsls r3, r4, 4
- adds r3, 0x9
- lsls r3, 16
- lsrs r3, 16
- movs r2, 0x8
- bl sub_819A024
- b _0809F858
- .pool
-_0809F828:
- mov r1, r9
- adds r0, r3, r1
- ldr r1, [r0]
- mov r0, r10
- bl StringExpandPlaceholders
- bl GetStartMenuWindowId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r4, 4
- adds r1, 0x9
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- mov r2, r10
- movs r3, 0x8
- bl PrintTextOnWindow
-_0809F858:
- movs r0, 0x80
- lsls r0, 17
- adds r1, r7, r0
- lsrs r2, r1, 24
- asrs r1, 24
- ldr r0, =sNumStartMenuActions
- ldrb r0, [r0]
- cmp r1, r0
- bge _0809F87C
- subs r6, 0x1
- cmp r6, 0
- bne _0809F7DA
- mov r1, r8
- strb r2, [r1]
- movs r0, 0
- b _0809F882
- .pool
-_0809F87C:
- mov r0, r8
- strb r2, [r0]
- movs r0, 0x1
-_0809F882:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end PrintStartMenuActions
-
- thumb_func_start sub_809F894
-sub_809F894: @ 809F894
- push {r4,lr}
- sub sp, 0xC
- ldr r0, =gUnknown_02037619
- movs r1, 0
- ldrsb r1, [r0, r1]
- adds r2, r0, 0
- cmp r1, 0x5
- bhi _0809F98C
- lsls r0, r1, 2
- ldr r1, =_0809F8B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0809F8B8:
- .4byte _0809F8D0
- .4byte _0809F8D8
- .4byte _0809F8E4
- .4byte _0809F90C
- .4byte _0809F930
- .4byte _0809F94C
-_0809F8D0:
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- b _0809F98C
-_0809F8D8:
- bl BuildStartMenuActions
- ldr r1, =gUnknown_02037619
- b _0809F940
- .pool
-_0809F8E4:
- bl sub_81973A4
- ldr r0, =sNumStartMenuActions
- ldrb r0, [r0]
- bl sub_81979C4
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldr r1, =gUnknown_02037619
- movs r0, 0
- strb r0, [r1, 0x1]
- b _0809F940
- .pool
-_0809F90C:
- bl GetSafariZoneFlag
- cmp r0, 0
- beq _0809F918
- bl DisplaySafariBallsWindow
-_0809F918:
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _0809F926
- bl DisplayPyramidFloorWindow
-_0809F926:
- ldr r1, =gUnknown_02037619
- b _0809F940
- .pool
-_0809F930:
- ldr r4, =gUnknown_02037619+1
- adds r0, r4, 0
- movs r1, 0x2
- bl PrintStartMenuActions
- cmp r0, 0
- beq _0809F98C
- subs r1, r4, 0x1
-_0809F940:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0809F98C
- .pool
-_0809F94C:
- bl GetStartMenuWindowId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x10
- str r1, [sp]
- ldr r1, =sNumStartMenuActions
- ldrb r1, [r1]
- str r1, [sp, 0x4]
- ldr r4, =sStartMenuCursorPos
- ldrb r1, [r4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x9
- bl sub_81983AC
- strb r0, [r4]
- bl GetStartMenuWindowId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl CopyWindowToVram
- movs r0, 0x1
- b _0809F98E
- .pool
-_0809F98C:
- movs r0, 0
-_0809F98E:
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809F894
-
- thumb_func_start sub_809F998
-sub_809F998: @ 809F998
- push {lr}
- ldr r1, =gUnknown_02037619
- movs r0, 0
- strb r0, [r1]
- strb r0, [r1, 0x1]
-_0809F9A2:
- bl sub_809F894
- cmp r0, 0
- beq _0809F9A2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809F998
-
- thumb_func_start task50_startmenu
-task50_startmenu: @ 809F9B4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_809F894
- cmp r0, 0x1
- bne _0809F9C8
- adds r0, r4, 0
- bl SwitchTaskToFollowupFunc
-_0809F9C8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end task50_startmenu
-
- thumb_func_start sub_809F9D0
-sub_809F9D0: @ 809F9D0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r1, =gUnknown_02037619
- movs r0, 0
- strb r0, [r1]
- strb r0, [r1, 0x1]
- ldr r4, =task50_startmenu
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- adds r2, r5, 0
- bl SetTaskFuncWithFollowupFunc
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809F9D0
-
- thumb_func_start sub_809FA00
-sub_809FA00: @ 809FA00
- push {lr}
- bl sub_809F894
- cmp r0, 0
- beq _0809FA12
- bl sub_80AF688
- movs r0, 0x1
- b _0809FA14
-_0809FA12:
- movs r0, 0
-_0809FA14:
- pop {r1}
- bx r1
- thumb_func_end sub_809FA00
-
- thumb_func_start sub_809FA18
-sub_809FA18: @ 809FA18
- ldr r1, =gUnknown_02037619
- movs r0, 0
- strb r0, [r1]
- strb r0, [r1, 0x1]
- ldr r1, =gUnknown_03005DB0
- ldr r0, =sub_809FA00
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_809FA18
-
- thumb_func_start sub_809FA34
-sub_809FA34: @ 809FA34
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0809FA58
- cmp r0, 0x1
- beq _0809FA7C
- b _0809FA92
- .pool
-_0809FA58:
- bl InUnionRoom
- cmp r0, 0x1
- bne _0809FA64
- bl var_800D_set_xB
-_0809FA64:
- ldr r1, =gUnknown_03005DF4
- ldr r0, =HandleStartMenuInput
- str r0, [r1]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0809FA92
- .pool
-_0809FA7C:
- ldr r0, =gUnknown_03005DF4
- ldr r0, [r0]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809FA92
- adds r0, r5, 0
- bl DestroyTask
-_0809FA92:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809FA34
-
- thumb_func_start sub_809FA9C
-sub_809FA9C: @ 809FA9C
- push {lr}
- bl is_c1_link_related_active
- cmp r0, 0
- bne _0809FAB2
- bl FreezeMapObjects
- bl sub_808B864
- bl sub_808BCF4
-_0809FAB2:
- ldr r0, =sub_809FA34
- bl sub_809F9D0
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809FA9C
-
- thumb_func_start HandleStartMenuInput
-HandleStartMenuInput: @ 809FAC4
- push {r4,lr}
- ldr r4, =gMain
- ldrh r1, [r4, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0809FAE4
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursor
- ldr r1, =sStartMenuCursorPos
- strb r0, [r1]
-_0809FAE4:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809FAFE
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl MoveMenuCursor
- ldr r1, =sStartMenuCursorPos
- strb r0, [r1]
-_0809FAFE:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809FB98
- movs r0, 0x5
- bl PlaySE
- ldr r1, =sStartMenuItems
- ldr r2, =sCurrentStartMenuActions
- ldr r0, =sStartMenuCursorPos
- ldrb r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- ldr r0, =StartMenu_Pokedex
- cmp r1, r0
- bne _0809FB34
- movs r0, 0
- bl GetNationalPokedexCount
- lsls r0, 16
- cmp r0, 0
- beq _0809FBA0
-_0809FB34:
- ldr r3, =gUnknown_03005DF4
- ldr r1, =sStartMenuItems
- ldr r2, =sCurrentStartMenuActions
- ldr r0, =sStartMenuCursorPos
- ldrb r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- str r1, [r3]
- ldr r0, =StartMenu_Save
- cmp r1, r0
- beq _0809FBA0
- ldr r0, =StartMenu_Exit
- cmp r1, r0
- beq _0809FBA0
- ldr r0, =StartMenu_SafariZoneRetire
- cmp r1, r0
- beq _0809FBA0
- ldr r0, =StartMenu_BattlePyramidRetire
- cmp r1, r0
- beq _0809FBA0
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- b _0809FBA0
- .pool
-_0809FB98:
- movs r0, 0xA
- ands r0, r1
- cmp r0, 0
- bne _0809FBA4
-_0809FBA0:
- movs r0, 0
- b _0809FBAE
-_0809FBA4:
- bl RemoveExtraStartMenuWindows
- bl sub_80A0934
- movs r0, 0x1
-_0809FBAE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end HandleStartMenuInput
-
- thumb_func_start StartMenu_Pokedex
-StartMenu_Pokedex: @ 809FBB4
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809FBCC
- movs r0, 0
- b _0809FBE6
- .pool
-_0809FBCC:
- movs r0, 0x29
- bl IncrementGameStat
- bl play_some_sound
- bl RemoveExtraStartMenuWindows
- bl overworld_free_bg_tilemaps
- ldr r0, =sub_80BB534
- bl SetMainCallback2
- movs r0, 0x1
-_0809FBE6:
- pop {r1}
- bx r1
- .pool
- thumb_func_end StartMenu_Pokedex
-
- thumb_func_start StartMenu_Pokemon
-StartMenu_Pokemon: @ 809FBF0
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809FC08
- movs r0, 0
- b _0809FC1C
- .pool
-_0809FC08:
- bl play_some_sound
- bl RemoveExtraStartMenuWindows
- bl overworld_free_bg_tilemaps
- ldr r0, =CB2_PartyMenuFromStartMenu
- bl SetMainCallback2
- movs r0, 0x1
-_0809FC1C:
- pop {r1}
- bx r1
- .pool
- thumb_func_end StartMenu_Pokemon
-
- thumb_func_start StartMenu_Bag
-StartMenu_Bag: @ 809FC24
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809FC3C
- movs r0, 0
- b _0809FC50
- .pool
-_0809FC3C:
- bl play_some_sound
- bl RemoveExtraStartMenuWindows
- bl overworld_free_bg_tilemaps
- ldr r0, =CB2_BagMenuFromStartMenu
- bl SetMainCallback2
- movs r0, 0x1
-_0809FC50:
- pop {r1}
- bx r1
- .pool
- thumb_func_end StartMenu_Bag
-
- thumb_func_start StartMenu_PokeNav
-StartMenu_PokeNav: @ 809FC58
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809FC70
- movs r0, 0
- b _0809FC84
- .pool
-_0809FC70:
- bl play_some_sound
- bl RemoveExtraStartMenuWindows
- bl overworld_free_bg_tilemaps
- ldr r0, =CB2_PokeNav
- bl SetMainCallback2
- movs r0, 0x1
-_0809FC84:
- pop {r1}
- bx r1
- .pool
- thumb_func_end StartMenu_PokeNav
-
- thumb_func_start StartMenu_PlayerName
-StartMenu_PlayerName: @ 809FC8C
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0809FCF4
- bl play_some_sound
- bl RemoveExtraStartMenuWindows
- bl overworld_free_bg_tilemaps
- bl is_c1_link_related_active
- cmp r0, 0
- bne _0809FCB6
- bl InUnionRoom
- cmp r0, 0
- beq _0809FCC8
-_0809FCB6:
- ldr r0, =CB2_ReturnToFieldWithOpenMenu
- bl sub_80C4DDC
- b _0809FCEA
- .pool
-_0809FCC8:
- ldr r0, =0x000008d2
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0809FCE4
- ldr r0, =CB2_ReturnToFieldWithOpenMenu
- bl sub_80C51C4
- b _0809FCEA
- .pool
-_0809FCE4:
- ldr r0, =CB2_ReturnToFieldWithOpenMenu
- bl sub_80C4DDC
-_0809FCEA:
- movs r0, 0x1
- b _0809FCF6
- .pool
-_0809FCF4:
- movs r0, 0
-_0809FCF6:
- pop {r1}
- bx r1
- thumb_func_end StartMenu_PlayerName
-
- thumb_func_start StartMenu_Save
-StartMenu_Save: @ 809FCFC
- push {lr}
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _0809FD0C
- bl RemoveExtraStartMenuWindows
-_0809FD0C:
- ldr r1, =gUnknown_03005DF4
- ldr r0, =sub_809FE28
- str r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end StartMenu_Save
-
- thumb_func_start StartMenu_Option
-StartMenu_Option: @ 809FD20
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809FD38
- movs r0, 0
- b _0809FD52
- .pool
-_0809FD38:
- bl play_some_sound
- bl RemoveExtraStartMenuWindows
- bl overworld_free_bg_tilemaps
- ldr r0, =CB2_InitOptionMenu
- bl SetMainCallback2
- ldr r1, =gMain
- ldr r0, =CB2_ReturnToFieldWithOpenMenu
- str r0, [r1, 0x8]
- movs r0, 0x1
-_0809FD52:
- pop {r1}
- bx r1
- .pool
- thumb_func_end StartMenu_Option
-
- thumb_func_start StartMenu_Exit
-StartMenu_Exit: @ 809FD64
- push {lr}
- bl RemoveExtraStartMenuWindows
- bl sub_80A0934
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end StartMenu_Exit
-
- thumb_func_start StartMenu_SafariZoneRetire
-StartMenu_SafariZoneRetire: @ 809FD74
- push {lr}
- bl RemoveExtraStartMenuWindows
- bl sub_80A0934
- bl SafariZoneRetirePrompt
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end StartMenu_SafariZoneRetire
-
- thumb_func_start StartMenu_LinkModePlayerName
-StartMenu_LinkModePlayerName: @ 809FD88
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809FDA0
- movs r0, 0
- b _0809FDB4
- .pool
-_0809FDA0:
- bl play_some_sound
- bl overworld_free_bg_tilemaps
- ldr r0, =gUnknown_03005DB4
- ldrb r0, [r0]
- ldr r1, =CB2_ReturnToFieldWithOpenMenu
- bl sub_80C4E74
- movs r0, 0x1
-_0809FDB4:
- pop {r1}
- bx r1
- .pool
- thumb_func_end StartMenu_LinkModePlayerName
-
- thumb_func_start StartMenu_BattlePyramidRetire
-StartMenu_BattlePyramidRetire: @ 809FDC0
- ldr r1, =gUnknown_03005DF4
- ldr r0, =sub_809FE9C
- str r0, [r1]
- movs r0, 0
- bx lr
- .pool
- thumb_func_end StartMenu_BattlePyramidRetire
-
- thumb_func_start sub_809FDD4
-sub_809FDD4: @ 809FDD4
- push {lr}
- movs r0, 0
- movs r1, 0
- bl sub_8197DF8
- bl sub_80984F4
- ldr r0, =sub_809FA34
- bl sub_809F9D0
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809FDD4
-
- thumb_func_start StartMenu_BattlePyramidBag
-StartMenu_BattlePyramidBag: @ 809FDF4
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809FE0C
- movs r0, 0
- b _0809FE20
- .pool
-_0809FE0C:
- bl play_some_sound
- bl RemoveExtraStartMenuWindows
- bl overworld_free_bg_tilemaps
- ldr r0, =sub_81C4EFC
- bl SetMainCallback2
- movs r0, 0x1
-_0809FE20:
- pop {r1}
- bx r1
- .pool
- thumb_func_end StartMenu_BattlePyramidBag
-
- thumb_func_start sub_809FE28
-sub_809FE28: @ 809FE28
- push {lr}
- bl sub_809FF28
- ldr r1, =gUnknown_03005DF4
- ldr r0, =sub_809FE44
- str r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_809FE28
-
- thumb_func_start sub_809FE44
-sub_809FE44: @ 809FE44
- push {lr}
- bl sub_809FF4C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809FE7C
- cmp r0, 0x1
- ble _0809FE94
- cmp r0, 0x2
- beq _0809FE60
- cmp r0, 0x3
- beq _0809FE7C
- b _0809FE94
-_0809FE60:
- movs r0, 0
- movs r1, 0
- bl sub_8197DF8
- bl sub_809F998
- ldr r1, =gUnknown_03005DF4
- ldr r0, =HandleStartMenuInput
- str r0, [r1]
- b _0809FE94
- .pool
-_0809FE7C:
- movs r0, 0
- movs r1, 0x1
- bl sub_8197DF8
- bl sub_80984F4
- bl ScriptContext2_Disable
- bl sub_81A9EC8
- movs r0, 0x1
- b _0809FE96
-_0809FE94:
- movs r0, 0
-_0809FE96:
- pop {r1}
- bx r1
- thumb_func_end sub_809FE44
-
- thumb_func_start sub_809FE9C
-sub_809FE9C: @ 809FE9C
- push {lr}
- bl sub_80A0340
- ldr r1, =gUnknown_03005DF4
- ldr r0, =sub_809FED4
- str r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_809FE9C
-
- thumb_func_start sub_809FEB8
-sub_809FEB8: @ 809FEB8
- push {lr}
- bl sub_809F998
- ldr r1, =gUnknown_03005DF4
- ldr r0, =HandleStartMenuInput
- str r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_809FEB8
-
- thumb_func_start sub_809FED4
-sub_809FED4: @ 809FED4
- push {lr}
- bl sub_809FF4C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809FEEC
- cmp r0, 0x1
- ble _0809FF20
- cmp r0, 0x2
- beq _0809FF00
- b _0809FF20
-_0809FEEC:
- bl RemoveExtraStartMenuWindows
- ldr r1, =gUnknown_03005DF4
- ldr r0, =sub_809FEB8
- str r0, [r1]
- b _0809FF20
- .pool
-_0809FF00:
- movs r0, 0
- movs r1, 0x1
- bl sub_8197DF8
- bl sub_80984F4
- bl ScriptContext2_Disable
- ldr r0, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88
- bl ScriptContext1_SetupScript
- movs r0, 0x1
- b _0809FF22
- .pool
-_0809FF20:
- movs r0, 0
-_0809FF22:
- pop {r1}
- bx r1
- thumb_func_end sub_809FED4
-
- thumb_func_start sub_809FF28
-sub_809FF28: @ 809FF28
- push {lr}
- bl save_serialize_map
- ldr r1, =gUnknown_0203761C
- ldr r0, =sub_80A00A0
- str r0, [r1]
- ldr r1, =gUnknown_02037621
- movs r0, 0
- strb r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809FF28
-
- thumb_func_start sub_809FF4C
-sub_809FF4C: @ 809FF4C
- push {lr}
- bl sub_8197224
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- beq _0809FF78
- ldr r1, =gUnknown_02037621
- movs r0, 0
- strb r0, [r1]
- ldr r0, =gUnknown_0203761C
- ldr r0, [r0]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- b _0809FF7A
- .pool
-_0809FF78:
- movs r0, 0
-_0809FF7A:
- pop {r1}
- bx r1
- thumb_func_end sub_809FF4C
-
- thumb_func_start sub_809FF80
-sub_809FF80: @ 809FF80
- push {lr}
- bl sub_809FF28
- ldr r0, =task50_save_game
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809FF80
-
- thumb_func_start sub_809FF98
-sub_809FF98: @ 809FF98
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- ldr r0, =gStringVar4
- adds r1, r2, 0
- bl StringExpandPlaceholders
- movs r0, 0
- movs r1, 0x1
- bl sub_819786C
- movs r0, 0x1
- bl AddTextPrinterForMessage_2
- ldr r1, =gUnknown_02037621
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, =gUnknown_0203761C
- str r4, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809FF98
-
- thumb_func_start task50_save_game
-task50_save_game: @ 809FFD0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_809FF4C
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- beq _0809FFFC
- cmp r1, 0x1
- bgt _0809FFEC
- cmp r1, 0
- beq _080A000A
- b _080A0000
-_0809FFEC:
- cmp r1, 0x3
- bgt _080A0000
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- b _080A0000
- .pool
-_0809FFFC:
- ldr r0, =gSpecialVar_Result
- strh r1, [r0]
-_080A0000:
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_080A000A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task50_save_game
-
- thumb_func_start sub_80A0014
-sub_80A0014: @ 80A0014
- push {lr}
- movs r0, 0
- movs r1, 0x1
- bl sub_8197434
- pop {r0}
- bx r0
- thumb_func_end sub_80A0014
-
- thumb_func_start sub_80A0024
-sub_80A0024: @ 80A0024
- push {lr}
- bl sub_80A0888
- pop {r0}
- bx r0
- thumb_func_end sub_80A0024
-
- thumb_func_start sub_80A0030
-sub_80A0030: @ 80A0030
- ldr r1, =gUnknown_02037620
- movs r0, 0x3C
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80A0030
-
- thumb_func_start sub_80A003C
-sub_80A003C: @ 80A003C
- push {lr}
- ldr r1, =gUnknown_02037620
- ldrb r0, [r1]
- subs r2, r0, 0x1
- strb r2, [r1]
- ldr r0, =gMain
- ldrh r1, [r0, 0x2C]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A0064
- lsls r0, r2, 24
- cmp r0, 0
- beq _080A006A
- movs r0, 0
- b _080A006C
- .pool
-_080A0064:
- movs r0, 0x5
- bl PlaySE
-_080A006A:
- movs r0, 0x1
-_080A006C:
- pop {r1}
- bx r1
- thumb_func_end sub_80A003C
-
- thumb_func_start sub_80A0070
-sub_80A0070: @ 80A0070
- push {lr}
- ldr r1, =gUnknown_02037620
- ldrb r0, [r1]
- cmp r0, 0
- bne _080A0094
- ldr r0, =gMain
- ldrh r1, [r0, 0x2C]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A0098
- movs r0, 0x1
- b _080A009A
- .pool
-_080A0094:
- subs r0, 0x1
- strb r0, [r1]
-_080A0098:
- movs r0, 0
-_080A009A:
- pop {r1}
- bx r1
- thumb_func_end sub_80A0070
-
- thumb_func_start sub_80A00A0
-sub_80A00A0: @ 80A00A0
- push {lr}
- bl GetStartMenuWindowId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_819746C
- bl remove_start_menu_window_maybe
- bl sub_80A06B4
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _080A00D4
- ldr r0, =BattleFrontier_BattlePyramidEmptySquare_Text_252CA7
- ldr r1, =sub_80A00EC
- bl sub_809FF98
- b _080A00DC
- .pool
-_080A00D4:
- ldr r0, =gUnknown_082C87B4
- ldr r1, =sub_80A00EC
- bl sub_809FF98
-_080A00DC:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A00A0
-
- thumb_func_start sub_80A00EC
-sub_80A00EC: @ 80A00EC
- push {lr}
- bl sub_8197930
- ldr r1, =gUnknown_0203761C
- ldr r0, =sub_80A0108
- str r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A00EC
-
- thumb_func_start sub_80A0108
-sub_80A0108: @ 80A0108
- push {lr}
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080A012A
- cmp r1, 0
- bgt _080A0124
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A0168
- b _080A0174
-_080A0124:
- cmp r1, 0x1
- beq _080A0168
- b _080A0174
-_080A012A:
- ldr r0, =gSaveFileStatus
- ldrh r0, [r0]
- cmp r0, 0
- beq _080A0136
- cmp r0, 0x2
- bne _080A013E
-_080A0136:
- ldr r0, =gDifferentSaveFile
- ldrb r0, [r0]
- cmp r0, 0
- bne _080A0158
-_080A013E:
- ldr r1, =gUnknown_0203761C
- ldr r0, =sub_80A017C
- str r0, [r1]
- b _080A0174
- .pool
-_080A0158:
- ldr r1, =gUnknown_0203761C
- ldr r0, =sub_80A0234
- str r0, [r1]
- b _080A0174
- .pool
-_080A0168:
- bl sub_80A0024
- bl sub_80A0014
- movs r0, 0x2
- b _080A0176
-_080A0174:
- movs r0, 0
-_080A0176:
- pop {r1}
- bx r1
- thumb_func_end sub_80A0108
-
- thumb_func_start sub_80A017C
-sub_80A017C: @ 80A017C
- push {lr}
- ldr r0, =gDifferentSaveFile
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080A019C
- ldr r0, =gUnknown_082C8845
- ldr r1, =sub_80A01B4
- bl sub_809FF98
- b _080A01A4
- .pool
-_080A019C:
- ldr r0, =gUnknown_082C87D5
- ldr r1, =sub_80A01D0
- bl sub_809FF98
-_080A01A4:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A017C
-
- thumb_func_start sub_80A01B4
-sub_80A01B4: @ 80A01B4
- push {lr}
- movs r0, 0x1
- bl sub_8197948
- ldr r1, =gUnknown_0203761C
- ldr r0, =sub_80A01EC
- str r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A01B4
-
- thumb_func_start sub_80A01D0
-sub_80A01D0: @ 80A01D0
- push {lr}
- bl sub_8197930
- ldr r1, =gUnknown_0203761C
- ldr r0, =sub_80A01EC
- str r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A01D0
-
- thumb_func_start sub_80A01EC
-sub_80A01EC: @ 80A01EC
- push {lr}
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080A020E
- cmp r1, 0
- bgt _080A0208
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A0220
- b _080A022C
-_080A0208:
- cmp r1, 0x1
- beq _080A0220
- b _080A022C
-_080A020E:
- ldr r1, =gUnknown_0203761C
- ldr r0, =sub_80A0234
- str r0, [r1]
- b _080A022C
- .pool
-_080A0220:
- bl sub_80A0024
- bl sub_80A0014
- movs r0, 0x2
- b _080A022E
-_080A022C:
- movs r0, 0
-_080A022E:
- pop {r1}
- bx r1
- thumb_func_end sub_80A01EC
-
- thumb_func_start sub_80A0234
-sub_80A0234: @ 80A0234
- push {lr}
- ldr r0, =gUnknown_082C8810
- ldr r1, =sub_80A024C
- bl sub_809FF98
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A0234
-
- thumb_func_start sub_80A024C
-sub_80A024C: @ 80A024C
- push {r4,lr}
- movs r0, 0
- bl IncrementGameStat
- bl sub_81A9E90
- ldr r4, =gDifferentSaveFile
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _080A0274
- movs r0, 0x4
- bl TrySavingData
- lsls r0, 24
- lsrs r1, r0, 24
- movs r0, 0
- strb r0, [r4]
- b _080A027E
- .pool
-_080A0274:
- movs r0, 0
- bl TrySavingData
- lsls r0, 24
- lsrs r1, r0, 24
-_080A027E:
- cmp r1, 0x1
- bne _080A0294
- ldr r0, =gUnknown_082C8832
- ldr r1, =sub_80A02B0
- bl sub_809FF98
- b _080A029C
- .pool
-_080A0294:
- ldr r0, =gUnknown_082C892A
- ldr r1, =sub_80A02FC
- bl sub_809FF98
-_080A029C:
- bl sub_80A0030
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A024C
-
- thumb_func_start sub_80A02B0
-sub_80A02B0: @ 80A02B0
- push {lr}
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _080A02CA
- movs r0, 0x37
- bl PlaySE
- ldr r1, =gUnknown_0203761C
- ldr r0, =sub_80A02D8
- str r0, [r1]
-_080A02CA:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A02B0
-
- thumb_func_start sub_80A02D8
-sub_80A02D8: @ 80A02D8
- push {lr}
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- bne _080A02F6
- bl sub_80A003C
- lsls r0, 24
- cmp r0, 0
- beq _080A02F6
- bl sub_80A0024
- movs r0, 0x1
- b _080A02F8
-_080A02F6:
- movs r0, 0
-_080A02F8:
- pop {r1}
- bx r1
- thumb_func_end sub_80A02D8
-
- thumb_func_start sub_80A02FC
-sub_80A02FC: @ 80A02FC
- push {lr}
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _080A0316
- movs r0, 0x16
- bl PlaySE
- ldr r1, =gUnknown_0203761C
- ldr r0, =sub_80A0324
- str r0, [r1]
-_080A0316:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A02FC
-
- thumb_func_start sub_80A0324
-sub_80A0324: @ 80A0324
- push {lr}
- bl sub_80A0070
- lsls r0, 24
- cmp r0, 0
- beq _080A0338
- bl sub_80A0024
- movs r0, 0x3
- b _080A033A
-_080A0338:
- movs r0, 0
-_080A033A:
- pop {r1}
- bx r1
- thumb_func_end sub_80A0324
-
- thumb_func_start sub_80A0340
-sub_80A0340: @ 80A0340
- ldr r1, =gUnknown_0203761C
- ldr r0, =sub_80A035C
- str r0, [r1]
- ldr r1, =gUnknown_02037621
- movs r0, 0
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80A0340
-
- thumb_func_start sub_80A035C
-sub_80A035C: @ 80A035C
- push {lr}
- bl GetStartMenuWindowId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_819746C
- bl remove_start_menu_window_maybe
- ldr r0, =BattleFrontier_BattlePyramidEmptySquare_Text_252CFB
- ldr r1, =sub_80A0388
- bl sub_809FF98
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A035C
-
- thumb_func_start sub_80A0388
-sub_80A0388: @ 80A0388
- push {lr}
- movs r0, 0x1
- bl sub_8197948
- ldr r1, =gUnknown_0203761C
- ldr r0, =sub_80A03A4
- str r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A0388
-
- thumb_func_start sub_80A03A4
-sub_80A03A4: @ 80A03A4
- push {lr}
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080A03C6
- cmp r1, 0
- bgt _080A03C0
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A03CA
- b _080A03D2
-_080A03C0:
- cmp r1, 0x1
- beq _080A03CA
- b _080A03D2
-_080A03C6:
- movs r0, 0x2
- b _080A03D4
-_080A03CA:
- bl sub_80A0014
- movs r0, 0x1
- b _080A03D4
-_080A03D2:
- movs r0, 0
-_080A03D4:
- pop {r1}
- bx r1
- thumb_func_end sub_80A03A4
-
- thumb_func_start sub_80A03D8
-sub_80A03D8: @ 80A03D8
- push {lr}
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_80A03D8
-
- thumb_func_start sub_80A03E4
-sub_80A03E4: @ 80A03E4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- mov r8, r0
- ldrb r0, [r0]
- cmp r0, 0x4
- bls _080A03F6
- b _080A04FC
-_080A03F6:
- lsls r0, 2
- ldr r1, =_080A0404
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080A0404:
- .4byte _080A0418
- .4byte _080A0490
- .4byte _080A04A2
- .4byte _080A04D4
- .4byte _080A04F8
-_080A0418:
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl SetVBlankCallback
- bl ScanlineEffect_Stop
- movs r2, 0xA0
- lsls r2, 19
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r1, =0x040000d4
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, =0x81000200
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0xC0
- lsls r3, 9
- mov r4, sp
- movs r6, 0
- movs r5, 0x80
- lsls r5, 5
- ldr r7, =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_080A045A:
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r5
- subs r3, r5
- cmp r3, r5
- bhi _080A045A
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- b _080A04FC
- .pool
-_080A0490:
- bl ResetSpriteData
- bl ResetTasks
- bl ResetPaletteFade
- bl ScanlineEffect_Clear
- b _080A04FC
-_080A04A2:
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_085105A8
- movs r0, 0
- movs r2, 0x1
- bl InitBgsFromTemplates
- ldr r0, =gUnknown_085105AC
- bl InitWindows
- movs r0, 0
- movs r1, 0x8
- movs r2, 0xE0
- bl box_border_load_tiles_and_pal
- movs r0, 0xF0
- bl sub_81978B0
- b _080A04FC
- .pool
-_080A04D4:
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r0, =sub_80A03D8
- bl SetVBlankCallback
- movs r0, 0x1
- bl EnableInterrupts
- b _080A04FC
- .pool
-_080A04F8:
- movs r0, 0x1
- b _080A0506
-_080A04FC:
- mov r1, r8
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
-_080A0506:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A03E4
-
- thumb_func_start sub_80A0514
-sub_80A0514: @ 80A0514
- push {lr}
- ldr r0, =gMain+0x438
- bl sub_80A03E4
- cmp r0, 0
- beq _080A052E
- ldr r0, =sub_80A0550
- movs r1, 0x50
- bl CreateTask
- ldr r0, =sub_80A0540
- bl SetMainCallback2
-_080A052E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A0514
-
- thumb_func_start sub_80A0540
-sub_80A0540: @ 80A0540
- push {lr}
- bl RunTasks
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80A0540
-
- thumb_func_start sub_80A0550
-sub_80A0550: @ 80A0550
- push {r4-r6,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080A0570
- b _080A06A8
-_080A0570:
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x6
- bls _080A057A
- b _080A06A8
-_080A057A:
- lsls r0, 2
- ldr r1, =_080A0590
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080A0590:
- .4byte _080A05AC
- .4byte _080A0630
- .4byte _080A063C
- .4byte _080A065C
- .4byte _080A0670
- .4byte _080A0688
- .4byte _080A0698
-_080A05AC:
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, =gText_SavingDontTurnOffPower
- movs r4, 0
- str r4, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r6, 0x1
- str r6, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0xFF
- bl AddTextPrinterParameterized
- movs r0, 0
- movs r1, 0x8
- movs r2, 0xE
- bl sub_8098858
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _080A0620
- bl InUnionRoom
- cmp r0, 0
- beq _080A0620
- bl sub_800A07C
- cmp r0, 0
- beq _080A061C
- strh r6, [r5]
- b _080A06A8
- .pool
-_080A061C:
- movs r0, 0x5
- b _080A06A6
-_080A0620:
- ldr r0, =gSoftResetDisabled
- movs r1, 0x1
- strb r1, [r0]
- movs r0, 0x1
- b _080A06A6
- .pool
-_080A0630:
- bl sub_8076D5C
- bl sub_8153430
- movs r0, 0x2
- b _080A06A6
-_080A063C:
- bl sub_8153474
- lsls r0, 24
- cmp r0, 0
- beq _080A06A8
- bl sav2_gender2_inplace_and_xFE
- movs r0, 0x3
- strh r0, [r5]
- ldr r1, =gSoftResetDisabled
- movs r0, 0
- strb r0, [r1]
- b _080A06A8
- .pool
-_080A065C:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r0, 0x4
- b _080A06A6
-_080A0670:
- bl FreeAllWindowBuffers
- ldr r0, =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
- b _080A06A8
- .pool
-_080A0688:
- ldr r0, =sub_8153688
- movs r1, 0x5
- bl CreateTask
- movs r0, 0x6
- b _080A06A6
- .pool
-_080A0698:
- ldr r0, =sub_8153688
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080A06A8
- movs r0, 0x3
-_080A06A6:
- strh r0, [r5]
-_080A06A8:
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A0550
-
- thumb_func_start sub_80A06B4
-sub_80A06B4: @ 80A06B4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- ldr r0, =gUnknown_085105BC
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0xC]
- str r1, [sp, 0x10]
- ldr r0, =0x00000861
- mov r10, r0
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080A06EC
- add r0, sp, 0xC
- ldrb r1, [r0, 0x4]
- subs r1, 0x2
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =0xffffff00
- ldr r0, [sp, 0x10]
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x10]
-_080A06EC:
- ldr r6, =gUnknown_02037622
- add r0, sp, 0xC
- bl AddWindow
- strb r0, [r6]
- ldrb r0, [r6]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- movs r1, 0x4
- mov r9, r1
- cmp r0, 0
- bne _080A0710
- movs r0, 0x8
- mov r9, r0
-_080A0710:
- movs r4, 0x1
- ldr r5, =gStringVar4
- movs r0, 0x3
- adds r1, r5, 0
- movs r2, 0x6
- bl sub_819A344
- ldrb r0, [r6]
- str r4, [sp]
- movs r1, 0xFF
- mov r8, r1
- str r1, [sp, 0x4]
- movs r7, 0
- str r7, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0
- bl PrintTextOnWindow
- movs r4, 0x11
- ldrb r0, [r6]
- ldr r2, =gText_SavingPlayer
- str r4, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- movs r0, 0
- adds r1, r5, 0
- mov r2, r9
- bl sub_819A344
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x70
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- ldrb r0, [r6]
- lsls r2, 16
- lsrs r2, 16
- adds r1, r5, 0
- movs r3, 0x11
- bl sub_819A024
- movs r4, 0x21
- ldrb r0, [r6]
- ldr r2, =gText_SavingBadges
- str r4, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- movs r0, 0x4
- adds r1, r5, 0
- mov r2, r9
- bl sub_819A344
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x70
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- ldrb r0, [r6]
- lsls r3, r2, 24
- lsrs r3, 24
- str r4, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- bl PrintTextOnWindow
- mov r0, r10
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A0802
- movs r4, 0x31
- ldrb r0, [r6]
- ldr r2, =gText_SavingPokedex
- str r4, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- movs r0, 0x1
- adds r1, r5, 0
- mov r2, r9
- bl sub_819A344
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x70
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- ldrb r0, [r6]
- lsls r3, r2, 24
- lsrs r3, 24
- str r4, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- bl PrintTextOnWindow
-_080A0802:
- adds r4, 0x10
- ldrb r0, [r6]
- ldr r2, =gText_SavingTime
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- movs r0, 0x2
- adds r1, r5, 0
- mov r2, r9
- bl sub_819A344
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x70
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- ldrb r0, [r6]
- lsls r3, r2, 24
- lsrs r3, 24
- str r4, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- bl PrintTextOnWindow
- ldrb r0, [r6]
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A06B4
-
- thumb_func_start sub_80A0888
-sub_80A0888: @ 80A0888
- push {r4,lr}
- ldr r4, =gUnknown_02037622
- ldrb r0, [r4]
- movs r1, 0
- bl sub_819746C
- ldrb r0, [r4]
- bl RemoveWindow
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A0888
-
- thumb_func_start sub_80A08A4
-sub_80A08A4: @ 80A08A4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =sub_8153688
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080A08C0
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_080A08C0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A08A4
-
- thumb_func_start sub_80A08CC
-sub_80A08CC: @ 80A08CC
- push {r4,r5,lr}
- ldr r0, =sub_8153688
- movs r1, 0x5
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r5
- movs r1, 0x1
- strh r1, [r0, 0xC]
- ldr r0, =sub_80A08A4
- movs r1, 0x6
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r5
- strh r4, [r1, 0xA]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A08CC
-
- thumb_func_start sub_80A0914
-sub_80A0914: @ 80A0914
- push {lr}
- bl GetStartMenuWindowId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_819746C
- bl remove_start_menu_window_maybe
- bl sub_80984F4
- bl ScriptContext2_Disable
- pop {r0}
- bx r0
- thumb_func_end sub_80A0914
-
- thumb_func_start sub_80A0934
-sub_80A0934: @ 80A0934
- push {lr}
- movs r0, 0x5
- bl PlaySE
- bl sub_80A0914
- pop {r0}
- bx r0
- thumb_func_end sub_80A0934
-
- thumb_func_start AppendToList
-AppendToList: @ 80A0944
- ldrb r3, [r1]
- adds r0, r3
- strb r2, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- bx lr
- thumb_func_end AppendToList
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/trade.s b/asm/trade.s
index 7d3ec4a8a..763b1a9ec 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -241,12 +241,12 @@ _08077310:
movs r0, 0
movs r1, 0x14
movs r2, 0xC0
- bl box_border_load_tiles_and_pal
+ bl LoadUserWindowBorderGfx_
movs r0, 0x2
movs r1, 0x1
movs r2, 0xE0
- bl sub_809882C
- bl sub_80D2F04
+ bl LoadUserWindowBorderGfx
+ bl LoadMonIconPalettes
ldr r2, =gUnknown_0203229C
ldr r0, [r2]
adds r0, 0x69
@@ -7174,8 +7174,8 @@ _0807ADE0:
bl GetMonSpritePalStruct
ldrh r0, [r0, 0x4]
adds r1, r4, 0
- bl sub_806A068
- ldr r0, =gUnknown_0202499C
+ bl SetMultiuseSpriteTemplateToPokemon
+ ldr r0, =gMultiuseSpriteTemplate
movs r1, 0x78
movs r2, 0x3C
movs r3, 0x6
@@ -7612,7 +7612,7 @@ sub_807B170: @ 807B170
bl copy_decompressed_tile_data_to_vram_autofree
ldr r0, =gBattleTextboxTilemap
mov r8, r0
- ldr r4, =0x0201c000
+ ldr r4, =gDecompressionBuffer
adds r1, r4, 0
bl LZDecompressWram
movs r0, 0
diff --git a/asm/trader.s b/asm/trader.s
deleted file mode 100644
index a43f59402..000000000
--- a/asm/trader.s
+++ /dev/null
@@ -1,558 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81339F8
-sub_81339F8: @ 81339F8
- push {r4-r6,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =0x00002e28
- adds r5, r1, r0
- movs r2, 0
- movs r0, 0x2
- strb r0, [r5]
- ldr r0, =0x00002e59
- adds r1, r0
- strb r2, [r1]
- movs r4, 0
- ldr r6, =gUnknown_085B09E4
-_08133A12:
- movs r0, 0xB
- muls r0, r4
- adds r0, 0x5
- adds r0, r5, r0
- lsls r1, r4, 2
- adds r1, r6
- ldr r1, [r1]
- bl StringCopy
- adds r1, r5, 0x1
- adds r1, r4
- ldr r0, =gUnknown_085B09F4
- adds r0, r4, r0
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r5, 0
- adds r0, 0x32
- adds r0, r4
- movs r1, 0x2
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _08133A12
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81339F8
-
- thumb_func_start sub_8133A60
-sub_8133A60: @ 8133A60
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e59
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_8133A60
-
- thumb_func_start sub_8133A78
-sub_8133A78: @ 8133A78
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r7, r1, r0
- ldr r0, =gSaveBlock1Ptr
- ldr r4, [r0]
- ldr r0, =0x00002e28
- adds r0, r4
- mov r9, r0
- ldr r0, =gUnknown_085B09F8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0xC]
- str r1, [sp, 0x10]
- ldr r1, =gText_Exit
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- adds r6, r0, 0
- ldr r1, =gText_FiveMarks
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- mov r8, r0
- movs r5, 0
- ldr r0, =0x00002e29
- adds r4, r0
-_08133AC2:
- mov r0, r9
- adds r0, 0x1
- adds r1, r0, r5
- ldrb r0, [r1]
- cmp r0, 0x78
- bls _08133AF0
- mov r0, r8
- b _08133B00
- .pool
-_08133AF0:
- ldrb r1, [r1]
- lsls r1, 5
- ldr r0, =gDecorations + 1
- adds r1, r0
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
-_08133B00:
- cmp r0, r6
- ble _08133B06
- adds r6, r0, 0
-_08133B06:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08133AC2
- adds r0, r6, 0
- bl convert_pixel_width_to_tile_width
- lsls r0, 24
- ldr r2, =0x00ffffff
- ldr r1, [sp, 0xC]
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0xC]
- add r0, sp, 0xC
- bl AddWindow
- strh r0, [r7, 0x6]
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x85
- lsls r2, 2
- movs r1, 0
- movs r3, 0xE
- bl SetWindowBorderStyle
- movs r5, 0
-_08133B3C:
- adds r1, r4, r5
- ldrb r0, [r1]
- cmp r0, 0x78
- bls _08133B70
- ldrb r0, [r7, 0x6]
- lsls r1, r5, 4
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- ldr r2, =gText_FiveMarks
- movs r3, 0x8
- bl PrintTextOnWindow
- b _08133B94
- .pool
-_08133B70:
- ldrb r0, [r7, 0x6]
- ldrb r2, [r1]
- lsls r2, 5
- ldr r1, =gDecorations + 1
- adds r2, r1
- lsls r1, r5, 4
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl PrintTextOnWindow
-_08133B94:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08133B3C
- ldrb r0, [r7, 0x6]
- ldr r2, =gText_Exit
- lsls r1, r5, 4
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl PrintTextOnWindow
- ldrb r0, [r7, 0x6]
- movs r1, 0x5
- movs r2, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133A78
-
- thumb_func_start sub_8133BE4
-sub_8133BE4: @ 8133BE4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- cmp r2, 0x78
- bls _08133C14
- ldr r1, =gSpecialVar_0x8004
- ldr r2, =0x0000ffff
- adds r0, r2, 0
- strh r0, [r1]
- b _08133C18
- .pool
-_08133C14:
- ldr r0, =gSpecialVar_0x8004
- strh r2, [r0]
-_08133C18:
- ldrb r0, [r4, 0x6]
- movs r1, 0
- bl sub_8198070
- ldrb r0, [r4, 0x6]
- bl ClearWindowTilemap
- ldrb r0, [r4, 0x6]
- bl RemoveWindow
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- adds r0, r5, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133BE4
-
- thumb_func_start sub_8133C48
-sub_8133C48: @ 8133C48
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e28
- adds r6, r0, r1
- bl ProcessMenuInput
- lsls r0, 24
- lsrs r4, r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08133C80
- cmp r1, r0
- bgt _08133C7C
- subs r0, 0x1
- cmp r1, r0
- beq _08133CCA
- b _08133C90
- .pool
-_08133C7C:
- cmp r1, 0x4
- bne _08133C90
-_08133C80:
- movs r0, 0x5
- bl PlaySE
- adds r0, r7, 0
- movs r1, 0
- bl sub_8133BE4
- b _08133CCA
-_08133C90:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gSpecialVar_0x8005
- lsls r4, 24
- asrs r4, 24
- strh r4, [r0]
- ldr r5, =gStringVar1
- movs r0, 0xB
- adds r1, r4, 0
- muls r1, r0
- adds r1, 0x5
- adds r1, r6, r1
- adds r0, r5, 0
- bl StringCopy
- adds r0, r6, 0
- adds r0, 0x32
- adds r0, r4
- ldrb r1, [r0]
- adds r0, r5, 0
- bl ConvertInternationalString
- adds r0, r6, 0x1
- adds r0, r4
- ldrb r1, [r0]
- adds r0, r7, 0
- bl sub_8133BE4
-_08133CCA:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133C48
-
- thumb_func_start sub_8133CD8
-sub_8133CD8: @ 8133CD8
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =gSpecialVar_Result
- ldr r2, =0x00002e59
- adds r0, r2
- ldrb r0, [r0]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8133CD8
-
- thumb_func_start sub_8133CF4
-sub_8133CF4: @ 8133CF4
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =gSpecialVar_Result
-_08133CFA:
- adds r0, r4, 0
- bl CountDecorationCategoryN
- lsls r0, 24
- cmp r0, 0
- beq _08133D10
- movs r0, 0
- strh r0, [r5]
- b _08133D20
- .pool
-_08133D10:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _08133CFA
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
-_08133D20:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133CF4
-
- thumb_func_start sub_8133D2C
-sub_8133D2C: @ 8133D2C
- push {r4-r6,lr}
- ldr r6, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r6]
- ldr r4, =gDecorations
- ldr r5, =gSpecialVar_0x8004
- ldrh r0, [r5]
- lsls r0, 5
- adds r2, r0, r4
- ldr r0, =gSpecialVar_0x8006
- ldrh r0, [r0]
- lsls r0, 5
- adds r0, r4
- ldrb r1, [r2, 0x13]
- ldrb r0, [r0, 0x13]
- cmp r1, r0
- beq _08133D72
- adds r0, r1, 0
- bl GetFirstEmptyDecorSlot
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _08133D72
- ldr r0, =gStringVar2
- ldrh r1, [r5]
- lsls r1, 5
- adds r1, r4
- ldrb r1, [r1, 0x13]
- bl sub_8127250
- movs r0, 0x1
- strh r0, [r6]
-_08133D72:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133D2C
-
- thumb_func_start sub_8133D8C
-sub_8133D8C: @ 8133D8C
- push {lr}
- ldr r0, =sub_8127208
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133D8C
-
- thumb_func_start sub_8133DA0
-sub_8133DA0: @ 8133DA0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- bl IsSelectedDecorInThePC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08133DFC
- ldr r5, =gSpecialVar_0x8006
- ldr r0, =gCurDecorationIndex
- ldrb r1, [r0]
- ldr r0, =gCurDecorInventoryItems
- ldr r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r5]
- ldr r0, =gStringVar3
- ldr r1, =gSpecialVar_0x8004
- ldrh r1, [r1]
- lsls r1, 5
- ldr r4, =gDecorations + 1
- adds r1, r4
- bl StringCopy
- ldr r0, =gStringVar2
- ldrh r1, [r5]
- lsls r1, 5
- adds r1, r4
- bl StringCopy
- b _08133E04
- .pool
-_08133DFC:
- ldr r1, =gSpecialVar_0x8006
- ldr r2, =0x0000ffff
- adds r0, r2, 0
- strh r0, [r1]
-_08133E04:
- adds r0, r6, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133DA0
-
- thumb_func_start sub_8133E1C
-sub_8133E1C: @ 8133E1C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSpecialVar_0x8006
- movs r1, 0
- strh r1, [r2]
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133E1C
-
- thumb_func_start sub_8133E38
-sub_8133E38: @ 8133E38
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, =gSaveBlock1Ptr
- ldr r6, [r0]
- ldr r0, =0x00002e28
- adds r5, r6, r0
- ldr r1, =gSpecialVar_0x8006
- mov r8, r1
- ldrb r0, [r1]
- bl DecorationRemove
- ldr r0, =gSpecialVar_0x8004
- ldrb r0, [r0]
- bl DecorationAdd
- ldr r4, =gSpecialVar_0x8005
- ldrh r1, [r4]
- movs r0, 0xB
- muls r0, r1
- adds r0, 0x5
- adds r5, r0
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r0, r5, 0
- bl StringCopy
- ldr r2, =0x00002e29
- adds r0, r6, r2
- ldrh r1, [r4]
- adds r0, r1
- mov r2, r8
- ldrh r1, [r2]
- strb r1, [r0]
- ldr r1, =0x00002e5a
- adds r0, r6, r1
- ldrh r4, [r4]
- adds r0, r4
- movs r1, 0x2
- strb r1, [r0]
- ldr r2, =0x00002e59
- adds r6, r2
- movs r0, 0x1
- strb r0, [r6]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133E38
-
- thumb_func_start sub_8133EC0
-sub_8133EC0: @ 8133EC0
- push {lr}
- ldr r0, =sub_8133C48
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl sub_8133A78
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133EC0
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/trainer_card.s b/asm/trainer_card.s
index a56dbd157..6d1be17cb 100644
--- a/asm/trainer_card.s
+++ b/asm/trainer_card.s
@@ -3894,7 +3894,7 @@ _080C48F6:
sub_80C4904: @ 80C4904
lsls r0, 24
lsrs r0, 24
- ldr r2, =gUnknown_02039B58
+ ldr r2, =gTrainerCards
movs r1, 0x64
muls r0, r1
adds r0, r2
@@ -4578,7 +4578,7 @@ sub_80C4E74: @ 80C4E74
ldr r0, [r5]
ldr r1, =0x00000534
adds r0, r1
- ldr r2, =gUnknown_02039B58
+ ldr r2, =gTrainerCards
movs r1, 0x64
muls r1, r4
adds r1, r2