summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/field_control_avatar.s2512
-rw-r--r--asm/party_menu.s2
2 files changed, 1 insertions, 2513 deletions
diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s
deleted file mode 100644
index c299d6633..000000000
--- a/asm/field_control_avatar.s
+++ /dev/null
@@ -1,2512 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start FieldClearPlayerInput
-FieldClearPlayerInput: @ 809BEDC
- push {r4,r5,lr}
- movs r1, 0x2
- negs r1, r1
- movs r3, 0x3
- negs r3, r3
- movs r4, 0x5
- negs r4, r4
- movs r5, 0x9
- negs r5, r5
- movs r2, 0
- strb r2, [r0]
- ldrb r2, [r0, 0x1]
- ands r1, r2
- ands r1, r3
- ands r1, r4
- ands r1, r5
- strb r1, [r0, 0x1]
- movs r1, 0
- strb r1, [r0, 0x2]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end FieldClearPlayerInput
-
- thumb_func_start FieldGetPlayerInput
-@ void FieldGetPlayerInput(overworld_input_data *input_data, char buttons_new, char buttons_held)
-FieldGetPlayerInput: @ 809BF08
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- ldr r0, =gPlayerAvatar
- ldrb r6, [r0, 0x3]
- ldrb r0, [r0, 0x2]
- mov r9, r0
- bl cur_mapdata_block_role_at_player_pos
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsForcedMovementTile
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r6, 0x2
- bne _0809BF3C
- cmp r7, 0
- beq _0809BF40
-_0809BF3C:
- cmp r6, 0
- bne _0809BFA2
-_0809BF40:
- bl GetPlayerSpeed
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- beq _0809BF8C
- movs r0, 0x8
- ands r0, r5
- cmp r0, 0
- beq _0809BF5C
- ldrb r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
-_0809BF5C:
- movs r0, 0x4
- ands r0, r5
- cmp r0, 0
- beq _0809BF6C
- ldrb r0, [r4]
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r4]
-_0809BF6C:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _0809BF7C
- ldrb r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4]
-_0809BF7C:
- movs r0, 0x2
- ands r0, r5
- cmp r0, 0
- beq _0809BF8C
- ldrb r0, [r4]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r4]
-_0809BF8C:
- movs r0, 0xF0
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _0809BFA2
- ldrb r0, [r4]
- movs r1, 0x10
- orrs r0, r1
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r4]
-_0809BFA2:
- cmp r7, 0
- bne _0809BFC8
- cmp r6, 0x2
- bne _0809BFB8
- mov r0, r9
- cmp r0, 0x2
- bne _0809BFB8
- ldrb r0, [r4]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r4]
-_0809BFB8:
- cmp r7, 0
- bne _0809BFC8
- cmp r6, 0x2
- bne _0809BFC8
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
-_0809BFC8:
- movs r0, 0x40
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _0809BFDC
- movs r0, 0x2
- b _0809C004
- .pool
-_0809BFDC:
- movs r0, 0x80
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _0809BFEA
- movs r0, 0x1
- b _0809C004
-_0809BFEA:
- movs r0, 0x20
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _0809BFF8
- movs r0, 0x3
- b _0809C004
-_0809BFF8:
- movs r0, 0x10
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _0809C006
- movs r0, 0x4
-_0809C004:
- strb r0, [r4, 0x2]
-_0809C006:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end FieldGetPlayerInput
-
- thumb_func_start sub_809C014
-@ int sub_809C014(overworld_input_data *input_data)
-sub_809C014: @ 809C014
- push {r4-r6,lr}
- sub sp, 0x8
- adds r5, r0, 0
- ldr r0, =gSpecialVar_LastTalked
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gSelectedEventObject
- strb r1, [r0]
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r6, r0, 24
- mov r4, sp
- mov r0, sp
- bl player_get_pos_to_and_height
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 16
- lsrs r4, r0, 16
- bl CheckForTrainersWantingBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809C14E
- bl mapheader_run_first_tag2_script_list_match
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809C14E
- ldrb r1, [r5]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809C070
- bl sub_809C89C
- cmp r0, 0x1
- beq _0809C14E
-_0809C070:
- ldrb r1, [r5]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0809C096
- movs r0, 0x5
- bl IncrementGameStat
- bl increment_var_x4026_on_birth_island_modulo_100
- mov r0, sp
- adds r1, r4, 0
- adds r2, r6, 0
- bl sub_809C8DC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809C14E
-_0809C096:
- ldrb r1, [r5]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809C0AE
- adds r0, r4, 0
- bl is_it_battle_time_3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809C14E
-_0809C0AE:
- ldrb r1, [r5]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0809C0D0
- ldrb r0, [r5, 0x2]
- cmp r0, r6
- bne _0809C0D0
- mov r0, sp
- adds r1, r4, 0
- adds r2, r6, 0
- bl mapheader_run_first_tag2_script_list_match_conditionally
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809C14E
-_0809C0D0:
- mov r4, sp
- mov r0, sp
- bl player_get_next_pos_and_height
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r1, [r5]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809C106
- mov r0, sp
- adds r1, r4, 0
- adds r2, r6, 0
- bl sub_809C1FC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809C14E
-_0809C106:
- ldrb r1, [r5]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0809C128
- ldrb r0, [r5, 0x2]
- cmp r0, r6
- bne _0809C128
- mov r0, sp
- adds r1, r4, 0
- adds r2, r6, 0
- bl map_warp_consider_2_to_inside
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809C14E
-_0809C128:
- ldrb r1, [r5]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809C13A
- bl sub_809C868
- cmp r0, 0x1
- beq _0809C14E
-_0809C13A:
- ldrb r1, [r5]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0809C15C
- movs r0, 0x6
- bl PlaySE
- bl ShowStartMenu
-_0809C14E:
- movs r0, 0x1
- b _0809C172
- .pool
-_0809C15C:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0809C170
- bl UseRegisteredKeyItemOnField
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809C14E
-_0809C170:
- movs r0, 0
-_0809C172:
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_809C014
-
- thumb_func_start player_get_pos_to_and_height
-player_get_pos_to_and_height: @ 809C17C
- push {r4,lr}
- adds r4, r0, 0
- adds r1, r4, 0x2
- bl PlayerGetDestCoords
- bl PlayerGetZCoord
- strb r0, [r4, 0x4]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end player_get_pos_to_and_height
-
- thumb_func_start player_get_next_pos_and_height
-player_get_next_pos_and_height: @ 809C194
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r1, r5, 0x2
- bl GetXYCoordsOneStepInFrontOfPlayer
- 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 MapGridGetZCoordAt
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _0809C1C6
- bl PlayerGetZCoord
-_0809C1C6:
- strb r0, [r5, 0x4]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end player_get_next_pos_and_height
-
- thumb_func_start cur_mapdata_block_role_at_player_pos
-cur_mapdata_block_role_at_player_pos: @ 809C1D0
- 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 r0, 16
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end cur_mapdata_block_role_at_player_pos
-
- thumb_func_start sub_809C1FC
-sub_809C1FC: @ 809C1FC
- push {r4,lr}
- lsls r2, 24
- lsrs r2, 24
- lsls r1, 24
- lsrs r1, 24
- bl TryGetScriptOnPressingA
- adds r4, r0, 0
- cmp r4, 0
- bne _0809C214
- movs r0, 0
- b _0809C24C
-_0809C214:
- ldr r0, =gUnknown_081F860D
- cmp r4, r0
- beq _0809C244
- ldr r0, =gUnknown_081F9553
- cmp r4, r0
- beq _0809C244
- ldr r0, =gUnknown_0823B4BB
- cmp r4, r0
- beq _0809C244
- ldr r0, =gUnknown_0823B589
- cmp r4, r0
- beq _0809C244
- ldr r0, =EventScript_2766A2
- cmp r4, r0
- beq _0809C244
- ldr r0, =EventScript_2766A6
- cmp r4, r0
- beq _0809C244
- ldr r0, =EventScript_271D92
- cmp r4, r0
- beq _0809C244
- movs r0, 0x5
- bl PlaySE
-_0809C244:
- adds r0, r4, 0
- bl ScriptContext1_SetupScript
- movs r0, 0x1
-_0809C24C:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_809C1FC
-
- thumb_func_start TryGetScriptOnPressingA
-TryGetScriptOnPressingA: @ 809C270
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- mov r8, r5
- lsls r2, 24
- lsrs r4, r2, 24
- adds r7, r4, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl TryGetEventObjectScript
- cmp r0, 0
- bne _0809C2BC
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl TryGetInvisibleEventObjectScript
- cmp r0, 0
- bne _0809C2BC
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl TryGetMetatileBehaviorScript
- cmp r0, 0
- bne _0809C2BC
- adds r0, r6, 0
- mov r1, r8
- adds r2, r7, 0
- bl TryGetFieldMoveScript
- cmp r0, 0
- bne _0809C2BC
- movs r0, 0
-_0809C2BC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end TryGetScriptOnPressingA
-
- thumb_func_start sub_809C2C8
-sub_809C2C8: @ 809C2C8
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r2, 24
- lsrs r6, r2, 24
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsCounter
- lsls r0, 24
- cmp r0, 0
- bne _0809C2F0
- ldrh r0, [r4]
- ldrh r1, [r4, 0x2]
- b _0809C30E
-_0809C2F0:
- ldr r1, =gDirectionToVectors
- lsls r2, r6, 3
- adds r0, r2, r1
- ldr r3, [r0]
- ldrh r0, [r4]
- adds r0, r3
- lsls r0, 16
- lsrs r0, 16
- adds r1, 0x4
- adds r2, r1
- ldr r2, [r2]
- ldrh r1, [r4, 0x2]
- adds r1, r2
- lsls r1, 16
- lsrs r1, 16
-_0809C30E:
- ldrb r2, [r4, 0x4]
- bl GetEventObjectIdByXYZ
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x10
- beq _0809C32E
- ldr r1, =gEventObjects
- lsls r2, r3, 3
- adds r0, r2, r3
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x8]
- adds r5, r1, 0
- cmp r0, 0xFF
- bne _0809C33C
-_0809C32E:
- movs r0, 0
- b _0809C36E
- .pool
-_0809C33C:
- movs r4, 0
- ldr r1, =gLinkPlayerEventObjects
-_0809C340:
- ldrb r0, [r1]
- cmp r0, 0x1
- bne _0809C34C
- ldrb r0, [r1, 0x2]
- cmp r0, r3
- beq _0809C32E
-_0809C34C:
- adds r1, 0x4
- adds r4, 0x1
- cmp r4, 0x3
- ble _0809C340
- ldr r0, =gSelectedEventObject
- strb r3, [r0]
- ldr r1, =gSpecialVar_LastTalked
- adds r0, r2, r3
- lsls r0, 2
- adds r0, r5
- ldrb r0, [r0, 0x8]
- strh r0, [r1]
- ldr r0, =gSpecialVar_Facing
- strh r6, [r0]
- adds r0, r3, 0
- bl GetEventObjectScriptPointerByEventObjectId
-_0809C36E:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_809C2C8
-
- thumb_func_start TryGetEventObjectScript
-TryGetEventObjectScript: @ 809C384
- push {r4-r7,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- ldrh r0, [r5]
- ldrh r1, [r5, 0x2]
- ldrb r2, [r5, 0x4]
- bl GetEventObjectIdByXYZ
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x10
- beq _0809C3B4
- ldr r1, =gEventObjects
- lsls r2, r4, 3
- adds r0, r2, r4
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x8]
- adds r3, r1, 0
- cmp r0, 0xFF
- bne _0809C40C
-_0809C3B4:
- adds r0, r6, 0
- bl MetatileBehavior_IsCounter
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C400
- ldr r1, =gDirectionToVectors
- lsls r2, r7, 3
- adds r0, r2, r1
- ldr r3, [r0]
- ldrh r0, [r5]
- adds r0, r3
- lsls r0, 16
- lsrs r0, 16
- adds r1, 0x4
- adds r2, r1
- ldr r2, [r2]
- ldrh r1, [r5, 0x2]
- adds r1, r2
- lsls r1, 16
- lsrs r1, 16
- ldrb r2, [r5, 0x4]
- bl GetEventObjectIdByXYZ
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x10
- beq _0809C400
- ldr r1, =gEventObjects
- lsls r2, r4, 3
- adds r0, r2, r4
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x8]
- adds r3, r1, 0
- cmp r0, 0xFF
- bne _0809C40C
-_0809C400:
- movs r0, 0
- b _0809C44E
- .pool
-_0809C40C:
- ldr r0, =gSelectedEventObject
- strb r4, [r0]
- ldr r1, =gSpecialVar_LastTalked
- adds r0, r2, r4
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x8]
- strh r0, [r1]
- ldr r0, =gSpecialVar_Facing
- strh r7, [r0]
- bl InTrainerHill
- cmp r0, 0x1
- bne _0809C43C
- bl sub_81D62AC
- b _0809C442
- .pool
-_0809C43C:
- adds r0, r4, 0
- bl GetEventObjectScriptPointerByEventObjectId
-_0809C442:
- adds r1, r0, 0
- ldr r0, =gSpecialVar_LastTalked
- ldrb r0, [r0]
- bl GetRamScript
- adds r1, r0, 0
-_0809C44E:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end TryGetEventObjectScript
-
- 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
- ldr r4, =gMapHeader
- ldrh r1, [r0]
- subs r1, 0x7
- lsls r1, 16
- lsrs r1, 16
- ldrh r2, [r0, 0x2]
- subs r2, 0x7
- lsls r2, 16
- lsrs r2, 16
- ldrb r3, [r0, 0x4]
- adds r0, r4, 0
- bl FindInvisibleEventObjectByPosition
- cmp r0, 0
- beq _0809C4CC
- ldr r2, [r0, 0x8]
- cmp r2, 0
- bne _0809C490
- ldr r0, =EventScript_TestSignpostMsg
- b _0809C532
- .pool
-_0809C490:
- ldrb r0, [r0, 0x5]
- cmp r0, 0x8
- bhi _0809C530
- lsls r0, 2
- ldr r1, =_0809C4A4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0809C4A4:
- .4byte _0809C530
- .4byte _0809C4C8
- .4byte _0809C4D0
- .4byte _0809C4D6
- .4byte _0809C4DC
- .4byte _0809C4E2
- .4byte _0809C4E2
- .4byte _0809C4E2
- .4byte _0809C510
-_0809C4C8:
- cmp r5, 0x2
- beq _0809C530
-_0809C4CC:
- movs r0, 0
- b _0809C532
-_0809C4D0:
- cmp r5, 0x1
- beq _0809C530
- b _0809C4CC
-_0809C4D6:
- cmp r5, 0x4
- beq _0809C530
- b _0809C4CC
-_0809C4DC:
- cmp r5, 0x3
- beq _0809C530
- b _0809C4CC
-_0809C4E2:
- ldr r1, =gSpecialVar_0x8004
- lsrs r0, r2, 16
- movs r3, 0xFA
- lsls r3, 1
- adds r0, r3
- strh r0, [r1]
- ldr r0, =gSpecialVar_0x8005
- strh r2, [r0]
- ldrh r0, [r1]
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809C4CC
- ldr r0, =EventScript_271CB7
- b _0809C532
- .pool
-_0809C510:
- cmp r5, 0x2
- bne _0809C4CC
- ldr r0, =gSpecialVar_0x8004
- strh r2, [r0]
- bl sub_80E9680
- lsls r0, 24
- cmp r0, 0
- beq _0809C4CC
- ldr r0, =EventScript_2759F1
- b _0809C532
- .pool
-_0809C530:
- adds r0, r2, 0
-_0809C532:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end TryGetInvisibleEventObjectScript
-
- thumb_func_start TryGetMetatileBehaviorScript
-TryGetMetatileBehaviorScript: @ 809C538
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl MetatileBehavior_IsPlayerFacingTVScreen
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C55C
- ldr r0, =EventScript_27EE0B
- b _0809C7E4
- .pool
-_0809C55C:
- adds r0, r5, 0
- bl MetatileBehavior_IsPC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C574
- ldr r0, =EventScript_271D92
- b _0809C7E4
- .pool
-_0809C574:
- adds r0, r5, 0
- bl MetatileBehavior_IsClosedSootopolisGymDoor
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C58C
- ldr r0, =SootopolisCity_EventScript_1E615D
- b _0809C7E4
- .pool
-_0809C58C:
- adds r0, r5, 0
- bl MetatileBehavior_IsUnknownClosedDoor
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C5A4
- ldr r0, =SkyPillar_Outside_EventScript_2393F9
- b _0809C7E4
- .pool
-_0809C5A4:
- adds r0, r5, 0
- bl MetatileBehavior_IsCableBoxResults1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C5B4
- b _0809C6E4
-_0809C5B4:
- adds r0, r5, 0
- bl MetatileBehavior_IsPokeblockFeeder
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C5CC
- ldr r0, =EventScript_2A4BAC
- b _0809C7E4
- .pool
-_0809C5CC:
- adds r0, r5, 0
- bl MetatileBehavior_IsTrickHousePuzzleDoor
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C5E4
- ldr r0, =Route110_TrickHouseEntrance_EventScript_26A22A
- b _0809C7E4
- .pool
-_0809C5E4:
- adds r0, r5, 0
- bl MetatileBehavior_IsRegionMap
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C5FC
- ldr r0, =EventScript_27208F
- b _0809C7E4
- .pool
-_0809C5FC:
- adds r0, r5, 0
- bl MetatileBehavior_IsRunningShoesInstruction
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C614
- ldr r0, =EventScript_292DE5
- b _0809C7E4
- .pool
-_0809C614:
- adds r0, r5, 0
- bl MetatileBehavior_IsPictureBookShelf
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C62C
- ldr r0, =EventScript_2725CE
- b _0809C7E4
- .pool
-_0809C62C:
- adds r0, r5, 0
- bl MetatileBehavior_IsBookShelf
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C644
- ldr r0, =EventScript_2725D7
- b _0809C7E4
- .pool
-_0809C644:
- adds r0, r5, 0
- bl MetatileBehavior_IsPokeCenterBookShelf
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C65C
- ldr r0, =EventScript_2725E0
- b _0809C7E4
- .pool
-_0809C65C:
- adds r0, r5, 0
- bl MetatileBehavior_IsVase
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C674
- ldr r0, =EventScript_2725E9
- b _0809C7E4
- .pool
-_0809C674:
- adds r0, r5, 0
- bl MetatileBehavior_IsTrashCan
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C68C
- ldr r0, =EventScript_2725F2
- b _0809C7E4
- .pool
-_0809C68C:
- adds r0, r5, 0
- bl MetatileBehavior_IsShopShelf
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C6A4
- ldr r0, =EventScript_2725FB
- b _0809C7E4
- .pool
-_0809C6A4:
- adds r0, r5, 0
- bl MetatileBehavior_IsBlueprint
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C6BC
- ldr r0, =EventScript_272604
- b _0809C7E4
- .pool
-_0809C6BC:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MetatileBehavior_IsPlayerFacingWirelessBoxResults
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C6D4
- ldr r0, =OldaleTown_PokemonCenter_2F_EventScript_277B8A
- b _0809C7E4
- .pool
-_0809C6D4:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MetatileBehavior_IsCableBoxResults2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C6EC
-_0809C6E4:
- ldr r0, =gUnknown_08277365
- b _0809C7E4
- .pool
-_0809C6EC:
- adds r0, r5, 0
- bl MetatileBehavior_IsQuestionnaire
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C704
- ldr r0, =EventScript_27381B
- b _0809C7E4
- .pool
-_0809C704:
- adds r0, r5, 0
- bl MetatileBehavior_IsTrainerHillTimer
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C71C
- ldr r0, =TrainerHill_1F_EventScript_2C8393
- b _0809C7E4
- .pool
-_0809C71C:
- movs r4, 0x4
- ldrsb r4, [r6, r4]
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _0809C7D0
- adds r0, r5, 0
- bl MetatileBehavior_IsSecretBasePC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C74C
- ldr r0, =gUnknown_0823B4BB
- b _0809C7E4
- .pool
-_0809C74C:
- adds r0, r5, 0
- bl MetatileBehavior_IsSecretBaseRegisterPC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C764
- ldr r0, =gUnknown_0823B589
- b _0809C7E4
- .pool
-_0809C764:
- adds r0, r5, 0
- bl MetatileBehavior_IsSecretBaseSandOrnament
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C77C
- ldr r0, =gUnknown_0823B684
- b _0809C7E4
- .pool
-_0809C77C:
- adds r0, r5, 0
- bl MetatileBehavior_IsSecretBaseTvOrShield
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C794
- ldr r0, =gUnknown_0823B68C
- b _0809C7E4
- .pool
-_0809C794:
- adds r0, r5, 0
- bl MetatileBehavior_IsMB_C6
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C7A8
- bl sub_80EB56C
- b _0809C7E2
-_0809C7A8:
- adds r0, r5, 0
- bl MetatileBehavior_IsLargeMatCenter
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C7BC
- bl sub_80EB9E0
- b _0809C7E2
-_0809C7BC:
- adds r0, r5, 0
- bl MetatileBehavior_IsSecretBaseLargeMatEdge
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C7E2
- bl sub_80EBB28
- b _0809C7E2
-_0809C7D0:
- adds r0, r5, 0
- bl MetatileBehavior_IsSecretBasePoster
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C7E2
- bl sub_80EB498
-_0809C7E2:
- movs r0, 0
-_0809C7E4:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end TryGetMetatileBehaviorScript
-
- thumb_func_start TryGetFieldMoveScript
-TryGetFieldMoveScript: @ 809C7EC
- push {r4,lr}
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r0, =0x0000086b
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C824
- bl PartyHasMonWithSurf
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C824
- bl IsPlayerFacingSurfableFishableWater
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C824
- ldr r0, =EventScript_271EA0
- b _0809C862
- .pool
-_0809C824:
- adds r0, r4, 0
- bl MetatileBehavior_IsWaterfall
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C860
- ldr r0, =0x0000086e
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C858
- bl IsPlayerSurfingNorth
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C858
- ldr r0, =EventScript_290A49
- b _0809C862
- .pool
-_0809C858:
- ldr r0, =EventScript_290A83
- b _0809C862
- .pool
-_0809C860:
- movs r0, 0
-_0809C862:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end TryGetFieldMoveScript
-
- thumb_func_start sub_809C868
-sub_809C868: @ 809C868
- push {lr}
- ldr r0, =0x0000086d
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0809C894
- bl sub_809D1E8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0809C894
- ldr r0, =EventScript_290B0F
- bl ScriptContext1_SetupScript
- movs r0, 0x1
- b _0809C896
- .pool
-_0809C894:
- movs r0, 0
-_0809C896:
- pop {r1}
- bx r1
- thumb_func_end sub_809C868
-
- thumb_func_start sub_809C89C
-sub_809C89C: @ 809C89C
- push {lr}
- ldr r0, =0x0000086d
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0809C8D4
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- cmp r0, 0x5
- bne _0809C8D4
- bl sub_809D1E8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C8D4
- ldr r0, =EventScript_290B5A
- bl ScriptContext1_SetupScript
- movs r0, 0x1
- b _0809C8D6
- .pool
-_0809C8D4:
- movs r0, 0
-_0809C8D6:
- pop {r1}
- bx r1
- thumb_func_end sub_809C89C
-
- thumb_func_start sub_809C8DC
-sub_809C8DC: @ 809C8DC
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r1, 16
- lsrs r4, r1, 16
- adds r6, r4, 0
- bl mapheader_trigger_activate_at__run_now
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809C92E
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_809CC9C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809C92E
- adds r0, r4, 0
- bl sub_809C96C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809C92E
- adds r0, r6, 0
- bl per_step_scripts
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809C92E
- bl UpdateRepelCounter
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809C92E
- movs r0, 0
- b _0809C930
-_0809C92E:
- movs r0, 0x1
-_0809C930:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_809C8DC
-
- thumb_func_start mapheader_trigger_activate_at__run_now
-mapheader_trigger_activate_at__run_now: @ 809C938
- push {r4,lr}
- ldr r4, =gMapHeader
- ldrh r1, [r0]
- subs r1, 0x7
- lsls r1, 16
- lsrs r1, 16
- ldrh r2, [r0, 0x2]
- subs r2, 0x7
- lsls r2, 16
- lsrs r2, 16
- ldrb r3, [r0, 0x4]
- adds r0, r4, 0
- bl mapheader_trigger_activate_at
- cmp r0, 0
- beq _0809C964
- bl ScriptContext1_SetupScript
- movs r0, 0x1
- b _0809C966
- .pool
-_0809C964:
- movs r0, 0
-_0809C966:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end mapheader_trigger_activate_at__run_now
-
- thumb_func_start sub_809C96C
-sub_809C96C: @ 809C96C
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsCrackedFloorHole
- lsls r0, 24
- cmp r0, 0
- beq _0809C988
- ldr r0, =gUnknown_082A8337
- b _0809C996
- .pool
-_0809C988:
- adds r0, r4, 0
- bl MetatileBehavior_IsBattlePyramidWarp
- lsls r0, 24
- cmp r0, 0
- beq _0809C9A4
- ldr r0, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8
-_0809C996:
- bl ScriptContext1_SetupScript
- movs r0, 0x1
- b _0809C9EA
- .pool
-_0809C9A4:
- adds r0, r4, 0
- bl MetatileBehavior_IsSecretBaseGlitterMat
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C9B8
- bl sub_80FA9D0
- b _0809C9E8
-_0809C9B8:
- adds r0, r4, 0
- bl MetatileBehavior_IsSecretBaseSoundMat
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809C9E8
- 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 MapGridGetMetatileIdAt
- lsls r0, 16
- asrs r0, 16
- bl sub_80FA970
-_0809C9E8:
- movs r0, 0
-_0809C9EA:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809C96C
-
- thumb_func_start per_step_scripts
-per_step_scripts: @ 809C9F4
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- bl InUnionRoom
- cmp r0, 0x1
- bne _0809CA04
- b _0809CB24
-_0809CA04:
- bl IncrementRematchStepCounter
- bl AdjustFriendship_step
- bl sub_81D4998
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _0809CAF8
- lsls r0, r4, 24
- lsrs r0, 24
- bl MetatileBehavior_IsForcedMovementTile
- lsls r0, 24
- cmp r0, 0
- bne _0809CAF8
- bl overworld_poison_step
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809CA48
- ldr r0, =EventScript_2736BC
- bl ScriptContext1_SetupScript
- b _0809CB28
- .pool
-_0809CA48:
- bl DoEggActions_CheckHatch
- lsls r0, 24
- cmp r0, 0
- beq _0809CA64
- movs r0, 0xD
- bl IncrementGameStat
- ldr r0, =Route117_PokemonDayCare_EventScript_291FC0
- bl ScriptContext1_SetupScript
- b _0809CB28
- .pool
-_0809CA64:
- bl sub_813B3B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809CA7C
- ldr r0, =gUnknown_08273D1F
- bl ScriptContext1_SetupScript
- b _0809CB28
- .pool
-_0809CA7C:
- bl ShouldDoBrailleRegicePuzzle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809CA94
- ldr r0, =IslandCave_EventScript_238EAF
- bl ScriptContext1_SetupScript
- b _0809CB28
- .pool
-_0809CA94:
- bl is_tile_that_overrides_player_control
- cmp r0, 0x1
- bne _0809CAA8
- ldr r0, =MauvilleCity_EventScript_1DF7BA
- bl ScriptContext1_SetupScript
- b _0809CB28
- .pool
-_0809CAA8:
- bl sub_8138120
- cmp r0, 0x1
- bne _0809CABC
- ldr r0, =Route119_EventScript_1F49EC
- bl ScriptContext1_SetupScript
- b _0809CB28
- .pool
-_0809CABC:
- bl sub_8138168
- cmp r0, 0x1
- bne _0809CAD0
- ldr r0, =LittlerootTown_ProfessorBirchsLab_EventScript_1FA4D6
- bl ScriptContext1_SetupScript
- b _0809CB28
- .pool
-_0809CAD0:
- bl sub_81381B0
- cmp r0, 0x1
- bne _0809CAE4
- ldr r0, =RustboroCity_Gym_EventScript_21307B
- bl ScriptContext1_SetupScript
- b _0809CB28
- .pool
-_0809CAE4:
- bl sub_81381F8
- cmp r0, 0x1
- bne _0809CAF8
- ldr r0, =MossdeepCity_SpaceCenter_2F_EventScript_224175
- bl ScriptContext1_SetupScript
- b _0809CB28
- .pool
-_0809CAF8:
- bl SafariZoneTakeStep
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809CB28
- movs r0, 0x1
- bl CountSSTidalStep
- cmp r0, 0x1
- bne _0809CB1C
- ldr r0, =SSTidalCorridor_EventScript_23C050
- bl ScriptContext1_SetupScript
- b _0809CB28
- .pool
-_0809CB1C:
- bl sub_8196034
- cmp r0, 0
- bne _0809CB28
-_0809CB24:
- movs r0, 0
- b _0809CB2A
-_0809CB28:
- movs r0, 0x1
-_0809CB2A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end per_step_scripts
-
- thumb_func_start sub_809CB30
-sub_809CB30: @ 809CB30
- push {lr}
- ldr r0, =0x0000402a
- movs r1, 0
- bl VarSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809CB30
-
- thumb_func_start AdjustFriendship_step
-AdjustFriendship_step: @ 809CB44
- push {r4,r5,lr}
- ldr r0, =0x0000402a
- bl GetVarPointer
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- ldrh r1, [r0]
- movs r2, 0x7F
- ands r1, r2
- strh r1, [r0]
- cmp r1, 0
- bne _0809CB72
- ldr r5, =gPlayerParty
- movs r4, 0x5
-_0809CB62:
- adds r0, r5, 0
- movs r1, 0x5
- bl AdjustFriendship
- adds r5, 0x64
- subs r4, 0x1
- cmp r4, 0
- bge _0809CB62
-_0809CB72:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AdjustFriendship_step
-
- thumb_func_start ResetPoisonStepCounter
-ResetPoisonStepCounter: @ 809CB80
- push {lr}
- ldr r0, =0x0000402b
- movs r1, 0
- bl VarSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end ResetPoisonStepCounter
-
- thumb_func_start overworld_poison_step
-overworld_poison_step: @ 809CB94
- push {lr}
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- cmp r0, 0x9
- beq _0809CBD4
- ldr r0, =0x0000402b
- bl GetVarPointer
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- ldrh r1, [r0]
- movs r2, 0x3
- ands r1, r2
- strh r1, [r0]
- cmp r1, 0
- bne _0809CBD4
- bl overworld_poison
- cmp r0, 0x1
- beq _0809CBD4
- cmp r0, 0x1
- ble _0809CBD4
- cmp r0, 0x2
- bne _0809CBD4
- movs r0, 0x1
- b _0809CBD6
- .pool
-_0809CBD4:
- movs r0, 0
-_0809CBD6:
- pop {r1}
- bx r1
- thumb_func_end overworld_poison_step
-
- thumb_func_start prev_quest_postbuffer_cursor_backup_reset
-prev_quest_postbuffer_cursor_backup_reset: @ 809CBDC
- ldr r1, =gUnknown_020375D4
- movs r0, 0
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end prev_quest_postbuffer_cursor_backup_reset
-
- thumb_func_start is_it_battle_time_3
-is_it_battle_time_3: @ 809CBE8
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r7, r4, 0
- ldr r6, =gUnknown_020375D4
- ldrb r0, [r6]
- cmp r0, 0x3
- bhi _0809CC0C
- adds r0, 0x1
- strb r0, [r6]
- ldr r0, =gUnknown_020375D6
- strh r4, [r0]
- movs r0, 0
- b _0809CC30
- .pool
-_0809CC0C:
- ldr r5, =gUnknown_020375D6
- ldrh r1, [r5]
- adds r0, r4, 0
- bl StandardWildEncounter
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809CC28
- strh r4, [r5]
- movs r0, 0
- b _0809CC30
- .pool
-_0809CC28:
- movs r0, 0
- strb r0, [r6]
- strh r7, [r5]
- movs r0, 0x1
-_0809CC30:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end is_it_battle_time_3
-
- thumb_func_start mapheader_run_first_tag2_script_list_match_conditionally
-mapheader_run_first_tag2_script_list_match_conditionally: @ 809CC38
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gMapHeader
- mov r8, r0
- adds r1, r7, 0
- bl map_warp_check_packed
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl is_non_stair_warp_tile
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809CC90
- lsls r0, r6, 24
- asrs r4, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _0809CC90
- bl StoreInitialPlayerAvatarState
- mov r0, r8
- adds r1, r4, 0
- adds r2, r7, 0
- bl sub_809CEB0
- bl sub_80AF734
- movs r0, 0x1
- b _0809CC92
- .pool
-_0809CC90:
- movs r0, 0
-_0809CC92:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end mapheader_run_first_tag2_script_list_match_conditionally
-
- thumb_func_start sub_809CC9C
-sub_809CC9C: @ 809CC9C
- push {r4-r7,lr}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- ldr r7, =gMapHeader
- adds r0, r7, 0
- adds r1, r6, 0
- bl map_warp_check_packed
- lsls r0, 24
- asrs r4, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _0809CD8A
- adds r0, r5, 0
- bl is_warp_tile
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809CD8A
- bl StoreInitialPlayerAvatarState
- adds r0, r7, 0
- adds r1, r4, 0
- adds r2, r6, 0
- bl sub_809CEB0
- lsls r0, r5, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsEscalator
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809CCF8
- adds r0, r4, 0
- bl sub_80AF80C
- movs r0, 0x1
- b _0809CD8C
- .pool
-_0809CCF8:
- adds r0, r4, 0
- bl MetatileBehavior_IsLavaridgeB1FWarp
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809CD0E
- bl sub_80AF828
- movs r0, 0x1
- b _0809CD8C
-_0809CD0E:
- adds r0, r4, 0
- bl MetatileBehavior_IsLavaridge1FWarp
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809CD24
- bl sub_80AF838
- movs r0, 0x1
- b _0809CD8C
-_0809CD24:
- adds r0, r4, 0
- bl MetatileBehavior_IsAquaHideoutWarp
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809CD3A
- bl sub_80AF848
- movs r0, 0x1
- b _0809CD8C
-_0809CD3A:
- adds r0, r4, 0
- bl MetatileBehavior_IsWarpOrBridge
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809CD50
- bl sub_80B0268
- movs r0, 0x1
- b _0809CD8C
-_0809CD50:
- adds r0, r4, 0
- bl MetatileBehavior_IsMtPyreHole
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809CD6C
- ldr r0, =gUnknown_082A8350
- bl ScriptContext1_SetupScript
- movs r0, 0x1
- b _0809CD8C
- .pool
-_0809CD6C:
- adds r0, r4, 0
- bl MetatileBehavior_IsMossdeepGymWarp
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809CD82
- bl sub_80AF87C
- movs r0, 0x1
- b _0809CD8C
-_0809CD82:
- bl sub_80AF734
- movs r0, 0x1
- b _0809CD8C
-_0809CD8A:
- movs r0, 0
-_0809CD8C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809CC9C
-
- thumb_func_start is_warp_tile
-is_warp_tile: @ 809CD94
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsWarpDoor
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809CE2A
- adds r0, r4, 0
- bl MetatileBehavior_IsLadder
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809CE2A
- adds r0, r4, 0
- bl MetatileBehavior_IsEscalator
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809CE2A
- adds r0, r4, 0
- bl MetatileBehavior_IsNonAnimDoor
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809CE2A
- adds r0, r4, 0
- bl MetatileBehavior_IsLavaridgeB1FWarp
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809CE2A
- adds r0, r4, 0
- bl MetatileBehavior_IsLavaridge1FWarp
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809CE2A
- adds r0, r4, 0
- bl MetatileBehavior_IsAquaHideoutWarp
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809CE2A
- adds r0, r4, 0
- bl MetatileBehavior_IsMtPyreHole
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809CE2A
- adds r0, r4, 0
- bl MetatileBehavior_IsMossdeepGymWarp
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809CE2A
- adds r0, r4, 0
- bl MetatileBehavior_IsWarpOrBridge
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809CE2A
- movs r0, 0
- b _0809CE2C
-_0809CE2A:
- movs r0, 0x1
-_0809CE2C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end is_warp_tile
-
- thumb_func_start is_non_stair_warp_tile
-is_non_stair_warp_tile: @ 809CE34
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r1, 24
- adds r2, r1, 0
- cmp r1, 0x2
- beq _0809CE58
- cmp r1, 0x2
- bgt _0809CE4E
- cmp r1, 0x1
- beq _0809CE62
- b _0809CE84
-_0809CE4E:
- cmp r2, 0x3
- beq _0809CE6C
- cmp r2, 0x4
- beq _0809CE76
- b _0809CE84
-_0809CE58:
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsNorthArrowWarp
- b _0809CE7E
-_0809CE62:
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsSouthArrowWarp
- b _0809CE7E
-_0809CE6C:
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsWestArrowWarp
- b _0809CE7E
-_0809CE76:
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsEastArrowWarp
-_0809CE7E:
- lsls r0, 24
- lsrs r0, 24
- b _0809CE86
-_0809CE84:
- movs r0, 0
-_0809CE86:
- pop {r1}
- bx r1
- thumb_func_end is_non_stair_warp_tile
-
- thumb_func_start map_warp_check_packed
-map_warp_check_packed: @ 809CE8C
- push {lr}
- adds r3, r1, 0
- ldrh r1, [r3]
- subs r1, 0x7
- lsls r1, 16
- lsrs r1, 16
- ldrh r2, [r3, 0x2]
- subs r2, 0x7
- lsls r2, 16
- lsrs r2, 16
- ldrb r3, [r3, 0x4]
- bl map_warp_check
- lsls r0, 24
- asrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end map_warp_check_packed
-
- thumb_func_start sub_809CEB0
-sub_809CEB0: @ 809CEB0
- push {r4-r7,lr}
- adds r7, r2, 0
- lsls r1, 24
- lsrs r4, r1, 24
- bl GetCurrentTrainerHillMapId
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- cmp r5, 0
- beq _0809CF00
- bl sub_81D6490
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bne _0809CEF0
- lsls r0, r4, 24
- adds r4, r0, 0
- cmp r4, 0
- bne _0809CEE8
- ldr r0, =gMapHeader
- ldr r0, [r0, 0x4]
- ldr r5, [r0, 0x8]
- b _0809CF0E
- .pool
-_0809CEE8:
- bl sub_81D6120
- adds r5, r0, 0
- b _0809CF0E
-_0809CEF0:
- cmp r6, 0x5
- bne _0809CF00
- lsls r4, 24
- lsrs r0, r4, 24
- bl sub_81D6134
- adds r5, r0, 0
- b _0809CF0E
-_0809CF00:
- ldr r0, =gMapHeader
- ldr r0, [r0, 0x4]
- lsls r2, r4, 24
- asrs r1, r2, 21
- ldr r0, [r0, 0x8]
- adds r5, r0, r1
- adds r4, r2, 0
-_0809CF0E:
- ldrb r0, [r5, 0x6]
- cmp r0, 0x7F
- bne _0809CF20
- ldrb r0, [r5, 0x5]
- bl copy_saved_warp2_bank_and_enter_x_to_warp1
- b _0809CF6E
- .pool
-_0809CF20:
- movs r0, 0x7
- ldrsb r0, [r5, r0]
- movs r1, 0x6
- ldrsb r1, [r5, r1]
- movs r2, 0x5
- ldrsb r2, [r5, r2]
- bl warp1_set_2
- movs r1, 0
- ldrsh r0, [r7, r1]
- movs r2, 0x2
- ldrsh r1, [r7, r2]
- bl sub_8084D5C
- ldrb r0, [r5, 0x7]
- ldrb r1, [r5, 0x6]
- bl Overworld_GetMapHeaderByGroupAndId
- ldr r1, [r0, 0x4]
- ldrb r0, [r5, 0x5]
- ldr r1, [r1, 0x8]
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0, 0x6]
- cmp r0, 0x7F
- bne _0809CF6E
- asrs r3, r4, 24
- lsls r0, r3, 3
- adds r0, r1
- ldrb r0, [r0, 0x5]
- ldr r1, =gSaveBlock1Ptr
- ldr r2, [r1]
- movs r1, 0x4
- ldrsb r1, [r2, r1]
- ldrb r2, [r2, 0x5]
- lsls r2, 24
- asrs r2, 24
- bl saved_warp2_set
-_0809CF6E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809CEB0
-
- thumb_func_start map_warp_consider_2_to_inside
-map_warp_consider_2_to_inside: @ 809CF78
- push {r4-r7,lr}
- adds r5, r0, 0
- lsls r1, 16
- lsrs r0, r1, 16
- adds r7, r0, 0
- lsls r2, 24
- lsrs r2, 24
- cmp r2, 0x2
- bne _0809CFFC
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsOpenSecretBaseDoor
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809CFB0
- ldr r0, =gMapHeader
- ldr r1, [r0, 0x4]
- adds r0, r5, 0
- bl sub_80E9668
- movs r0, 0x1
- b _0809CFFE
- .pool
-_0809CFB0:
- adds r0, r4, 0
- bl MetatileBehavior_IsWarpDoor
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809CFFC
- ldr r6, =gMapHeader
- adds r0, r6, 0
- adds r1, r5, 0
- bl map_warp_check_packed
- lsls r0, 24
- asrs r4, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _0809CFFC
- adds r0, r7, 0
- bl is_warp_tile
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809CFFC
- bl StoreInitialPlayerAvatarState
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_809CEB0
- bl sub_80AF7D0
- movs r0, 0x1
- b _0809CFFE
- .pool
-_0809CFFC:
- movs r0, 0
-_0809CFFE:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end map_warp_consider_2_to_inside
-
- thumb_func_start map_warp_check
-map_warp_check: @ 809D004
- push {r4-r6,lr}
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 16
- lsrs r5, r2, 16
- lsls r3, 24
- lsrs r4, r3, 24
- ldr r0, [r0, 0x4]
- ldr r1, [r0, 0x8]
- ldrb r3, [r0, 0x1]
- movs r2, 0
- cmp r2, r3
- bge _0809D042
-_0809D01E:
- ldrh r0, [r1]
- cmp r0, r6
- bne _0809D03A
- ldrh r0, [r1, 0x2]
- cmp r0, r5
- bne _0809D03A
- ldrb r0, [r1, 0x4]
- cmp r0, r4
- beq _0809D034
- cmp r0, 0
- bne _0809D03A
-_0809D034:
- lsls r0, r2, 24
- asrs r0, 24
- b _0809D046
-_0809D03A:
- adds r2, 0x1
- adds r1, 0x8
- cmp r2, r3
- blt _0809D01E
-_0809D042:
- movs r0, 0x1
- negs r0, r0
-_0809D046:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end map_warp_check
-
- thumb_func_start trigger_activate
-trigger_activate: @ 809D04C
- push {r4,lr}
- adds r4, r0, 0
- cmp r4, 0
- beq _0809D082
- ldr r1, [r4, 0xC]
- cmp r1, 0
- bne _0809D062
- ldrb r0, [r4, 0x6]
- bl DoCoordEventWeather
- b _0809D082
-_0809D062:
- ldrh r0, [r4, 0x6]
- cmp r0, 0
- beq _0809D07C
- ldrh r0, [r4, 0x6]
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r4, 0x8]
- cmp r0, r1
- bne _0809D082
- ldr r0, [r4, 0xC]
- b _0809D084
-_0809D07C:
- adds r0, r1, 0
- bl ScriptContext2_RunNewScript
-_0809D082:
- movs r0, 0
-_0809D084:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end trigger_activate
-
- thumb_func_start mapheader_trigger_activate_at
-mapheader_trigger_activate_at: @ 809D08C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- lsls r2, 16
- lsrs r2, 16
- mov r9, r2
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- ldr r0, [r0, 0x4]
- ldr r1, [r0, 0xC]
- ldrb r7, [r0, 0x2]
- movs r6, 0
- cmp r6, r7
- bge _0809D0E2
- adds r5, r1, 0
- adds r4, r5, 0
-_0809D0B8:
- ldrh r0, [r4]
- cmp r0, r10
- bne _0809D0D8
- ldrh r0, [r4, 0x2]
- cmp r0, r9
- bne _0809D0D8
- ldrb r0, [r4, 0x4]
- cmp r0, r8
- beq _0809D0CE
- cmp r0, 0
- bne _0809D0D8
-_0809D0CE:
- adds r0, r5, 0
- bl trigger_activate
- cmp r0, 0
- bne _0809D0E4
-_0809D0D8:
- adds r4, 0x10
- adds r5, 0x10
- adds r6, 0x1
- cmp r6, r7
- blt _0809D0B8
-_0809D0E2:
- movs r0, 0
-_0809D0E4:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end mapheader_trigger_activate_at
-
- thumb_func_start sub_809D0F4
-sub_809D0F4: @ 809D0F4
- push {r4,lr}
- ldr r4, =gMapHeader
- ldrh r1, [r0]
- subs r1, 0x7
- lsls r1, 16
- lsrs r1, 16
- ldrh r2, [r0, 0x2]
- subs r2, 0x7
- lsls r2, 16
- lsrs r2, 16
- ldrb r3, [r0, 0x4]
- adds r0, r4, 0
- bl mapheader_trigger_activate_at
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_809D0F4
-
- 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
- lsls r2, 16
- lsrs r6, r2, 16
- lsls r3, 24
- lsrs r5, r3, 24
- ldr r0, [r0, 0x4]
- ldr r4, [r0, 0x10]
- ldrb r3, [r0, 0x3]
- movs r2, 0
- cmp r2, r3
- bcs _0809D162
-_0809D136:
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r1, r0, r4
- ldrh r0, [r1]
- cmp r0, r7
- bne _0809D158
- ldrh r0, [r1, 0x2]
- cmp r0, r6
- bne _0809D158
- ldrb r0, [r1, 0x4]
- cmp r0, r5
- beq _0809D154
- cmp r0, 0
- bne _0809D158
-_0809D154:
- adds r0, r1, 0
- b _0809D164
-_0809D158:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r3
- bcc _0809D136
-_0809D162:
- movs r0, 0
-_0809D164:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end FindInvisibleEventObjectByPosition
-
- thumb_func_start dive_warp
-dive_warp: @ 809D16C
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- cmp r0, 0x5
- bne _0809D1A4
- lsls r0, r5, 24
- lsrs r0, 24
- bl MetatileBehavior_IsUnableToEmerge
- lsls r0, 24
- cmp r0, 0
- bne _0809D1A4
- ldrh r0, [r4]
- subs r0, 0x7
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r4, 0x2]
- subs r1, 0x7
- lsls r1, 16
- lsrs r1, 16
- bl SetDiveWarpEmerge
- b _0809D1C8
- .pool
-_0809D1A4:
- lsls r0, r5, 24
- lsrs r0, 24
- bl MetatileBehavior_IsDiveable
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809D1E0
- ldrh r0, [r4]
- subs r0, 0x7
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r4, 0x2]
- subs r1, 0x7
- lsls r1, 16
- lsrs r1, 16
- bl SetDiveWarpDive
-_0809D1C8:
- lsls r0, 24
- cmp r0, 0
- beq _0809D1E0
- bl StoreInitialPlayerAvatarState
- bl sp13E_warp_to_last_warp
- movs r0, 0xE9
- bl PlaySE
- movs r0, 0x1
- b _0809D1E2
-_0809D1E0:
- movs r0, 0
-_0809D1E2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end dive_warp
-
- thumb_func_start sub_809D1E8
-sub_809D1E8: @ 809D1E8
- 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, 24
- lsrs r5, r0, 24
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- cmp r0, 0x5
- bne _0809D244
- adds r0, r5, 0
- bl MetatileBehavior_IsUnableToEmerge
- lsls r0, 24
- cmp r0, 0
- bne _0809D244
- mov r0, sp
- ldrh r0, [r0]
- subs r0, 0x7
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r4]
- subs r1, 0x7
- lsls r1, 16
- lsrs r1, 16
- bl SetDiveWarpEmerge
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809D274
- movs r0, 0x1
- b _0809D276
- .pool
-_0809D244:
- adds r0, r5, 0
- bl MetatileBehavior_IsDiveable
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809D274
- mov r0, sp
- ldrh r0, [r0]
- subs r0, 0x7
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r4]
- subs r1, 0x7
- lsls r1, 16
- lsrs r1, 16
- bl SetDiveWarpDive
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809D274
- movs r0, 0x2
- b _0809D276
-_0809D274:
- movs r0, 0
-_0809D276:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809D1E8
-
- thumb_func_start GetEventObjectScriptPointerForComparison
-@ u8 *GetEventObjectScriptPointerForComparison()
-GetEventObjectScriptPointerForComparison: @ 809D280
- push {r4,r5,lr}
- sub sp, 0x8
- bl GetPlayerMovementDirection
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- mov r5, sp
- mov r0, sp
- bl player_get_next_pos_and_height
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileBehaviorAt
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- adds r2, r4, 0
- bl TryGetEventObjectScript
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end GetEventObjectScriptPointerForComparison
-
- thumb_func_start sub_809D2BC
-sub_809D2BC: @ 809D2BC
- push {r4,lr}
- sub sp, 0x8
- bl GetPlayerMovementDirection
- mov r4, sp
- mov r0, sp
- bl player_get_pos_to_and_height
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- ldr r4, =gMapHeader
- adds r0, r4, 0
- mov r1, sp
- bl map_warp_check_packed
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- adds r0, r4, 0
- mov r2, sp
- bl sub_809CEB0
- movs r0, 0
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_809D2BC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/party_menu.s b/asm/party_menu.s
index 67fdab266..53a66378c 100644
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -10499,7 +10499,7 @@ sub_81B5958: @ 81B5958
thumb_func_start sub_81B5974
sub_81B5974: @ 81B5974
push {lr}
- bl sub_809D1E8
+ bl TrySetDiveWarp
ldr r1, =gFieldEffectArguments
lsls r0, 24
lsrs r0, 24