summaryrefslogtreecommitdiff
path: root/asm/battle_setup.s
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2019-10-27 20:52:55 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2019-10-27 20:52:55 -0400
commit47534a1471019a25e25c29a3f5bb529ccbd73e86 (patch)
treeda4f2abb0fa27f5f07bcbdd4af47ca4eec84a786 /asm/battle_setup.s
parentb8fec3d9f617ec9a764bb56804c526ff7449631f (diff)
parent922411abebd56d0f5d6072bad4924c909c8e2c27 (diff)
Merge branch 'master' of github.com:pret/pokefirered into trade
Diffstat (limited to 'asm/battle_setup.s')
-rw-r--r--asm/battle_setup.s2180
1 files changed, 0 insertions, 2180 deletions
diff --git a/asm/battle_setup.s b/asm/battle_setup.s
deleted file mode 100644
index 5a9797056..000000000
--- a/asm/battle_setup.s
+++ /dev/null
@@ -1,2180 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_807F620
-sub_807F620: @ 807F620
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _0807F640 @ =gTasks+0x8
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0807F644
- cmp r0, 0x1
- beq _0807F65E
- b _0807F686
- .align 2, 0
-_0807F640: .4byte gTasks+0x8
-_0807F644:
- bl FldEffPoison_IsActive
- cmp r0, 0
- bne _0807F686
- bl HelpSystem_Disable
- ldrb r0, [r4, 0x2]
- bl BT_StartOnField
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0807F686
-_0807F65E:
- bl BT_IsDone
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0807F686
- bl HelpSystem_Enable
- bl CleanupOverworldWindowsAndTilemaps
- ldr r0, _0807F68C @ =sub_800FD9C
- bl SetMainCallback2
- bl sub_806D7E8
- bl ClearPoisonStepCounter
- adds r0, r5, 0
- bl DestroyTask
-_0807F686:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807F68C: .4byte sub_800FD9C
- thumb_func_end sub_807F620
-
- thumb_func_start sub_807F690
-sub_807F690: @ 807F690
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 16
- lsrs r5, 16
- ldr r0, _0807F6C4 @ =sub_807F620
- movs r1, 0x1
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0807F6C8 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0xA]
- adds r0, r5, 0
- bl PlayMapChosenOrBattleBGM
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807F6C4: .4byte sub_807F620
-_0807F6C8: .4byte gTasks
- thumb_func_end sub_807F690
-
- thumb_func_start sub_807F6CC
-sub_807F6CC: @ 807F6CC
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- cmp r0, 0x1
- bne _0807F6FC
- adds r0, r1, 0
- subs r0, 0x58
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x6
- bhi _0807F6FC
- ldr r0, _0807F6F8 @ =0x00000167
- movs r1, 0x1
- bl CheckBagHasItem
- lsls r0, 24
- cmp r0, 0
- bne _0807F6FC
- movs r0, 0x1
- b _0807F6FE
- .align 2, 0
-_0807F6F8: .4byte 0x00000167
-_0807F6FC:
- movs r0, 0
-_0807F6FE:
- pop {r1}
- bx r1
- thumb_func_end sub_807F6CC
-
- thumb_func_start sub_807F704
-sub_807F704: @ 807F704
- push {lr}
- bl GetSafariZoneFlag
- cmp r0, 0
- beq _0807F714
- bl sub_807F7D8
- b _0807F744
-_0807F714:
- ldr r0, _0807F73C @ =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl sub_807F6CC
- lsls r0, 24
- cmp r0, 0
- beq _0807F740
- bl sub_807F810
- b _0807F744
- .align 2, 0
-_0807F73C: .4byte gSaveBlock1Ptr
-_0807F740:
- bl sub_807F748
-_0807F744:
- pop {r0}
- bx r0
- thumb_func_end sub_807F704
-
- thumb_func_start sub_807F748
-sub_807F748: @ 807F748
- push {lr}
- bl ScriptContext2_Enable
- bl player_bitmagic
- bl sub_805C780
- ldr r1, _0807F780 @ =gMain
- ldr r0, _0807F784 @ =sub_807FB40
- str r0, [r1, 0x8]
- ldr r1, _0807F788 @ =gBattleTypeFlags
- movs r0, 0
- str r0, [r1]
- bl GetWildBattleTransition
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_807F690
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- pop {r0}
- bx r0
- .align 2, 0
-_0807F780: .4byte gMain
-_0807F784: .4byte sub_807FB40
-_0807F788: .4byte gBattleTypeFlags
- thumb_func_end sub_807F748
-
- thumb_func_start sub_807F78C
-sub_807F78C: @ 807F78C
- push {lr}
- bl ScriptContext2_Enable
- bl player_bitmagic
- bl sub_805C780
- ldr r1, _0807F7C8 @ =gMain
- ldr r0, _0807F7CC @ =sub_807FB40
- str r0, [r1, 0x8]
- ldr r1, _0807F7D0 @ =gBattleTypeFlags
- movs r0, 0x80
- lsls r0, 3
- str r0, [r1]
- bl GetWildBattleTransition
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0807F7D4 @ =0x00000155
- bl sub_807F690
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- pop {r0}
- bx r0
- .align 2, 0
-_0807F7C8: .4byte gMain
-_0807F7CC: .4byte sub_807FB40
-_0807F7D0: .4byte gBattleTypeFlags
-_0807F7D4: .4byte 0x00000155
- thumb_func_end sub_807F78C
-
- thumb_func_start sub_807F7D8
-sub_807F7D8: @ 807F7D8
- push {lr}
- bl ScriptContext2_Enable
- bl player_bitmagic
- bl sub_805C780
- ldr r1, _0807F804 @ =gMain
- ldr r0, _0807F808 @ =CB2_EndSafariBattle
- str r0, [r1, 0x8]
- ldr r1, _0807F80C @ =gBattleTypeFlags
- movs r0, 0x80
- str r0, [r1]
- bl GetWildBattleTransition
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_807F690
- pop {r0}
- bx r0
- .align 2, 0
-_0807F804: .4byte gMain
-_0807F808: .4byte CB2_EndSafariBattle
-_0807F80C: .4byte gBattleTypeFlags
- thumb_func_end sub_807F7D8
-
- thumb_func_start sub_807F810
-sub_807F810: @ 807F810
- push {lr}
- bl ScriptContext2_Enable
- bl player_bitmagic
- bl sub_805C780
- ldr r1, _0807F854 @ =gMain
- ldr r0, _0807F858 @ =sub_807FB40
- str r0, [r1, 0x8]
- ldr r1, _0807F85C @ =gBattleTypeFlags
- movs r0, 0x80
- lsls r0, 8
- str r0, [r1]
- bl GetWildBattleTransition
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_807F690
- ldr r0, _0807F860 @ =gEnemyParty
- ldr r2, _0807F864 @ =gUnknown_841D148
- movs r1, 0x2
- bl SetMonData
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- pop {r0}
- bx r0
- .align 2, 0
-_0807F854: .4byte gMain
-_0807F858: .4byte sub_807FB40
-_0807F85C: .4byte gBattleTypeFlags
-_0807F860: .4byte gEnemyParty
-_0807F864: .4byte gUnknown_841D148
- thumb_func_end sub_807F810
-
- thumb_func_start sub_807F868
-sub_807F868: @ 807F868
- push {lr}
- bl sub_807FF80
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_807F690
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x9
- bl IncrementGameStat
- pop {r0}
- bx r0
- thumb_func_end sub_807F868
-
- thumb_func_start sub_807F888
-sub_807F888: @ 807F888
- push {lr}
- ldr r0, _0807F8B4 @ =gEnemyParty
- movs r1, 0xD
- movs r2, 0x5
- bl CreateMaleMon
- bl ScriptContext2_Enable
- ldr r1, _0807F8B8 @ =gMain
- ldr r0, _0807F8BC @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
- str r0, [r1, 0x8]
- ldr r1, _0807F8C0 @ =gBattleTypeFlags
- movs r0, 0x80
- lsls r0, 2
- str r0, [r1]
- movs r0, 0x8
- movs r1, 0
- bl sub_807F690
- pop {r0}
- bx r0
- .align 2, 0
-_0807F8B4: .4byte gEnemyParty
-_0807F8B8: .4byte gMain
-_0807F8BC: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
-_0807F8C0: .4byte gBattleTypeFlags
- thumb_func_end sub_807F888
-
- thumb_func_start BattleSetup_StartScriptedWildBattle
-BattleSetup_StartScriptedWildBattle: @ 807F8C4
- push {lr}
- bl ScriptContext2_Enable
- ldr r1, _0807F8F8 @ =gMain
- ldr r0, _0807F8FC @ =sub_807FBA0
- str r0, [r1, 0x8]
- ldr r1, _0807F900 @ =gBattleTypeFlags
- movs r0, 0x80
- lsls r0, 10
- str r0, [r1]
- bl GetWildBattleTransition
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_807F690
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- pop {r0}
- bx r0
- .align 2, 0
-_0807F8F8: .4byte gMain
-_0807F8FC: .4byte sub_807FBA0
-_0807F900: .4byte gBattleTypeFlags
- thumb_func_end BattleSetup_StartScriptedWildBattle
-
- thumb_func_start sub_807F904
-sub_807F904: @ 807F904
- push {lr}
- sub sp, 0xC
- bl ScriptContext2_Enable
- ldr r1, _0807F944 @ =gMain
- ldr r0, _0807F948 @ =sub_807FBF0
- str r0, [r1, 0x8]
- ldr r0, _0807F94C @ =0x00000167
- movs r1, 0x1
- bl CheckBagHasItem
- lsls r0, 24
- cmp r0, 0
- beq _0807F958
- ldr r1, _0807F950 @ =gBattleTypeFlags
- movs r0, 0xA0
- lsls r0, 8
- str r0, [r1]
- ldr r0, _0807F954 @ =gEnemyParty
- movs r1, 0xFE
- str r1, [sp]
- movs r1, 0xC
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x69
- movs r2, 0x1E
- movs r3, 0x1F
- bl CreateMonWithGenderNatureLetter
- b _0807F960
- .align 2, 0
-_0807F944: .4byte gMain
-_0807F948: .4byte sub_807FBF0
-_0807F94C: .4byte 0x00000167
-_0807F950: .4byte gBattleTypeFlags
-_0807F954: .4byte gEnemyParty
-_0807F958:
- ldr r1, _0807F98C @ =gBattleTypeFlags
- movs r0, 0x80
- lsls r0, 8
- str r0, [r1]
-_0807F960:
- bl GetWildBattleTransition
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_807F690
- ldr r0, _0807F990 @ =gEnemyParty
- ldr r2, _0807F994 @ =gUnknown_841D148
- movs r1, 0x2
- bl SetMonData
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- add sp, 0xC
- pop {r0}
- bx r0
- .align 2, 0
-_0807F98C: .4byte gBattleTypeFlags
-_0807F990: .4byte gEnemyParty
-_0807F994: .4byte gUnknown_841D148
- thumb_func_end sub_807F904
-
- thumb_func_start sub_807F998
-sub_807F998: @ 807F998
- push {lr}
- bl ScriptContext2_Enable
- ldr r1, _0807F9CC @ =gMain
- ldr r0, _0807F9D0 @ =sub_807FBA0
- str r0, [r1, 0x8]
- ldr r1, _0807F9D4 @ =gBattleTypeFlags
- movs r0, 0x80
- lsls r0, 6
- str r0, [r1]
- bl GetWildBattleTransition
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_807F690
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- pop {r0}
- bx r0
- .align 2, 0
-_0807F9CC: .4byte gMain
-_0807F9D0: .4byte sub_807FBA0
-_0807F9D4: .4byte gBattleTypeFlags
- thumb_func_end sub_807F998
-
- thumb_func_start sub_807F9D8
-sub_807F9D8: @ 807F9D8
- push {lr}
- bl ScriptContext2_Enable
- ldr r1, _0807FA0C @ =gMain
- ldr r0, _0807FA10 @ =sub_807FBA0
- str r0, [r1, 0x8]
- ldr r1, _0807FA14 @ =gBattleTypeFlags
- movs r0, 0x84
- lsls r0, 11
- str r0, [r1]
- ldr r0, _0807FA18 @ =gEnemyParty
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- adds r1, r0, 0
- cmp r0, 0x96
- beq _0807FA2E
- cmp r0, 0x96
- bgt _0807FA1C
- cmp r0, 0x92
- bgt _0807FA4C
- cmp r0, 0x90
- blt _0807FA4C
- b _0807FA3C
- .align 2, 0
-_0807FA0C: .4byte gMain
-_0807FA10: .4byte sub_807FBA0
-_0807FA14: .4byte gBattleTypeFlags
-_0807FA18: .4byte gEnemyParty
-_0807FA1C:
- cmp r1, 0xF9
- blt _0807FA4C
- cmp r1, 0xFA
- ble _0807FA3C
- movs r0, 0xCD
- lsls r0, 1
- cmp r1, r0
- beq _0807FA34
- b _0807FA4C
-_0807FA2E:
- movs r1, 0xAA
- lsls r1, 1
- b _0807FA3E
-_0807FA34:
- ldr r1, _0807FA38 @ =0x00000153
- b _0807FA3E
- .align 2, 0
-_0807FA38: .4byte 0x00000153
-_0807FA3C:
- ldr r1, _0807FA48 @ =0x00000155
-_0807FA3E:
- movs r0, 0
- bl sub_807F690
- b _0807FA56
- .align 2, 0
-_0807FA48: .4byte 0x00000155
-_0807FA4C:
- movs r1, 0x85
- lsls r1, 1
- movs r0, 0
- bl sub_807F690
-_0807FA56:
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- pop {r0}
- bx r0
- thumb_func_end sub_807F9D8
-
- thumb_func_start sub_807FA68
-sub_807FA68: @ 807FA68
- push {lr}
- bl ScriptContext2_Enable
- ldr r1, _0807FA90 @ =gMain
- ldr r0, _0807FA94 @ =sub_807FBA0
- str r0, [r1, 0x8]
- ldr r1, _0807FA98 @ =gBattleTypeFlags
- movs r0, 0xC0
- lsls r0, 6
- str r0, [r1]
- ldr r0, _0807FA9C @ =gGameVersion
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0807FAA0
- movs r1, 0x85
- lsls r1, 1
- movs r0, 0xB
- bl sub_807F690
- b _0807FAAA
- .align 2, 0
-_0807FA90: .4byte gMain
-_0807FA94: .4byte sub_807FBA0
-_0807FA98: .4byte gBattleTypeFlags
-_0807FA9C: .4byte gGameVersion
-_0807FAA0:
- movs r1, 0x85
- lsls r1, 1
- movs r0, 0xB
- bl sub_807F690
-_0807FAAA:
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- pop {r0}
- bx r0
- thumb_func_end sub_807FA68
-
- thumb_func_start sub_807FABC
-sub_807FABC: @ 807FABC
- push {lr}
- bl ScriptContext2_Enable
- ldr r1, _0807FAEC @ =gMain
- ldr r0, _0807FAF0 @ =sub_807FBA0
- str r0, [r1, 0x8]
- ldr r1, _0807FAF4 @ =gBattleTypeFlags
- movs r0, 0xC0
- lsls r0, 7
- str r0, [r1]
- movs r1, 0x85
- lsls r1, 1
- movs r0, 0
- bl sub_807F690
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- pop {r0}
- bx r0
- .align 2, 0
-_0807FAEC: .4byte gMain
-_0807FAF0: .4byte sub_807FBA0
-_0807FAF4: .4byte gBattleTypeFlags
- thumb_func_end sub_807FABC
-
- thumb_func_start sub_807FAF8
-sub_807FAF8: @ 807FAF8
- push {lr}
- bl LoadPlayerParty
- bl sub_807FB40
- pop {r0}
- bx r0
- thumb_func_end sub_807FAF8
-
- thumb_func_start sub_807FB08
-sub_807FB08: @ 807FB08
- push {lr}
- bl ScriptContext2_Enable
- bl player_bitmagic
- bl sub_805C780
- ldr r1, _0807FB38 @ =gMain
- ldr r0, _0807FB3C @ =sub_807FAF8
- str r0, [r1, 0x8]
- bl SavePlayerParty
- bl sub_8159F40
- bl GetWildBattleTransition
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_807F690
- pop {r0}
- bx r0
- .align 2, 0
-_0807FB38: .4byte gMain
-_0807FB3C: .4byte sub_807FAF8
- thumb_func_end sub_807FB08
-
- thumb_func_start sub_807FB40
-sub_807FB40: @ 807FB40
- push {lr}
- sub sp, 0x4
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- movs r1, 0xA0
- lsls r1, 19
- ldr r2, _0807FB74 @ =0x01000100
- mov r0, sp
- bl CpuSet
- movs r0, 0
- movs r1, 0x80
- bl ResetOamRange
- ldr r0, _0807FB78 @ =gBattleOutcome
- ldrb r0, [r0]
- bl IsPlayerDefeated
- cmp r0, 0x1
- bne _0807FB80
- ldr r0, _0807FB7C @ =c2_whiteout
- bl SetMainCallback2
- b _0807FB8C
- .align 2, 0
-_0807FB74: .4byte 0x01000100
-_0807FB78: .4byte gBattleOutcome
-_0807FB7C: .4byte c2_whiteout
-_0807FB80:
- ldr r0, _0807FB94 @ =CB2_ReturnToField
- bl SetMainCallback2
- ldr r1, _0807FB98 @ =gFieldCallback
- ldr r0, _0807FB9C @ =sub_807E3EC
- str r0, [r1]
-_0807FB8C:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0807FB94: .4byte CB2_ReturnToField
-_0807FB98: .4byte gFieldCallback
-_0807FB9C: .4byte sub_807E3EC
- thumb_func_end sub_807FB40
-
- thumb_func_start sub_807FBA0
-sub_807FBA0: @ 807FBA0
- push {lr}
- sub sp, 0x4
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- movs r1, 0xA0
- lsls r1, 19
- ldr r2, _0807FBD4 @ =0x01000100
- mov r0, sp
- bl CpuSet
- movs r0, 0
- movs r1, 0x80
- bl ResetOamRange
- ldr r0, _0807FBD8 @ =gBattleOutcome
- ldrb r0, [r0]
- bl IsPlayerDefeated
- cmp r0, 0x1
- bne _0807FBE0
- ldr r0, _0807FBDC @ =c2_whiteout
- bl SetMainCallback2
- b _0807FBE6
- .align 2, 0
-_0807FBD4: .4byte 0x01000100
-_0807FBD8: .4byte gBattleOutcome
-_0807FBDC: .4byte c2_whiteout
-_0807FBE0:
- ldr r0, _0807FBEC @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
- bl SetMainCallback2
-_0807FBE6:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0807FBEC: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
- thumb_func_end sub_807FBA0
-
- thumb_func_start sub_807FBF0
-sub_807FBF0: @ 807FBF0
- push {r4,lr}
- sub sp, 0x4
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- movs r1, 0xA0
- lsls r1, 19
- ldr r2, _0807FC24 @ =0x01000100
- mov r0, sp
- bl CpuSet
- movs r0, 0
- movs r1, 0x80
- bl ResetOamRange
- ldr r4, _0807FC28 @ =gBattleOutcome
- ldrb r0, [r4]
- bl IsPlayerDefeated
- adds r1, r0, 0
- cmp r1, 0
- beq _0807FC30
- ldr r0, _0807FC2C @ =c2_whiteout
- bl SetMainCallback2
- b _0807FC4C
- .align 2, 0
-_0807FC24: .4byte 0x01000100
-_0807FC28: .4byte gBattleOutcome
-_0807FC2C: .4byte c2_whiteout
-_0807FC30:
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _0807FC40
- ldr r0, _0807FC3C @ =gSpecialVar_Result
- strh r1, [r0]
- b _0807FC46
- .align 2, 0
-_0807FC3C: .4byte gSpecialVar_Result
-_0807FC40:
- ldr r1, _0807FC54 @ =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
-_0807FC46:
- ldr r0, _0807FC58 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
- bl SetMainCallback2
-_0807FC4C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807FC54: .4byte gSpecialVar_Result
-_0807FC58: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
- thumb_func_end sub_807FBF0
-
- thumb_func_start sub_807FC5C
-sub_807FC5C: @ 807FC5C
- push {r4,r5,lr}
- sub sp, 0x4
- 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 r5, r0, 16
- lsls r0, r5, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsTallGrass_2
- lsls r0, 24
- cmp r0, 0
- beq _0807FC92
- movs r0, 0
- b _0807FD88
-_0807FC92:
- adds r0, r4, 0
- bl MetatileBehavior_ReturnFalse_3
- lsls r0, 24
- cmp r0, 0
- beq _0807FCA2
- movs r0, 0x1
- b _0807FD88
-_0807FCA2:
- adds r0, r4, 0
- bl MetatileBehavior_IsMB21OrWaterfallBottom
- lsls r0, 24
- cmp r0, 0
- beq _0807FCB2
- movs r0, 0x2
- b _0807FD88
-_0807FCB2:
- ldr r0, _0807FCC8 @ =gMapHeader
- ldrb r0, [r0, 0x17]
- subs r0, 0x1
- cmp r0, 0x8
- bhi _0807FD2C
- lsls r0, 2
- ldr r1, _0807FCCC @ =_0807FCD0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0807FCC8: .4byte gMapHeader
-_0807FCCC: .4byte _0807FCD0
- .align 2, 0
-_0807FCD0:
- .4byte _0807FD2C
- .4byte _0807FD2C
- .4byte _0807FD2C
- .4byte _0807FCF4
- .4byte _0807FD18
- .4byte _0807FD1C
- .4byte _0807FD2C
- .4byte _0807FD04
- .4byte _0807FD04
-_0807FCF4:
- lsls r0, r5, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsMB0B
- lsls r0, 24
- cmp r0, 0
- beq _0807FD08
-_0807FD04:
- movs r0, 0x8
- b _0807FD88
-_0807FD08:
- adds r0, r4, 0
- bl MetatileBehavior_IsSurfable
- lsls r0, 24
- cmp r0, 0
- bne _0807FD70
- movs r0, 0x7
- b _0807FD88
-_0807FD18:
- movs r0, 0x3
- b _0807FD88
-_0807FD1C:
- lsls r0, r5, 24
- lsrs r0, 24
- bl MetatileBehavior_IsSurfable
- lsls r0, 24
- cmp r0, 0
- bne _0807FD82
- b _0807FD86
-_0807FD2C:
- lsls r0, r5, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsDeepSemiDeepOrSplashingWater
- lsls r0, 24
- cmp r0, 0
- bne _0807FD82
- adds r0, r4, 0
- bl MetatileBehavior_IsSurfable
- lsls r0, 24
- cmp r0, 0
- bne _0807FD70
- adds r0, r4, 0
- bl MetatileBehavior_IsMB0C
- lsls r0, 24
- cmp r0, 0
- beq _0807FD58
- movs r0, 0x6
- b _0807FD88
-_0807FD58:
- movs r0, 0x8
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _0807FD86
- adds r0, r4, 0
- bl MetatileBehavior_ReturnFalse_7
- lsls r0, 24
- cmp r0, 0
- beq _0807FD74
-_0807FD70:
- movs r0, 0x5
- b _0807FD88
-_0807FD74:
- adds r0, r4, 0
- bl MetatileBehavior_ReturnFalse_6
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0807FD86
-_0807FD82:
- movs r0, 0x4
- b _0807FD88
-_0807FD86:
- movs r0, 0x9
-_0807FD88:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_807FC5C
-
- thumb_func_start GetBattleTransitionTypeByMap
-GetBattleTransitionTypeByMap: @ 807FD90
- push {r4,lr}
- sub sp, 0x4
- 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 r4, r0, 16
- bl sav1_get_flash_used_on_map
- lsls r0, 24
- cmp r0, 0
- beq _0807FDC0
- movs r0, 0x2
- b _0807FDEA
-_0807FDC0:
- lsls r0, r4, 24
- lsrs r0, 24
- bl MetatileBehavior_IsSurfable
- lsls r0, 24
- cmp r0, 0
- bne _0807FDE8
- ldr r0, _0807FDE0 @ =gMapHeader
- ldrb r0, [r0, 0x17]
- cmp r0, 0x4
- beq _0807FDE4
- cmp r0, 0x5
- beq _0807FDE8
- movs r0, 0
- b _0807FDEA
- .align 2, 0
-_0807FDE0: .4byte gMapHeader
-_0807FDE4:
- movs r0, 0x1
- b _0807FDEA
-_0807FDE8:
- movs r0, 0x3
-_0807FDEA:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetBattleTransitionTypeByMap
-
- thumb_func_start GetSumOfPlayerPartyLevel
-GetSumOfPlayerPartyLevel: @ 807FDF4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r7, 0
- movs r6, 0
-_0807FDFE:
- movs r0, 0x64
- adds r1, r6, 0
- muls r1, r0
- ldr r0, _0807FE50 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- adds r1, r0, 0
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- beq _0807FE42
- cmp r1, 0
- beq _0807FE42
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _0807FE42
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- adds r0, r7, r0
- lsls r0, 24
- lsrs r7, r0, 24
- subs r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _0807FE48
-_0807FE42:
- adds r6, 0x1
- cmp r6, 0x5
- ble _0807FDFE
-_0807FE48:
- adds r0, r7, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0807FE50: .4byte gPlayerParty
- thumb_func_end GetSumOfPlayerPartyLevel
-
- thumb_func_start reads_trainer_data_byte0
-reads_trainer_data_byte0: @ 807FE54
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r5, _0807FE88 @ =gTrainers
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r2, r1, r5
- adds r0, r2, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, r4
- bcs _0807FE74
- adds r4, r0, 0
-_0807FE74:
- movs r3, 0
- ldrb r0, [r2]
- cmp r0, 0x1
- beq _0807FEBC
- cmp r0, 0x1
- bgt _0807FE8C
- cmp r0, 0
- beq _0807FE96
- b _0807FF2C
- .align 2, 0
-_0807FE88: .4byte gTrainers
-_0807FE8C:
- cmp r0, 0x2
- beq _0807FEE2
- cmp r0, 0x3
- beq _0807FF08
- b _0807FF2C
-_0807FE96:
- adds r0, r5, 0
- adds r0, 0x24
- adds r0, r1, r0
- ldr r1, [r0]
- movs r2, 0
- cmp r3, r4
- bcs _0807FF2C
-_0807FEA4:
- lsls r0, r2, 3
- adds r0, r1
- ldrb r0, [r0, 0x2]
- adds r0, r3, r0
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r4
- bcc _0807FEA4
- b _0807FF2C
-_0807FEBC:
- adds r0, r5, 0
- adds r0, 0x24
- adds r0, r1, r0
- ldr r1, [r0]
- movs r2, 0
- cmp r3, r4
- bcs _0807FF2C
-_0807FECA:
- lsls r0, r2, 4
- adds r0, r1
- ldrb r0, [r0, 0x2]
- adds r0, r3, r0
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r4
- bcc _0807FECA
- b _0807FF2C
-_0807FEE2:
- adds r0, r5, 0
- adds r0, 0x24
- adds r0, r1, r0
- ldr r1, [r0]
- movs r2, 0
- cmp r3, r4
- bcs _0807FF2C
-_0807FEF0:
- lsls r0, r2, 3
- adds r0, r1
- ldrb r0, [r0, 0x2]
- adds r0, r3, r0
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r4
- bcc _0807FEF0
- b _0807FF2C
-_0807FF08:
- adds r0, r5, 0
- adds r0, 0x24
- adds r0, r1, r0
- ldr r1, [r0]
- movs r2, 0
- cmp r3, r4
- bcs _0807FF2C
-_0807FF16:
- lsls r0, r2, 4
- adds r0, r1
- ldrb r0, [r0, 0x2]
- adds r0, r3, r0
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r4
- bcc _0807FF16
-_0807FF2C:
- adds r0, r3, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end reads_trainer_data_byte0
-
- thumb_func_start GetWildBattleTransition
-GetWildBattleTransition: @ 807FF34
- push {r4,r5,lr}
- bl GetBattleTransitionTypeByMap
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _0807FF64 @ =gEnemyParty
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- bl GetSumOfPlayerPartyLevel
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bcc _0807FF6C
- ldr r0, _0807FF68 @ =gUnknown_83C68F0
- lsls r1, r5, 1
- adds r0, 0x1
- b _0807FF70
- .align 2, 0
-_0807FF64: .4byte gEnemyParty
-_0807FF68: .4byte gUnknown_83C68F0
-_0807FF6C:
- ldr r0, _0807FF7C @ =gUnknown_83C68F0
- lsls r1, r5, 1
-_0807FF70:
- adds r1, r0
- ldrb r0, [r1]
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0807FF7C: .4byte gUnknown_83C68F0
- thumb_func_end GetWildBattleTransition
-
- thumb_func_start sub_807FF80
-sub_807FF80: @ 807FF80
- push {r4-r6,lr}
- ldr r4, _0807FFB4 @ =gTrainerBattleOpponent_A
- ldrh r1, [r4]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- beq _0808000C
- ldr r1, _0807FFB8 @ =gTrainers
- ldrh r2, [r4]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0x1]
- cmp r1, 0x57
- bne _08080008
- adds r1, r2, 0
- movs r0, 0xCD
- lsls r0, 1
- cmp r1, r0
- beq _0807FFB0
- ldr r0, _0807FFBC @ =0x000002df
- cmp r1, r0
- bne _0807FFC0
-_0807FFB0:
- movs r0, 0xC
- b _08080054
- .align 2, 0
-_0807FFB4: .4byte gTrainerBattleOpponent_A
-_0807FFB8: .4byte gTrainers
-_0807FFBC: .4byte 0x000002df
-_0807FFC0:
- ldr r0, _0807FFD4 @ =0x0000019b
- cmp r1, r0
- beq _0807FFCE
- movs r0, 0xB8
- lsls r0, 2
- cmp r1, r0
- bne _0807FFD8
-_0807FFCE:
- movs r0, 0xD
- b _08080054
- .align 2, 0
-_0807FFD4: .4byte 0x0000019b
-_0807FFD8:
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- beq _0807FFE6
- ldr r0, _0807FFEC @ =0x000002e1
- cmp r1, r0
- bne _0807FFF0
-_0807FFE6:
- movs r0, 0xE
- b _08080054
- .align 2, 0
-_0807FFEC: .4byte 0x000002e1
-_0807FFF0:
- ldr r0, _08080000 @ =0x0000019d
- cmp r1, r0
- beq _0807FFFC
- ldr r0, _08080004 @ =0x000002e2
- cmp r1, r0
- bne _0808000C
-_0807FFFC:
- movs r0, 0xF
- b _08080054
- .align 2, 0
-_08080000: .4byte 0x0000019d
-_08080004: .4byte 0x000002e2
-_08080008:
- cmp r1, 0x5A
- bne _08080010
-_0808000C:
- movs r0, 0x10
- b _08080054
-_08080010:
- ldrb r0, [r0, 0x18]
- movs r5, 0x1
- cmp r0, 0x1
- bne _0808001A
- movs r5, 0x2
-_0808001A:
- bl GetBattleTransitionTypeByMap
- lsls r0, 24
- lsrs r6, r0, 24
- ldrh r0, [r4]
- adds r1, r5, 0
- bl reads_trainer_data_byte0
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl GetSumOfPlayerPartyLevel
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bcc _0808004C
- ldr r0, _08080048 @ =gUnknown_83C68F8
- lsls r1, r6, 1
- adds r0, 0x1
- b _08080050
- .align 2, 0
-_08080048: .4byte gUnknown_83C68F8
-_0808004C:
- ldr r0, _0808005C @ =gUnknown_83C68F8
- lsls r1, r6, 1
-_08080050:
- adds r1, r0
- ldrb r0, [r1]
-_08080054:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0808005C: .4byte gUnknown_83C68F8
- thumb_func_end sub_807FF80
-
- thumb_func_start sub_8080060
-sub_8080060: @ 8080060
- push {r4,lr}
- ldr r0, _08080084 @ =gEnemyParty
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- bl GetSumOfPlayerPartyLevel
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bcc _08080088
- movs r0, 0x3
- b _0808008A
- .align 2, 0
-_08080084: .4byte gEnemyParty
-_08080088:
- movs r0, 0x4
-_0808008A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8080060
-
- thumb_func_start TrainerBattleLoadArg32
-TrainerBattleLoadArg32: @ 8080090
- adds r2, r0, 0
- 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
- thumb_func_end TrainerBattleLoadArg32
-
- thumb_func_start TrainerBattleLoadArg16
-TrainerBattleLoadArg16: @ 80800A8
- adds r1, r0, 0
- ldrb r0, [r1]
- ldrb r1, [r1, 0x1]
- lsls r1, 8
- orrs r0, r1
- bx lr
- thumb_func_end TrainerBattleLoadArg16
-
- thumb_func_start TrainerBattleLoadArg8
-TrainerBattleLoadArg8: @ 80800B4
- ldrb r0, [r0]
- bx lr
- thumb_func_end TrainerBattleLoadArg8
-
- thumb_func_start trainerflag_opponent
-trainerflag_opponent: @ 80800B8
- ldr r1, _080800CC @ =gTrainerBattleOpponent_A
- movs r2, 0xA0
- lsls r2, 3
- adds r0, r2, 0
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bx lr
- .align 2, 0
-_080800CC: .4byte gTrainerBattleOpponent_A
- thumb_func_end trainerflag_opponent
-
- thumb_func_start IsPlayerDefeated
-IsPlayerDefeated: @ 80800D0
- push {lr}
- subs r0, 0x1
- cmp r0, 0x6
- bhi _08080108
- lsls r0, 2
- ldr r1, _080800E4 @ =_080800E8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080800E4: .4byte _080800E8
- .align 2, 0
-_080800E8:
- .4byte _08080108
- .4byte _08080104
- .4byte _08080104
- .4byte _08080108
- .4byte _08080108
- .4byte _08080108
- .4byte _08080108
-_08080104:
- movs r0, 0x1
- b _0808010A
-_08080108:
- movs r0, 0
-_0808010A:
- pop {r1}
- bx r1
- thumb_func_end IsPlayerDefeated
-
- thumb_func_start sub_8080110
-sub_8080110: @ 8080110
- ldr r0, _08080140 @ =gUnknown_20386AC
- movs r1, 0
- strh r1, [r0]
- ldr r0, _08080144 @ =gTrainerBattleOpponent_A
- strh r1, [r0]
- ldr r0, _08080148 @ =gUnknown_20386B0
- strh r1, [r0]
- ldr r0, _0808014C @ =gUnknown_20386B4
- movs r1, 0
- str r1, [r0]
- ldr r0, _08080150 @ =gUnknown_20386B8
- str r1, [r0]
- ldr r0, _08080154 @ =gUnknown_20386BC
- str r1, [r0]
- ldr r0, _08080158 @ =gUnknown_20386C0
- str r1, [r0]
- ldr r0, _0808015C @ =gUnknown_20386C4
- str r1, [r0]
- ldr r0, _08080160 @ =gUnknown_20386C8
- str r1, [r0]
- ldr r0, _08080164 @ =gUnknown_20386CC
- strh r1, [r0]
- bx lr
- .align 2, 0
-_08080140: .4byte gUnknown_20386AC
-_08080144: .4byte gTrainerBattleOpponent_A
-_08080148: .4byte gUnknown_20386B0
-_0808014C: .4byte gUnknown_20386B4
-_08080150: .4byte gUnknown_20386B8
-_08080154: .4byte gUnknown_20386BC
-_08080158: .4byte gUnknown_20386C0
-_0808015C: .4byte gUnknown_20386C4
-_08080160: .4byte gUnknown_20386C8
-_08080164: .4byte gUnknown_20386CC
- thumb_func_end sub_8080110
-
- thumb_func_start TrainerBattleLoadArgs
-TrainerBattleLoadArgs: @ 8080168
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
-_0808016E:
- ldrb r0, [r4, 0x4]
- cmp r0, 0x6
- bhi _080801E0
- lsls r0, 2
- ldr r1, _08080180 @ =_08080184
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08080180: .4byte _08080184
- .align 2, 0
-_08080184:
- .4byte _080801A0
- .4byte _080801AE
- .4byte _080801BC
- .4byte _080801CA
- .4byte _080801D2
- .4byte _080801DA
- .4byte _080801E4
-_080801A0:
- adds r0, r5, 0
- bl TrainerBattleLoadArg8
- ldr r1, [r4]
- strb r0, [r1]
- adds r5, 0x1
- b _080801E0
-_080801AE:
- adds r0, r5, 0
- bl TrainerBattleLoadArg16
- ldr r1, [r4]
- strh r0, [r1]
- adds r5, 0x2
- b _080801E0
-_080801BC:
- adds r0, r5, 0
- bl TrainerBattleLoadArg32
- ldr r1, [r4]
- str r0, [r1]
- adds r5, 0x4
- b _080801E0
-_080801CA:
- ldr r1, [r4]
- movs r0, 0
- strb r0, [r1]
- b _080801E0
-_080801D2:
- ldr r1, [r4]
- movs r0, 0
- strh r0, [r1]
- b _080801E0
-_080801DA:
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1]
-_080801E0:
- adds r4, 0x8
- b _0808016E
-_080801E4:
- ldr r0, [r4]
- str r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end TrainerBattleLoadArgs
-
- thumb_func_start battle_80801F0
-battle_80801F0: @ 80801F0
- push {lr}
- ldr r0, _08080218 @ =gUnknown_20386B0
- ldrh r1, [r0]
- cmp r1, 0
- beq _08080212
- ldr r0, _0808021C @ =gSpecialVar_LastTalked
- strh r1, [r0]
- lsls r0, r1, 24
- lsrs r0, 24
- ldr r1, _08080220 @ =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- bl GetFieldObjectIdByLocalIdAndMap
- ldr r1, _08080224 @ =gSelectedEventObject
- strb r0, [r1]
-_08080212:
- pop {r0}
- bx r0
- .align 2, 0
-_08080218: .4byte gUnknown_20386B0
-_0808021C: .4byte gSpecialVar_LastTalked
-_08080220: .4byte gSaveBlock1Ptr
-_08080224: .4byte gSelectedEventObject
- thumb_func_end battle_80801F0
-
- thumb_func_start BattleSetup_ConfigureTrainerBattle
-BattleSetup_ConfigureTrainerBattle: @ 8080228
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_8080110
- ldr r4, _08080250 @ =gUnknown_20386AC
- adds r0, r5, 0
- bl TrainerBattleLoadArg8
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- ldrh r0, [r4]
- subs r0, 0x1
- cmp r0, 0x8
- bhi _08080318
- lsls r0, 2
- ldr r1, _08080254 @ =_08080258
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08080250: .4byte gUnknown_20386AC
-_08080254: .4byte _08080258
- .align 2, 0
-_08080258:
- .4byte _0808028C
- .4byte _0808028C
- .4byte _0808027C
- .4byte _08080284
- .4byte _080802D8
- .4byte _08080294
- .4byte _080802AC
- .4byte _08080294
- .4byte _08080304
-_0808027C:
- ldr r0, _08080280 @ =gUnknown_83C69D8
- b _08080306
- .align 2, 0
-_08080280: .4byte gUnknown_83C69D8
-_08080284:
- ldr r0, _08080288 @ =gUnknown_83C6990
- b _08080296
- .align 2, 0
-_08080288: .4byte gUnknown_83C6990
-_0808028C:
- ldr r0, _08080290 @ =gUnknown_83C6948
- b _0808031A
- .align 2, 0
-_08080290: .4byte gUnknown_83C6948
-_08080294:
- ldr r0, _080802A4 @ =gUnknown_83C6A68
-_08080296:
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- bl battle_80801F0
- ldr r0, _080802A8 @ =gUnknown_81A4EE9
- b _08080326
- .align 2, 0
-_080802A4: .4byte gUnknown_83C6A68
-_080802A8: .4byte gUnknown_81A4EE9
-_080802AC:
- bl sub_811231C
- ldr r0, _080802CC @ =gUnknown_83C6990
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- bl battle_80801F0
- ldr r4, _080802D0 @ =gTrainerBattleOpponent_A
- ldrh r0, [r4]
- bl sub_810CE64
- strh r0, [r4]
- ldr r0, _080802D4 @ =gUnknown_81A4F73
- b _08080326
- .align 2, 0
-_080802CC: .4byte gUnknown_83C6990
-_080802D0: .4byte gTrainerBattleOpponent_A
-_080802D4: .4byte gUnknown_81A4F73
-_080802D8:
- bl sub_811231C
- ldr r0, _080802F8 @ =gUnknown_83C6900
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- bl battle_80801F0
- ldr r4, _080802FC @ =gTrainerBattleOpponent_A
- ldrh r0, [r4]
- bl sub_810CE64
- strh r0, [r4]
- ldr r0, _08080300 @ =gUnknown_81A4F3E
- b _08080326
- .align 2, 0
-_080802F8: .4byte gUnknown_83C6900
-_080802FC: .4byte gTrainerBattleOpponent_A
-_08080300: .4byte gUnknown_81A4F3E
-_08080304:
- ldr r0, _08080310 @ =gUnknown_83C6A20
-_08080306:
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- ldr r0, _08080314 @ =gUnknown_81A4F21
- b _08080326
- .align 2, 0
-_08080310: .4byte gUnknown_83C6A20
-_08080314: .4byte gUnknown_81A4F21
-_08080318:
- ldr r0, _0808032C @ =gUnknown_83C6900
-_0808031A:
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- bl battle_80801F0
- ldr r0, _08080330 @ =gUnknown_81A4EC1
-_08080326:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0808032C: .4byte gUnknown_83C6900
-_08080330: .4byte gUnknown_81A4EC1
- thumb_func_end BattleSetup_ConfigureTrainerBattle
-
- thumb_func_start TrainerWantsBattle
-TrainerWantsBattle: @ 8080334
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08080368 @ =gSelectedEventObject
- strb r0, [r2]
- ldr r4, _0808036C @ =gSpecialVar_LastTalked
- ldr r3, _08080370 @ =gMapObjects
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldrb r0, [r2, 0x8]
- strh r0, [r4]
- adds r1, 0x1
- adds r0, r1, 0
- bl BattleSetup_ConfigureTrainerBattle
- ldr r0, _08080374 @ =gUnknown_81A4EB4
- bl ScriptContext1_SetupScript
- bl ScriptContext2_Enable
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08080368: .4byte gSelectedEventObject
-_0808036C: .4byte gSpecialVar_LastTalked
-_08080370: .4byte gMapObjects
-_08080374: .4byte gUnknown_81A4EB4
- thumb_func_end TrainerWantsBattle
-
- thumb_func_start GetTrainerFlagFromScriptPointer
-GetTrainerFlagFromScriptPointer: @ 8080378
- push {lr}
- adds r0, 0x2
- bl TrainerBattleLoadArg16
- lsls r0, 16
- movs r1, 0xA0
- lsls r1, 19
- adds r0, r1
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end GetTrainerFlagFromScriptPointer
-
- thumb_func_start sub_8080398
-sub_8080398: @ 8080398
- push {r4,lr}
- ldr r0, _080803C4 @ =gSelectedEventObject
- ldrb r0, [r0]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _080803C8 @ =gMapObjects
- adds r4, r0
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl npc_running_behaviour_by_direction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl npc_set_running_behaviour_etc
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080803C4: .4byte gSelectedEventObject
-_080803C8: .4byte gMapObjects
- thumb_func_end sub_8080398
-
- thumb_func_start sub_80803CC
-sub_80803CC: @ 80803CC
- ldr r0, _080803D4 @ =gUnknown_20386AC
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080803D4: .4byte gUnknown_20386AC
- thumb_func_end sub_80803CC
-
- thumb_func_start sub_80803D8
-sub_80803D8: @ 80803D8
- ldr r0, _080803E0 @ =gUnknown_20386CC
- ldrh r0, [r0]
- bx lr
- .align 2, 0
-_080803E0: .4byte gUnknown_20386CC
- thumb_func_end sub_80803D8
-
- thumb_func_start ScrSpecial_HasTrainerBeenFought
-ScrSpecial_HasTrainerBeenFought: @ 80803E4
- push {lr}
- bl trainerflag_opponent
- lsls r0, 16
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end ScrSpecial_HasTrainerBeenFought
-
- thumb_func_start sub_80803FC
-sub_80803FC: @ 80803FC
- push {lr}
- bl trainerflag_opponent
- lsls r0, 16
- lsrs r0, 16
- bl FlagSet
- pop {r0}
- bx r0
- thumb_func_end sub_80803FC
-
- thumb_func_start sub_8080410
-sub_8080410: @ 8080410
- push {lr}
- bl trainerflag_opponent
- lsls r0, 16
- lsrs r0, 16
- bl FlagSet
- pop {r0}
- bx r0
- thumb_func_end sub_8080410
-
- thumb_func_start HasTrainerAlreadyBeenFought
-HasTrainerAlreadyBeenFought: @ 8080424
- push {lr}
- lsls r0, 16
- movs r1, 0xA0
- lsls r1, 19
- adds r0, r1
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end HasTrainerAlreadyBeenFought
-
- thumb_func_start SetTrainerFlag
-SetTrainerFlag: @ 808043C
- push {lr}
- lsls r0, 16
- movs r1, 0xA0
- lsls r1, 19
- adds r0, r1
- lsrs r0, 16
- bl FlagSet
- pop {r0}
- bx r0
- thumb_func_end SetTrainerFlag
-
- thumb_func_start ClearTrainerFlag
-ClearTrainerFlag: @ 8080450
- push {lr}
- lsls r0, 16
- movs r1, 0xA0
- lsls r1, 19
- adds r0, r1
- lsrs r0, 16
- bl FlagClear
- pop {r0}
- bx r0
- thumb_func_end ClearTrainerFlag
-
- thumb_func_start BattleSetup_StartTrainerBattle
-BattleSetup_StartTrainerBattle: @ 8080464
- push {r4,lr}
- ldr r4, _080804A0 @ =gBattleTypeFlags
- movs r0, 0x8
- str r0, [r4]
- bl sub_80803CC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x9
- bne _0808048C
- bl sub_80803D8
- movs r1, 0x3
- ands r1, r0
- cmp r1, 0
- beq _0808048C
- ldr r0, [r4]
- movs r1, 0x10
- orrs r0, r1
- str r0, [r4]
-_0808048C:
- ldr r1, _080804A4 @ =gMain
- ldr r0, _080804A8 @ =sub_80804AC
- str r0, [r1, 0x8]
- bl sub_807F868
- bl ScriptContext1_Stop
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080804A0: .4byte gBattleTypeFlags
-_080804A4: .4byte gMain
-_080804A8: .4byte sub_80804AC
- thumb_func_end BattleSetup_StartTrainerBattle
-
- thumb_func_start sub_80804AC
-sub_80804AC: @ 80804AC
- push {lr}
- ldr r0, _080804D8 @ =gUnknown_20386AC
- ldrh r0, [r0]
- cmp r0, 0x9
- bne _08080508
- ldr r0, _080804DC @ =gBattleOutcome
- ldrb r0, [r0]
- bl IsPlayerDefeated
- adds r1, r0, 0
- cmp r1, 0x1
- bne _080804E8
- ldr r0, _080804E0 @ =gSpecialVar_Result
- strh r1, [r0]
- ldr r0, _080804E4 @ =gUnknown_20386CC
- ldrh r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _08080530
- bl sp000_heal_pokemon
- b _080804EE
- .align 2, 0
-_080804D8: .4byte gUnknown_20386AC
-_080804DC: .4byte gBattleOutcome
-_080804E0: .4byte gSpecialVar_Result
-_080804E4: .4byte gUnknown_20386CC
-_080804E8:
- ldr r0, _08080500 @ =gSpecialVar_Result
- movs r1, 0
- strh r1, [r0]
-_080804EE:
- ldr r0, _08080504 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
- bl SetMainCallback2
- bl sub_80803FC
- bl sub_81139BC
- b _0808054E
- .align 2, 0
-_08080500: .4byte gSpecialVar_Result
-_08080504: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
-_08080508:
- ldr r0, _0808051C @ =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- bne _08080524
- ldr r0, _08080520 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
- bl SetMainCallback2
- b _0808054E
- .align 2, 0
-_0808051C: .4byte gTrainerBattleOpponent_A
-_08080520: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
-_08080524:
- ldr r0, _08080538 @ =gBattleOutcome
- ldrb r0, [r0]
- bl IsPlayerDefeated
- cmp r0, 0x1
- bne _08080540
-_08080530:
- ldr r0, _0808053C @ =c2_whiteout
- bl SetMainCallback2
- b _0808054E
- .align 2, 0
-_08080538: .4byte gBattleOutcome
-_0808053C: .4byte c2_whiteout
-_08080540:
- ldr r0, _08080554 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
- bl SetMainCallback2
- bl sub_80803FC
- bl sub_81139BC
-_0808054E:
- pop {r0}
- bx r0
- .align 2, 0
-_08080554: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
- thumb_func_end sub_80804AC
-
- thumb_func_start sub_8080558
-sub_8080558: @ 8080558
- push {lr}
- ldr r0, _08080570 @ =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- bne _08080578
- ldr r0, _08080574 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
- bl SetMainCallback2
- b _080805A6
- .align 2, 0
-_08080570: .4byte gTrainerBattleOpponent_A
-_08080574: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
-_08080578:
- ldr r0, _0808058C @ =gBattleOutcome
- ldrb r0, [r0]
- bl IsPlayerDefeated
- cmp r0, 0x1
- bne _08080594
- ldr r0, _08080590 @ =c2_whiteout
- bl SetMainCallback2
- b _080805A6
- .align 2, 0
-_0808058C: .4byte gBattleOutcome
-_08080590: .4byte c2_whiteout
-_08080594:
- ldr r0, _080805AC @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
- bl SetMainCallback2
- bl sub_80803FC
- bl sub_810CDE8
- bl sub_81138F8
-_080805A6:
- pop {r0}
- bx r0
- .align 2, 0
-_080805AC: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
- thumb_func_end sub_8080558
-
- thumb_func_start sub_80805B0
-sub_80805B0: @ 80805B0
- push {lr}
- ldr r1, _080805CC @ =gBattleTypeFlags
- movs r0, 0x8
- str r0, [r1]
- ldr r1, _080805D0 @ =gMain
- ldr r0, _080805D4 @ =sub_8080558
- str r0, [r1, 0x8]
- bl sub_807F868
- bl ScriptContext1_Stop
- pop {r0}
- bx r0
- .align 2, 0
-_080805CC: .4byte gBattleTypeFlags
-_080805D0: .4byte gMain
-_080805D4: .4byte sub_8080558
- thumb_func_end sub_80805B0
-
- thumb_func_start sub_80805D8
-sub_80805D8: @ 80805D8
- push {lr}
- bl sub_80806D8
- bl ShowFieldMessage
- pop {r0}
- bx r0
- thumb_func_end sub_80805D8
-
- thumb_func_start BattleSetup_GetScriptAddrAfterBattle
-BattleSetup_GetScriptAddrAfterBattle: @ 80805E8
- push {lr}
- ldr r0, _080805F8 @ =gUnknown_20386C4
- ldr r0, [r0]
- cmp r0, 0
- bne _080805F4
- ldr r0, _080805FC @ =gUnknown_81C555B
-_080805F4:
- pop {r1}
- bx r1
- .align 2, 0
-_080805F8: .4byte gUnknown_20386C4
-_080805FC: .4byte gUnknown_81C555B
- thumb_func_end BattleSetup_GetScriptAddrAfterBattle
-
- thumb_func_start BattleSetup_GetTrainerPostBattleScript
-BattleSetup_GetTrainerPostBattleScript: @ 8080600
- push {lr}
- ldr r0, _08080610 @ =gUnknown_20386C8
- ldr r0, [r0]
- cmp r0, 0
- bne _0808060C
- ldr r0, _08080614 @ =gUnknown_81C555B
-_0808060C:
- pop {r1}
- bx r1
- .align 2, 0
-_08080610: .4byte gUnknown_20386C8
-_08080614: .4byte gUnknown_81C555B
- thumb_func_end BattleSetup_GetTrainerPostBattleScript
-
- thumb_func_start sub_8080618
-sub_8080618: @ 8080618
- push {lr}
- bl sub_8080734
- bl ShowFieldMessage
- pop {r0}
- bx r0
- thumb_func_end sub_8080618
-
- thumb_func_start sub_8080628
-sub_8080628: @ 8080628
- push {lr}
- ldr r0, _08080660 @ =gUnknown_203ADFA
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080806BE
- ldr r0, _08080664 @ =gUnknown_20386AC
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _080806BE
- cmp r0, 0x8
- beq _080806BE
- ldr r0, _08080668 @ =gTrainerBattleOpponent_A
- ldrh r0, [r0]
- bl GetTrainerEncounterMusicId
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD
- bhi _080806B8
- lsls r0, 2
- ldr r1, _0808066C @ =_08080670
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08080660: .4byte gUnknown_203ADFA
-_08080664: .4byte gUnknown_20386AC
-_08080668: .4byte gTrainerBattleOpponent_A
-_0808066C: .4byte _08080670
- .align 2, 0
-_08080670:
- .4byte _080806AE
- .4byte _080806A8
- .4byte _080806A8
- .4byte _080806B8
- .4byte _080806AE
- .4byte _080806AE
- .4byte _080806B8
- .4byte _080806B8
- .4byte _080806AE
- .4byte _080806A8
- .4byte _080806AE
- .4byte _080806AE
- .4byte _080806AE
- .4byte _080806AE
-_080806A8:
- movs r0, 0x8E
- lsls r0, 1
- b _080806BA
-_080806AE:
- ldr r0, _080806B4 @ =0x0000011d
- b _080806BA
- .align 2, 0
-_080806B4: .4byte 0x0000011d
-_080806B8:
- ldr r0, _080806C4 @ =0x0000011b
-_080806BA:
- bl PlayNewMapMusic
-_080806BE:
- pop {r0}
- bx r0
- .align 2, 0
-_080806C4: .4byte 0x0000011b
- thumb_func_end sub_8080628
-
- thumb_func_start sub_80806C8
-sub_80806C8: @ 80806C8
- push {lr}
- cmp r0, 0
- bne _080806D0
- ldr r0, _080806D4 @ =gString_Dummy
-_080806D0:
- pop {r1}
- bx r1
- .align 2, 0
-_080806D4: .4byte gString_Dummy
- thumb_func_end sub_80806C8
-
- thumb_func_start sub_80806D8
-sub_80806D8: @ 80806D8
- push {lr}
- ldr r0, _080806E8 @ =gUnknown_20386B4
- ldr r0, [r0]
- bl sub_80806C8
- pop {r1}
- bx r1
- .align 2, 0
-_080806E8: .4byte gUnknown_20386B4
- thumb_func_end sub_80806D8
-
- thumb_func_start sub_80806EC
-sub_80806EC: @ 80806EC
- push {r4,lr}
- ldr r0, _08080708 @ =gUnknown_20386B8
- ldr r0, [r0]
- ldr r4, _0808070C @ =gStringVar4
- bl sub_80806C8
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08080708: .4byte gUnknown_20386B8
-_0808070C: .4byte gStringVar4
- thumb_func_end sub_80806EC
-
- thumb_func_start sub_8080710
-sub_8080710: @ 8080710
- push {r4,lr}
- ldr r4, _0808072C @ =gStringVar4
- ldr r0, _08080730 @ =gUnknown_20386BC
- ldr r0, [r0]
- bl sub_80806C8
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0808072C: .4byte gStringVar4
-_08080730: .4byte gUnknown_20386BC
- thumb_func_end sub_8080710
-
- thumb_func_start sub_8080734
-sub_8080734: @ 8080734
- push {lr}
- ldr r0, _08080744 @ =gUnknown_20386C0
- ldr r0, [r0]
- bl sub_80806C8
- pop {r1}
- bx r1
- .align 2, 0
-_08080744: .4byte gUnknown_20386C0
- thumb_func_end sub_8080734
-
- .align 2, 0 @ Don't pad with nop.