summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjiangzhengwenjz <jiangzhengwenjzw@qq.com>2019-06-29 08:36:18 +0800
committerjiangzhengwenjz <jiangzhengwenjzw@qq.com>2019-06-29 10:03:06 +0800
commitb566ae26decaa937c72f608044d8ea604c643260 (patch)
treed6f141d51737b3bacd37a25bc69f43a2236a756c
parent38febc8bafcab19965608e434135c054893dfb68 (diff)
finished fldeff_dig + fldeff_rocksmash
-rw-r--r--asm/field_control_avatar.s6
-rw-r--r--asm/field_effect.s110
-rw-r--r--asm/field_fadetransition.s24
-rw-r--r--asm/field_map_obj.s42
-rw-r--r--asm/field_player_avatar.s76
-rw-r--r--asm/field_specials.s6
-rw-r--r--asm/fldeff_cut.s8
-rw-r--r--asm/itemfinder.s2
-rw-r--r--asm/link_rfu_3.s8
-rw-r--r--asm/overworld.s10
-rw-r--r--asm/rom6.s459
-rw-r--r--asm/script_movement.s4
-rw-r--r--asm/trainer_see.s54
-rw-r--r--berry_fix/payload/include/global.fieldmap.h2
-rw-r--r--data/map_event_scripts.inc2
-rw-r--r--data/maps/FiveIsland_RocketWarehouse/scripts.inc2
-rw-r--r--data/specials.inc4
-rw-r--r--include/event_scripts.h1
-rw-r--r--include/field_map_obj.h8
-rw-r--r--include/field_player_avatar.h5
-rw-r--r--include/fldeff.h14
-rw-r--r--include/fldeff_80F9BCC.h16
-rw-r--r--include/global.h8
-rw-r--r--include/item_use.h2
-rw-r--r--include/overworld.h2
-rw-r--r--ld_script.txt3
-rw-r--r--src/fldeff_dig.c49
-rw-r--r--src/fldeff_rocksmash.c138
-rw-r--r--src/fldeff_strength.c4
-rw-r--r--src/item_use.c7
-rw-r--r--src/map_obj_lock.c6
-rw-r--r--src/quest_log.c6
-rw-r--r--src/quest_log_8150454.c4
-rw-r--r--src/scrcmd.c10
-rw-r--r--sym_ewram.txt2
35 files changed, 422 insertions, 682 deletions
diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s
index 67e7e7d5a..c6476053a 100644
--- a/asm/field_control_avatar.s
+++ b/asm/field_control_avatar.s
@@ -320,7 +320,7 @@ sub_806CAC8: @ 806CAC8
sub sp, 0x8
adds r5, r0, 0
bl sub_8069A54
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r6, r0, 24
mov r4, sp
@@ -629,7 +629,7 @@ _0806CD54:
ldrb r0, [r4, 0x2]
cmp r0, 0
beq _0806CDC0
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
ldrb r1, [r4, 0x2]
@@ -1033,7 +1033,7 @@ _0806D078:
lsls r0, 2
ldr r1, _0806D098 @ =gMapObjects
adds r0, r1
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
+ bl FieldObjectCheckHeldMovementStatus
lsls r0, 24
cmp r0, 0
bne _0806D0A0
diff --git a/asm/field_effect.s b/asm/field_effect.s
index f833b963a..3655d2830 100644
--- a/asm/field_effect.s
+++ b/asm/field_effect.s
@@ -2235,7 +2235,7 @@ sub_80844BC: @ 80844BC
strb r1, [r0, 0x1]
movs r0, 0x1
strb r0, [r6, 0x6]
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
bl sub_8063EB8
@@ -2243,7 +2243,7 @@ sub_80844BC: @ 80844BC
lsls r1, 24
lsrs r1, 24
adds r0, r5, 0
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
adds r3, r4, 0
adds r3, 0x42
ldrb r0, [r3]
@@ -2653,17 +2653,17 @@ sub_8084820: @ 8084820
ldr r1, _0808488C @ =gMapObjects
adds r4, r0, r1
adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl FieldObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
beq _0808484A
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0808487E
_0808484A:
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
bl sub_8063EB8
@@ -2671,7 +2671,7 @@ _0808484A:
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
ldrh r0, [r5, 0x8]
adds r0, 0x1
movs r1, 0
@@ -2952,7 +2952,7 @@ sub_8084A5C: @ 8084A5C
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
mov r4, sp
adds r4, 0x2
mov r0, sp
@@ -3192,7 +3192,7 @@ sub_8084C3C: @ 8084C3C
ldr r1, _08084C98 @ =gMapObjects
adds r4, r0, r1
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _08084C8A
@@ -3205,7 +3205,7 @@ sub_8084C3C: @ 8084C3C
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
ldr r0, _08084C9C @ =sub_8084A24
bl FindTaskIdByFunc
lsls r0, 24
@@ -3317,12 +3317,12 @@ waterfall_1_do_anim_probably: @ 8084D44
adds r5, r1, 0
bl ScriptContext2_Enable
adds r0, r5, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl FieldObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
bne _08084D74
adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
ldr r1, _08084D7C @ =gFieldEffectArguments
movs r2, 0xA
ldrsh r0, [r4, r2]
@@ -3374,7 +3374,7 @@ sub_8084DA4: @ 8084DA4
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
ldrh r0, [r5, 0x8]
adds r0, 0x1
strh r0, [r5, 0x8]
@@ -3390,7 +3390,7 @@ sub_8084DCC: @ 8084DCC
adds r5, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
bne _08084DE2
@@ -4070,7 +4070,7 @@ sub_80852C0: @ 80852C0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
_08085308:
movs r0, 0
pop {r4}
@@ -4084,7 +4084,7 @@ _08085310: .4byte gSprites
sub_8085314: @ 8085314
push {lr}
adds r0, r1, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0808533E
@@ -4266,7 +4266,7 @@ sub_8085470: @ 8085470
adds r4, r1, 0
adds r6, r2, 0
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _080854E4
@@ -4311,7 +4311,7 @@ _080854C4:
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
movs r0, 0x21
bl PlaySE
_080854E4:
@@ -4527,7 +4527,7 @@ sub_808566C: @ 808566C
strh r0, [r4, 0x8]
movs r0, 0x40
strh r0, [r4, 0x22]
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x24]
@@ -4641,12 +4641,12 @@ sub_808576C: @ 808576C
adds r4, r0, 0
adds r6, r1, 0
adds r5, r2, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl FieldObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
beq _0808578A
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _080857E4
@@ -4673,7 +4673,7 @@ _0808579E:
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
ldrh r1, [r5]
movs r2, 0
ldrsh r0, [r5, r2]
@@ -5031,7 +5031,7 @@ sub_8085A54: @ 8085A54
beq _08085A78
movs r0, 0x28
bl PlaySE
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -5125,7 +5125,7 @@ _08085B10:
cmp r1, r0
bne _08085B58
adds r0, r6, 0
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
+ bl FieldObjectCheckHeldMovementStatus
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -5200,7 +5200,7 @@ sub_8085BA8: @ 8085BA8
bl ScriptContext2_Enable
bl player_bitmagic
bl CameraObjectReset2
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -5540,7 +5540,7 @@ sub_8085E0C: @ 8085E0C
ldrb r0, [r2]
lsrs r0, 6
strh r0, [r6, 0x24]
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x26]
@@ -7050,12 +7050,12 @@ sub_8086A20: @ 8086A20
ldr r1, _08086A68 @ =gMapObjects
adds r4, r0, r1
adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl FieldObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
beq _08086A4A
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _08086A5C
@@ -7063,7 +7063,7 @@ _08086A4A:
bl sub_805CB70
adds r0, r4, 0
movs r1, 0x45
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
ldrh r0, [r5, 0x8]
adds r0, 0x1
strh r0, [r5, 0x8]
@@ -7087,7 +7087,7 @@ sub_8086A6C: @ 8086A6C
lsls r0, 2
ldr r1, _08086AAC @ =gMapObjects
adds r0, r1
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
+ bl FieldObjectCheckHeldMovementStatus
lsls r0, 24
cmp r0, 0
beq _08086AA2
@@ -7135,9 +7135,9 @@ sub_8086AB4: @ 8086AB4
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_805F060
+ bl EventObjectSetGraphicsId
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
ldrb r0, [r4, 0x18]
lsrs r0, 4
bl sub_80641C0
@@ -7145,7 +7145,7 @@ sub_8086AB4: @ 8086AB4
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
ldr r1, _08086B2C @ =gFieldEffectArguments
movs r2, 0xA
ldrsh r0, [r6, r2]
@@ -7182,7 +7182,7 @@ sub_8086B30: @ 8086B30
ldr r1, _08086BA0 @ =gMapObjects
adds r4, r0, r1
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _08086B96
@@ -7199,7 +7199,7 @@ sub_8086B30: @ 8086B30
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
ldrb r0, [r4, 0x1A]
movs r1, 0x1
bl sub_80DC44C
@@ -7302,12 +7302,12 @@ sub_8086C24: @ 8086C24
ldr r1, _08086C6C @ =gMapObjects
adds r4, r0, r1
adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl FieldObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
beq _08086C4E
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _08086C60
@@ -7315,7 +7315,7 @@ _08086C4E:
bl sub_805CBE8
adds r0, r4, 0
movs r1, 0x45
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
ldrh r0, [r5, 0x8]
adds r0, 0x1
strh r0, [r5, 0x8]
@@ -7340,7 +7340,7 @@ sub_8086C70: @ 8086C70
ldr r1, _08086CA0 @ =gMapObjects
adds r4, r0, r1
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _08086CEE
@@ -7366,7 +7366,7 @@ _08086CAE:
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_805F060
+ bl EventObjectSetGraphicsId
b _08086CD2
_08086CC0:
movs r0, 0
@@ -7375,7 +7375,7 @@ _08086CC0:
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_805F060
+ bl EventObjectSetGraphicsId
_08086CD2:
ldrb r0, [r4, 0x18]
lsls r0, 28
@@ -7405,7 +7405,7 @@ sub_8086CF4: @ 8086CF4
lsls r0, 2
ldr r1, _08086D30 @ =gMapObjects
adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _08086D26
@@ -7599,12 +7599,12 @@ sub_8086E70: @ 8086E70
ldr r1, _08086EC4 @ =gMapObjects
adds r4, r0, r1
adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl FieldObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
beq _08086E9A
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _08086EB8
@@ -7617,7 +7617,7 @@ _08086E9A:
bl sub_805CB70
adds r0, r4, 0
movs r1, 0x45
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
ldrh r0, [r5, 0x8]
adds r0, 0x1
strh r0, [r5, 0x8]
@@ -7641,7 +7641,7 @@ sub_8086EC8: @ 8086EC8
lsls r0, 2
ldr r1, _08086F04 @ =gMapObjects
adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _08086EF8
@@ -7732,7 +7732,7 @@ sub_8086F64: @ 8086F64
ldr r1, _08086FA4 @ =gMapObjects
adds r0, r1
movs r1, 0x2
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
_08086F98:
pop {r4}
pop {r0}
@@ -7765,7 +7765,7 @@ sub_8086FA8: @ 8086FA8
bne _08086FEC
_08086FCE:
adds r0, r2, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _08086FEC
@@ -7809,7 +7809,7 @@ sub_8086FFC: @ 8086FFC
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_805F060
+ bl EventObjectSetGraphicsId
ldrb r1, [r4, 0x4]
lsls r0, r1, 4
adds r0, r1
@@ -7824,7 +7824,7 @@ sub_8086FFC: @ 8086FFC
strb r0, [r4, 0x1]
adds r0, r4, 0
movs r1, 0x54
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
ldrh r0, [r5, 0x8]
adds r0, 0x1
strh r0, [r5, 0x8]
@@ -8433,12 +8433,12 @@ sub_80874C8: @ 80874C8
ldr r1, _080875B8 @ =gMapObjects
adds r5, r0, r1
adds r0, r5, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl FieldObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
beq _080874F2
adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _080875AE
@@ -8468,7 +8468,7 @@ _0808751A:
lsls r1, 24
lsrs r1, 24
adds r0, r5, 0
- bl sub_805F060
+ bl EventObjectSetGraphicsId
bl CameraObjectReset2
adds r0, r5, 0
movs r1, 0x3
@@ -8688,7 +8688,7 @@ sub_8087698: @ 8087698
bl sub_805CB70
adds r0, r5, 0
movs r1, 0x45
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
ldrh r0, [r6, 0x8]
adds r0, 0x1
strh r0, [r6, 0x8]
@@ -8713,7 +8713,7 @@ sub_8087710: @ 8087710
lsls r0, 2
ldr r1, _08087744 @ =gMapObjects
adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _08087738
@@ -8795,7 +8795,7 @@ _080877B4:
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_805F060
+ bl EventObjectSetGraphicsId
adds r0, r4, 0
movs r1, 0x1
bl FieldObjectTurn
diff --git a/asm/field_fadetransition.s b/asm/field_fadetransition.s
index a53329fab..6939ccac0 100644
--- a/asm/field_fadetransition.s
+++ b/asm/field_fadetransition.s
@@ -730,7 +730,7 @@ _0807E0AE:
ldr r1, _0807E0E8 @ =gMapObjects
adds r0, r1
movs r1, 0x10
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
movs r0, 0x8
strh r0, [r4, 0x8]
b _0807E206
@@ -783,7 +783,7 @@ _0807E10E:
lsls r0, 2
ldr r1, _0807E15C @ =gMapObjects
adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
b _0807E1F2
.align 2, 0
_0807E158: .4byte sub_807F204
@@ -807,7 +807,7 @@ _0807E160:
ldr r1, _0807E194 @ =gMapObjects
adds r0, r1
movs r1, 0x10
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
movs r0, 0x2
strh r0, [r4, 0x8]
b _0807E206
@@ -838,7 +838,7 @@ _0807E198:
lsls r0, 2
ldr r1, _0807E1D8 @ =gMapObjects
adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
movs r0, 0x3
strh r0, [r4, 0x8]
b _0807E206
@@ -929,7 +929,7 @@ _0807E25E:
lsls r4, 2
ldr r0, _0807E2A4 @ =gMapObjects
adds r4, r0
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
bl sub_8063F84
@@ -937,7 +937,7 @@ _0807E25E:
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
movs r0, 0x2
strh r0, [r5, 0x8]
b _0807E2C6
@@ -1744,7 +1744,7 @@ _0807E8AE:
lsls r0, 2
adds r0, r4
movs r1, 0x11
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
movs r0, 0x2
strh r0, [r5, 0x8]
b _0807E976
@@ -1776,7 +1776,7 @@ _0807E8F4:
lsls r0, 2
ldr r1, _0807E93C @ =gMapObjects
adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
movs r0, 0
bl sub_807DCB0
movs r0, 0x3
@@ -1871,12 +1871,12 @@ _0807E9DA:
b _0807EA92
_0807E9E8:
adds r0, r6, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl FieldObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
beq _0807EA00
adds r0, r6, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0807EAB0
@@ -2033,7 +2033,7 @@ _0807EB08:
lsrs r0, 7
cmp r0, 0
beq _0807EB4C
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
bl GetStepInPlaceDelay16AnimId
@@ -2071,7 +2071,7 @@ sub_807EB64: @ 807EB64
lsls r4, 2
ldr r0, _0807EBB8 @ =gMapObjects
adds r4, r0
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
bl GetStepInPlaceDelay16AnimId
diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s
index 1275f7471..92ef6a6e4 100644
--- a/asm/field_map_obj.s
+++ b/asm/field_map_obj.s
@@ -2440,8 +2440,8 @@ _0805F058: .4byte gPlayerAvatar
_0805F05C: .4byte gMapObjects
thumb_func_end SetPlayerAvatarFieldObjectIdAndObjectId
- thumb_func_start sub_805F060
-sub_805F060: @ 805F060
+ thumb_func_start EventObjectSetGraphicsId
+EventObjectSetGraphicsId: @ 805F060
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -2625,7 +2625,7 @@ _0805F1BA:
_0805F1CC: .4byte gSprites
_0805F1D0: .4byte 0x000003ff
_0805F1D4: .4byte 0xfffffc00
- thumb_func_end sub_805F060
+ thumb_func_end EventObjectSetGraphicsId
thumb_func_start FieldObjectSetGraphicsIdByLocalIdAndMap
FieldObjectSetGraphicsIdByLocalIdAndMap: @ 805F1D8
@@ -2652,7 +2652,7 @@ FieldObjectSetGraphicsIdByLocalIdAndMap: @ 805F1D8
ldr r1, _0805F214 @ =gMapObjects
adds r0, r1
adds r1, r4, 0
- bl sub_805F060
+ bl EventObjectSetGraphicsId
_0805F20C:
add sp, 0x4
pop {r4}
@@ -10353,7 +10353,7 @@ mss_npc_reset_oampriv3_1_unk2_unk3: @ 80628C0
ldrb r0, [r4]
cmp r0, 0
bne _080628D8
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
strb r0, [r4]
_080628D8:
movs r0, 0x1
@@ -13097,8 +13097,8 @@ FieldObjectMoveDestCoords: @ 8063C50
bx r0
thumb_func_end FieldObjectMoveDestCoords
- thumb_func_start FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
-FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive: @ 8063C70
+ thumb_func_start FieldObjectIsMovementOverridden
+FieldObjectIsMovementOverridden: @ 8063C70
push {lr}
ldrb r1, [r0]
movs r0, 0x42
@@ -13112,7 +13112,7 @@ _08063C80:
_08063C82:
pop {r1}
bx r1
- thumb_func_end FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ thumb_func_end FieldObjectIsMovementOverridden
thumb_func_start FieldObjectIsSpecialAnimActive
FieldObjectIsSpecialAnimActive: @ 8063C88
@@ -13134,8 +13134,8 @@ _08063CA0:
bx r1
thumb_func_end FieldObjectIsSpecialAnimActive
- thumb_func_start sub_8063CA4
-sub_8063CA4: @ 8063CA4
+ thumb_func_start FieldObjectSetHeldMovement
+FieldObjectSetHeldMovement: @ 8063CA4
push {r4,r5,lr}
adds r4, r0, 0
lsls r1, 24
@@ -13146,7 +13146,7 @@ sub_8063CA4: @ 8063CA4
cmp r0, 0x1
beq _08063CC8
adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl FieldObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
beq _08063CCE
@@ -13180,7 +13180,7 @@ _08063CF4:
bx r1
.align 2, 0
_08063CFC: .4byte gSprites
- thumb_func_end sub_8063CA4
+ thumb_func_end FieldObjectSetHeldMovement
thumb_func_start FieldObjectForceSetSpecialAnim
FieldObjectForceSetSpecialAnim: @ 8063D00
@@ -13191,7 +13191,7 @@ FieldObjectForceSetSpecialAnim: @ 8063D00
bl FieldObjectClearAnimIfSpecialAnimActive
adds r0, r5, 0
adds r1, r4, 0
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
pop {r4,r5}
pop {r0}
bx r0
@@ -13242,8 +13242,8 @@ FieldObjectClearAnim: @ 8063D34
_08063D64: .4byte gSprites
thumb_func_end FieldObjectClearAnim
- thumb_func_start FieldObjectCheckIfSpecialAnimFinishedOrInactive
-FieldObjectCheckIfSpecialAnimFinishedOrInactive: @ 8063D68
+ thumb_func_start FieldObjectCheckHeldMovementStatus
+FieldObjectCheckHeldMovementStatus: @ 8063D68
push {lr}
ldrb r1, [r0]
lsls r0, r1, 25
@@ -13256,13 +13256,13 @@ _08063D76:
_08063D78:
pop {r1}
bx r1
- thumb_func_end FieldObjectCheckIfSpecialAnimFinishedOrInactive
+ thumb_func_end FieldObjectCheckHeldMovementStatus
- thumb_func_start FieldObjectClearAnimIfSpecialAnimFinished
-FieldObjectClearAnimIfSpecialAnimFinished: @ 8063D7C
+ thumb_func_start FieldObjectClearHeldMovementIfFinished
+FieldObjectClearHeldMovementIfFinished: @ 8063D7C
push {r4,r5,lr}
adds r5, r0, 0
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
+ bl FieldObjectCheckHeldMovementStatus
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0
@@ -13276,7 +13276,7 @@ _08063D96:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end FieldObjectClearAnimIfSpecialAnimFinished
+ thumb_func_end FieldObjectClearHeldMovementIfFinished
thumb_func_start FieldObjectGetSpecialAnim
FieldObjectGetSpecialAnim: @ 8063DA0
@@ -14023,7 +14023,7 @@ FieldObjectFaceOppositeDirection: @ 80642C8
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
lsls r0, 24
lsrs r0, 24
pop {r4}
diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s
index 5fb0f3dad..c753fb948 100644
--- a/asm/field_player_avatar.s
+++ b/asm/field_player_avatar.s
@@ -94,12 +94,12 @@ sub_805B45C: @ 805B45C
adds r4, r0, 0
lsls r1, 24
lsrs r5, r1, 24
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl FieldObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
beq _0805B4A6
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
bne _0805B4A6
@@ -845,7 +845,7 @@ _0805B9AC: .4byte gPlayerAvatar
thumb_func_start PlayerNotOnBikeNotMoving
PlayerNotOnBikeNotMoving: @ 805B9B0
push {lr}
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
bl PlayerFaceDirection
@@ -1631,7 +1631,7 @@ PlayerIsAnimActive: @ 805BF7C
lsls r0, 2
ldr r1, _0805BF9C @ =gMapObjects
adds r0, r1
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl FieldObjectIsMovementOverridden
lsls r0, 24
lsrs r0, 24
pop {r1}
@@ -1651,7 +1651,7 @@ PlayerCheckIfAnimFinishedOrInactive: @ 805BFA0
lsls r0, 2
ldr r1, _0805BFC0 @ =gMapObjects
adds r0, r1
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
+ bl FieldObjectCheckHeldMovementStatus
lsls r0, 24
lsrs r0, 24
pop {r1}
@@ -1737,7 +1737,7 @@ sub_805C024: @ 805C024
ldr r1, _0805C068 @ =gMapObjects
adds r0, r1
adds r1, r5, 0
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
lsls r0, 24
cmp r0, 0
bne _0805C05E
@@ -1765,7 +1765,7 @@ sub_805C06C: @ 805C06C
ldr r1, _0805C0A0 @ =gMapObjects
adds r0, r1
adds r1, r4, 0
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
lsls r0, 24
cmp r0, 0
bne _0805C094
@@ -1789,7 +1789,7 @@ sub_805C0A4: @ 805C0A4
lsls r1, 24
lsrs r5, r1, 24
adds r1, r5, 0
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
lsls r0, 24
cmp r0, 0
bne _0805C0CA
@@ -2404,7 +2404,7 @@ GetXYCoordsOneStepInFrontOfPlayer: @ 805C4F4
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
@@ -2582,8 +2582,8 @@ _0805C6BC:
bx r1
thumb_func_end plaer_get_pos_including_state_based_drift
- thumb_func_start player_get_direction_lower_nybble
-player_get_direction_lower_nybble: @ 805C6C4
+ thumb_func_start GetPlayerFacingDirection
+GetPlayerFacingDirection: @ 805C6C4
ldr r2, _0805C6DC @ =gMapObjects
ldr r0, _0805C6E0 @ =gPlayerAvatar
ldrb r1, [r0, 0x5]
@@ -2598,7 +2598,7 @@ player_get_direction_lower_nybble: @ 805C6C4
.align 2, 0
_0805C6DC: .4byte gMapObjects
_0805C6E0: .4byte gPlayerAvatar
- thumb_func_end player_get_direction_lower_nybble
+ thumb_func_end GetPlayerFacingDirection
thumb_func_start player_get_direction_upper_nybble
player_get_direction_upper_nybble: @ 805C6E4
@@ -3257,7 +3257,7 @@ sub_805CB70: @ 805CB70
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_805F060
+ bl EventObjectSetGraphicsId
ldrb r1, [r5, 0x4]
lsls r0, r1, 4
adds r0, r1
@@ -3318,7 +3318,7 @@ sub_805CBE8: @ 805CBE8
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_805F060
+ bl EventObjectSetGraphicsId
ldrb r1, [r5, 0x4]
lsls r0, r1, 4
adds r0, r1
@@ -3532,19 +3532,19 @@ sub_805CD84: @ 805CD84
adds r5, r1, 0
adds r4, r2, 0
adds r0, r5, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl FieldObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
bne _0805CE0E
adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl FieldObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
bne _0805CE0E
adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
ldrb r0, [r6, 0xC]
bl GetStepInPlaceDelay16AnimId
adds r1, r0, 0
@@ -3602,19 +3602,19 @@ sub_805CE20: @ 805CE20
adds r5, r1, 0
adds r4, r2, 0
adds r0, r5, 0
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
+ bl FieldObjectCheckHeldMovementStatus
lsls r0, 24
cmp r0, 0
beq _0805CE70
adds r0, r4, 0
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
+ bl FieldObjectCheckHeldMovementStatus
lsls r0, 24
cmp r0, 0
beq _0805CE70
adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
adds r0, r4, 0
bl sub_806DE28
ldrh r0, [r4, 0x10]
@@ -3704,7 +3704,7 @@ PlayerAvatar_DoSecretBaseMatJump: @ 805CEEC
movs r0, 0x1
strb r0, [r5, 0x6]
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0805CF48
@@ -3836,7 +3836,7 @@ sub_805CFEC: @ 805CFEC
movs r2, 0x4
bl memcpy
adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0805D054
@@ -3896,7 +3896,7 @@ sub_805D064: @ 805D064
movs r2, 0x5
bl memcpy
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0805D094
@@ -3924,7 +3924,7 @@ sub_805D0A4: @ 805D0A4
adds r4, r0, 0
adds r5, r1, 0
adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0805D0E8
@@ -4073,12 +4073,12 @@ taskFF_0805D1D4: @ 805D1D4
ldr r1, _0805D234 @ =gMapObjects
adds r5, r0, r1
adds r0, r5, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl FieldObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
beq _0805D200
adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0805D228
@@ -4124,7 +4124,7 @@ sub_805D240: @ 805D240
ldr r1, _0805D2B8 @ =gMapObjects
adds r4, r0, r1
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0805D2AE
@@ -4134,7 +4134,7 @@ sub_805D240: @ 805D240
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_805F060
+ bl EventObjectSetGraphicsId
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
@@ -4503,7 +4503,7 @@ _0805D548:
adds r4, r0
lsls r4, 2
adds r4, r5
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
bl sub_8063510
@@ -4734,7 +4734,7 @@ _0805D6EA:
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_805F060
+ bl EventObjectSetGraphicsId
ldrb r1, [r4, 0x18]
lsrs r1, 4
adds r0, r4, 0
@@ -4827,7 +4827,7 @@ sub_805D7C0: @ 805D7C0
adds r4, r0
lsls r4, 2
adds r4, r5
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
bl sub_8063500
@@ -4883,7 +4883,7 @@ sub_805D838: @ 805D838
adds r4, r0
lsls r4, 2
adds r4, r5
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
bl sub_8063500
@@ -4978,7 +4978,7 @@ sub_805D8D8: @ 805D8D8
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_805F060
+ bl EventObjectSetGraphicsId
ldrb r1, [r4, 0x18]
lsrs r1, 4
adds r0, r4, 0
@@ -5131,7 +5131,7 @@ _0805DA2E:
bhi _0805DA60
movs r0, 0x8
strh r0, [r4, 0x24]
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
@@ -5280,7 +5280,7 @@ _0805DB58:
b _0805DBFA
_0805DB5E:
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0805DBFA
@@ -5608,7 +5608,7 @@ sub_805DDC8: @ 805DDC8
ble _0805DE20
_0805DDE4:
adds r0, r5, 0
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
+ bl FieldObjectCheckHeldMovementStatus
lsls r0, 24
cmp r0, 0
beq _0805DE20
diff --git a/asm/field_specials.s b/asm/field_specials.s
index 4331fbd74..fe4ac2b2d 100644
--- a/asm/field_specials.s
+++ b/asm/field_specials.s
@@ -413,7 +413,7 @@ sub_80CA8F8: @ 80CA8F8
movs r4, 0
movs r7, 0
movs r5, 0
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
@@ -510,7 +510,7 @@ sub_80CA9A8: @ 80CA9A8
movs r4, 0
movs r6, 0
movs r5, 0
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
@@ -5152,7 +5152,7 @@ sub_80CCD84: @ 80CCD84
ldr r0, _080CCDC4 @ =0x00190018
cmp r1, r0
bne _080CCDC8
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
diff --git a/asm/fldeff_cut.s b/asm/fldeff_cut.s
index 8c76f9261..3452841c4 100644
--- a/asm/fldeff_cut.s
+++ b/asm/fldeff_cut.s
@@ -74,7 +74,7 @@ _080978F8: .4byte FieldCallback_PrepareFadeInFromMenu
_080978FC: .4byte gPostMenuFieldCallback
_08097900: .4byte sub_8097984
_08097904:
- ldr r4, _0809797C @ =gUnknown_2039A04
+ ldr r4, _0809797C @ =gPlayerFacingPosition
adds r1, r4, 0x2
adds r0, r4, 0
bl PlayerGetDestCoords
@@ -136,7 +136,7 @@ _08097970:
pop {r1}
bx r1
.align 2, 0
-_0809797C: .4byte gUnknown_2039A04
+_0809797C: .4byte gPlayerFacingPosition
_08097980: .4byte 0x0000ffff
thumb_func_end sub_8097898
@@ -253,7 +253,7 @@ sub_8097A48: @ 8097A48
movs r7, 0
movs r0, 0x79
bl PlaySE
- ldr r4, _08097B38 @ =gUnknown_2039A04
+ ldr r4, _08097B38 @ =gPlayerFacingPosition
adds r1, r4, 0x2
adds r0, r4, 0
bl PlayerGetDestCoords
@@ -362,7 +362,7 @@ _08097AE2:
pop {r1}
bx r1
.align 2, 0
-_08097B38: .4byte gUnknown_2039A04
+_08097B38: .4byte gPlayerFacingPosition
_08097B3C: .4byte 0x0000ffff
_08097B40: .4byte gUnknown_2039870
_08097B44: .4byte gSprites
diff --git a/asm/itemfinder.s b/asm/itemfinder.s
index e510252ab..8a2dec9de 100644
--- a/asm/itemfinder.s
+++ b/asm/itemfinder.s
@@ -1091,7 +1091,7 @@ _0813F470:
.4byte _0813F50C
.4byte _0813F52C
_0813F484:
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s
index 31d1e465b..111161c06 100644
--- a/asm/link_rfu_3.s
+++ b/asm/link_rfu_3.s
@@ -11381,13 +11381,13 @@ sub_811B66C: @ 811B66C
ldr r1, _0811B6C0 @ =gMapObjects
adds r4, r0, r1
adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl FieldObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
bne _0811B6D0
ldrb r1, [r5]
adds r0, r4, 0
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
lsls r0, 24
cmp r0, 0
bne _0811B6C4
@@ -11440,7 +11440,7 @@ sub_811B6E8: @ 811B6E8
ldr r1, _0811B72C @ =gMapObjects
adds r4, r0, r1
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
bne _0811B730
@@ -12496,7 +12496,7 @@ sub_811BF00: @ 811BF00
b _0811BFEE
_0811BF1C:
ldr r4, _0811BF44 @ =gUnknown_8457116
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
adds r0, r4
diff --git a/asm/overworld.s b/asm/overworld.s
index 57ab4988c..aacb22510 100644
--- a/asm/overworld.s
+++ b/asm/overworld.s
@@ -193,8 +193,8 @@ _08054D68: .4byte 0x00000808
_08054D6C: .4byte 0x0000404d
thumb_func_end Overworld_ResetStateAfterTeleport
- thumb_func_start sub_8054D70
-sub_8054D70: @ 8054D70
+ thumb_func_start Overworld_ResetStateAfterDigEscRope
+Overworld_ResetStateAfterDigEscRope: @ 8054D70
push {lr}
bl ResetInitialPlayerAvatarState
movs r0, 0x83
@@ -230,7 +230,7 @@ _08054DC8: .4byte 0x00000805
_08054DCC: .4byte 0x00000806
_08054DD0: .4byte 0x00000808
_08054DD4: .4byte 0x0000404d
- thumb_func_end sub_8054D70
+ thumb_func_end Overworld_ResetStateAfterDigEscRope
thumb_func_start sub_8054DD8
sub_8054DD8: @ 8054DD8
@@ -1257,7 +1257,7 @@ sub_805550C: @ 805550C
ldrh r0, [r0, 0x4]
cmp r0, 0x1
beq _08055590
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
@@ -1858,7 +1858,7 @@ _08055A04: .4byte gUnknown_2031DD4
thumb_func_start sub_8055A08
sub_8055A08: @ 8055A08
push {r4,lr}
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
ldr r4, _08055A24 @ =gUnknown_2031DD4
strb r0, [r4, 0x1]
movs r0, 0x2
diff --git a/asm/rom6.s b/asm/rom6.s
deleted file mode 100644
index 146d1d020..000000000
--- a/asm/rom6.s
+++ /dev/null
@@ -1,459 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start CheckObjectGraphicsInFrontOfPlayer
-CheckObjectGraphicsInFrontOfPlayer: @ 80C97A8
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r4, _080C97E8 @ =gUnknown_2039A04
- 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, _080C97EC @ =gMapObjects
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r2, r1, r2
- ldrb r0, [r2, 0x5]
- cmp r0, r5
- bne _080C97F4
- ldr r1, _080C97F0 @ =gSpecialVar_LastTalked
- ldrb r0, [r2, 0x8]
- strh r0, [r1]
- movs r0, 0x1
- b _080C97F6
- .align 2, 0
-_080C97E8: .4byte gUnknown_2039A04
-_080C97EC: .4byte gMapObjects
-_080C97F0: .4byte gSpecialVar_LastTalked
-_080C97F4:
- movs r0, 0
-_080C97F6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end CheckObjectGraphicsInFrontOfPlayer
-
- thumb_func_start oei_task_add
-oei_task_add: @ 80C97FC
- push {lr}
- ldr r0, _080C9818 @ =gUnknown_2039A04
- adds r1, r0, 0x2
- bl GetXYCoordsOneStepInFrontOfPlayer
- ldr r0, _080C981C @ =task08_080C9820
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080C9818: .4byte gUnknown_2039A04
-_080C981C: .4byte task08_080C9820
- thumb_func_end oei_task_add
-
- thumb_func_start task08_080C9820
-task08_080C9820: @ 80C9820
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- bl ScriptContext2_Enable
- ldr r1, _080C9874 @ =gPlayerAvatar
- movs r0, 0x1
- strb r0, [r1, 0x6]
- ldrb r1, [r1, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080C9878 @ =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080C9856
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080C98A2
-_080C9856:
- ldr r0, _080C987C @ =gMapHeader
- ldrb r0, [r0, 0x17]
- cmp r0, 0x5
- bne _080C9888
- movs r0, 0x3B
- bl FieldEffectStart
- ldr r0, _080C9880 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080C9884 @ =sub_80C98FC
- b _080C98A0
- .align 2, 0
-_080C9874: .4byte gPlayerAvatar
-_080C9878: .4byte gMapObjects
-_080C987C: .4byte gMapHeader
-_080C9880: .4byte gTasks
-_080C9884: .4byte sub_80C98FC
-_080C9888:
- bl sub_805CB70
- adds r0, r4, 0
- movs r1, 0x45
- bl sub_8063CA4
- ldr r0, _080C98A8 @ =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, _080C98AC @ =sub_80C98B0
-_080C98A0:
- str r0, [r1]
-_080C98A2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C98A8: .4byte gTasks
-_080C98AC: .4byte sub_80C98B0
- thumb_func_end task08_080C9820
-
- thumb_func_start sub_80C98B0
-sub_80C98B0: @ 80C98B0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080C98EC @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080C98F0 @ =gMapObjects
- adds r0, r1
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C98E4
- movs r0, 0x3B
- bl FieldEffectStart
- ldr r0, _080C98F4 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080C98F8 @ =sub_80C98FC
- str r0, [r1]
-_080C98E4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C98EC: .4byte gPlayerAvatar
-_080C98F0: .4byte gMapObjects
-_080C98F4: .4byte gTasks
-_080C98F8: .4byte sub_80C98FC
- thumb_func_end sub_80C98B0
-
- thumb_func_start sub_80C98FC
-sub_80C98FC: @ 80C98FC
- 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 _080C9980
- bl player_get_direction_lower_nybble
- ldr r6, _080C9988 @ =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r6, 0x4]
- cmp r0, 0x1
- bne _080C9922
- str r4, [r6, 0x8]
-_080C9922:
- ldr r1, [r6, 0x4]
- cmp r1, 0x2
- bne _080C992C
- movs r0, 0x1
- str r0, [r6, 0x8]
-_080C992C:
- cmp r1, 0x3
- bne _080C9934
- movs r0, 0x2
- str r0, [r6, 0x8]
-_080C9934:
- cmp r1, 0x4
- bne _080C993C
- movs r0, 0x3
- str r0, [r6, 0x8]
-_080C993C:
- ldr r5, _080C998C @ =gPlayerAvatar
- ldrb r0, [r5, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _080C9990 @ =gMapObjects
- adds r4, r0
- bl GetPlayerAvatarGraphicsIdByCurrentState
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_805F060
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080C9994 @ =gSprites
- adds r0, r1
- ldrb r1, [r6, 0x8]
- bl StartSpriteAnim
- movs r0, 0x6
- bl FieldEffectActiveListRemove
- ldr r1, _080C9998 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C999C @ =sub_80C99A0
- str r1, [r0]
-_080C9980:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9988: .4byte gFieldEffectArguments
-_080C998C: .4byte gPlayerAvatar
-_080C9990: .4byte gMapObjects
-_080C9994: .4byte gSprites
-_080C9998: .4byte gTasks
-_080C999C: .4byte sub_80C99A0
- thumb_func_end sub_80C98FC
-
- thumb_func_start sub_80C99A0
-sub_80C99A0: @ 80C99A0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080C99D0 @ =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, _080C99D4 @ =gPlayerAvatar
- movs r0, 0
- strb r0, [r1, 0x6]
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C99D0: .4byte gTasks
-_080C99D4: .4byte gPlayerAvatar
- thumb_func_end sub_80C99A0
-
- thumb_func_start SetUpFieldMove_RockSmash
-SetUpFieldMove_RockSmash: @ 80C99D8
- push {lr}
- movs r0, 0x60
- bl CheckObjectGraphicsInFrontOfPlayer
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080C99EC
- movs r0, 0
- b _080C99FA
-_080C99EC:
- ldr r1, _080C9A00 @ =gFieldCallback2
- ldr r0, _080C9A04 @ =FieldCallback_PrepareFadeInFromMenu
- str r0, [r1]
- ldr r1, _080C9A08 @ =gPostMenuFieldCallback
- ldr r0, _080C9A0C @ =sub_80C9A10
- str r0, [r1]
- movs r0, 0x1
-_080C99FA:
- pop {r1}
- bx r1
- .align 2, 0
-_080C9A00: .4byte gFieldCallback2
-_080C9A04: .4byte FieldCallback_PrepareFadeInFromMenu
-_080C9A08: .4byte gPostMenuFieldCallback
-_080C9A0C: .4byte sub_80C9A10
- thumb_func_end SetUpFieldMove_RockSmash
-
- thumb_func_start sub_80C9A10
-sub_80C9A10: @ 80C9A10
- push {lr}
- bl GetCursorSelectionMonId
- ldr r1, _080C9A28 @ =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- ldr r0, _080C9A2C @ =gUnknown_81BE064
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .align 2, 0
-_080C9A28: .4byte gFieldEffectArguments
-_080C9A2C: .4byte gUnknown_81BE064
- thumb_func_end sub_80C9A10
-
- thumb_func_start oei_rocksmash
-oei_rocksmash: @ 80C9A30
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C9A58 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, _080C9A5C @ =sub_80C9A60
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0x13
- bl IncrementGameStat
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080C9A58: .4byte gTasks
-_080C9A5C: .4byte sub_80C9A60
- thumb_func_end oei_rocksmash
-
- thumb_func_start sub_80C9A60
-sub_80C9A60: @ 80C9A60
- push {lr}
- movs r0, 0x7C
- bl PlaySE
- movs r0, 0x25
- bl FieldEffectActiveListRemove
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_80C9A60
-
- thumb_func_start SetUpFieldMove_Dig
-SetUpFieldMove_Dig: @ 80C9A78
- push {lr}
- bl sub_80A1B8C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080C9A8A
- movs r0, 0
- b _080C9A98
-_080C9A8A:
- ldr r1, _080C9A9C @ =gFieldCallback2
- ldr r0, _080C9AA0 @ =FieldCallback_PrepareFadeInFromMenu
- str r0, [r1]
- ldr r1, _080C9AA4 @ =gPostMenuFieldCallback
- ldr r0, _080C9AA8 @ =hm2_dig
- str r0, [r1]
- movs r0, 0x1
-_080C9A98:
- pop {r1}
- bx r1
- .align 2, 0
-_080C9A9C: .4byte gFieldCallback2
-_080C9AA0: .4byte FieldCallback_PrepareFadeInFromMenu
-_080C9AA4: .4byte gPostMenuFieldCallback
-_080C9AA8: .4byte hm2_dig
- thumb_func_end SetUpFieldMove_Dig
-
- thumb_func_start hm2_dig
-hm2_dig: @ 80C9AAC
- push {lr}
- bl sub_8054D70
- movs r0, 0x26
- bl FieldEffectStart
- bl GetCursorSelectionMonId
- ldr r1, _080C9AC8 @ =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080C9AC8: .4byte gFieldEffectArguments
- thumb_func_end hm2_dig
-
- thumb_func_start sub_80C9ACC
-sub_80C9ACC: @ 80C9ACC
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C9AF4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, _080C9AF8 @ =sub_80C9AFC
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0x1
- bl SetPlayerAvatarTransitionFlags
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080C9AF4: .4byte gTasks
-_080C9AF8: .4byte sub_80C9AFC
- thumb_func_end sub_80C9ACC
-
- thumb_func_start sub_80C9AFC
-sub_80C9AFC: @ 80C9AFC
- push {lr}
- movs r0, 0x26
- bl FieldEffectActiveListRemove
- ldr r0, _080C9B24 @ =sub_80A1C44
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C9B28 @ =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
- .align 2, 0
-_080C9B24: .4byte sub_80A1C44
-_080C9B28: .4byte gTasks
- thumb_func_end sub_80C9AFC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/script_movement.s b/asm/script_movement.s
index 826d6d6bd..a2d48d44a 100644
--- a/asm/script_movement.s
+++ b/asm/script_movement.s
@@ -565,7 +565,7 @@ sub_80977F0: @ 80977F0
cmp r0, 0
beq _08097838
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0809786A
@@ -583,7 +583,7 @@ _08097838:
_08097850: .4byte gMapObjects
_08097854:
adds r0, r4, 0
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
lsls r0, 24
cmp r0, 0
bne _0809786A
diff --git a/asm/trainer_see.s b/asm/trainer_see.s
index a07c918f8..c52229215 100644
--- a/asm/trainer_see.s
+++ b/asm/trainer_see.s
@@ -601,7 +601,7 @@ _08081F54:
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
ldrh r0, [r5, 0x8]
adds r0, 0x1
_08081F82:
@@ -658,12 +658,12 @@ sub_8081FD0: @ 8081FD0
adds r5, r1, 0
adds r4, r2, 0
adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl FieldObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
beq _08081FEE
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _08082022
@@ -680,7 +680,7 @@ _08081FEE:
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
ldrh r0, [r5, 0xE]
subs r0, 0x1
strh r0, [r5, 0xE]
@@ -688,7 +688,7 @@ _08081FEE:
_08082014:
adds r0, r4, 0
movs r1, 0x4A
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
ldrh r0, [r5, 0x8]
adds r0, 0x1
strh r0, [r5, 0x8]
@@ -705,12 +705,12 @@ sub_808202C: @ 808202C
adds r5, r1, 0
adds r4, r2, 0
adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl FieldObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
beq _0808204A
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _080820AC
@@ -743,12 +743,12 @@ _0808204A:
ldr r1, _080820B8 @ =gMapObjects
adds r4, r0, r1
adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl FieldObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
beq _080820A2
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _080820AC
@@ -780,12 +780,12 @@ sub_80820BC: @ 80820BC
ldr r1, _080820FC @ =gMapObjects
adds r4, r0, r1
adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl FieldObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
beq _080820E8
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _080820EE
@@ -808,19 +808,19 @@ sub_8082100: @ 8082100
adds r5, r1, 0
adds r4, r2, 0
adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl FieldObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
beq _0808211E
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0808212C
_0808211E:
adds r0, r4, 0
movs r1, 0x67
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
ldrh r0, [r5, 0x8]
adds r0, 0x1
strh r0, [r5, 0x8]
@@ -836,7 +836,7 @@ sub_8082134: @ 8082134
push {r4,lr}
adds r4, r1, 0
adds r0, r2, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _08082148
@@ -855,19 +855,19 @@ sub_8082150: @ 8082150
adds r5, r1, 0
adds r4, r2, 0
adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl FieldObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
beq _0808216E
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0808217C
_0808216E:
adds r0, r4, 0
movs r1, 0x4A
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
ldrh r0, [r5, 0x8]
adds r0, 0x1
strh r0, [r5, 0x8]
@@ -884,7 +884,7 @@ sub_8082184: @ 8082184
adds r5, r1, 0
adds r4, r2, 0
adds r0, r4, 0
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
+ bl FieldObjectCheckHeldMovementStatus
lsls r0, 24
cmp r0, 0
beq _080821CA
@@ -961,7 +961,7 @@ sub_80821DC: @ 80821DC
orrs r1, r2
strb r1, [r0, 0x5]
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
@@ -970,7 +970,7 @@ sub_80821DC: @ 80821DC
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
ldrh r0, [r5, 0x8]
adds r0, 0x1
strh r0, [r5, 0x8]
@@ -1069,7 +1069,7 @@ sub_80822CC: @ 80822CC
lsls r0, 2
ldr r4, _0808234C @ =gMapObjects
adds r0, r4
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl FieldObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
beq _08082312
@@ -1079,7 +1079,7 @@ sub_80822CC: @ 80822CC
adds r0, r1
lsls r0, 2
adds r0, r4
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0808236E
@@ -1104,7 +1104,7 @@ _08082312:
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
ldrh r0, [r5, 0x12]
adds r0, 0x1
strh r0, [r5, 0x12]
@@ -1160,7 +1160,7 @@ sub_808237C: @ 808237C
lsls r0, 2
ldr r4, _08082408 @ =gMapObjects
adds r0, r4
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl FieldObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
beq _080823CC
@@ -1170,7 +1170,7 @@ sub_808237C: @ 808237C
adds r0, r1
lsls r0, 2
adds r0, r4
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl FieldObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0808242E
@@ -1195,7 +1195,7 @@ _080823CC:
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_8063CA4
+ bl FieldObjectSetHeldMovement
ldrh r0, [r5, 0x12]
adds r0, 0x1
strh r0, [r5, 0x12]
diff --git a/berry_fix/payload/include/global.fieldmap.h b/berry_fix/payload/include/global.fieldmap.h
index 81f805ee2..f876e5a56 100644
--- a/berry_fix/payload/include/global.fieldmap.h
+++ b/berry_fix/payload/include/global.fieldmap.h
@@ -309,7 +309,7 @@ struct Camera
s32 y;
};
-extern struct EventObject gEventObjects[];
+extern struct EventObject gMapObjects[];
extern u8 gSelectedEventObject;
extern struct MapHeader gMapHeader;
extern struct PlayerAvatar gPlayerAvatar;
diff --git a/data/map_event_scripts.inc b/data/map_event_scripts.inc
index bf8ed9a68..f3205689d 100644
--- a/data/map_event_scripts.inc
+++ b/data/map_event_scripts.inc
@@ -3545,7 +3545,7 @@ CeruleanCave_B1F_EventScript_1BE00C:: @ 81BE00C
CeruleanCave_1F_EventScript_1BE00C:: @ 81BE00C
.incbin "baserom.gba", 0x1BE00C, 0x58
-gUnknown_81BE064:: @ 81BE064
+EventScript_FldEffRockSmash:: @ 81BE064
.incbin "baserom.gba", 0x1BE064, 0xB9
MtEmber_Exterior_EventScript_1BE11D:: @ 81BE11D
diff --git a/data/maps/FiveIsland_RocketWarehouse/scripts.inc b/data/maps/FiveIsland_RocketWarehouse/scripts.inc
index bac115e76..490afe501 100644
--- a/data/maps/FiveIsland_RocketWarehouse/scripts.inc
+++ b/data/maps/FiveIsland_RocketWarehouse/scripts.inc
@@ -113,7 +113,7 @@ FiveIsland_RocketWarehouse_EventScript_164087:: @ 8164087
EventScript_1640A2:: @ 81640A2
getplayerxy VAR_0x8004, VAR_0x8005
- specialvar VAR_RESULT, player_get_direction_lower_nybble
+ specialvar VAR_RESULT, GetPlayerFacingDirection
compare_var_to_value VAR_RESULT, 2
call_if 1, EventScript_16412E
msgbox gUnknown_817B7AE
diff --git a/data/specials.inc b/data/specials.inc
index e5edb47dd..e6cec1766 100644
--- a/data/specials.inc
+++ b/data/specials.inc
@@ -296,7 +296,7 @@ gSpecials:: @ 815FD60
def_special nullsub_75
def_special sub_80CAAAC
def_special sub_80CAABC
- def_special player_get_direction_lower_nybble
+ def_special GetPlayerFacingDirection
def_special nullsub_75
def_special nullsub_75
def_special nullsub_75
@@ -435,7 +435,7 @@ gSpecials:: @ 815FD60
def_special sub_809D764
def_special sub_809D8C0
def_special sub_8147500
- def_special player_get_direction_lower_nybble
+ def_special GetPlayerFacingDirection
def_special sub_80CCDFC
def_special sub_80CD008
def_special sub_8147594
diff --git a/include/event_scripts.h b/include/event_scripts.h
index b12539476..917269de4 100644
--- a/include/event_scripts.h
+++ b/include/event_scripts.h
@@ -1146,5 +1146,6 @@ extern const u8 gUnknown_81BB156[];
extern const u8 EventScript_FldEffStrength[];
extern const u8 EventScript_FailSweetScent[];
+extern const u8 EventScript_FldEffRockSmash[];
#endif //GUARD_EVENT_SCRIPTS_H
diff --git a/include/field_map_obj.h b/include/field_map_obj.h
index 27a7f23d7..83cc263e5 100644
--- a/include/field_map_obj.h
+++ b/include/field_map_obj.h
@@ -76,18 +76,20 @@ u8 GetStepInPlaceDelay32AnimId(u32);
u8 npc_block_way(struct MapObject *, s16, s16, u32);
void MoveCoords(u8, s16 *, s16 *);
bool8 FieldObjectIsSpecialAnimActive(struct MapObject *);
-u8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *);
+u8 FieldObjectClearHeldMovementIfFinished(struct MapObject *);
u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z);
void sub_8063E28(struct MapObject *, struct Sprite *);
-void sub_8063CA4(struct MapObject *, u8);
+void FieldObjectSetHeldMovement(struct MapObject *, u8);
void npc_coords_shift_still(struct MapObject *);
void sub_805FE7C(struct MapObject *, u8);
void npc_set_running_behaviour_etc(struct MapObject *, u8);
u8 sub_80634F0(u8 direction);
u8 sub_8063500(u8 a0);
-void sub_805F060(struct MapObject *mapObject, u8 a1);
+void EventObjectSetGraphicsId(struct MapObject *mapObject, u8 a1);
u8 sub_805EB44(u8, u8, s16, s16);
void npc_paltag_set_load(u8 mode);
+bool8 FieldObjectIsMovementOverridden(struct MapObject *mapObject);
+u8 FieldObjectCheckHeldMovementStatus(struct MapObject *mapObject);
// Exported data declarations
diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h
index 0e8877dca..b87de3fef 100644
--- a/include/field_player_avatar.h
+++ b/include/field_player_avatar.h
@@ -8,7 +8,7 @@ void SetPlayerAvatarExtraStateTransition(u8, u8);
u8 GetPlayerAvatarGenderByGraphicsId(u8);
bool8 TestPlayerAvatarFlags(u8);
void PlayerGetDestCoords(s16 *, s16 *);
-u8 player_get_direction_lower_nybble(void);
+u8 GetPlayerFacingDirection(void);
u8 player_get_direction_upper_nybble(void);
u8 player_get_x22(void);
@@ -25,5 +25,8 @@ void SetPlayerAvatarTransitionFlags(u16 a);
bool8 IsPlayerFacingSurfableFishableWater(void);
void sub_805D2C0(u8 secondaryId);
u8 GetPlayerAvatarObjectId(void);
+u8 PlayerGetZCoord(void);
+u8 GetPlayerAvatarGraphicsIdByCurrentState(void);
+void sub_805CB70(void);
#endif //GUARD_FIELD_PLAYER_AVATAR_H
diff --git a/include/fldeff.h b/include/fldeff.h
index 3f2591516..3d4d96e44 100644
--- a/include/fldeff.h
+++ b/include/fldeff.h
@@ -1,10 +1,22 @@
#ifndef GUARD_FLDEFF_H
#define GUARD_FLDEFF_H
+extern struct MapPosition gPlayerFacingPosition;
+
bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId);
u8 oei_task_add(void);
-// rock smash
+// flash
+
+// cut
+
+// dig
+bool8 SetUpFieldMove_Dig(void);
+bool8 FldEff_UseDig(void);
+
+// rocksmash
+bool8 SetUpFieldMove_RockSmash(void);
+bool8 FldEff_UseRockSmash(void);
// berrytree
void nullsub_56(void);
diff --git a/include/fldeff_80F9BCC.h b/include/fldeff_80F9BCC.h
deleted file mode 100644
index 411a2501f..000000000
--- a/include/fldeff_80F9BCC.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef GUARD_FLDEFF_80F9BCC_H
-#define GUARD_FLDEFF_80F9BCC_H
-
-#include "global.h"
-
-// Exported type declarations
-
-// Exported RAM declarations
-
-// Exported ROM declarations
-
-void sub_80FA5E4(s16 id, s16 x, s16 y);
-void sub_80FA794(s16 x, s16 y);
-void FldEffPoison_Start(void);
-
-#endif //GUARD_FLDEFF_80F9BCC_H
diff --git a/include/global.h b/include/global.h
index 12381c6f4..e1f63213a 100644
--- a/include/global.h
+++ b/include/global.h
@@ -726,8 +726,14 @@ struct SaveBlock1
/*0x3D38*/ struct TrainerTowerLog unkArray[4];
};
-extern struct SaveBlock1* gSaveBlock1Ptr;
+struct MapPosition
+{
+ s16 x;
+ s16 y;
+ s8 height;
+};
+extern struct SaveBlock1* gSaveBlock1Ptr;
extern u8 gReservedSpritePaletteCount;
#endif // GUARD_GLOBAL_H
diff --git a/include/item_use.h b/include/item_use.h
index 0a45762f7..db98533f1 100644
--- a/include/item_use.h
+++ b/include/item_use.h
@@ -38,5 +38,7 @@ void ItemUseOutOfBattle_EscapeRope(u8 taskId);
void ItemUseOutOfBattle_EnigmaBerry(u8 taskId);
void ItemUseInBattle_EnigmaBerry(u8 taskId);
void ItemUseOutOfBattle_Itemfinder(u8 taskId);
+void sub_80A1C44(u8 taskId);
+u8 CanUseEscapeRopeOnCurrMap(void);
#endif //GUARD_ITEM_USE_H
diff --git a/include/overworld.h b/include/overworld.h
index c867549f1..bab4797ff 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -114,7 +114,7 @@ void sub_805671C(void);
bool8 sub_8055FC4(void);
bool8 is_light_level_8_or_9(u8 mapType);
bool32 sub_8055C9C(void);
-void sub_8054D70(void);
+void Overworld_ResetStateAfterDigEscRope(void);
bool32 sub_8058244(void);
#endif //GUARD_ROM4_H
diff --git a/ld_script.txt b/ld_script.txt
index f0b84f128..22672e178 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -181,7 +181,8 @@ SECTIONS {
src/heal_location.o(.text);
asm/region_map.o(.text);
src/battle_ai_script_commands.o(.text);
- asm/rom6.o(.text);
+ src/fldeff_rocksmash.o(.text);
+ src/fldeff_dig.o(.text);
asm/fldeff_flash.o(.text);
asm/post_battle_event_funcs.o(.text);
src/prof_pc.o(.text);
diff --git a/src/fldeff_dig.c b/src/fldeff_dig.c
new file mode 100644
index 000000000..b38cac7e0
--- /dev/null
+++ b/src/fldeff_dig.c
@@ -0,0 +1,49 @@
+#include "global.h"
+#include "field_effect.h"
+#include "field_player_avatar.h"
+#include "fldeff.h"
+#include "item_use.h"
+#include "overworld.h"
+#include "party_menu.h"
+#include "sprite.h"
+#include "constants/map_objects.h"
+
+static void hm2_dig(void);
+static void sub_80C9AFC(void);
+
+bool8 SetUpFieldMove_Dig(void)
+{
+ if (CanUseEscapeRopeOnCurrMap() == TRUE)
+ {
+ gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu;
+ gPostMenuFieldCallback = hm2_dig;
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static void hm2_dig(void)
+{
+ Overworld_ResetStateAfterDigEscRope();
+ FieldEffectStart(FLDEFF_USE_DIG);
+ gFieldEffectArguments[0] = GetCursorSelectionMonId();
+}
+
+bool8 FldEff_UseDig(void)
+{
+ u8 taskId = oei_task_add();
+
+ gTasks[taskId].data[8] = (u32)sub_80C9AFC >> 16;
+ gTasks[taskId].data[9] = (u32)sub_80C9AFC;
+ SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT);
+ return FALSE;
+}
+
+static void sub_80C9AFC(void)
+{
+ u8 taskId;
+
+ FieldEffectActiveListRemove(FLDEFF_USE_DIG);
+ taskId = CreateTask(sub_80A1C44, 8);
+ gTasks[taskId].data[0] = 0;
+}
diff --git a/src/fldeff_rocksmash.c b/src/fldeff_rocksmash.c
new file mode 100644
index 000000000..7d9203a51
--- /dev/null
+++ b/src/fldeff_rocksmash.c
@@ -0,0 +1,138 @@
+#include "global.h"
+#include "global.fieldmap.h"
+#include "field_player_avatar.h"
+#include "field_effect.h"
+#include "party_menu.h"
+#include "malloc.h"
+#include "event_data.h"
+#include "script.h"
+#include "fldeff.h"
+#include "event_scripts.h"
+#include "field_weather.h"
+#include "sound.h"
+#include "palette.h"
+#include "overworld.h"
+#include "wild_encounter.h"
+#include "field_map_obj.h"
+#include "constants/songs.h"
+#include "constants/map_objects.h"
+
+static void task08_080C9820(u8 taskId);
+static void sub_80C98FC(u8 taskId);
+static void sub_80C98B0(u8 taskId);
+static void sub_80C99A0(u8 taskId);
+static void sub_80C9A10(void);
+static void sub_80C9A60(void);
+
+bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId)
+{
+ u8 mapObjId;
+
+ GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y);
+ gPlayerFacingPosition.height = PlayerGetZCoord();
+ mapObjId = GetFieldObjectIdByXYZ(gPlayerFacingPosition.x, gPlayerFacingPosition.y, gPlayerFacingPosition.height);
+ if (gMapObjects[mapObjId].graphicsId != graphicsId)
+ return FALSE;
+ gSpecialVar_LastTalked = gMapObjects[mapObjId].localId;
+ return TRUE;
+}
+
+u8 oei_task_add(void)
+{
+ GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y);
+ return CreateTask(task08_080C9820, 8);
+}
+
+static void task08_080C9820(u8 taskId)
+{
+ u8 mapObjId;
+
+ ScriptContext2_Enable();
+ gPlayerAvatar.unk6 = TRUE;
+ mapObjId = gPlayerAvatar.mapObjectId;
+ if (!FieldObjectIsMovementOverridden(&gMapObjects[mapObjId])
+ || FieldObjectClearHeldMovementIfFinished(&gMapObjects[mapObjId]))
+ {
+ if (gMapHeader.mapType == MAP_TYPE_UNDERWATER)
+ {
+ FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT);
+ gTasks[taskId].func = sub_80C98FC;
+ }
+ else
+ {
+ sub_805CB70();
+ FieldObjectSetHeldMovement(&gMapObjects[mapObjId], 0x45);
+ gTasks[taskId].func = sub_80C98B0;
+ }
+ }
+}
+
+static void sub_80C98B0(u8 taskId)
+{
+ if (FieldObjectCheckHeldMovementStatus(&gMapObjects[gPlayerAvatar.mapObjectId]) == TRUE)
+ {
+ FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT);
+ gTasks[taskId].func = sub_80C98FC;
+ }
+}
+
+static void sub_80C98FC(u8 taskId)
+{
+ if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON))
+ {
+ gFieldEffectArguments[1] = GetPlayerFacingDirection();
+ if (gFieldEffectArguments[1] == 1)
+ gFieldEffectArguments[2] = 0;
+ if (gFieldEffectArguments[1] == 2)
+ gFieldEffectArguments[2] = 1;
+ if (gFieldEffectArguments[1] == 3)
+ gFieldEffectArguments[2] = 2;
+ if (gFieldEffectArguments[1] == 4)
+ gFieldEffectArguments[2] = 3;
+ EventObjectSetGraphicsId(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByCurrentState());
+ StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], gFieldEffectArguments[2]);
+ FieldEffectActiveListRemove(6);
+ gTasks[taskId].func = sub_80C99A0;
+ }
+}
+
+static void sub_80C99A0(u8 taskId)
+{
+ ((void (*)(void))(((u16)gTasks[taskId].data[8] << 16) | (u16)gTasks[taskId].data[9]))();
+ gPlayerAvatar.unk6 = FALSE;
+ DestroyTask(taskId);
+}
+
+bool8 SetUpFieldMove_RockSmash(void)
+{
+ if (CheckObjectGraphicsInFrontOfPlayer(/*MAP_OBJ_GFX_BREAKABLE_ROCK*/0x60) == TRUE)
+ {
+ gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu;
+ gPostMenuFieldCallback = sub_80C9A10;
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static void sub_80C9A10(void)
+{
+ gFieldEffectArguments[0] = GetCursorSelectionMonId();
+ ScriptContext1_SetupScript(EventScript_FldEffRockSmash);
+}
+
+bool8 FldEff_UseRockSmash(void)
+{
+ u8 taskId = oei_task_add();
+
+ gTasks[taskId].data[8] = (u32)sub_80C9A60 >> 16;
+ gTasks[taskId].data[9] = (u32)sub_80C9A60;
+ IncrementGameStat(GAME_STAT_USED_ROCK_SMASH);
+ return FALSE;
+}
+
+static void sub_80C9A60(void)
+{
+ PlaySE(SE_W145);
+ FieldEffectActiveListRemove(FLDEFF_USE_ROCK_SMASH);
+ EnableBothScriptContexts();
+}
diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c
index 95ba95061..c99d62c29 100644
--- a/src/fldeff_strength.c
+++ b/src/fldeff_strength.c
@@ -6,13 +6,15 @@
#include "script.h"
#include "fldeff.h"
#include "event_scripts.h"
+#include "constants/songs.h"
+#include "constants/map_objects.h"
static void FldEff_UseStrength(void);
static void sub_80D08A8(void);
bool8 SetUpFieldMove_Strength(void)
{
- if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING) || CheckObjectGraphicsInFrontOfPlayer(0x61) != TRUE)
+ if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING) || CheckObjectGraphicsInFrontOfPlayer(/*MAP_OBJ_GFX_PUSHABLE_BOULDER*/0x61) != TRUE)
{
return FALSE;
}
diff --git a/src/item_use.c b/src/item_use.c
index a7146b65e..3653a1699 100644
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -68,7 +68,6 @@ void sub_80A19E8(u8 taskId);
void sub_80A1A44(void);
void sub_80A1B48(u8 taskId);
void sub_80A1C08(u8 taskId);
-void sub_80A1C44(u8 taskId);
void sub_80A1CAC(void);
void sub_80A1CC0(u8 taskId);
void sub_80A1D58(void);
@@ -557,7 +556,7 @@ void sub_80A1B48(u8 taskId)
}
}
-bool8 sub_80A1B8C(void)
+bool8 CanUseEscapeRopeOnCurrMap(void)
{
if (gMapHeader.escapeRope & 1)
return TRUE;
@@ -567,7 +566,7 @@ bool8 sub_80A1B8C(void)
void ItemUseOutOfBattle_EscapeRope(u8 taskId)
{
- if (sub_80A1B8C() == TRUE)
+ if (CanUseEscapeRopeOnCurrMap() == TRUE)
{
ItemUse_SetQuestLogEvent(4, NULL, gSpecialVar_ItemId, gMapHeader.regionMapSectionId);
sItemUseOnFieldCB = sub_80A1C08;
@@ -579,7 +578,7 @@ void ItemUseOutOfBattle_EscapeRope(u8 taskId)
void sub_80A1C08(u8 taskId)
{
- sub_8054D70();
+ Overworld_ResetStateAfterDigEscRope();
sub_80A1A44();
gTasks[taskId].data[0] = 0;
DisplayItemMessageOnField(taskId, 2, gStringVar4, sub_80A1C44);
diff --git a/src/map_obj_lock.c b/src/map_obj_lock.c
index cdd74a5b9..f89819647 100644
--- a/src/map_obj_lock.c
+++ b/src/map_obj_lock.c
@@ -89,7 +89,7 @@ void LockSelectedMapObject(void)
void sub_80696C0(void)
{
u8 fieldObjectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0);
- FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[fieldObjectId]);
+ FieldObjectClearHeldMovementIfFinished(&gMapObjects[fieldObjectId]);
sub_80974D8();
UnfreezeMapObjects();
}
@@ -98,9 +98,9 @@ void sub_80696F0(void)
{
u8 fieldObjectId;
if (gMapObjects[gSelectedEventObject].active)
- FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[gSelectedEventObject]);
+ FieldObjectClearHeldMovementIfFinished(&gMapObjects[gSelectedEventObject]);
fieldObjectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0);
- FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[fieldObjectId]);
+ FieldObjectClearHeldMovementIfFinished(&gMapObjects[fieldObjectId]);
sub_80974D8();
UnfreezeMapObjects();
}
diff --git a/src/quest_log.c b/src/quest_log.c
index 3fd9d53de..fe83f67e9 100644
--- a/src/quest_log.c
+++ b/src/quest_log.c
@@ -1705,7 +1705,7 @@ void sub_811246C(struct Sprite *sprite)
{
if (gUnknown_203AF9A[0][0] != 0xFF)
{
- sub_8063CA4(mapObject, gUnknown_203AF9A[0][0]);
+ FieldObjectSetHeldMovement(mapObject, gUnknown_203AF9A[0][0]);
gUnknown_203AF9A[0][0] = 0xFF;
}
if (gUnknown_203AF9A[0][1] != 0xFF)
@@ -1719,7 +1719,7 @@ void sub_811246C(struct Sprite *sprite)
{
if (gUnknown_203AF9A[mapObject->localId][0] != 0xFF)
{
- sub_8063CA4(mapObject, gUnknown_203AF9A[mapObject->localId][0]);
+ FieldObjectSetHeldMovement(mapObject, gUnknown_203AF9A[mapObject->localId][0]);
gUnknown_203AF9A[mapObject->localId][0] = 0xFF;
}
sub_8063E28(mapObject, sprite);
@@ -1911,7 +1911,7 @@ void sub_8112940(u8 a0, struct UnkStruct_203AE98 *a1, u16 a2)
gUnknown_3005E94[gUnknown_203AF98].unk_4 = 0;
gUnknown_3005E94[gUnknown_203AF98].unk_6 = 0;
gUnknown_3005E94[gUnknown_203AF98].unk_0 = 0;
- switch (player_get_direction_lower_nybble())
+ switch (GetPlayerFacingDirection())
{
case 0:
case 1:
diff --git a/src/quest_log_8150454.c b/src/quest_log_8150454.c
index 8af516e3a..3d61dee72 100644
--- a/src/quest_log_8150454.c
+++ b/src/quest_log_8150454.c
@@ -115,7 +115,7 @@ void sub_81505C4(u8 taskId)
gTasks[taskId].data[0]++;
break;
case 2:
- StartSpriteAnim(sprite, sub_8063500(player_get_direction_lower_nybble()));
+ StartSpriteAnim(sprite, sub_8063500(GetPlayerFacingDirection()));
gTasks[taskId].data[0]++;
break;
case 3:
@@ -173,7 +173,7 @@ void sub_8150794(u8 taskId)
void sub_81507BC(struct MapObject * a0, u8 a1)
{
- sub_805F060(a0, a1);
+ EventObjectSetGraphicsId(a0, a1);
}
void sub_81507CC(void)
diff --git a/src/scrcmd.c b/src/scrcmd.c
index 12b2892bb..d317a78b5 100644
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -807,7 +807,7 @@ bool8 ScrCmd_warpteleport2(struct ScriptContext *ctx)
u16 y = VarGet(ScriptReadHalfword(ctx));
Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y);
- sub_805DAE4(player_get_direction_lower_nybble());
+ sub_805DAE4(GetPlayerFacingDirection());
sub_807E500();
ResetInitialPlayerAvatarState();
return TRUE;
@@ -1154,7 +1154,7 @@ bool8 ScrCmd_faceplayer(struct ScriptContext *ctx)
if (gMapObjects[gSelectedEventObject].active)
{
FieldObjectFaceOppositeDirection(&gMapObjects[gSelectedEventObject],
- player_get_direction_lower_nybble());
+ GetPlayerFacingDirection());
}
return FALSE;
}
@@ -1241,7 +1241,7 @@ bool8 ScrCmd_releaseall(struct ScriptContext *ctx)
HideFieldMessageBox();
playerObjectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0);
- FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[playerObjectId]);
+ FieldObjectClearHeldMovementIfFinished(&gMapObjects[playerObjectId]);
sub_80974D8();
UnfreezeMapObjects();
return FALSE;
@@ -1253,9 +1253,9 @@ bool8 ScrCmd_release(struct ScriptContext *ctx)
HideFieldMessageBox();
if (gMapObjects[gSelectedEventObject].active)
- FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[gSelectedEventObject]);
+ FieldObjectClearHeldMovementIfFinished(&gMapObjects[gSelectedEventObject]);
playerObjectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0);
- FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[playerObjectId]);
+ FieldObjectClearHeldMovementIfFinished(&gMapObjects[playerObjectId]);
sub_80974D8();
UnfreezeMapObjects();
return FALSE;
diff --git a/sym_ewram.txt b/sym_ewram.txt
index be0b04728..2c791be78 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -1043,7 +1043,7 @@ gUnknown_20399FC: @ 20399FC
gAIScriptPtr: @ 2039A00
.space 0x4
-gUnknown_2039A04: @ 2039A04
+gPlayerFacingPosition: @ 2039A04
.space 0x8
gUnknown_2039A0C: @ 2039A0C