finished fldeff_dig + fldeff_rocksmash
This commit is contained in:
@@ -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
|
||||
|
||||
+55
-55
@@ -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
|
||||
|
||||
+12
-12
@@ -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
|
||||
|
||||
+21
-21
@@ -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}
|
||||
|
||||
+38
-38
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
+4
-4
@@ -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
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
+4
-4
@@ -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
|
||||
|
||||
+5
-5
@@ -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
|
||||
|
||||
-459
@@ -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.
|
||||
@@ -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
|
||||
|
||||
+27
-27
@@ -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]
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
+13
-1
@@ -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);
|
||||
|
||||
@@ -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
|
||||
+7
-1
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
+2
-1
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
+3
-4
@@ -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);
|
||||
|
||||
+3
-3
@@ -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();
|
||||
}
|
||||
|
||||
+3
-3
@@ -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:
|
||||
|
||||
@@ -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)
|
||||
|
||||
+5
-5
@@ -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;
|
||||
|
||||
+1
-1
@@ -1043,7 +1043,7 @@ gUnknown_20399FC: @ 20399FC
|
||||
gAIScriptPtr: @ 2039A00
|
||||
.space 0x4
|
||||
|
||||
gUnknown_2039A04: @ 2039A04
|
||||
gPlayerFacingPosition: @ 2039A04
|
||||
.space 0x8
|
||||
|
||||
gUnknown_2039A0C: @ 2039A0C
|
||||
|
||||
Reference in New Issue
Block a user