Decompile/port event_object_movement
This commit is contained in:
+3
-3
@@ -79,7 +79,7 @@ sub_80BD100: @ 80BD100
|
||||
lsls r4, 2
|
||||
ldr r0, _080BD160 @ =gObjectEvents
|
||||
adds r4, r0
|
||||
bl player_get_direction_upper_nybble
|
||||
bl GetPlayerMovementDirection
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
movs r0, 0
|
||||
@@ -195,7 +195,7 @@ sub_80BD1E8: @ 80BD1E8
|
||||
lsls r2, 16
|
||||
lsrs r2, 16
|
||||
mov r8, r2
|
||||
bl player_get_direction_upper_nybble
|
||||
bl GetPlayerMovementDirection
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
adds r7, r5, 0
|
||||
@@ -881,7 +881,7 @@ Bike_HandleBumpySlopeJump: @ 80BD6C4
|
||||
beq _080BD70C
|
||||
movs r0, 0x2
|
||||
strb r0, [r5, 0x8]
|
||||
bl player_get_direction_upper_nybble
|
||||
bl GetPlayerMovementDirection
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl nullsub_24
|
||||
|
||||
+30
-30
@@ -241,7 +241,7 @@ _08068A88: .4byte gObjectEvents
|
||||
thumb_func_start little_step
|
||||
little_step: @ 8068A8C
|
||||
lsls r1, 24
|
||||
ldr r2, _08068AA8 @ =gUnknown_83A64C8
|
||||
ldr r2, _08068AA8 @ =sDirectionToVectors
|
||||
lsrs r1, 22
|
||||
adds r1, r2
|
||||
ldrh r2, [r1]
|
||||
@@ -254,13 +254,13 @@ little_step: @ 8068A8C
|
||||
strh r1, [r0, 0x22]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08068AA8: .4byte gUnknown_83A64C8
|
||||
_08068AA8: .4byte sDirectionToVectors
|
||||
thumb_func_end little_step
|
||||
|
||||
thumb_func_start double_little_steps
|
||||
double_little_steps: @ 8068AAC
|
||||
lsls r1, 24
|
||||
ldr r2, _08068ACC @ =gUnknown_83A64C8
|
||||
ldr r2, _08068ACC @ =sDirectionToVectors
|
||||
lsrs r1, 22
|
||||
adds r1, r2
|
||||
ldrh r2, [r1]
|
||||
@@ -275,13 +275,13 @@ double_little_steps: @ 8068AAC
|
||||
strh r1, [r0, 0x22]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08068ACC: .4byte gUnknown_83A64C8
|
||||
_08068ACC: .4byte sDirectionToVectors
|
||||
thumb_func_end double_little_steps
|
||||
|
||||
thumb_func_start triple_little_steps
|
||||
triple_little_steps: @ 8068AD0
|
||||
lsls r1, 24
|
||||
ldr r2, _08068AF4 @ =gUnknown_83A64C8
|
||||
ldr r2, _08068AF4 @ =sDirectionToVectors
|
||||
lsrs r1, 22
|
||||
adds r1, r2
|
||||
ldrh r2, [r1]
|
||||
@@ -298,13 +298,13 @@ triple_little_steps: @ 8068AD0
|
||||
strh r1, [r0, 0x22]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08068AF4: .4byte gUnknown_83A64C8
|
||||
_08068AF4: .4byte sDirectionToVectors
|
||||
thumb_func_end triple_little_steps
|
||||
|
||||
thumb_func_start quad_little_steps
|
||||
quad_little_steps: @ 8068AF8
|
||||
lsls r1, 24
|
||||
ldr r2, _08068B18 @ =gUnknown_83A64C8
|
||||
ldr r2, _08068B18 @ =sDirectionToVectors
|
||||
lsrs r1, 22
|
||||
adds r1, r2
|
||||
ldrh r2, [r1]
|
||||
@@ -319,13 +319,13 @@ quad_little_steps: @ 8068AF8
|
||||
strh r1, [r0, 0x22]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08068B18: .4byte gUnknown_83A64C8
|
||||
_08068B18: .4byte sDirectionToVectors
|
||||
thumb_func_end quad_little_steps
|
||||
|
||||
thumb_func_start oct_little_steps
|
||||
oct_little_steps: @ 8068B1C
|
||||
lsls r1, 24
|
||||
ldr r2, _08068B3C @ =gUnknown_83A64C8
|
||||
ldr r2, _08068B3C @ =sDirectionToVectors
|
||||
lsrs r1, 22
|
||||
adds r1, r2
|
||||
ldrh r2, [r1]
|
||||
@@ -340,7 +340,7 @@ oct_little_steps: @ 8068B1C
|
||||
strh r1, [r0, 0x22]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08068B3C: .4byte gUnknown_83A64C8
|
||||
_08068B3C: .4byte sDirectionToVectors
|
||||
thumb_func_end oct_little_steps
|
||||
|
||||
thumb_func_start oamt_npc_ministep_reset
|
||||
@@ -788,14 +788,14 @@ _08068E50: .4byte gUnknown_83A7202
|
||||
_08068E54: .4byte gUnknown_83A7208
|
||||
thumb_func_end sub_8068DC4
|
||||
|
||||
thumb_func_start SetObjectEventStepTimer
|
||||
SetObjectEventStepTimer: @ 8068E58
|
||||
thumb_func_start SetMovementDelay
|
||||
SetMovementDelay: @ 8068E58
|
||||
strh r1, [r0, 0x34]
|
||||
bx lr
|
||||
thumb_func_end SetObjectEventStepTimer
|
||||
thumb_func_end SetMovementDelay
|
||||
|
||||
thumb_func_start RunObjectEventStepTimer
|
||||
RunObjectEventStepTimer: @ 8068E5C
|
||||
thumb_func_start WaitForMovementDelay
|
||||
WaitForMovementDelay: @ 8068E5C
|
||||
push {lr}
|
||||
ldrh r1, [r0, 0x34]
|
||||
subs r1, 0x1
|
||||
@@ -810,10 +810,10 @@ _08068E6E:
|
||||
_08068E70:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end RunObjectEventStepTimer
|
||||
thumb_func_end WaitForMovementDelay
|
||||
|
||||
thumb_func_start obj_anim_image_set_and_seek
|
||||
obj_anim_image_set_and_seek: @ 8068E74
|
||||
thumb_func_start SetAndStartSpriteAnim
|
||||
SetAndStartSpriteAnim: @ 8068E74
|
||||
push {r4,lr}
|
||||
lsls r2, 24
|
||||
lsrs r2, 24
|
||||
@@ -832,10 +832,10 @@ obj_anim_image_set_and_seek: @ 8068E74
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end obj_anim_image_set_and_seek
|
||||
thumb_func_end SetAndStartSpriteAnim
|
||||
|
||||
thumb_func_start sub_8068E9C
|
||||
sub_8068E9C: @ 8068E9C
|
||||
thumb_func_start SpriteAnimEnded
|
||||
SpriteAnimEnded: @ 8068E9C
|
||||
push {lr}
|
||||
adds r0, 0x3F
|
||||
ldrb r1, [r0]
|
||||
@@ -850,7 +850,7 @@ _08068EAE:
|
||||
_08068EB0:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8068E9C
|
||||
thumb_func_end SpriteAnimEnded
|
||||
|
||||
thumb_func_start sub_8068EB4
|
||||
sub_8068EB4: @ 8068EB4
|
||||
@@ -983,8 +983,8 @@ _08068FA2:
|
||||
bx r0
|
||||
thumb_func_end sub_8068EB4
|
||||
|
||||
thumb_func_start sub_8068FA8
|
||||
sub_8068FA8: @ 8068FA8
|
||||
thumb_func_start UpdateObjectEventSpriteSubpriorityAndVisibility
|
||||
UpdateObjectEventSpriteSubpriorityAndVisibility: @ 8068FA8
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
bl sub_8069248
|
||||
@@ -1002,7 +1002,7 @@ sub_8068FA8: @ 8068FA8
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8068FA8
|
||||
thumb_func_end UpdateObjectEventSpriteSubpriorityAndVisibility
|
||||
|
||||
thumb_func_start sub_8068FD0
|
||||
sub_8068FD0: @ 8068FD0
|
||||
@@ -1020,7 +1020,7 @@ _08068FD6:
|
||||
cmp r0, 0
|
||||
beq _08068FF6
|
||||
ldr r1, [r2, 0x1C]
|
||||
ldr r0, _08069008 @ =sub_8068FA8
|
||||
ldr r0, _08069008 @ =UpdateObjectEventSpriteSubpriorityAndVisibility
|
||||
cmp r1, r0
|
||||
bne _08068FF6
|
||||
adds r0, r2, 0
|
||||
@@ -1035,7 +1035,7 @@ _08068FF6:
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08069004: .4byte gSprites
|
||||
_08069008: .4byte sub_8068FA8
|
||||
_08069008: .4byte UpdateObjectEventSpriteSubpriorityAndVisibility
|
||||
thumb_func_end sub_8068FD0
|
||||
|
||||
thumb_func_start sub_806900C
|
||||
@@ -1056,7 +1056,7 @@ _08069018:
|
||||
cmp r0, 0
|
||||
beq _08069048
|
||||
ldr r1, [r2, 0x1C]
|
||||
ldr r0, _08069044 @ =sub_8068FA8
|
||||
ldr r0, _08069044 @ =UpdateObjectEventSpriteSubpriorityAndVisibility
|
||||
cmp r1, r0
|
||||
bne _08069048
|
||||
ldrh r0, [r2, 0x2E]
|
||||
@@ -1068,7 +1068,7 @@ _08069018:
|
||||
b _08069052
|
||||
.align 2, 0
|
||||
_08069040: .4byte gSprites
|
||||
_08069044: .4byte sub_8068FA8
|
||||
_08069044: .4byte UpdateObjectEventSpriteSubpriorityAndVisibility
|
||||
_08069048:
|
||||
adds r4, 0x44
|
||||
adds r3, 0x1
|
||||
@@ -1099,7 +1099,7 @@ sub_8069058: @ 8069058
|
||||
ldr r0, _08069090 @ =gSprites
|
||||
adds r4, r0
|
||||
adds r0, r5, 0
|
||||
bl ObjectEventDirectionToImageAnimId
|
||||
bl GetFaceDirectionAnimNum
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+23
-23
@@ -797,7 +797,7 @@ _0805AB54: .4byte gSprites
|
||||
|
||||
thumb_func_start ResetCameraUpdateInfo
|
||||
ResetCameraUpdateInfo: @ 805AB58
|
||||
ldr r1, _0805AB6C @ =gUnknown_3005050
|
||||
ldr r1, _0805AB6C @ =gFieldCamera
|
||||
movs r0, 0
|
||||
str r0, [r1, 0x8]
|
||||
str r0, [r1, 0xC]
|
||||
@@ -807,7 +807,7 @@ ResetCameraUpdateInfo: @ 805AB58
|
||||
str r0, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0805AB6C: .4byte gUnknown_3005050
|
||||
_0805AB6C: .4byte gFieldCamera
|
||||
thumb_func_end ResetCameraUpdateInfo
|
||||
|
||||
thumb_func_start InitCameraUpdateCallback
|
||||
@@ -815,7 +815,7 @@ InitCameraUpdateCallback: @ 805AB70
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
ldr r4, _0805ABA4 @ =gUnknown_3005050
|
||||
ldr r4, _0805ABA4 @ =gFieldCamera
|
||||
ldr r1, [r4, 0x4]
|
||||
cmp r1, 0
|
||||
beq _0805AB8C
|
||||
@@ -838,7 +838,7 @@ _0805AB8C:
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0805ABA4: .4byte gUnknown_3005050
|
||||
_0805ABA4: .4byte gFieldCamera
|
||||
_0805ABA8: .4byte gSprites
|
||||
_0805ABAC: .4byte CameraUpdateCallback
|
||||
thumb_func_end InitCameraUpdateCallback
|
||||
@@ -848,7 +848,7 @@ CameraUpdate: @ 805ABB0
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
ldr r6, _0805ACA4 @ =gUnknown_3005050
|
||||
ldr r6, _0805ACA4 @ =gFieldCamera
|
||||
ldr r1, [r6]
|
||||
cmp r1, 0
|
||||
beq _0805ABC4
|
||||
@@ -903,7 +903,7 @@ _0805AC08:
|
||||
ble _0805AC1C
|
||||
movs r4, 0x1
|
||||
_0805AC1C:
|
||||
ldr r2, _0805ACA4 @ =gUnknown_3005050
|
||||
ldr r2, _0805ACA4 @ =gFieldCamera
|
||||
ldr r0, [r2, 0x10]
|
||||
adds r1, r0, r7
|
||||
str r1, [r2, 0x10]
|
||||
@@ -956,11 +956,11 @@ _0805AC7E:
|
||||
adds r1, r7, 0
|
||||
mov r2, r8
|
||||
bl coords8_add
|
||||
ldr r1, _0805ACAC @ =gUnknown_300506C
|
||||
ldr r1, _0805ACAC @ =gTotalCameraPixelOffsetX
|
||||
ldrh r0, [r1]
|
||||
subs r0, r7
|
||||
strh r0, [r1]
|
||||
ldr r1, _0805ACB0 @ =gUnknown_3005068
|
||||
ldr r1, _0805ACB0 @ =gTotalCameraPixelOffsetY
|
||||
ldrh r0, [r1]
|
||||
mov r2, r8
|
||||
subs r0, r2
|
||||
@@ -971,10 +971,10 @@ _0805AC7E:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0805ACA4: .4byte gUnknown_3005050
|
||||
_0805ACA4: .4byte gFieldCamera
|
||||
_0805ACA8: .4byte gUnknown_3000E90
|
||||
_0805ACAC: .4byte gUnknown_300506C
|
||||
_0805ACB0: .4byte gUnknown_3005068
|
||||
_0805ACAC: .4byte gTotalCameraPixelOffsetX
|
||||
_0805ACB0: .4byte gTotalCameraPixelOffsetY
|
||||
thumb_func_end CameraUpdate
|
||||
|
||||
thumb_func_start sub_805ACB4
|
||||
@@ -989,12 +989,12 @@ sub_805ACB4: @ 805ACB4
|
||||
asrs r1, 16
|
||||
bl UpdateObjectEventsForCameraUpdate
|
||||
bl DrawWholeMapView
|
||||
ldr r1, _0805ACE8 @ =gUnknown_300506C
|
||||
ldr r1, _0805ACE8 @ =gTotalCameraPixelOffsetX
|
||||
lsls r4, 4
|
||||
ldrh r0, [r1]
|
||||
subs r0, r4
|
||||
strh r0, [r1]
|
||||
ldr r1, _0805ACEC @ =gUnknown_3005068
|
||||
ldr r1, _0805ACEC @ =gTotalCameraPixelOffsetY
|
||||
lsls r5, 4
|
||||
ldrh r0, [r1]
|
||||
subs r0, r5
|
||||
@@ -1003,8 +1003,8 @@ sub_805ACB4: @ 805ACB4
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0805ACE8: .4byte gUnknown_300506C
|
||||
_0805ACEC: .4byte gUnknown_3005068
|
||||
_0805ACE8: .4byte gTotalCameraPixelOffsetX
|
||||
_0805ACEC: .4byte gTotalCameraPixelOffsetY
|
||||
thumb_func_end sub_805ACB4
|
||||
|
||||
thumb_func_start sub_805ACF0
|
||||
@@ -1012,7 +1012,7 @@ sub_805ACF0: @ 805ACF0
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
ldr r4, _0805ADCC @ =gUnknown_3005050
|
||||
ldr r4, _0805ADCC @ =gFieldCamera
|
||||
ldr r1, [r4]
|
||||
cmp r1, 0
|
||||
beq _0805AD04
|
||||
@@ -1067,7 +1067,7 @@ _0805AD48:
|
||||
ble _0805AD5C
|
||||
movs r5, 0x1
|
||||
_0805AD5C:
|
||||
ldr r2, _0805ADCC @ =gUnknown_3005050
|
||||
ldr r2, _0805ADCC @ =gFieldCamera
|
||||
ldr r0, [r2, 0x10]
|
||||
adds r1, r0, r7
|
||||
str r1, [r2, 0x10]
|
||||
@@ -1123,7 +1123,7 @@ _0805ADB6:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0805ADCC: .4byte gUnknown_3005050
|
||||
_0805ADCC: .4byte gFieldCamera
|
||||
_0805ADD0: .4byte gUnknown_3000E90
|
||||
thumb_func_end sub_805ACF0
|
||||
|
||||
@@ -1184,14 +1184,14 @@ UpdateCameraPanning: @ 805AE28
|
||||
bl _call_via_r0
|
||||
_0805AE36:
|
||||
ldr r2, _0805AE5C @ =gSpriteCoordOffsetX
|
||||
ldr r0, _0805AE60 @ =gUnknown_300506C
|
||||
ldr r0, _0805AE60 @ =gTotalCameraPixelOffsetX
|
||||
ldr r1, _0805AE64 @ =gUnknown_3000E98
|
||||
ldrh r0, [r0]
|
||||
ldrh r1, [r1]
|
||||
subs r0, r1
|
||||
strh r0, [r2]
|
||||
ldr r2, _0805AE68 @ =gSpriteCoordOffsetY
|
||||
ldr r0, _0805AE6C @ =gUnknown_3005068
|
||||
ldr r0, _0805AE6C @ =gTotalCameraPixelOffsetY
|
||||
ldr r1, _0805AE70 @ =gUnknown_3000E9A
|
||||
ldrh r0, [r0]
|
||||
ldrh r1, [r1]
|
||||
@@ -1203,10 +1203,10 @@ _0805AE36:
|
||||
.align 2, 0
|
||||
_0805AE58: .4byte gUnknown_3000EA0
|
||||
_0805AE5C: .4byte gSpriteCoordOffsetX
|
||||
_0805AE60: .4byte gUnknown_300506C
|
||||
_0805AE60: .4byte gTotalCameraPixelOffsetX
|
||||
_0805AE64: .4byte gUnknown_3000E98
|
||||
_0805AE68: .4byte gSpriteCoordOffsetY
|
||||
_0805AE6C: .4byte gUnknown_3005068
|
||||
_0805AE6C: .4byte gTotalCameraPixelOffsetY
|
||||
_0805AE70: .4byte gUnknown_3000E9A
|
||||
thumb_func_end UpdateCameraPanning
|
||||
|
||||
@@ -1242,7 +1242,7 @@ _0805AEA8:
|
||||
movs r0, 0
|
||||
strb r0, [r1]
|
||||
_0805AEAE:
|
||||
bl player_get_direction_upper_nybble
|
||||
bl GetPlayerMovementDirection
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x2
|
||||
|
||||
@@ -923,7 +923,7 @@ _0806CFA4: .4byte gDirectionToVectors
|
||||
_0806CFA8: .4byte gObjectEvents
|
||||
_0806CFAC:
|
||||
movs r4, 0
|
||||
ldr r1, _0806CFE4 @ =gUnknown_2031DEC
|
||||
ldr r1, _0806CFE4 @ =gLinkPlayerObjectEvents
|
||||
_0806CFB0:
|
||||
ldrb r0, [r1]
|
||||
cmp r0, 0x1
|
||||
@@ -953,7 +953,7 @@ _0806CFDE:
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0806CFE4: .4byte gUnknown_2031DEC
|
||||
_0806CFE4: .4byte gLinkPlayerObjectEvents
|
||||
_0806CFE8: .4byte gSelectedObjectEvent
|
||||
_0806CFEC: .4byte gSpecialVar_LastTalked
|
||||
_0806CFF0: .4byte gSpecialVar_Facing
|
||||
@@ -3083,7 +3083,7 @@ _0806E046:
|
||||
GetObjectEventScriptPointerForComparison: @ 806E050
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x8
|
||||
bl player_get_direction_upper_nybble
|
||||
bl GetPlayerMovementDirection
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
@@ -3112,7 +3112,7 @@ GetObjectEventScriptPointerForComparison: @ 806E050
|
||||
SetCableClubWarp: @ 806E08C
|
||||
push {r4,lr}
|
||||
sub sp, 0x8
|
||||
bl player_get_direction_upper_nybble
|
||||
bl GetPlayerMovementDirection
|
||||
mov r4, sp
|
||||
mov r0, sp
|
||||
bl player_get_pos_to_and_height
|
||||
|
||||
+20
-20
@@ -2238,7 +2238,7 @@ sub_80844BC: @ 80844BC
|
||||
bl GetPlayerFacingDirection
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl sub_8063EB8
|
||||
bl GetFaceDirectionMovementAction
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@@ -2666,7 +2666,7 @@ _0808484A:
|
||||
bl GetPlayerFacingDirection
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl sub_8063EB8
|
||||
bl GetFaceDirectionMovementAction
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@@ -2947,7 +2947,7 @@ sub_8084A5C: @ 8084A5C
|
||||
ldr r0, _08084AC0 @ =gObjectEvents
|
||||
adds r4, r0
|
||||
movs r0, 0x4
|
||||
bl sub_8063EB8
|
||||
bl GetFaceDirectionMovementAction
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@@ -3200,7 +3200,7 @@ sub_8084C3C: @ 8084C3C
|
||||
bl ScriptContext2_Disable
|
||||
bl UnfreezeObjectEvents
|
||||
movs r0, 0x4
|
||||
bl sub_8063F84
|
||||
bl GetWalkNormalMovementAction
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@@ -4065,7 +4065,7 @@ sub_80852C0: @ 80852C0
|
||||
movs r0, 0xA8
|
||||
bl PlaySE
|
||||
movs r0, 0x4
|
||||
bl sub_8064194
|
||||
bl GetJumpMovementAction
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@@ -4306,7 +4306,7 @@ _080854C4:
|
||||
ldrb r0, [r4, 0x18]
|
||||
lsls r0, 28
|
||||
lsrs r0, 28
|
||||
bl GetStepInPlaceDelay4AnimId
|
||||
bl GetWalkInPlaceFastMovementAction
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@@ -4610,7 +4610,7 @@ _08085702:
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
adds r0, r6, 0
|
||||
bl ObjectEventSetDirection
|
||||
bl SetObjectEventDirection
|
||||
bl sub_80555E0
|
||||
bl WarpIntoMap
|
||||
ldr r1, _0808575C @ =gFieldCallback
|
||||
@@ -4668,7 +4668,7 @@ _0808579E:
|
||||
lsrs r0, 28
|
||||
adds r0, r7
|
||||
ldrb r0, [r0]
|
||||
bl sub_8063EB8
|
||||
bl GetFaceDirectionMovementAction
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@@ -5761,7 +5761,7 @@ FldEff_FieldMoveShowMon: @ 8086028
|
||||
bl GetCurrentMapType
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl is_light_level_1_2_3_5_or_6
|
||||
bl IsMapTypeOutdoors
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
@@ -7194,7 +7194,7 @@ sub_8086B30: @ 8086B30
|
||||
strb r0, [r5]
|
||||
ldrb r0, [r4, 0x18]
|
||||
lsrs r0, 4
|
||||
bl sub_8063EB8
|
||||
bl GetFaceDirectionMovementAction
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@@ -7380,12 +7380,12 @@ _08086CD2:
|
||||
ldrb r0, [r4, 0x18]
|
||||
lsls r0, 28
|
||||
lsrs r0, 28
|
||||
bl sub_8063EB8
|
||||
bl GetFaceDirectionMovementAction
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
adds r0, r4, 0
|
||||
bl ObjectEventForceSetSpecialAnim
|
||||
bl ObjectEventForceSetHeldMovement
|
||||
ldrh r0, [r6, 0x8]
|
||||
adds r0, 0x1
|
||||
strh r0, [r6, 0x8]
|
||||
@@ -7859,7 +7859,7 @@ sub_808706C: @ 808706C
|
||||
ldr r0, _08087108 @ =gObjectEvents
|
||||
adds r4, r0
|
||||
adds r0, r4, 0
|
||||
bl ObjectEventClearAnimIfSpecialAnimActive
|
||||
bl ObjectEventClearHeldMovementIfActive
|
||||
ldrb r1, [r4, 0x1]
|
||||
movs r0, 0x11
|
||||
negs r0, r0
|
||||
@@ -8676,7 +8676,7 @@ sub_8087698: @ 8087698
|
||||
movs r0, 0x12
|
||||
ldrsh r2, [r5, r0]
|
||||
adds r0, r5, 0
|
||||
bl sub_805F724
|
||||
bl MoveObjectEventToMapCoords
|
||||
movs r0, 0
|
||||
strh r0, [r4, 0x24]
|
||||
strh r0, [r4, 0x26]
|
||||
@@ -9012,7 +9012,7 @@ sub_8087924: @ 8087924
|
||||
lsls r2, 16
|
||||
asrs r2, 16
|
||||
adds r0, r4, 0
|
||||
bl npc_coords_shift
|
||||
bl ShiftObjectEventCoords
|
||||
ldr r0, _080879CC @ =sub_80879D8
|
||||
movs r1, 0x50
|
||||
bl CreateTask
|
||||
@@ -9155,7 +9155,7 @@ _08087A78:
|
||||
ldrh r0, [r5, 0x6]
|
||||
strh r0, [r6, 0x22]
|
||||
adds r0, r4, 0
|
||||
bl npc_coords_shift_still
|
||||
bl ShiftStillObjectEventCoords
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0x8
|
||||
orrs r0, r1
|
||||
@@ -9474,7 +9474,7 @@ sub_8087CFC: @ 8087CFC
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r6, r0, 0
|
||||
ldr r0, _08087D80 @ =gUnknown_300506C
|
||||
ldr r0, _08087D80 @ =gTotalCameraPixelOffsetX
|
||||
movs r1, 0
|
||||
ldrsh r2, [r0, r1]
|
||||
movs r3, 0x20
|
||||
@@ -9483,7 +9483,7 @@ sub_8087CFC: @ 8087CFC
|
||||
movs r1, 0x24
|
||||
ldrsh r0, [r6, r1]
|
||||
adds r2, r0
|
||||
ldr r0, _08087D84 @ =gUnknown_3005068
|
||||
ldr r0, _08087D84 @ =gTotalCameraPixelOffsetY
|
||||
movs r3, 0
|
||||
ldrsh r0, [r0, r3]
|
||||
movs r3, 0x22
|
||||
@@ -9536,8 +9536,8 @@ _08087D6E:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08087D80: .4byte gUnknown_300506C
|
||||
_08087D84: .4byte gUnknown_3005068
|
||||
_08087D80: .4byte gTotalCameraPixelOffsetX
|
||||
_08087D84: .4byte gTotalCameraPixelOffsetY
|
||||
_08087D88: .4byte gUnknown_83CC2A0
|
||||
_08087D8C: .4byte gSprites
|
||||
thumb_func_end sub_8087CFC
|
||||
|
||||
+15
-15
@@ -20,7 +20,7 @@ SetUpReflection: @ 80DAD7C
|
||||
ldrsh r2, [r4, r0]
|
||||
adds r0, r4, 0
|
||||
movs r3, 0x98
|
||||
bl obj_unfreeze
|
||||
bl CreateCopySpriteAt
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r1, r0, 4
|
||||
@@ -34,7 +34,7 @@ SetUpReflection: @ 80DAD7C
|
||||
movs r0, 0xC
|
||||
orrs r1, r0
|
||||
strb r1, [r7, 0x5]
|
||||
ldr r2, _080DAE34 @ =gUnknown_835B934
|
||||
ldr r2, _080DAE34 @ =gReflectionEffectPaletteMap
|
||||
lsrs r0, r1, 4
|
||||
adds r0, r2
|
||||
ldrb r0, [r0]
|
||||
@@ -96,7 +96,7 @@ _080DAE22:
|
||||
.align 2, 0
|
||||
_080DAE2C: .4byte gSprites
|
||||
_080DAE30: .4byte sub_80DAF50
|
||||
_080DAE34: .4byte gUnknown_835B934
|
||||
_080DAE34: .4byte gReflectionEffectPaletteMap
|
||||
_080DAE38: .4byte gDummySpriteAnimTable
|
||||
_080DAE3C: .4byte gDummySpriteAffineAnimTable
|
||||
thumb_func_end SetUpReflection
|
||||
@@ -189,7 +189,7 @@ npc_pal_op_B: @ 80DAEC4
|
||||
bne _080DAEF4
|
||||
ldrh r0, [r2, 0x2]
|
||||
adds r1, r4, 0
|
||||
bl npc_load_two_palettes__no_record
|
||||
bl LoadPlayerObjectReflectionPalette
|
||||
b _080DAF12
|
||||
.align 2, 0
|
||||
_080DAEF0: .4byte 0x000011ff
|
||||
@@ -198,15 +198,15 @@ _080DAEF4:
|
||||
bne _080DAF02
|
||||
ldrh r0, [r2, 0x2]
|
||||
adds r1, r4, 0
|
||||
bl npc_load_two_palettes__and_record
|
||||
bl LoadSpecialObjectReflectionPalette
|
||||
b _080DAF12
|
||||
_080DAF02:
|
||||
adds r0, r4, 0
|
||||
bl npc_paltag_by_palslot
|
||||
bl GetObjectPaletteTag
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
adds r1, r4, 0
|
||||
bl pal_patch_for_npc
|
||||
bl PatchObjectPalette
|
||||
_080DAF12:
|
||||
adds r0, r4, 0
|
||||
bl sub_807AA8C
|
||||
@@ -230,7 +230,7 @@ npc_pal_op_A: @ 80DAF20
|
||||
beq _080DAF44
|
||||
adds r0, r1, 0
|
||||
adds r1, r4, 0
|
||||
bl pal_patch_for_npc
|
||||
bl PatchObjectPalette
|
||||
adds r0, r4, 0
|
||||
bl sub_807AA8C
|
||||
_080DAF44:
|
||||
@@ -285,7 +285,7 @@ _080DAF98: .4byte gObjectEvents
|
||||
_080DAF9C: .4byte gSprites
|
||||
_080DAFA0: .4byte 0x00020001
|
||||
_080DAFA4:
|
||||
ldr r1, _080DB0BC @ =gUnknown_835B934
|
||||
ldr r1, _080DB0BC @ =gReflectionEffectPaletteMap
|
||||
ldrb r0, [r5, 0x5]
|
||||
lsrs r0, 4
|
||||
adds r0, r1
|
||||
@@ -425,12 +425,12 @@ _080DB0AE:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080DB0BC: .4byte gUnknown_835B934
|
||||
_080DB0BC: .4byte gReflectionEffectPaletteMap
|
||||
_080DB0C0: .4byte 0xfffffc00
|
||||
thumb_func_end sub_80DAF50
|
||||
|
||||
thumb_func_start sub_80DB0C4
|
||||
sub_80DB0C4: @ 80DB0C4
|
||||
thumb_func_start CreateWarpArrowSprite
|
||||
CreateWarpArrowSprite: @ 80DB0C4
|
||||
push {r4,lr}
|
||||
ldr r0, _080DB10C @ =gFieldEffectObjectTemplatePointers
|
||||
ldr r0, [r0, 0x20]
|
||||
@@ -469,7 +469,7 @@ _080DB102:
|
||||
.align 2, 0
|
||||
_080DB10C: .4byte gFieldEffectObjectTemplatePointers
|
||||
_080DB110: .4byte gSprites
|
||||
thumb_func_end sub_80DB0C4
|
||||
thumb_func_end CreateWarpArrowSprite
|
||||
|
||||
thumb_func_start objid_set_invisible
|
||||
objid_set_invisible: @ 80DB114
|
||||
@@ -538,7 +538,7 @@ _080DB17E:
|
||||
adds r4, 0x2
|
||||
mov r2, sp
|
||||
adds r3, r4, 0
|
||||
bl sub_8063B1C
|
||||
bl SetSpritePosToMapCoords
|
||||
lsls r0, r5, 4
|
||||
adds r0, r5
|
||||
lsls r0, 2
|
||||
@@ -714,7 +714,7 @@ _080DB2AE:
|
||||
cmp r0, r1
|
||||
bne _080DB32C
|
||||
ldrb r0, [r4, 0x1E]
|
||||
bl MetatileBehavior_IsTallGrass
|
||||
bl MetatileBehavior_IsPokeGrass
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _080DB32C
|
||||
|
||||
+45
-45
@@ -17,7 +17,7 @@ sub_805B3B8: @ 805B3B8
|
||||
ldr r2, _0805B3D4 @ =gObjectEvents
|
||||
adds r0, r2
|
||||
ldr r2, _0805B3D8 @ =sub_805B3DC
|
||||
bl ObjectEventStep
|
||||
bl UpdateObjectEventCurrentMovement
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
@@ -104,7 +104,7 @@ sub_805B45C: @ 805B45C
|
||||
cmp r0, 0
|
||||
bne _0805B4A6
|
||||
adds r0, r4, 0
|
||||
bl ObjectEventGetSpecialAnim
|
||||
bl ObjectEventGetHeldMovementActionId
|
||||
lsls r0, 24
|
||||
movs r1, 0xDF
|
||||
lsls r1, 24
|
||||
@@ -119,7 +119,7 @@ sub_805B45C: @ 805B45C
|
||||
cmp r0, r5
|
||||
beq _0805B4A2
|
||||
adds r0, r4, 0
|
||||
bl ObjectEventClearAnim
|
||||
bl ObjectEventClearHeldMovement
|
||||
b _0805B4A6
|
||||
_0805B4A2:
|
||||
movs r0, 0x1
|
||||
@@ -245,7 +245,7 @@ sub_805B528: @ 805B528
|
||||
strh r0, [r5, 0x1C]
|
||||
_0805B57A:
|
||||
ldr r0, [r4]
|
||||
bl ObjectEventClearAnim
|
||||
bl ObjectEventClearHeldMovement
|
||||
ldrb r0, [r5, 0x1C]
|
||||
bl sub_805C2CC
|
||||
_0805B586:
|
||||
@@ -374,7 +374,7 @@ ForcedMovement_None: @ 805B644
|
||||
ldrb r1, [r0, 0x18]
|
||||
lsls r1, 28
|
||||
lsrs r1, 28
|
||||
bl ObjectEventSetDirection
|
||||
bl SetObjectEventDirection
|
||||
ldrb r1, [r4]
|
||||
movs r0, 0xBF
|
||||
ands r0, r1
|
||||
@@ -816,7 +816,7 @@ CheckMovementInputNotOnBike: @ 805B96C
|
||||
.align 2, 0
|
||||
_0805B980: .4byte gPlayerAvatar
|
||||
_0805B984:
|
||||
bl player_get_direction_upper_nybble
|
||||
bl GetPlayerMovementDirection
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r4, r0
|
||||
@@ -1120,7 +1120,7 @@ sub_805BBA8: @ 805BBA8
|
||||
adds r1, r5, 0
|
||||
adds r2, r4, 0
|
||||
adds r3, r6, 0
|
||||
bl npc_block_way
|
||||
bl GetCollisionAtCoords
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
mov r1, sp
|
||||
@@ -1323,7 +1323,7 @@ sub_805BCEC: @ 805BCEC
|
||||
ldrsh r2, [r5, r0]
|
||||
adds r0, r4, 0
|
||||
adds r3, r7, 0
|
||||
bl npc_block_way
|
||||
bl GetCollisionAtCoords
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0805BDA0
|
||||
@@ -1678,8 +1678,8 @@ _0805BFD8: .4byte gObjectEvents
|
||||
_0805BFDC: .4byte gPlayerAvatar
|
||||
thumb_func_end player_set_x22
|
||||
|
||||
thumb_func_start player_get_x22
|
||||
player_get_x22: @ 805BFE0
|
||||
thumb_func_start PlayerGetCopyableMovement
|
||||
PlayerGetCopyableMovement: @ 805BFE0
|
||||
ldr r2, _0805BFF4 @ =gObjectEvents
|
||||
ldr r0, _0805BFF8 @ =gPlayerAvatar
|
||||
ldrb r1, [r0, 0x5]
|
||||
@@ -1693,7 +1693,7 @@ player_get_x22: @ 805BFE0
|
||||
.align 2, 0
|
||||
_0805BFF4: .4byte gObjectEvents
|
||||
_0805BFF8: .4byte gPlayerAvatar
|
||||
thumb_func_end player_get_x22
|
||||
thumb_func_end PlayerGetCopyableMovement
|
||||
|
||||
thumb_func_start sub_805BFFC
|
||||
sub_805BFFC: @ 805BFFC
|
||||
@@ -1708,7 +1708,7 @@ sub_805BFFC: @ 805BFFC
|
||||
lsls r0, 2
|
||||
ldr r2, _0805C020 @ =gObjectEvents
|
||||
adds r0, r2
|
||||
bl ObjectEventForceSetSpecialAnim
|
||||
bl ObjectEventForceSetHeldMovement
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
@@ -1840,7 +1840,7 @@ sub_805C104: @ 805C104
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl sub_8063F84
|
||||
bl GetWalkNormalMovementAction
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x2
|
||||
@@ -1854,7 +1854,7 @@ sub_805C11C: @ 805C11C
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl sub_8063FB0
|
||||
bl GetWalkFastMovementAction
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x2
|
||||
@@ -1896,7 +1896,7 @@ sub_805C164: @ 805C164
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl sub_8064034
|
||||
bl GetWalkFastestMovementAction
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x2
|
||||
@@ -1942,7 +1942,7 @@ PlayerOnBikeCollide: @ 805C1AC
|
||||
adds r0, r4, 0
|
||||
bl sub_805C438
|
||||
adds r0, r4, 0
|
||||
bl GetStepInPlaceDelay16AnimId
|
||||
bl GetWalkInPlaceNormalMovementAction
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x2
|
||||
@@ -1976,7 +1976,7 @@ PlayerFaceDirection: @ 805C1F4
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl sub_8063EB8
|
||||
bl GetFaceDirectionMovementAction
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x1
|
||||
@@ -1990,7 +1990,7 @@ sub_805C20C: @ 805C20C
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl sub_8063EE4
|
||||
bl GetWalkSlowMovementAction
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x1
|
||||
@@ -2004,7 +2004,7 @@ sub_805C224: @ 805C224
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl sub_8064270
|
||||
bl GetWalkInPlaceSlowMovementAction
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x1
|
||||
@@ -2022,7 +2022,7 @@ sub_805C23C: @ 805C23C
|
||||
movs r0, 0xA
|
||||
bl PlaySE
|
||||
adds r0, r4, 0
|
||||
bl GetJumpLedgeAnimId
|
||||
bl GetJump2MovementAction
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x8
|
||||
@@ -2065,7 +2065,7 @@ _0805C27E:
|
||||
ldrb r0, [r0, 0x18]
|
||||
lsls r0, 28
|
||||
lsrs r0, 28
|
||||
bl sub_8063EB8
|
||||
bl GetFaceDirectionMovementAction
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl sub_805BFFC
|
||||
@@ -2600,8 +2600,8 @@ _0805C6DC: .4byte gObjectEvents
|
||||
_0805C6E0: .4byte gPlayerAvatar
|
||||
thumb_func_end GetPlayerFacingDirection
|
||||
|
||||
thumb_func_start player_get_direction_upper_nybble
|
||||
player_get_direction_upper_nybble: @ 805C6E4
|
||||
thumb_func_start GetPlayerMovementDirection
|
||||
GetPlayerMovementDirection: @ 805C6E4
|
||||
ldr r2, _0805C6F8 @ =gObjectEvents
|
||||
ldr r0, _0805C6FC @ =gPlayerAvatar
|
||||
ldrb r1, [r0, 0x5]
|
||||
@@ -2615,7 +2615,7 @@ player_get_direction_upper_nybble: @ 805C6E4
|
||||
.align 2, 0
|
||||
_0805C6F8: .4byte gObjectEvents
|
||||
_0805C6FC: .4byte gPlayerAvatar
|
||||
thumb_func_end player_get_direction_upper_nybble
|
||||
thumb_func_end GetPlayerMovementDirection
|
||||
|
||||
thumb_func_start PlayerGetZCoord
|
||||
PlayerGetZCoord: @ 805C700
|
||||
@@ -2651,7 +2651,7 @@ sub_805C71C: @ 805C71C
|
||||
lsls r2, 16
|
||||
asrs r2, 16
|
||||
adds r1, r3, 0
|
||||
bl sub_805F724
|
||||
bl MoveObjectEventToMapCoords
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
@@ -2712,7 +2712,7 @@ sub_805C780: @ 805C780
|
||||
lsls r1, 28
|
||||
lsrs r1, 28
|
||||
adds r0, r4, 0
|
||||
bl ObjectEventSetDirection
|
||||
bl SetObjectEventDirection
|
||||
movs r0, 0x6
|
||||
bl TestPlayerAvatarFlags
|
||||
lsls r0, 24
|
||||
@@ -2787,8 +2787,8 @@ sub_805C808: @ 805C808
|
||||
_0805C820: .4byte gPlayerAvatar
|
||||
thumb_func_end sub_805C808
|
||||
|
||||
thumb_func_start sub_805C824
|
||||
sub_805C824: @ 805C824
|
||||
thumb_func_start GetPlayerAvatarGenderByGraphicsId
|
||||
GetPlayerAvatarGenderByGraphicsId: @ 805C824
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
@@ -2803,7 +2803,7 @@ _0805C836:
|
||||
_0805C838:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_805C824
|
||||
thumb_func_end GetPlayerAvatarGenderByGraphicsId
|
||||
|
||||
thumb_func_start PartyHasMonWithSurf
|
||||
PartyHasMonWithSurf: @ 805C83C
|
||||
@@ -2854,7 +2854,7 @@ _0805C888: .4byte gPlayerParty
|
||||
thumb_func_start IsPlayerSurfingNorth
|
||||
IsPlayerSurfingNorth: @ 805C88C
|
||||
push {lr}
|
||||
bl player_get_direction_upper_nybble
|
||||
bl GetPlayerMovementDirection
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x2
|
||||
@@ -2906,7 +2906,7 @@ IsPlayerFacingSurfableFishableWater: @ 805C8B0
|
||||
lsls r3, 28
|
||||
lsrs r3, 28
|
||||
adds r0, r4, 0
|
||||
bl npc_block_way
|
||||
bl GetCollisionAtCoords
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x3
|
||||
@@ -3158,7 +3158,7 @@ InitPlayerAvatar: @ 805CA3C
|
||||
movs r1, 0x1
|
||||
orrs r0, r1
|
||||
strb r0, [r4, 0x2]
|
||||
bl sub_80DB0C4
|
||||
bl CreateWarpArrowSprite
|
||||
strb r0, [r4, 0x1B]
|
||||
adds r0, r4, 0
|
||||
mov r1, r9
|
||||
@@ -3546,7 +3546,7 @@ sub_805CD84: @ 805CD84
|
||||
adds r0, r4, 0
|
||||
bl ObjectEventClearHeldMovementIfFinished
|
||||
ldrb r0, [r6, 0xC]
|
||||
bl GetStepInPlaceDelay16AnimId
|
||||
bl GetWalkInPlaceNormalMovementAction
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@@ -3713,7 +3713,7 @@ PlayerAvatar_DoSecretBaseMatJump: @ 805CEEC
|
||||
ldrb r0, [r4, 0x18]
|
||||
lsls r0, 28
|
||||
lsrs r0, 28
|
||||
bl sub_806413C
|
||||
bl GetJumpInPlaceMovementAction
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@@ -3846,7 +3846,7 @@ sub_805CFEC: @ 805CFEC
|
||||
add r0, sp
|
||||
ldrb r6, [r0]
|
||||
adds r0, r6, 0
|
||||
bl sub_8063EB8
|
||||
bl GetFaceDirectionMovementAction
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@@ -4138,7 +4138,7 @@ sub_805D240: @ 805D240
|
||||
ldrb r0, [r4, 0x18]
|
||||
lsls r0, 28
|
||||
lsrs r0, 28
|
||||
bl sub_8063EB8
|
||||
bl GetFaceDirectionMovementAction
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@@ -4296,7 +4296,7 @@ fish1: @ 805D35C
|
||||
lsls r4, 2
|
||||
adds r4, r3
|
||||
adds r0, r4, 0
|
||||
bl ObjectEventClearAnimIfSpecialAnimActive
|
||||
bl ObjectEventClearHeldMovementIfActive
|
||||
ldrb r0, [r4, 0x1]
|
||||
movs r1, 0x8
|
||||
orrs r0, r1
|
||||
@@ -4830,7 +4830,7 @@ sub_805D7C0: @ 805D7C0
|
||||
bl GetPlayerFacingDirection
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl sub_8063500
|
||||
bl GetFishingBiteDirectionAnimNum
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@@ -4886,7 +4886,7 @@ sub_805D838: @ 805D838
|
||||
bl GetPlayerFacingDirection
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl sub_8063500
|
||||
bl GetFishingBiteDirectionAnimNum
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@@ -5337,7 +5337,7 @@ _0805DBBA:
|
||||
strh r0, [r7, 0x22]
|
||||
movs r2, 0x22
|
||||
ldrsh r1, [r7, r2]
|
||||
ldr r0, _0805DBF0 @ =gUnknown_3005068
|
||||
ldr r0, _0805DBF0 @ =gTotalCameraPixelOffsetY
|
||||
movs r2, 0
|
||||
ldrsh r0, [r0, r2]
|
||||
adds r1, r0
|
||||
@@ -5350,7 +5350,7 @@ _0805DBBA:
|
||||
strh r0, [r5]
|
||||
b _0805DBFA
|
||||
.align 2, 0
|
||||
_0805DBF0: .4byte gUnknown_3005068
|
||||
_0805DBF0: .4byte gTotalCameraPixelOffsetY
|
||||
_0805DBF4:
|
||||
adds r0, r2, 0
|
||||
bl DestroyTask
|
||||
@@ -5450,12 +5450,12 @@ _0805DC9A:
|
||||
ldrsh r0, [r5, r3]
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
bl sub_8063EB8
|
||||
bl GetFaceDirectionMovementAction
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
adds r0, r4, 0
|
||||
bl ObjectEventForceSetSpecialAnim
|
||||
bl ObjectEventForceSetHeldMovement
|
||||
movs r0, 0
|
||||
mov r9, r0
|
||||
strh r6, [r5, 0x2]
|
||||
@@ -5618,12 +5618,12 @@ _0805DDE4:
|
||||
lsrs r0, 28
|
||||
adds r0, r4
|
||||
ldrb r0, [r0]
|
||||
bl sub_8063EB8
|
||||
bl GetFaceDirectionMovementAction
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
adds r0, r5, 0
|
||||
bl ObjectEventForceSetSpecialAnim
|
||||
bl ObjectEventForceSetHeldMovement
|
||||
movs r0, 0
|
||||
strh r0, [r6]
|
||||
ldrb r0, [r5, 0x18]
|
||||
|
||||
@@ -252,7 +252,7 @@ _0807B456:
|
||||
adds r2, 0x20
|
||||
adds r3, r4, 0
|
||||
adds r3, 0x22
|
||||
bl sub_8063B1C
|
||||
bl SetSpritePosToMapCoords
|
||||
adds r4, 0x3E
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0x2
|
||||
|
||||
+1
-1
@@ -2907,7 +2907,7 @@ sub_809F04C: @ 809F04C
|
||||
add r3, sp, 0x18
|
||||
movs r0, 0
|
||||
mov r2, sp
|
||||
bl sub_805E8E8
|
||||
bl MakeObjectTemplateFromObjectEventGraphicsInfo
|
||||
mov r2, sp
|
||||
add r0, sp, 0x1C
|
||||
ldrh r1, [r0, 0x6]
|
||||
|
||||
+60
-60
@@ -1242,12 +1242,12 @@ sub_805550C: @ 805550C
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
adds r0, r4, 0
|
||||
bl is_light_level_1_2_3_5_or_6
|
||||
bl IsMapTypeOutdoors
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _08055590
|
||||
adds r0, r5, 0
|
||||
bl is_light_level_1_2_3_5_or_6
|
||||
bl IsMapTypeOutdoors
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
@@ -1764,7 +1764,7 @@ sub_8055920: @ 8055920
|
||||
bl sub_8054F68
|
||||
ldr r0, _0805599C @ =gMapHeader
|
||||
ldrb r0, [r0, 0x17]
|
||||
bl is_light_level_1_2_3_5_or_6
|
||||
bl IsMapTypeOutdoors
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
@@ -1815,7 +1815,7 @@ sub_80559A8: @ 80559A8
|
||||
bl sub_8054F68
|
||||
ldr r0, _080559E0 @ =gMapHeader
|
||||
ldrb r0, [r0, 0x17]
|
||||
bl is_light_level_1_2_3_5_or_6
|
||||
bl IsMapTypeOutdoors
|
||||
bl TrySetMapSaveWarpStatus
|
||||
bl SetSav1WeatherFromCurrMapHeader
|
||||
bl sub_805610C
|
||||
@@ -2933,8 +2933,8 @@ sub_80561B4: @ 80561B4
|
||||
_080561D4: .4byte gUnknown_2031DB4
|
||||
thumb_func_end sub_80561B4
|
||||
|
||||
thumb_func_start is_light_level_1_2_3_5_or_6
|
||||
is_light_level_1_2_3_5_or_6: @ 80561D8
|
||||
thumb_func_start IsMapTypeOutdoors
|
||||
IsMapTypeOutdoors: @ 80561D8
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
@@ -2956,7 +2956,7 @@ _080561F6:
|
||||
_080561F8:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end is_light_level_1_2_3_5_or_6
|
||||
thumb_func_end IsMapTypeOutdoors
|
||||
|
||||
thumb_func_start Overworld_MapTypeAllowsTeleportAndFly
|
||||
Overworld_MapTypeAllowsTeleportAndFly: @ 80561FC
|
||||
@@ -4637,11 +4637,11 @@ sub_8057024: @ 8057024
|
||||
cmp r4, 0
|
||||
bne _08057050
|
||||
movs r0, 0
|
||||
bl npc_paltag_set_load
|
||||
bl InitObjectEventPalettes
|
||||
b _08057056
|
||||
_08057050:
|
||||
movs r0, 0x1
|
||||
bl npc_paltag_set_load
|
||||
bl InitObjectEventPalettes
|
||||
_08057056:
|
||||
bl FieldEffectActiveListClear
|
||||
bl sub_8079C08
|
||||
@@ -4659,33 +4659,33 @@ _0805706A:
|
||||
thumb_func_start sub_8057074
|
||||
sub_8057074: @ 8057074
|
||||
push {lr}
|
||||
ldr r0, _08057094 @ =gUnknown_300506C
|
||||
ldr r0, _08057094 @ =gTotalCameraPixelOffsetX
|
||||
movs r1, 0
|
||||
strh r1, [r0]
|
||||
ldr r0, _08057098 @ =gUnknown_3005068
|
||||
ldr r0, _08057098 @ =gTotalCameraPixelOffsetY
|
||||
strh r1, [r0]
|
||||
bl sub_805DE74
|
||||
bl ResetObjectEvents
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_805EC30
|
||||
bl TrySpawnObjectEvents
|
||||
bl mapheader_run_first_tag4_script_list_match
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08057094: .4byte gUnknown_300506C
|
||||
_08057098: .4byte gUnknown_3005068
|
||||
_08057094: .4byte gTotalCameraPixelOffsetX
|
||||
_08057098: .4byte gTotalCameraPixelOffsetY
|
||||
thumb_func_end sub_8057074
|
||||
|
||||
thumb_func_start mli4_mapscripts_and_other
|
||||
mli4_mapscripts_and_other: @ 805709C
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x4
|
||||
ldr r0, _080570F4 @ =gUnknown_300506C
|
||||
ldr r0, _080570F4 @ =gTotalCameraPixelOffsetX
|
||||
movs r1, 0
|
||||
strh r1, [r0]
|
||||
ldr r0, _080570F8 @ =gUnknown_3005068
|
||||
ldr r0, _080570F8 @ =gTotalCameraPixelOffsetY
|
||||
strh r1, [r0]
|
||||
bl sub_805DE74
|
||||
bl ResetObjectEvents
|
||||
mov r4, sp
|
||||
adds r4, 0x2
|
||||
mov r0, sp
|
||||
@@ -4708,15 +4708,15 @@ mli4_mapscripts_and_other: @ 805709C
|
||||
bl ResetInitialPlayerAvatarState
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_805EC30
|
||||
bl TrySpawnObjectEvents
|
||||
bl mapheader_run_first_tag4_script_list_match
|
||||
add sp, 0x4
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080570F4: .4byte gUnknown_300506C
|
||||
_080570F8: .4byte gUnknown_3005068
|
||||
_080570F4: .4byte gTotalCameraPixelOffsetX
|
||||
_080570F8: .4byte gTotalCameraPixelOffsetY
|
||||
_080570FC: .4byte gSaveBlock2Ptr
|
||||
thumb_func_end mli4_mapscripts_and_other
|
||||
|
||||
@@ -5344,7 +5344,7 @@ _08057620:
|
||||
beq _08057648
|
||||
b _0805754E
|
||||
_0805762C:
|
||||
ldr r0, _08057640 @ =gUnknown_3005050
|
||||
ldr r0, _08057640 @ =gFieldCamera
|
||||
ldr r1, _08057644 @ =sub_8057748
|
||||
str r1, [r0]
|
||||
bl SetFieldVBlankCallback
|
||||
@@ -5353,7 +5353,7 @@ _0805762C:
|
||||
movs r0, 0x1
|
||||
b _0805764A
|
||||
.align 2, 0
|
||||
_08057640: .4byte gUnknown_3005050
|
||||
_08057640: .4byte gFieldCamera
|
||||
_08057644: .4byte sub_8057748
|
||||
_08057648:
|
||||
movs r0, 0
|
||||
@@ -6611,7 +6611,7 @@ sub_8057F84: @ 8057F84
|
||||
movs r0, 0x1
|
||||
_08057F96:
|
||||
strb r0, [r6, 0x1]
|
||||
ldr r1, _08057FE8 @ =gUnknown_2031DEC
|
||||
ldr r1, _08057FE8 @ =gLinkPlayerObjectEvents
|
||||
lsls r0, r4, 2
|
||||
adds r0, r1
|
||||
ldrb r0, [r0, 0x3]
|
||||
@@ -6647,7 +6647,7 @@ _08057F96:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08057FE8: .4byte gUnknown_2031DEC
|
||||
_08057FE8: .4byte gLinkPlayerObjectEvents
|
||||
thumb_func_end sub_8057F84
|
||||
|
||||
thumb_func_start sub_8057FEC
|
||||
@@ -7143,18 +7143,18 @@ ZeroLinkPlayerObjectEvent: @ 8058370
|
||||
bx lr
|
||||
thumb_func_end ZeroLinkPlayerObjectEvent
|
||||
|
||||
thumb_func_start strange_npc_table_clear
|
||||
strange_npc_table_clear: @ 8058378
|
||||
thumb_func_start ClearLinkPlayerObjectEvents
|
||||
ClearLinkPlayerObjectEvents: @ 8058378
|
||||
push {lr}
|
||||
ldr r0, _08058388 @ =gUnknown_2031DEC
|
||||
ldr r0, _08058388 @ =gLinkPlayerObjectEvents
|
||||
movs r1, 0
|
||||
movs r2, 0x10
|
||||
bl memset
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08058388: .4byte gUnknown_2031DEC
|
||||
thumb_func_end strange_npc_table_clear
|
||||
_08058388: .4byte gLinkPlayerObjectEvents
|
||||
thumb_func_end ClearLinkPlayerObjectEvents
|
||||
|
||||
thumb_func_start ZeroObjectEvent
|
||||
ZeroObjectEvent: @ 805838C
|
||||
@@ -7190,12 +7190,12 @@ SpawnLinkPlayerObjectEvent: @ 805839C
|
||||
lsls r2, 24
|
||||
lsrs r2, 24
|
||||
mov r8, r2
|
||||
bl sub_805DF30
|
||||
bl GetFirstInactiveObjectEventId
|
||||
adds r6, r0, 0
|
||||
lsls r6, 24
|
||||
lsrs r6, 24
|
||||
lsls r4, r7, 2
|
||||
ldr r0, _08058440 @ =gUnknown_2031DEC
|
||||
ldr r0, _08058440 @ =gLinkPlayerObjectEvents
|
||||
adds r4, r0
|
||||
lsls r5, r6, 3
|
||||
adds r5, r6
|
||||
@@ -7247,7 +7247,7 @@ SpawnLinkPlayerObjectEvent: @ 805839C
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08058440: .4byte gUnknown_2031DEC
|
||||
_08058440: .4byte gLinkPlayerObjectEvents
|
||||
_08058444: .4byte gObjectEvents
|
||||
thumb_func_end SpawnLinkPlayerObjectEvent
|
||||
|
||||
@@ -7273,7 +7273,7 @@ InitLinkPlayerObjectEventPos: @ 8058448
|
||||
adds r2, 0xC
|
||||
adds r3, r4, 0
|
||||
adds r3, 0xE
|
||||
bl sub_8063B1C
|
||||
bl SetSpritePosToMapCoords
|
||||
ldrh r0, [r4, 0xC]
|
||||
adds r0, 0x8
|
||||
strh r0, [r4, 0xC]
|
||||
@@ -7290,7 +7290,7 @@ sub_8058488: @ 8058488
|
||||
lsls r0, 24
|
||||
lsls r1, 24
|
||||
lsrs r2, r1, 24
|
||||
ldr r1, _080584B0 @ =gUnknown_2031DEC
|
||||
ldr r1, _080584B0 @ =gLinkPlayerObjectEvents
|
||||
lsrs r0, 22
|
||||
adds r1, r0, r1
|
||||
ldrb r0, [r1]
|
||||
@@ -7307,7 +7307,7 @@ _080584AA:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080584B0: .4byte gUnknown_2031DEC
|
||||
_080584B0: .4byte gLinkPlayerObjectEvents
|
||||
_080584B4: .4byte gObjectEvents
|
||||
thumb_func_end sub_8058488
|
||||
|
||||
@@ -7316,7 +7316,7 @@ sub_80584B8: @ 80584B8
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 22
|
||||
ldr r1, _080584F8 @ =gUnknown_2031DEC
|
||||
ldr r1, _080584F8 @ =gLinkPlayerObjectEvents
|
||||
adds r5, r0, r1
|
||||
ldrb r1, [r5, 0x2]
|
||||
lsls r0, r1, 3
|
||||
@@ -7345,7 +7345,7 @@ _080584E4:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080584F8: .4byte gUnknown_2031DEC
|
||||
_080584F8: .4byte gLinkPlayerObjectEvents
|
||||
_080584FC: .4byte gObjectEvents
|
||||
_08058500: .4byte gSprites
|
||||
thumb_func_end sub_80584B8
|
||||
@@ -7353,7 +7353,7 @@ _08058500: .4byte gSprites
|
||||
thumb_func_start sub_8058504
|
||||
sub_8058504: @ 8058504
|
||||
lsls r0, 24
|
||||
ldr r1, _0805851C @ =gUnknown_2031DEC
|
||||
ldr r1, _0805851C @ =gLinkPlayerObjectEvents
|
||||
lsrs r0, 22
|
||||
adds r0, r1
|
||||
ldrb r1, [r0, 0x2]
|
||||
@@ -7365,14 +7365,14 @@ sub_8058504: @ 8058504
|
||||
ldrb r0, [r0, 0x4]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0805851C: .4byte gUnknown_2031DEC
|
||||
_0805851C: .4byte gLinkPlayerObjectEvents
|
||||
_08058520: .4byte gObjectEvents
|
||||
thumb_func_end sub_8058504
|
||||
|
||||
thumb_func_start sub_8058524
|
||||
sub_8058524: @ 8058524
|
||||
lsls r0, 24
|
||||
ldr r3, _08058544 @ =gUnknown_2031DEC
|
||||
ldr r3, _08058544 @ =gLinkPlayerObjectEvents
|
||||
lsrs r0, 22
|
||||
adds r0, r3
|
||||
ldrb r3, [r0, 0x2]
|
||||
@@ -7387,14 +7387,14 @@ sub_8058524: @ 8058524
|
||||
strh r0, [r2]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08058544: .4byte gUnknown_2031DEC
|
||||
_08058544: .4byte gLinkPlayerObjectEvents
|
||||
_08058548: .4byte gObjectEvents
|
||||
thumb_func_end sub_8058524
|
||||
|
||||
thumb_func_start sub_805854C
|
||||
sub_805854C: @ 805854C
|
||||
lsls r0, 24
|
||||
ldr r1, _08058564 @ =gUnknown_2031DEC
|
||||
ldr r1, _08058564 @ =gLinkPlayerObjectEvents
|
||||
lsrs r0, 22
|
||||
adds r0, r1
|
||||
ldrb r1, [r0, 0x2]
|
||||
@@ -7406,14 +7406,14 @@ sub_805854C: @ 805854C
|
||||
ldrb r0, [r0, 0x19]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08058564: .4byte gUnknown_2031DEC
|
||||
_08058564: .4byte gLinkPlayerObjectEvents
|
||||
_08058568: .4byte gObjectEvents
|
||||
thumb_func_end sub_805854C
|
||||
|
||||
thumb_func_start sub_805856C
|
||||
sub_805856C: @ 805856C
|
||||
lsls r0, 24
|
||||
ldr r1, _08058588 @ =gUnknown_2031DEC
|
||||
ldr r1, _08058588 @ =gLinkPlayerObjectEvents
|
||||
lsrs r0, 22
|
||||
adds r0, r1
|
||||
ldrb r1, [r0, 0x2]
|
||||
@@ -7427,14 +7427,14 @@ sub_805856C: @ 805856C
|
||||
lsrs r0, 28
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08058588: .4byte gUnknown_2031DEC
|
||||
_08058588: .4byte gLinkPlayerObjectEvents
|
||||
_0805858C: .4byte gObjectEvents
|
||||
thumb_func_end sub_805856C
|
||||
|
||||
thumb_func_start sub_8058590
|
||||
sub_8058590: @ 8058590
|
||||
lsls r0, 24
|
||||
ldr r1, _080585B0 @ =gUnknown_2031DEC
|
||||
ldr r1, _080585B0 @ =gLinkPlayerObjectEvents
|
||||
lsrs r0, 22
|
||||
adds r0, r1
|
||||
ldrb r1, [r0, 0x2]
|
||||
@@ -7450,7 +7450,7 @@ sub_8058590: @ 8058590
|
||||
subs r0, r1
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_080585B0: .4byte gUnknown_2031DEC
|
||||
_080585B0: .4byte gLinkPlayerObjectEvents
|
||||
_080585B4: .4byte gObjectEvents
|
||||
thumb_func_end sub_8058590
|
||||
|
||||
@@ -7458,7 +7458,7 @@ _080585B4: .4byte gObjectEvents
|
||||
GetLinkPlayerIdAt: @ 80585B8
|
||||
push {r4-r6,lr}
|
||||
movs r2, 0
|
||||
ldr r5, _080585FC @ =gUnknown_2031DEC
|
||||
ldr r5, _080585FC @ =gLinkPlayerObjectEvents
|
||||
lsls r0, 16
|
||||
asrs r4, r0, 16
|
||||
lsls r1, 16
|
||||
@@ -7492,7 +7492,7 @@ _080585DA:
|
||||
adds r0, r2, 0
|
||||
b _08058610
|
||||
.align 2, 0
|
||||
_080585FC: .4byte gUnknown_2031DEC
|
||||
_080585FC: .4byte gLinkPlayerObjectEvents
|
||||
_08058600: .4byte gObjectEvents
|
||||
_08058604:
|
||||
adds r0, r2, 0x1
|
||||
@@ -7515,7 +7515,7 @@ sub_8058618: @ 8058618
|
||||
lsrs r3, r1, 24
|
||||
adds r2, r3, 0
|
||||
lsrs r0, 22
|
||||
ldr r1, _08058648 @ =gUnknown_2031DEC
|
||||
ldr r1, _08058648 @ =gLinkPlayerObjectEvents
|
||||
adds r5, r0, r1
|
||||
ldrb r1, [r5, 0x2]
|
||||
lsls r0, r1, 3
|
||||
@@ -7534,7 +7534,7 @@ sub_8058618: @ 8058618
|
||||
strb r0, [r6]
|
||||
b _08058674
|
||||
.align 2, 0
|
||||
_08058648: .4byte gUnknown_2031DEC
|
||||
_08058648: .4byte gLinkPlayerObjectEvents
|
||||
_0805864C: .4byte gObjectEvents
|
||||
_08058650:
|
||||
ldr r4, _0805867C @ =gUnknown_826D374
|
||||
@@ -7651,7 +7651,7 @@ sub_80586CC: @ 80586CC
|
||||
movs r3, 0
|
||||
ldrsh r2, [r6, r3]
|
||||
adds r0, r5, 0
|
||||
bl npc_coords_shift
|
||||
bl ShiftObjectEventCoords
|
||||
adds r0, r5, 0
|
||||
bl ObjectEventUpdateZCoord
|
||||
movs r0, 0x1
|
||||
@@ -7708,7 +7708,7 @@ sub_8058754: @ 8058754
|
||||
cmp r0, 0
|
||||
bne _08058784
|
||||
adds r0, r4, 0
|
||||
bl npc_coords_shift_still
|
||||
bl ShiftStillObjectEventCoords
|
||||
movs r0, 0x2
|
||||
strb r0, [r6, 0x3]
|
||||
_08058784:
|
||||
@@ -7851,7 +7851,7 @@ sub_8058878: @ 8058878
|
||||
lsls r1, 24
|
||||
lsrs r3, r1, 24
|
||||
lsls r2, r5, 2
|
||||
ldr r0, _080588B4 @ =gUnknown_2031DEC
|
||||
ldr r0, _080588B4 @ =gLinkPlayerObjectEvents
|
||||
adds r2, r0
|
||||
ldrb r1, [r2, 0x2]
|
||||
lsls r0, r1, 3
|
||||
@@ -7874,7 +7874,7 @@ sub_8058878: @ 8058878
|
||||
bl sub_805C7C8
|
||||
b _080588C6
|
||||
.align 2, 0
|
||||
_080588B4: .4byte gUnknown_2031DEC
|
||||
_080588B4: .4byte gLinkPlayerObjectEvents
|
||||
_080588B8: .4byte gObjectEvents
|
||||
_080588BC:
|
||||
ldrb r0, [r4]
|
||||
@@ -7925,7 +7925,7 @@ SpriteCB_LinkPlayer: @ 805890C
|
||||
movs r0, 0x2E
|
||||
ldrsh r4, [r5, r0]
|
||||
lsls r4, 2
|
||||
ldr r0, _08058970 @ =gUnknown_2031DEC
|
||||
ldr r0, _08058970 @ =gLinkPlayerObjectEvents
|
||||
adds r4, r0
|
||||
ldrb r1, [r4, 0x2]
|
||||
lsls r0, r1, 3
|
||||
@@ -7958,7 +7958,7 @@ SpriteCB_LinkPlayer: @ 805890C
|
||||
cmp r0, 0
|
||||
bne _08058978
|
||||
ldrb r0, [r6, 0x19]
|
||||
bl ObjectEventDirectionToImageAnimId
|
||||
bl GetFaceDirectionAnimNum
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@@ -7966,11 +7966,11 @@ SpriteCB_LinkPlayer: @ 805890C
|
||||
bl StartSpriteAnim
|
||||
b _0805898A
|
||||
.align 2, 0
|
||||
_08058970: .4byte gUnknown_2031DEC
|
||||
_08058970: .4byte gLinkPlayerObjectEvents
|
||||
_08058974: .4byte gObjectEvents
|
||||
_08058978:
|
||||
ldrb r0, [r6, 0x19]
|
||||
bl get_go_image_anim_num
|
||||
bl GetMoveDirectionAnimNum
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
|
||||
@@ -560,7 +560,7 @@ sub_80977F0: @ 80977F0
|
||||
ldr r1, _08097850 @ =gObjectEvents
|
||||
adds r4, r0, r1
|
||||
adds r0, r4, 0
|
||||
bl ObjectEventIsSpecialAnimActive
|
||||
bl ObjectEventIsHeldMovementActive
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _08097838
|
||||
|
||||
+12
-12
@@ -225,7 +225,7 @@ IsTrainerInRangeSouth: @ 8081C9C
|
||||
bgt _08081CE4
|
||||
cmp r1, 0x3
|
||||
ble _08081CDA
|
||||
bl sub_805DF30
|
||||
bl GetFirstInactiveObjectEventId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x10
|
||||
@@ -398,7 +398,7 @@ _08081DEC:
|
||||
ldrsh r2, [r3, r0]
|
||||
adds r0, r6, 0
|
||||
adds r3, r7, 0
|
||||
bl sub_8063770
|
||||
bl GetCollisionFlagsAtCoords
|
||||
lsls r0, 24
|
||||
lsrs r1, r0, 24
|
||||
cmp r1, 0
|
||||
@@ -433,7 +433,7 @@ _08081E26:
|
||||
ldrsh r2, [r3, r0]
|
||||
adds r0, r6, 0
|
||||
adds r3, r7, 0
|
||||
bl npc_block_way
|
||||
bl GetCollisionAtCoords
|
||||
lsls r0, 24
|
||||
lsrs r1, r0, 24
|
||||
lsls r4, 4
|
||||
@@ -596,7 +596,7 @@ _08081F54:
|
||||
ldrb r0, [r4, 0x18]
|
||||
lsls r0, 28
|
||||
lsrs r0, 28
|
||||
bl sub_8063EB8
|
||||
bl GetFaceDirectionMovementAction
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@@ -675,7 +675,7 @@ _08081FEE:
|
||||
ldrb r0, [r4, 0x18]
|
||||
lsls r0, 28
|
||||
lsrs r0, 28
|
||||
bl sub_8063F84
|
||||
bl GetWalkNormalMovementAction
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@@ -732,9 +732,9 @@ _0808204A:
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
adds r0, r4, 0
|
||||
bl sub_805FE7C
|
||||
bl OverrideMovementTypeForObjectEvent
|
||||
adds r0, r4, 0
|
||||
bl sub_805FE5C
|
||||
bl OverrideTemplateCoordsForObjectEvent
|
||||
ldr r0, _080820B4 @ =gPlayerAvatar
|
||||
ldrb r1, [r0, 0x5]
|
||||
lsls r0, r1, 3
|
||||
@@ -965,7 +965,7 @@ sub_80821DC: @ 80821DC
|
||||
ldrb r0, [r4, 0x18]
|
||||
lsls r0, 28
|
||||
lsrs r0, 28
|
||||
bl sub_806413C
|
||||
bl GetJumpInPlaceMovementAction
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@@ -1099,7 +1099,7 @@ _08082312:
|
||||
ldr r0, _0808234C @ =gObjectEvents
|
||||
adds r4, r0
|
||||
movs r0, 0x2
|
||||
bl sub_8063FB0
|
||||
bl GetWalkFastMovementAction
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@@ -1190,7 +1190,7 @@ _080823CC:
|
||||
ldr r0, _08082408 @ =gObjectEvents
|
||||
adds r4, r0
|
||||
movs r0, 0x1
|
||||
bl sub_8063FB0
|
||||
bl GetWalkFastMovementAction
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@@ -1249,7 +1249,7 @@ sub_808243C: @ 808243C
|
||||
cmp r0, 0
|
||||
bne _0808246E
|
||||
ldr r0, [sp]
|
||||
bl ObjectEventClearAnim
|
||||
bl ObjectEventClearHeldMovement
|
||||
ldrh r0, [r4, 0x16]
|
||||
adds r0, 0x1
|
||||
strh r0, [r4, 0x16]
|
||||
@@ -1292,7 +1292,7 @@ _0808246E:
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
adds r0, r4, 0
|
||||
bl sub_805FE7C
|
||||
bl OverrideMovementTypeForObjectEvent
|
||||
adds r0, r5, 0
|
||||
bl DestroyTask
|
||||
b _080824E2
|
||||
|
||||
@@ -1 +1 @@
|
||||
VMap
|
||||
gBackupMapLayout
|
||||
|
||||
+813
-813
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,13 @@
|
||||
#ifndef GUARD_CONSTANTS_EVENT_OBJECTS_H
|
||||
#define GUARD_CONSTANTS_EVENT_OBJECTS_H
|
||||
|
||||
#define NUM_OBJ_EVENT_GFX 239
|
||||
|
||||
// These are dynamic object gfx ids.
|
||||
// They correspond with the values of the VAR_OBJ_GFX_ID_X vars.
|
||||
// More info about them in include/constants/vars.h
|
||||
#define OBJ_EVENT_GFX_VARS (NUM_OBJ_EVENT_GFX + 1)
|
||||
|
||||
#define OBJ_EVENT_ID_PLAYER 0xFF
|
||||
#define OBJ_EVENT_ID_CAMERA 0x7F
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_CONSTANTS_FIELD_EFFECTS_H
|
||||
#define GUARD_CONSTANTS_FIELD_EFFECTS_H
|
||||
|
||||
#define FLDEFF_EXCLAMATION_MARK_ICON_1 0
|
||||
#define FLDEFF_EXCLAMATION_MARK_ICON 0
|
||||
#define FLDEFF_USE_CUT_ON_GRASS 1
|
||||
#define FLDEFF_USE_CUT_ON_TREE 2
|
||||
#define FLDEFF_SHADOW 3
|
||||
@@ -34,7 +34,7 @@
|
||||
#define FLDEFF_NPCFLY_OUT 30
|
||||
#define FLDEFF_USE_FLY 31
|
||||
#define FLDEFF_FLY_IN 32
|
||||
#define FLDEFF_EXCLAMATION_MARK_ICON_2 33
|
||||
#define FLDEFF_QUESTION_MARK_ICON 33
|
||||
#define FLDEFF_FEET_IN_FLOWING_WATER 34
|
||||
#define FLDEFF_BIKE_TIRE_TRACKS 35
|
||||
#define FLDEFF_SAND_DISGUISE 36
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
#define BAG_POKEBALLS_COUNT 13
|
||||
#define BAG_TMHM_COUNT 58
|
||||
#define BAG_BERRIES_COUNT 43
|
||||
#define OBJECT_EVENT_TEMPLATES_COUNT 64
|
||||
|
||||
#define QUEST_LOG_SCENE_COUNT 4
|
||||
|
||||
|
||||
@@ -11,5 +11,18 @@ u32 sub_806916C(u8 a0);
|
||||
void sub_80691A4(u8 a0, u8 a1);
|
||||
void sub_8069094(u8 a0, u8 a1);
|
||||
bool32 sub_8069294(u8 a0);
|
||||
void sub_8068BBC(struct Sprite *, u8);
|
||||
void sub_8068C58(struct Sprite *, u8);
|
||||
void sub_8068C08(struct Sprite *, u8);
|
||||
bool8 sub_8068C68(struct Sprite *sprite);
|
||||
bool8 sub_8068C18(struct Sprite *sprite);
|
||||
void sub_8068CA4(struct Sprite *, u8);
|
||||
bool8 obj_npc_ministep(struct Sprite *sprite);
|
||||
bool8 sub_8068CB4(struct Sprite *sprite);
|
||||
void SetAndStartSpriteAnim(struct Sprite *, u8, u8);
|
||||
bool8 SpriteAnimEnded(struct Sprite *);
|
||||
void SetMovementDelay(struct Sprite *, s16);
|
||||
bool8 WaitForMovementDelay(struct Sprite *);
|
||||
void UpdateObjectEventSpriteSubpriorityAndVisibility(struct Sprite *);
|
||||
|
||||
#endif // GUARD_EVENT_OBJECT_80688E4_H
|
||||
|
||||
@@ -17,14 +17,12 @@ void sub_8097AC8(struct Sprite *);
|
||||
void UnfreezeObjectEvent(struct ObjectEvent *);
|
||||
void oamt_npc_ministep_reset(struct Sprite *, u8, u8);
|
||||
u8 sub_8097F78(struct ObjectEvent *);
|
||||
bool8 obj_npc_ministep(struct Sprite *sprite);
|
||||
bool8 sub_80976EC(struct Sprite *sprite);
|
||||
void sub_80976DC(struct Sprite *, u8);
|
||||
void sub_809783C(struct Sprite *, u8, u8, u8);
|
||||
void DoShadowFieldEffect(struct ObjectEvent *);
|
||||
u8 sub_809785C(struct Sprite *);
|
||||
u8 sub_80978E4(struct Sprite *);
|
||||
void obj_anim_image_set_and_seek(struct Sprite *, u8, u8);
|
||||
bool8 sub_80979BC(struct Sprite *);
|
||||
void sub_8097750(struct Sprite *);
|
||||
bool8 sub_8097758(struct Sprite *);
|
||||
|
||||
@@ -22,6 +22,18 @@ enum SpinnerRunnerFollowPatterns {
|
||||
RUNFOLLOW_SOUTH_EAST_WEST
|
||||
};
|
||||
|
||||
struct UnkStruct_083A3698
|
||||
{
|
||||
const union AnimCmd *const *anims;
|
||||
u8 animPos[4];
|
||||
};
|
||||
|
||||
struct PairedPalettes
|
||||
{
|
||||
u16 tag;
|
||||
const u16 *data;
|
||||
};
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
@@ -30,74 +42,88 @@ void sub_808D438(void);
|
||||
u8 GetObjectEventIdByLocalIdAndMap(u8, u8, u8);
|
||||
bool8 TryGetObjectEventIdByLocalIdAndMap(u8, u8, u8, u8 *);
|
||||
u8 GetObjectEventIdByXY(s16, s16);
|
||||
void ObjectEventSetDirection(struct ObjectEvent *, u8);
|
||||
void SetObjectEventDirection(struct ObjectEvent *, u8);
|
||||
u8 sub_808D4F4(void);
|
||||
void RemoveObjectEventByLocalIdAndMap(u8, u8, u8);
|
||||
void npc_load_two_palettes__no_record(u16, u8);
|
||||
void npc_load_two_palettes__and_record(u16, u8);
|
||||
void sub_805F7C4(u8, u8, u8, s16, s16);
|
||||
void pal_patch_for_npc(u16, u8);
|
||||
void LoadPlayerObjectReflectionPalette(u16, u8);
|
||||
void LoadSpecialObjectReflectionPalette(u16, u8);
|
||||
void TryMoveObjectEventToMapCoords(u8, u8, u8, s16, s16);
|
||||
void PatchObjectPalette(u16, u8);
|
||||
void sub_808E16C(s16, s16);
|
||||
void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat);
|
||||
void sub_8092FF0(s16, s16, s16 *, s16 *);
|
||||
u8 ObjectEventDirectionToImageAnimId(u8);
|
||||
void sub_80930E0(s16 *, s16 *, s16, s16);
|
||||
void ObjectEventClearAnim(struct ObjectEvent *);
|
||||
void ObjectEventClearAnimIfSpecialAnimActive(struct ObjectEvent *);
|
||||
void sub_8063AD4(s16, s16, s16 *, s16 *);
|
||||
u8 GetFaceDirectionAnimNum(u8);
|
||||
void sub_8063BC4(s16 *, s16 *, s16, s16);
|
||||
void ObjectEventClearHeldMovement(struct ObjectEvent *);
|
||||
void ObjectEventClearHeldMovementIfActive(struct ObjectEvent *);
|
||||
void SpawnObjectEventsInView(s16, s16);
|
||||
u8 sprite_new(u8, u8, s16, s16, u8, u8);
|
||||
u8 AddPseudoObjectEvent(u16, SpriteCallback, s16, s16, u8);
|
||||
u8 TrySpawnObjectEvent(u8 localId, u8 mapNum, u8 mapGroup);
|
||||
u8 SpawnSpecialObjectEventParameterized(u8, u8, u8, s16, s16, u8);
|
||||
u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *);
|
||||
void sub_8093038(s16, s16, s16 *, s16 *);
|
||||
void SetSpritePosToMapCoords(s16, s16, s16 *, s16 *);
|
||||
void CameraObjectReset1(void);
|
||||
void CameraObjectReset2(void);
|
||||
void ObjectEventSetGraphicsId(struct ObjectEvent *, u8);
|
||||
void ObjectEventTurn(struct ObjectEvent *, u8);
|
||||
void ObjectEventTurnByLocalIdAndMap(u8, u8, u8, u8);
|
||||
void ObjectEventForceSetSpecialAnim(struct ObjectEvent *, u8);
|
||||
u8 sub_8064270(u8 a0);
|
||||
void ObjectEventForceSetHeldMovement(struct ObjectEvent *, u8);
|
||||
const struct ObjectEventGraphicsInfo *GetObjectEventGraphicsInfo(u8);
|
||||
void npc_by_local_id_and_map_set_field_1_bit_x20(u8, u8, u8, u8);
|
||||
void gpu_pal_allocator_reset__manage_upper_four(void);
|
||||
void FreeAndReserveObjectSpritePalettes(void);
|
||||
void sub_808E82C(u8, u8, u8, s16, s16);
|
||||
void sub_805F400(u8, u8, u8);
|
||||
void sub_805F3A8(u8, u8, u8, u8);
|
||||
void sub_808E75C(s16, s16);
|
||||
void ObjectEventGetLocalIdAndMap(struct ObjectEvent *, u8 *, u8 *, u8 *);
|
||||
void npc_coords_shift(struct ObjectEvent *, s16, s16);
|
||||
void ObjectEventGetLocalIdAndMap(struct ObjectEvent *objectEvent, void *localId, void *mapNum, void *mapGroup);
|
||||
void ShiftObjectEventCoords(struct ObjectEvent *, s16, s16);
|
||||
void sub_808EB08(struct ObjectEvent *, s16, s16);
|
||||
void sub_805FE94(u8, u8, u8);
|
||||
void ObjectEventStep(struct ObjectEvent *, struct Sprite *, bool8(struct ObjectEvent *, struct Sprite *));
|
||||
void TryOverrideObjectEventTemplateCoords(u8, u8, u8);
|
||||
void UpdateObjectEventCurrentMovement(struct ObjectEvent *, struct Sprite *, bool8(struct ObjectEvent *, struct Sprite *));
|
||||
u8 ObjectEventFaceOppositeDirection(struct ObjectEvent *, u8);
|
||||
u8 GetOppositeDirection(u8);
|
||||
u8 GetStepInPlaceDelay4AnimId(u32);
|
||||
u8 GetWalkInPlaceFastMovementAction(u32);
|
||||
u8 GetStepInPlaceDelay8AnimId(u32);
|
||||
u8 GetStepInPlaceDelay16AnimId(u32);
|
||||
u8 GetWalkInPlaceNormalMovementAction(u32);
|
||||
u8 GetWalkInPlaceSlowMovementAction(u32);
|
||||
u8 GetStepInPlaceDelay32AnimId(u32);
|
||||
u8 npc_block_way(struct ObjectEvent *, s16, s16, u32);
|
||||
u8 GetCollisionAtCoords(struct ObjectEvent *, s16, s16, u32);
|
||||
void MoveCoords(u8, s16 *, s16 *);
|
||||
bool8 ObjectEventIsSpecialAnimActive(struct ObjectEvent *);
|
||||
bool8 ObjectEventIsHeldMovementActive(struct ObjectEvent *);
|
||||
u8 ObjectEventClearHeldMovementIfFinished(struct ObjectEvent *);
|
||||
u8 GetObjectEventIdByXYZ(u16 x, u16 y, u8 z);
|
||||
void sub_8063E28(struct ObjectEvent *, struct Sprite *);
|
||||
bool8 ObjectEventSetHeldMovement(struct ObjectEvent *, u8);
|
||||
void npc_coords_shift_still(struct ObjectEvent *);
|
||||
void sub_805FE7C(struct ObjectEvent *, u8);
|
||||
void ShiftStillObjectEventCoords(struct ObjectEvent *);
|
||||
void OverrideMovementTypeForObjectEvent(const struct ObjectEvent *, u8);
|
||||
void SetTrainerMovementType(struct ObjectEvent *, u8);
|
||||
u8 sub_80634F0(u8 direction);
|
||||
u8 sub_8063500(u8 a0);
|
||||
u8 GetFishingNoCatchDirectionAnimNum(u8 direction);
|
||||
u8 GetFishingBiteDirectionAnimNum(u8 a0);
|
||||
void ObjectEventSetGraphicsId(struct ObjectEvent *objectEvent, u8 a1);
|
||||
u8 sub_805EB44(u8, u8, s16, s16);
|
||||
void npc_paltag_set_load(u8 mode);
|
||||
void InitObjectEventPalettes(u8 mode);
|
||||
bool8 ObjectEventIsMovementOverridden(struct ObjectEvent *objectEvent);
|
||||
u8 ObjectEventCheckHeldMovementStatus(struct ObjectEvent *objectEvent);
|
||||
u8 sub_8063F84(u8 direction);
|
||||
u8 GetWalkNormalMovementAction(u32);
|
||||
u8 GetWalkFastMovementAction(u32);
|
||||
u8 GetWalkFastestMovementAction(u32);
|
||||
u8 sub_8063F2C(u32 direction);
|
||||
u8 GetTrainerFacingDirectionMovementType(u8 direction);
|
||||
void CameraObjectSetFollowedObjectId(u8 spriteId);
|
||||
u8 GetFaceDirectionMovementAction(u32);
|
||||
void CameraObjectSetFollowedObjectId(u8 objectId);
|
||||
void UnfreezeObjectEvents(void);
|
||||
void sub_8069058(u8, u8);
|
||||
void SetObjectSubpriorityByZCoord(u8, struct Sprite *, u8);
|
||||
u8 GetSlideMovementAction(u32);
|
||||
u8 GetJumpInPlaceMovementAction(u32);
|
||||
u8 GetJumpMovementAction(u32);
|
||||
u8 GetJump2MovementAction(u32);
|
||||
bool8 sub_8068BCC(struct Sprite *sprite);
|
||||
void sub_8068D1C(struct Sprite *, u8, u8, u8);
|
||||
u8 sub_8068D3C(struct Sprite *);
|
||||
u8 sub_8068DC4(struct Sprite *);
|
||||
|
||||
|
||||
// Exported data declarations
|
||||
|
||||
|
||||
@@ -15,12 +15,11 @@ struct CameraObject
|
||||
s32 y;
|
||||
};
|
||||
|
||||
extern struct CameraObject gUnknown_03005DD0;
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
extern u16 gUnknown_03005DEC;
|
||||
extern u16 gUnknown_03005DE8;
|
||||
extern struct CameraObject gFieldCamera;
|
||||
extern u16 gTotalCameraPixelOffsetX;
|
||||
extern u16 gTotalCameraPixelOffsetY;
|
||||
|
||||
// Exported ROM declarations
|
||||
|
||||
|
||||
@@ -8,5 +8,6 @@ extern u32 gUnknown_3005078;
|
||||
void RestartWildEncounterImmunitySteps(void);
|
||||
void ClearPoisonStepCounter(void);
|
||||
void SetCableClubWarp(void);
|
||||
void sub_806DE28(struct ObjectEvent *);
|
||||
|
||||
#endif //GUARD_FIELD_CONTROL_AVATAR_H
|
||||
|
||||
@@ -12,9 +12,10 @@
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
u8 sub_8154228(void);
|
||||
bool8 sub_8155DA0(struct ObjectEvent *);
|
||||
u8 CreateWarpArrowSprite(void);
|
||||
void sub_80DC44C(u8, u8);
|
||||
void StartAshFieldEffect(s16, s16, u16, s16);
|
||||
void sub_80DCBB8(struct ObjectEvent *);
|
||||
bool8 sub_80DCBE0(struct ObjectEvent *);
|
||||
|
||||
#endif //GUARD_FIELD_EFFECT_HELPERS_H
|
||||
|
||||
@@ -9,8 +9,8 @@ u8 GetPlayerAvatarGenderByGraphicsId(u8);
|
||||
bool8 TestPlayerAvatarFlags(u8);
|
||||
void PlayerGetDestCoords(s16 *, s16 *);
|
||||
u8 GetPlayerFacingDirection(void);
|
||||
u8 player_get_direction_upper_nybble(void);
|
||||
u8 player_get_x22(void);
|
||||
u8 GetPlayerMovementDirection(void);
|
||||
u8 PlayerGetCopyableMovement(void);
|
||||
|
||||
void sub_808D074(u8);
|
||||
void sub_805C270(void);
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@
|
||||
#define NUM_PALS_TOTAL 13
|
||||
#define VIRTUAL_MAP_SIZE 0x2800
|
||||
|
||||
extern struct BackupMapLayout VMap;
|
||||
extern struct BackupMapLayout gBackupMapLayout;
|
||||
extern const struct MapLayout Route1_Layout;
|
||||
|
||||
u32 MapGridGetMetatileIdAt(int, int);
|
||||
|
||||
+65
-44
@@ -169,61 +169,61 @@ struct MapHeader
|
||||
struct ObjectEvent
|
||||
{
|
||||
/*0x00*/ u32 active:1;
|
||||
u32 mapobj_bit_1:1;
|
||||
u32 mapobj_bit_2:1;
|
||||
u32 mapobj_bit_3:1;
|
||||
u32 mapobj_bit_4:1;
|
||||
u32 mapobj_bit_5:1;
|
||||
u32 mapobj_bit_6:1;
|
||||
u32 mapobj_bit_7:1;
|
||||
/*0x01*/ u32 mapobj_bit_8:1;
|
||||
u32 mapobj_bit_9:1;
|
||||
u32 mapobj_bit_10:1;
|
||||
u32 mapobj_bit_11:1;
|
||||
u32 mapobj_bit_12:1;
|
||||
u32 mapobj_bit_13:1;
|
||||
u32 mapobj_bit_14:1;
|
||||
u32 mapobj_bit_15:1;
|
||||
/*0x02*/ u32 mapobj_bit_16:1;
|
||||
u32 mapobj_bit_17:1;
|
||||
u32 mapobj_bit_18:1;
|
||||
u32 mapobj_bit_19:1;
|
||||
u32 mapobj_bit_20:1;
|
||||
u32 mapobj_bit_21:1;
|
||||
u32 mapobj_bit_22:1;
|
||||
u32 mapobj_bit_23:1;
|
||||
/*0x03*/ u32 mapobj_bit_24:1;
|
||||
u32 mapobj_bit_25:1;
|
||||
u32 mapobj_bit_26:1;
|
||||
u32 mapobj_bit_27:1;
|
||||
u32 singleMovementActive:1;
|
||||
u32 triggerGroundEffectsOnMove:1;
|
||||
u32 triggerGroundEffectsOnStop:1;
|
||||
u32 disableCoveringGroundEffects:1;
|
||||
u32 landingJump:1;
|
||||
u32 heldMovementActive:1;
|
||||
u32 heldMovementFinished:1;
|
||||
/*0x01*/ u32 frozen:1;
|
||||
u32 facingDirectionLocked:1;
|
||||
u32 disableAnim:1;
|
||||
u32 enableAnim:1;
|
||||
u32 inanimate:1;
|
||||
u32 invisible:1;
|
||||
u32 offScreen:1;
|
||||
u32 trackedByCamera:1;
|
||||
/*0x02*/ u32 isPlayer:1;
|
||||
u32 hasReflection:1;
|
||||
u32 inShortGrass:1;
|
||||
u32 inShallowFlowingWater:1;
|
||||
u32 inSandPile:1;
|
||||
u32 inHotSprings:1;
|
||||
u32 hasShadow:1;
|
||||
u32 spriteAnimPausedBackup:1;
|
||||
/*0x03*/ u32 spriteAffineAnimPausedBackup:1;
|
||||
u32 disableJumpLandingGroundEffect:1;
|
||||
u32 fixedPriority:1;
|
||||
u32 hideReflection:1;
|
||||
u32 mapobj_bit_28:1;
|
||||
u32 mapobj_bit_29:1;
|
||||
u32 mapobj_bit_30:1;
|
||||
u32 mapobj_bit_31:1;
|
||||
/*0x04*/ u8 spriteId;
|
||||
/*0x05*/ u8 graphicsId;
|
||||
/*0x06*/ u8 animPattern;
|
||||
/*0x06*/ u8 movementType;
|
||||
/*0x07*/ u8 trainerType;
|
||||
/*0x08*/ u8 localId;
|
||||
/*0x09*/ u8 mapNum;
|
||||
/*0x0A*/ u8 mapGroup;
|
||||
/*0x0B*/ u8 mapobj_unk_0B_0:4;
|
||||
u8 elevation:4;
|
||||
/*0x0C*/ struct Coords16 coords1;
|
||||
/*0x10*/ struct Coords16 coords2;
|
||||
/*0x14*/ struct Coords16 coords3;
|
||||
/*0x18*/ u8 facingDirection:4; //current direction?
|
||||
/*0x18*/ u8 placeholder18:4;
|
||||
/*0x0B*/ u8 currentElevation:4;
|
||||
u8 previousElevation:4;
|
||||
/*0x0C*/ struct Coords16 initialCoords;
|
||||
/*0x10*/ struct Coords16 currentCoords;
|
||||
/*0x14*/ struct Coords16 previousCoords;
|
||||
/*0x18*/ u8 facingDirection:4; // current direction?
|
||||
/*0x18*/ u8 movementDirection:4;
|
||||
/*0x19*/ union ObjectEventRange range;
|
||||
/*0x1A*/ u8 mapobj_unk_1A;
|
||||
/*0x1B*/ u8 mapobj_unk_1B;
|
||||
/*0x1C*/ u8 mapobj_unk_1C;
|
||||
/*0x1A*/ u8 fieldEffectSpriteId;
|
||||
/*0x1B*/ u8 warpArrowSpriteId;
|
||||
/*0x1C*/ u8 movementActionId;
|
||||
/*0x1D*/ u8 trainerRange_berryTreeId;
|
||||
/*0x1E*/ u8 mapobj_unk_1E;
|
||||
/*0x1F*/ u8 mapobj_unk_1F;
|
||||
/*0x20*/ u8 mapobj_unk_20;
|
||||
/*0x21*/ u8 mapobj_unk_21;
|
||||
/*0x22*/ u8 animId;
|
||||
/*0x1E*/ u8 currentMetatileBehavior;
|
||||
/*0x1F*/ u8 previousMetatileBehavior;
|
||||
/*0x20*/ u8 previousMovementDirection;
|
||||
/*0x21*/ u8 directionSequenceIndex;
|
||||
/*0x22*/ u8 playerCopyableMovement;
|
||||
/*size = 0x24*/
|
||||
};
|
||||
|
||||
@@ -269,7 +269,28 @@ enum
|
||||
|
||||
enum
|
||||
{
|
||||
COLLISION_LEDGE_JUMP = 6
|
||||
COLLISION_NONE,
|
||||
COLLISION_OUTSIDE_RANGE,
|
||||
COLLISION_IMPASSABLE,
|
||||
COLLISION_ELEVATION_MISMATCH,
|
||||
COLLISION_OBJECT_EVENT,
|
||||
COLLISION_STOP_SURFING,
|
||||
COLLISION_LEDGE_JUMP,
|
||||
COLLISION_PUSHED_BOULDER,
|
||||
COLLISION_ROTATING_GATE,
|
||||
COLLISION_WHEELIE_HOP,
|
||||
COLLISION_ISOLATED_VERTICAL_RAIL,
|
||||
COLLISION_ISOLATED_HORIZONTAL_RAIL,
|
||||
COLLISION_VERTICAL_RAIL,
|
||||
COLLISION_HORIZONTAL_RAIL,
|
||||
};
|
||||
|
||||
// player tile transition states
|
||||
enum
|
||||
{
|
||||
T_NOT_MOVING,
|
||||
T_TILE_TRANSITION,
|
||||
T_TILE_CENTER, // player is on a frame in which they are centered on a tile during which the player either stops or keeps their momentum and keeps going, changing direction if necessary.
|
||||
};
|
||||
|
||||
struct PlayerAvatar /* 0x202E858 */
|
||||
|
||||
@@ -8,7 +8,7 @@ bool8 MetatileBehavior_IsJumpEast(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_IsJumpWest(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_IsJumpNorth(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_IsJumpSouth(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_IsTallGrass(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_IsPokeGrass(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_IsMB21OrSand(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_IsSandOrDeepSand(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_ReturnFalse(u8 metatileBehavior);
|
||||
|
||||
+3
-2
@@ -37,7 +37,7 @@ struct LinkPlayerObjectEvent
|
||||
{
|
||||
u8 active;
|
||||
u8 linkPlayerId;
|
||||
u8 mapObjId;
|
||||
u8 objEventId;
|
||||
u8 mode;
|
||||
};
|
||||
|
||||
@@ -95,7 +95,7 @@ void Overworld_ChangeMusicTo(u16);
|
||||
|
||||
bool32 IsUpdateLinkStateCBActive(void);
|
||||
|
||||
void strange_npc_table_clear(void);
|
||||
void ClearLinkPlayerObjectEvents(void);
|
||||
const struct MapHeader *Overworld_GetMapHeaderByGroupAndId(u16, u16);
|
||||
void ObjectEventMoveDestCoords(struct ObjectEvent *, u32, s16 *, s16 *);
|
||||
void sub_8086230(void);
|
||||
@@ -141,6 +141,7 @@ void sub_8055864(u8 mapGroup, u8 mapNum);
|
||||
void CB2_Overworld(void);
|
||||
void CB2_OverworldBasic(void);
|
||||
void CB2_NewGame(void);
|
||||
bool8 IsMapTypeOutdoors(u8 mapType);
|
||||
bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType);
|
||||
void Overworld_ResetStateAfterTeleport(void);
|
||||
|
||||
|
||||
@@ -49,5 +49,7 @@ void *QuestLogGetFlagOrVarPtr(bool8 isFlag, u16 idx);
|
||||
void QuestLogSetFlagOrVar(bool8 isFlag, u16 idx, u16 value);
|
||||
void sub_8110840(void *oldSave);
|
||||
void sub_8112F18(u8 windowId);
|
||||
void sub_811246C(struct Sprite *sprite);
|
||||
void sub_81124EC(u8 a0, u8 a1, u8 a2, u8 a3);
|
||||
|
||||
#endif //GUARD_QUEST_LOG_H
|
||||
|
||||
@@ -316,5 +316,7 @@ u8 SpriteTileAllocBitmapOp(u16 bit, u8 op);
|
||||
void ClearSpriteCopyRequests(void);
|
||||
void ResetAffineAnimData(void);
|
||||
void sub_8007FFC(struct Sprite* sprite, s16 a2, s16 a3);
|
||||
void sub_80075C0(struct Sprite *sprite);
|
||||
s16 AllocSpriteTiles(u16 tileCount);
|
||||
|
||||
#endif //GUARD_SPRITE_H
|
||||
|
||||
@@ -3,8 +3,7 @@
|
||||
|
||||
#include "global.h"
|
||||
|
||||
void sub_80B4578(struct ObjectEvent *);
|
||||
u8 sub_80B47BC(void);
|
||||
void sub_8155D78(struct ObjectEvent *);
|
||||
void sub_80824EC(struct ObjectEvent *var);
|
||||
|
||||
#endif //GUARD_TRAINER_SEE_H
|
||||
|
||||
@@ -93,6 +93,7 @@ SECTIONS {
|
||||
asm/field_camera.o(.text);
|
||||
src/field_door.o(.text);
|
||||
asm/field_player_avatar.o(.text);
|
||||
src/event_object_movement.o(.text);
|
||||
asm/event_object_movement.o(.text);
|
||||
asm/field_ground_effect.o(.text);
|
||||
asm/event_object_80688E4.o(.text);
|
||||
|
||||
@@ -51,7 +51,7 @@ void sub_80695CC(u8 taskId)
|
||||
task->data[0] = 1;
|
||||
}
|
||||
|
||||
if (task->data[1] == 0 && !gObjectEvents[gSelectedObjectEvent].mapobj_bit_1)
|
||||
if (task->data[1] == 0 && !gObjectEvents[gSelectedObjectEvent].singleMovementActive)
|
||||
{
|
||||
FreezeObjectEvent(&gObjectEvents[gSelectedObjectEvent]);
|
||||
task->data[1] = 1;
|
||||
@@ -78,7 +78,7 @@ void LockSelectedObjectEvent(void)
|
||||
|
||||
FreezeObjectEventsExceptOne(gSelectedObjectEvent);
|
||||
taskId = CreateTask(sub_80695CC, 80);
|
||||
if (!gObjectEvents[gSelectedObjectEvent].mapobj_bit_1)
|
||||
if (!gObjectEvents[gSelectedObjectEvent].singleMovementActive)
|
||||
{
|
||||
FreezeObjectEvent(&gObjectEvents[gSelectedObjectEvent]);
|
||||
gTasks[taskId].data[1] = 1;
|
||||
@@ -111,5 +111,5 @@ void Script_FacePlayer(void)
|
||||
|
||||
void Script_ClearHeldMovement(void)
|
||||
{
|
||||
ObjectEventClearAnimIfSpecialAnimActive(&gObjectEvents[gSelectedObjectEvent]);
|
||||
ObjectEventClearHeldMovementIfActive(&gObjectEvents[gSelectedObjectEvent]);
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -1004,7 +1004,7 @@ static void FCSetup_ResetTasksAndSpriteResources(void)
|
||||
ResetSpriteData();
|
||||
ResetAllPicSprites();
|
||||
ResetPaletteFade();
|
||||
npc_paltag_set_load(0);
|
||||
InitObjectEventPalettes(0);
|
||||
gReservedSpritePaletteCount = 7;
|
||||
|
||||
}
|
||||
|
||||
@@ -415,7 +415,7 @@ static void task_map_chg_seq_0807E20C(u8 taskId)
|
||||
if (sub_807E418())
|
||||
{
|
||||
sub_807DCB0(TRUE);
|
||||
ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], sub_8063F84(GetPlayerFacingDirection()));
|
||||
ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], GetWalkNormalMovementAction(GetPlayerFacingDirection()));
|
||||
task->data[0] = 2;
|
||||
}
|
||||
break;
|
||||
@@ -752,7 +752,7 @@ static void sub_807E80C(u8 taskId)
|
||||
case 1:
|
||||
if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE)
|
||||
{
|
||||
ObjectEventClearAnimIfSpecialAnimActive(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)]);
|
||||
ObjectEventClearHeldMovementIfActive(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)]);
|
||||
ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], 17);
|
||||
task->data[0] = 2;
|
||||
}
|
||||
@@ -850,15 +850,15 @@ static void sub_807EAC4(s16 a0, s16 a1, s16 *a2, s16 *a3, s16 *a4)
|
||||
(*a4)++;
|
||||
playerSpr->pos2.x = *a2 >> 5;
|
||||
playerSpr->pos2.y = *a3 >> 5;
|
||||
if (playerObj->mapobj_bit_7)
|
||||
if (playerObj->heldMovementFinished)
|
||||
{
|
||||
ObjectEventForceSetSpecialAnim(playerObj, GetStepInPlaceDelay16AnimId(GetPlayerFacingDirection()));
|
||||
ObjectEventForceSetHeldMovement(playerObj, GetWalkInPlaceNormalMovementAction(GetPlayerFacingDirection()));
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_807EB64(u16 a0, s16 *a1, s16 *a2)
|
||||
{
|
||||
ObjectEventForceSetSpecialAnim(&gObjectEvents[gPlayerAvatar.objectEventId], GetStepInPlaceDelay16AnimId(GetPlayerFacingDirection()));
|
||||
ObjectEventForceSetHeldMovement(&gObjectEvents[gPlayerAvatar.objectEventId], GetWalkInPlaceNormalMovementAction(GetPlayerFacingDirection()));
|
||||
sub_807EBBC(a0, a1, a2);
|
||||
}
|
||||
|
||||
@@ -930,7 +930,7 @@ static void sub_807ECBC(s16 *a0, s16 *a1, s16 *a2, s16 *a3, s16 *a4)
|
||||
r1 = 3;
|
||||
else
|
||||
r1 = 4;
|
||||
ObjectEventForceSetSpecialAnim(&gObjectEvents[gPlayerAvatar.objectEventId], sub_8064270(r1));
|
||||
ObjectEventForceSetHeldMovement(&gObjectEvents[gPlayerAvatar.objectEventId], GetWalkInPlaceSlowMovementAction(r1));
|
||||
sub_807EBBC(behavior, a0, a1);
|
||||
*a2 = *a0 * 16;
|
||||
*a3 = *a1 * 16;
|
||||
|
||||
@@ -316,7 +316,7 @@ void Special_AnimatePcTurnOff()
|
||||
void SpawnCameraObject(void)
|
||||
{
|
||||
u8 objectEventId = SpawnSpecialObjectEventParameterized(OBJECT_EVENT_GFX_YOUNGSTER, 8, 127, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3);
|
||||
gObjectEvents[objectEventId].mapobj_bit_13 = TRUE;
|
||||
gObjectEvents[objectEventId].invisible = TRUE;
|
||||
CameraObjectSetFollowedObjectId(gObjectEvents[objectEventId].spriteId);
|
||||
}
|
||||
|
||||
|
||||
+50
-48
@@ -8,6 +8,8 @@
|
||||
#include "quest_log.h"
|
||||
#include "fieldmap.h"
|
||||
|
||||
#define VMap gBackupMapLayout // Needed for AGB_ASSERT_EX to match
|
||||
|
||||
struct ConnectionFlags
|
||||
{
|
||||
u8 south:1;
|
||||
@@ -28,8 +30,8 @@ struct MapConnection *sub_8059600(u8 direction, s32 x, s32 y);
|
||||
bool8 sub_8059658(u8 direction, s32 x, s32 y, struct MapConnection *connection);
|
||||
bool8 sub_80596BC(s32 x, s32 src_width, s32 dest_width, s32 offset);
|
||||
|
||||
struct BackupMapLayout VMap;
|
||||
EWRAM_DATA u16 gBackupMapLayout[VIRTUAL_MAP_SIZE] = {};
|
||||
struct BackupMapLayout gBackupMapLayout;
|
||||
EWRAM_DATA u16 gBackupMapData[VIRTUAL_MAP_SIZE] = {};
|
||||
EWRAM_DATA struct MapHeader gMapHeader = {};
|
||||
EWRAM_DATA struct Camera gCamera = {};
|
||||
EWRAM_DATA struct ConnectionFlags gMapConnectionFlags = {};
|
||||
@@ -79,10 +81,10 @@ void sub_80589E8(void)
|
||||
void sub_8058A00(struct MapHeader * mapHeader)
|
||||
{
|
||||
const struct MapLayout * mapLayout = mapHeader->mapLayout;
|
||||
CpuFastFill(0x03FF03FF, gBackupMapLayout, sizeof(gBackupMapLayout));
|
||||
VMap.map = gBackupMapLayout;
|
||||
VMap.Xsize = mapLayout->width + 15;
|
||||
VMap.Ysize = mapLayout->height + 14;
|
||||
CpuFastFill(0x03FF03FF, gBackupMapData, sizeof(gBackupMapData));
|
||||
gBackupMapLayout.map = gBackupMapData;
|
||||
gBackupMapLayout.Xsize = mapLayout->width + 15;
|
||||
gBackupMapLayout.Ysize = mapLayout->height + 14;
|
||||
AGB_ASSERT_EX(VMap.Xsize * VMap.Ysize <= VIRTUAL_MAP_SIZE, ABSPATH("fieldmap.c"), 158);
|
||||
map_copy_with_padding(mapLayout->map, mapLayout->width, mapLayout->height);
|
||||
mapheader_copy_mapdata_of_adjacent_maps(mapHeader);
|
||||
@@ -91,8 +93,8 @@ void sub_8058A00(struct MapHeader * mapHeader)
|
||||
void map_copy_with_padding(u16 *map, u16 width, u16 height)
|
||||
{
|
||||
s32 y;
|
||||
u16 *dest = VMap.map;
|
||||
dest += VMap.Xsize * 7 + 7;
|
||||
u16 *dest = gBackupMapLayout.map;
|
||||
dest += gBackupMapLayout.Xsize * 7 + 7;
|
||||
|
||||
for (y = 0; y < height; y++)
|
||||
{
|
||||
@@ -157,12 +159,12 @@ void sub_8058B54(s32 x, s32 y, const struct MapHeader *connectedMapHeader, s32 x
|
||||
|
||||
mapWidth = connectedMapHeader->mapLayout->width;
|
||||
src = &connectedMapHeader->mapLayout->map[mapWidth * y2 + x2];
|
||||
dest = &VMap.map[VMap.Xsize * y + x];
|
||||
dest = &gBackupMapLayout.map[gBackupMapLayout.Xsize * y + x];
|
||||
|
||||
for (i = 0; i < height; i++)
|
||||
{
|
||||
CpuCopy16(src, dest, width * 2);
|
||||
dest += VMap.Xsize;
|
||||
dest += gBackupMapLayout.Xsize;
|
||||
src += mapWidth;
|
||||
}
|
||||
}
|
||||
@@ -183,26 +185,26 @@ void fillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader con
|
||||
{
|
||||
x2 = -x;
|
||||
x += cWidth;
|
||||
if (x < VMap.Xsize)
|
||||
if (x < gBackupMapLayout.Xsize)
|
||||
{
|
||||
width = x;
|
||||
}
|
||||
else
|
||||
{
|
||||
width = VMap.Xsize;
|
||||
width = gBackupMapLayout.Xsize;
|
||||
}
|
||||
x = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
x2 = 0;
|
||||
if (x + cWidth < VMap.Xsize)
|
||||
if (x + cWidth < gBackupMapLayout.Xsize)
|
||||
{
|
||||
width = cWidth;
|
||||
}
|
||||
else
|
||||
{
|
||||
width = VMap.Xsize - x;
|
||||
width = gBackupMapLayout.Xsize - x;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -231,26 +233,26 @@ void fillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader con
|
||||
{
|
||||
x2 = -x;
|
||||
x += cWidth;
|
||||
if (x < VMap.Xsize)
|
||||
if (x < gBackupMapLayout.Xsize)
|
||||
{
|
||||
width = x;
|
||||
}
|
||||
else
|
||||
{
|
||||
width = VMap.Xsize;
|
||||
width = gBackupMapLayout.Xsize;
|
||||
}
|
||||
x = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
x2 = 0;
|
||||
if (x + cWidth < VMap.Xsize)
|
||||
if (x + cWidth < gBackupMapLayout.Xsize)
|
||||
{
|
||||
width = cWidth;
|
||||
}
|
||||
else
|
||||
{
|
||||
width = VMap.Xsize - x;
|
||||
width = gBackupMapLayout.Xsize - x;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -278,26 +280,26 @@ void fillWestConnection(struct MapHeader const *mapHeader, struct MapHeader cons
|
||||
if (y < 0)
|
||||
{
|
||||
y2 = -y;
|
||||
if (y + cHeight < VMap.Ysize)
|
||||
if (y + cHeight < gBackupMapLayout.Ysize)
|
||||
{
|
||||
height = y + cHeight;
|
||||
}
|
||||
else
|
||||
{
|
||||
height = VMap.Ysize;
|
||||
height = gBackupMapLayout.Ysize;
|
||||
}
|
||||
y = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
y2 = 0;
|
||||
if (y + cHeight < VMap.Ysize)
|
||||
if (y + cHeight < gBackupMapLayout.Ysize)
|
||||
{
|
||||
height = cHeight;
|
||||
}
|
||||
else
|
||||
{
|
||||
height = VMap.Ysize - y;
|
||||
height = gBackupMapLayout.Ysize - y;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -323,26 +325,26 @@ void fillEastConnection(struct MapHeader const *mapHeader, struct MapHeader cons
|
||||
if (y < 0)
|
||||
{
|
||||
y2 = -y;
|
||||
if (y + cHeight < VMap.Ysize)
|
||||
if (y + cHeight < gBackupMapLayout.Ysize)
|
||||
{
|
||||
height = y + cHeight;
|
||||
}
|
||||
else
|
||||
{
|
||||
height = VMap.Ysize;
|
||||
height = gBackupMapLayout.Ysize;
|
||||
}
|
||||
y = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
y2 = 0;
|
||||
if (y + cHeight < VMap.Ysize)
|
||||
if (y + cHeight < gBackupMapLayout.Ysize)
|
||||
{
|
||||
height = cHeight;
|
||||
}
|
||||
else
|
||||
{
|
||||
height = VMap.Ysize - y;
|
||||
height = gBackupMapLayout.Ysize - y;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -404,9 +406,9 @@ union Block
|
||||
block; \
|
||||
})
|
||||
|
||||
#define AreCoordsWithinMapGridBounds(x, y) (x >= 0 && x < VMap.Xsize && y >= 0 && y < VMap.Ysize)
|
||||
#define AreCoordsWithinMapGridBounds(x, y) (x >= 0 && x < gBackupMapLayout.Xsize && y >= 0 && y < gBackupMapLayout.Ysize)
|
||||
|
||||
#define MapGridGetTileAt(x, y) (AreCoordsWithinMapGridBounds(x, y) ? VMap.map[x + VMap.Xsize * y] : MapGridGetBorderTileAt2(x, y))
|
||||
#define MapGridGetTileAt(x, y) (AreCoordsWithinMapGridBounds(x, y) ? gBackupMapLayout.map[x + gBackupMapLayout.Xsize * y] : MapGridGetBorderTileAt2(x, y))
|
||||
|
||||
u8 MapGridGetZCoordAt(s32 x, s32 y)
|
||||
{
|
||||
@@ -471,37 +473,37 @@ u8 MapGridGetMetatileLayerTypeAt(s16 x, s16 y)
|
||||
void MapGridSetMetatileIdAt(s32 x, s32 y, u16 metatile)
|
||||
{
|
||||
s32 i;
|
||||
if (x >= 0 && x < VMap.Xsize
|
||||
&& y >= 0 && y < VMap.Ysize)
|
||||
if (x >= 0 && x < gBackupMapLayout.Xsize
|
||||
&& y >= 0 && y < gBackupMapLayout.Ysize)
|
||||
{
|
||||
i = x + y * VMap.Xsize;
|
||||
VMap.map[i] = (VMap.map[i] & 0xf000) | (metatile & 0xfff);
|
||||
i = x + y * gBackupMapLayout.Xsize;
|
||||
gBackupMapLayout.map[i] = (gBackupMapLayout.map[i] & 0xf000) | (metatile & 0xfff);
|
||||
}
|
||||
}
|
||||
|
||||
void MapGridSetMetatileEntryAt(s32 x, s32 y, u16 metatile)
|
||||
{
|
||||
s32 i;
|
||||
if (x >= 0 && x < VMap.Xsize
|
||||
&& y >= 0 && y < VMap.Ysize)
|
||||
if (x >= 0 && x < gBackupMapLayout.Xsize
|
||||
&& y >= 0 && y < gBackupMapLayout.Ysize)
|
||||
{
|
||||
i = x + VMap.Xsize * y;
|
||||
VMap.map[i] = metatile;
|
||||
i = x + gBackupMapLayout.Xsize * y;
|
||||
gBackupMapLayout.map[i] = metatile;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8059024(s32 x, s32 y, bool32 arg2)
|
||||
{
|
||||
if (x >= 0 && x < VMap.Xsize
|
||||
&& y >= 0 && y < VMap.Ysize)
|
||||
if (x >= 0 && x < gBackupMapLayout.Xsize
|
||||
&& y >= 0 && y < gBackupMapLayout.Ysize)
|
||||
{
|
||||
if (arg2)
|
||||
{
|
||||
VMap.map[x + VMap.Xsize * y] |= 0x0C00;
|
||||
gBackupMapLayout.map[x + gBackupMapLayout.Xsize * y] |= 0x0C00;
|
||||
}
|
||||
else
|
||||
{
|
||||
VMap.map[x + VMap.Xsize * y] &= ~0x0C00;
|
||||
gBackupMapLayout.map[x + gBackupMapLayout.Xsize * y] &= ~0x0C00;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -533,14 +535,14 @@ void save_serialize_map(void)
|
||||
u16 *mapView;
|
||||
s32 width;
|
||||
mapView = gSaveBlock2Ptr->mapView;
|
||||
width = VMap.Xsize;
|
||||
width = gBackupMapLayout.Xsize;
|
||||
x = gSaveBlock1Ptr->pos.x;
|
||||
y = gSaveBlock1Ptr->pos.y;
|
||||
for (i = y; i < y + 14; i++)
|
||||
{
|
||||
for (j = x; j < x + 15; j++)
|
||||
{
|
||||
*mapView++ = gBackupMapLayout[width * i + j];
|
||||
*mapView++ = gBackupMapData[width * i + j];
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -574,14 +576,14 @@ void LoadSavedMapView(void)
|
||||
mapView = gSaveBlock2Ptr->mapView;
|
||||
if (!SavedMapViewIsEmpty())
|
||||
{
|
||||
width = VMap.Xsize;
|
||||
width = gBackupMapLayout.Xsize;
|
||||
x = gSaveBlock1Ptr->pos.x;
|
||||
y = gSaveBlock1Ptr->pos.y;
|
||||
for (i = y; i < y + 14; i++)
|
||||
{
|
||||
for (j = x; j < x + 15; j++)
|
||||
{
|
||||
gBackupMapLayout[j + width * i] = *mapView;
|
||||
gBackupMapData[j + width * i] = *mapView;
|
||||
mapView++;
|
||||
}
|
||||
}
|
||||
@@ -601,7 +603,7 @@ void sub_8059250(u8 a1)
|
||||
s32 x, y;
|
||||
s32 i, j;
|
||||
mapView = gSaveBlock2Ptr->mapView;
|
||||
width = VMap.Xsize;
|
||||
width = gBackupMapLayout.Xsize;
|
||||
r9 = 0;
|
||||
r8 = 0;
|
||||
x0 = gSaveBlock1Ptr->pos.x;
|
||||
@@ -636,7 +638,7 @@ void sub_8059250(u8 a1)
|
||||
desti = width * (y + y0);
|
||||
srci = (y + r8) * 15 + r9;
|
||||
src = &mapView[srci + i];
|
||||
dest = &gBackupMapLayout[x0 + desti + j];
|
||||
dest = &gBackupMapData[x0 + desti + j];
|
||||
*dest = *src;
|
||||
i++;
|
||||
j++;
|
||||
@@ -652,7 +654,7 @@ s32 GetMapBorderIdAt(s32 x, s32 y)
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (x >= VMap.Xsize - 8)
|
||||
if (x >= gBackupMapLayout.Xsize - 8)
|
||||
{
|
||||
if (!gMapConnectionFlags.east)
|
||||
{
|
||||
@@ -670,7 +672,7 @@ s32 GetMapBorderIdAt(s32 x, s32 y)
|
||||
return CONNECTION_WEST;
|
||||
}
|
||||
|
||||
if (y >= VMap.Ysize - 7)
|
||||
if (y >= gBackupMapLayout.Ysize - 7)
|
||||
{
|
||||
if (!gMapConnectionFlags.south)
|
||||
{
|
||||
|
||||
@@ -88,7 +88,7 @@ bool8 MetatileBehavior_IsJumpSouth(u8 metatileBehavior)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 MetatileBehavior_IsTallGrass(u8 metatileBehavior)
|
||||
bool8 MetatileBehavior_IsPokeGrass(u8 metatileBehavior)
|
||||
{
|
||||
if(metatileBehavior == MB_TALL_GRASS || metatileBehavior == MB_CYCLING_ROAD_PULL_DOWN_GRASS)
|
||||
return TRUE;
|
||||
|
||||
+67
-67
@@ -14,37 +14,37 @@ void SetQuestLogObjectEventsData(struct QuestLog * questLog)
|
||||
for (i = 0; i < OBJECT_EVENTS_COUNT; i++)
|
||||
{
|
||||
questLog->unk_008[i].active = gObjectEvents[i].active;
|
||||
questLog->unk_008[i].mapobj_bit_3 = gObjectEvents[i].mapobj_bit_3;
|
||||
questLog->unk_008[i].mapobj_bit_4 = gObjectEvents[i].mapobj_bit_4;
|
||||
questLog->unk_008[i].mapobj_bit_5 = gObjectEvents[i].mapobj_bit_5;
|
||||
questLog->unk_008[i].mapobj_bit_8 = gObjectEvents[i].mapobj_bit_8;
|
||||
questLog->unk_008[i].mapobj_bit_9 = gObjectEvents[i].mapobj_bit_9;
|
||||
questLog->unk_008[i].mapobj_bit_10 = gObjectEvents[i].mapobj_bit_10;
|
||||
questLog->unk_008[i].mapobj_bit_11 = gObjectEvents[i].mapobj_bit_11;
|
||||
questLog->unk_008[i].mapobj_bit_12 = gObjectEvents[i].mapobj_bit_12;
|
||||
questLog->unk_008[i].mapobj_bit_13 = gObjectEvents[i].mapobj_bit_13;
|
||||
questLog->unk_008[i].mapobj_bit_14 = gObjectEvents[i].mapobj_bit_14;
|
||||
questLog->unk_008[i].mapobj_bit_15 = gObjectEvents[i].mapobj_bit_15;
|
||||
questLog->unk_008[i].mapobj_bit_16 = gObjectEvents[i].mapobj_bit_16;
|
||||
questLog->unk_008[i].mapobj_bit_23 = gObjectEvents[i].mapobj_bit_23;
|
||||
questLog->unk_008[i].mapobj_bit_24 = gObjectEvents[i].mapobj_bit_24;
|
||||
questLog->unk_008[i].mapobj_bit_25 = gObjectEvents[i].mapobj_bit_25;
|
||||
questLog->unk_008[i].mapobj_bit_26 = gObjectEvents[i].mapobj_bit_26;
|
||||
questLog->unk_008[i].mapobj_bit_3 = gObjectEvents[i].triggerGroundEffectsOnStop;
|
||||
questLog->unk_008[i].mapobj_bit_4 = gObjectEvents[i].disableCoveringGroundEffects;
|
||||
questLog->unk_008[i].mapobj_bit_5 = gObjectEvents[i].landingJump;
|
||||
questLog->unk_008[i].mapobj_bit_8 = gObjectEvents[i].frozen;
|
||||
questLog->unk_008[i].mapobj_bit_9 = gObjectEvents[i].facingDirectionLocked;
|
||||
questLog->unk_008[i].mapobj_bit_10 = gObjectEvents[i].disableAnim;
|
||||
questLog->unk_008[i].mapobj_bit_11 = gObjectEvents[i].enableAnim;
|
||||
questLog->unk_008[i].mapobj_bit_12 = gObjectEvents[i].inanimate;
|
||||
questLog->unk_008[i].mapobj_bit_13 = gObjectEvents[i].invisible;
|
||||
questLog->unk_008[i].mapobj_bit_14 = gObjectEvents[i].offScreen;
|
||||
questLog->unk_008[i].mapobj_bit_15 = gObjectEvents[i].trackedByCamera;
|
||||
questLog->unk_008[i].mapobj_bit_16 = gObjectEvents[i].isPlayer;
|
||||
questLog->unk_008[i].mapobj_bit_23 = gObjectEvents[i].spriteAnimPausedBackup;
|
||||
questLog->unk_008[i].mapobj_bit_24 = gObjectEvents[i].spriteAffineAnimPausedBackup;
|
||||
questLog->unk_008[i].mapobj_bit_25 = gObjectEvents[i].disableJumpLandingGroundEffect;
|
||||
questLog->unk_008[i].mapobj_bit_26 = gObjectEvents[i].fixedPriority;
|
||||
questLog->unk_008[i].mapobj_unk_18 = gObjectEvents[i].facingDirection;
|
||||
questLog->unk_008[i].mapobj_unk_0B_0 = gObjectEvents[i].mapobj_unk_0B_0;
|
||||
questLog->unk_008[i].elevation = gObjectEvents[i].elevation;
|
||||
questLog->unk_008[i].mapobj_unk_0B_0 = gObjectEvents[i].currentElevation;
|
||||
questLog->unk_008[i].elevation = gObjectEvents[i].previousElevation;
|
||||
questLog->unk_008[i].graphicsId = gObjectEvents[i].graphicsId;
|
||||
questLog->unk_008[i].animPattern = gObjectEvents[i].animPattern;
|
||||
questLog->unk_008[i].animPattern = gObjectEvents[i].movementType;
|
||||
questLog->unk_008[i].trainerType = gObjectEvents[i].trainerType;
|
||||
questLog->unk_008[i].localId = gObjectEvents[i].localId;
|
||||
questLog->unk_008[i].mapNum = gObjectEvents[i].mapNum;
|
||||
questLog->unk_008[i].mapGroup = gObjectEvents[i].mapGroup;
|
||||
questLog->unk_008[i].x = gObjectEvents[i].coords2.x;
|
||||
questLog->unk_008[i].y = gObjectEvents[i].coords2.y;
|
||||
questLog->unk_008[i].x = gObjectEvents[i].currentCoords.x;
|
||||
questLog->unk_008[i].y = gObjectEvents[i].currentCoords.y;
|
||||
questLog->unk_008[i].trainerRange_berryTreeId = gObjectEvents[i].trainerRange_berryTreeId;
|
||||
questLog->unk_008[i].mapobj_unk_1F = gObjectEvents[i].mapobj_unk_1F;
|
||||
questLog->unk_008[i].mapobj_unk_21 = gObjectEvents[i].mapobj_unk_21;
|
||||
questLog->unk_008[i].animId = gObjectEvents[i].animId;
|
||||
questLog->unk_008[i].mapobj_unk_1F = gObjectEvents[i].previousMetatileBehavior;
|
||||
questLog->unk_008[i].mapobj_unk_21 = gObjectEvents[i].directionSequenceIndex;
|
||||
questLog->unk_008[i].animId = gObjectEvents[i].playerCopyableMovement;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,74 +58,74 @@ void sub_815A1F8(const struct QuestLog * questLog, const struct ObjectEventTempl
|
||||
for (i = 0; i < OBJECT_EVENTS_COUNT; i++)
|
||||
{
|
||||
gObjectEvents[i].active = questLogObjectEvents[i].active;
|
||||
gObjectEvents[i].mapobj_bit_3 = questLogObjectEvents[i].mapobj_bit_3;
|
||||
gObjectEvents[i].mapobj_bit_4 = questLogObjectEvents[i].mapobj_bit_4;
|
||||
gObjectEvents[i].mapobj_bit_5 = questLogObjectEvents[i].mapobj_bit_5;
|
||||
gObjectEvents[i].mapobj_bit_8 = questLogObjectEvents[i].mapobj_bit_8;
|
||||
gObjectEvents[i].mapobj_bit_9 = questLogObjectEvents[i].mapobj_bit_9;
|
||||
gObjectEvents[i].mapobj_bit_10 = questLogObjectEvents[i].mapobj_bit_10;
|
||||
gObjectEvents[i].mapobj_bit_11 = questLogObjectEvents[i].mapobj_bit_11;
|
||||
gObjectEvents[i].mapobj_bit_12 = questLogObjectEvents[i].mapobj_bit_12;
|
||||
gObjectEvents[i].mapobj_bit_13 = questLogObjectEvents[i].mapobj_bit_13;
|
||||
gObjectEvents[i].mapobj_bit_14 = questLogObjectEvents[i].mapobj_bit_14;
|
||||
gObjectEvents[i].mapobj_bit_15 = questLogObjectEvents[i].mapobj_bit_15;
|
||||
gObjectEvents[i].mapobj_bit_16 = questLogObjectEvents[i].mapobj_bit_16;
|
||||
gObjectEvents[i].mapobj_bit_23 = questLogObjectEvents[i].mapobj_bit_23;
|
||||
gObjectEvents[i].mapobj_bit_24 = questLogObjectEvents[i].mapobj_bit_24;
|
||||
gObjectEvents[i].mapobj_bit_25 = questLogObjectEvents[i].mapobj_bit_25;
|
||||
gObjectEvents[i].mapobj_bit_26 = questLogObjectEvents[i].mapobj_bit_26;
|
||||
gObjectEvents[i].triggerGroundEffectsOnStop = questLogObjectEvents[i].mapobj_bit_3;
|
||||
gObjectEvents[i].disableCoveringGroundEffects = questLogObjectEvents[i].mapobj_bit_4;
|
||||
gObjectEvents[i].landingJump = questLogObjectEvents[i].mapobj_bit_5;
|
||||
gObjectEvents[i].frozen = questLogObjectEvents[i].mapobj_bit_8;
|
||||
gObjectEvents[i].facingDirectionLocked = questLogObjectEvents[i].mapobj_bit_9;
|
||||
gObjectEvents[i].disableAnim = questLogObjectEvents[i].mapobj_bit_10;
|
||||
gObjectEvents[i].enableAnim = questLogObjectEvents[i].mapobj_bit_11;
|
||||
gObjectEvents[i].inanimate = questLogObjectEvents[i].mapobj_bit_12;
|
||||
gObjectEvents[i].invisible = questLogObjectEvents[i].mapobj_bit_13;
|
||||
gObjectEvents[i].offScreen = questLogObjectEvents[i].mapobj_bit_14;
|
||||
gObjectEvents[i].trackedByCamera = questLogObjectEvents[i].mapobj_bit_15;
|
||||
gObjectEvents[i].isPlayer = questLogObjectEvents[i].mapobj_bit_16;
|
||||
gObjectEvents[i].spriteAnimPausedBackup = questLogObjectEvents[i].mapobj_bit_23;
|
||||
gObjectEvents[i].spriteAffineAnimPausedBackup = questLogObjectEvents[i].mapobj_bit_24;
|
||||
gObjectEvents[i].disableJumpLandingGroundEffect = questLogObjectEvents[i].mapobj_bit_25;
|
||||
gObjectEvents[i].fixedPriority = questLogObjectEvents[i].mapobj_bit_26;
|
||||
gObjectEvents[i].facingDirection = questLogObjectEvents[i].mapobj_unk_18;
|
||||
gObjectEvents[i].mapobj_unk_0B_0 = questLogObjectEvents[i].mapobj_unk_0B_0;
|
||||
gObjectEvents[i].elevation = questLogObjectEvents[i].elevation;
|
||||
gObjectEvents[i].currentElevation = questLogObjectEvents[i].mapobj_unk_0B_0;
|
||||
gObjectEvents[i].previousElevation = questLogObjectEvents[i].elevation;
|
||||
gObjectEvents[i].graphicsId = questLogObjectEvents[i].graphicsId;
|
||||
gObjectEvents[i].animPattern = questLogObjectEvents[i].animPattern;
|
||||
gObjectEvents[i].movementType = questLogObjectEvents[i].animPattern;
|
||||
gObjectEvents[i].trainerType = questLogObjectEvents[i].trainerType;
|
||||
gObjectEvents[i].localId = questLogObjectEvents[i].localId;
|
||||
gObjectEvents[i].mapNum = questLogObjectEvents[i].mapNum;
|
||||
gObjectEvents[i].mapGroup = questLogObjectEvents[i].mapGroup;
|
||||
gObjectEvents[i].coords2.x = questLogObjectEvents[i].x;
|
||||
gObjectEvents[i].coords2.y = questLogObjectEvents[i].y;
|
||||
gObjectEvents[i].currentCoords.x = questLogObjectEvents[i].x;
|
||||
gObjectEvents[i].currentCoords.y = questLogObjectEvents[i].y;
|
||||
gObjectEvents[i].trainerRange_berryTreeId = questLogObjectEvents[i].trainerRange_berryTreeId;
|
||||
gObjectEvents[i].mapobj_unk_1F = questLogObjectEvents[i].mapobj_unk_1F;
|
||||
gObjectEvents[i].mapobj_unk_21 = questLogObjectEvents[i].mapobj_unk_21;
|
||||
gObjectEvents[i].animId = questLogObjectEvents[i].animId;
|
||||
gObjectEvents[i].previousMetatileBehavior = questLogObjectEvents[i].mapobj_unk_1F;
|
||||
gObjectEvents[i].directionSequenceIndex = questLogObjectEvents[i].mapobj_unk_21;
|
||||
gObjectEvents[i].playerCopyableMovement = questLogObjectEvents[i].animId;
|
||||
|
||||
for (j = 0; j < 0x40; j++)
|
||||
{
|
||||
if (gObjectEvents[i].localId == templates[j].localId)
|
||||
{
|
||||
gObjectEvents[i].coords1.x = templates[j].x + 7;
|
||||
gObjectEvents[i].coords1.y = templates[j].y + 7;
|
||||
gObjectEvents[i].initialCoords.x = templates[j].x + 7;
|
||||
gObjectEvents[i].initialCoords.y = templates[j].y + 7;
|
||||
gObjectEvents[i].range.as_nybbles.x = templates[j].movementRangeX;
|
||||
gObjectEvents[i].range.as_nybbles.y = templates[j].movementRangeY;
|
||||
}
|
||||
}
|
||||
|
||||
gObjectEvents[i].mapobj_unk_1E = MapGridGetMetatileBehaviorAt(gObjectEvents[i].coords2.x, gObjectEvents[i].coords2.y);
|
||||
if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].coords2.x), (s16)(gObjectEvents[i].coords2.y)))
|
||||
gObjectEvents[i].currentMetatileBehavior = MapGridGetMetatileBehaviorAt(gObjectEvents[i].currentCoords.x, gObjectEvents[i].currentCoords.y);
|
||||
if (gObjectEvents[i].previousMetatileBehavior == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x), (s16)(gObjectEvents[i].currentCoords.y)))
|
||||
{
|
||||
gObjectEvents[i].coords3.x = gObjectEvents[i].coords2.x;
|
||||
gObjectEvents[i].coords3.y = gObjectEvents[i].coords2.y;
|
||||
gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x;
|
||||
gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y;
|
||||
}
|
||||
else if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].coords2.x - 1), (s16)(gObjectEvents[i].coords2.y)))
|
||||
else if (gObjectEvents[i].previousMetatileBehavior == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x - 1), (s16)(gObjectEvents[i].currentCoords.y)))
|
||||
{
|
||||
gObjectEvents[i].coords3.x = gObjectEvents[i].coords2.x - 1;
|
||||
gObjectEvents[i].coords3.y = gObjectEvents[i].coords2.y;
|
||||
gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x - 1;
|
||||
gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y;
|
||||
}
|
||||
else if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].coords2.x + 1), (s16)(gObjectEvents[i].coords2.y)))
|
||||
else if (gObjectEvents[i].previousMetatileBehavior == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x + 1), (s16)(gObjectEvents[i].currentCoords.y)))
|
||||
{
|
||||
gObjectEvents[i].coords3.x = gObjectEvents[i].coords2.x + 1;
|
||||
gObjectEvents[i].coords3.y = gObjectEvents[i].coords2.y;
|
||||
gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x + 1;
|
||||
gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y;
|
||||
}
|
||||
else if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].coords2.x), (s16)(gObjectEvents[i].coords2.y - 1)))
|
||||
else if (gObjectEvents[i].previousMetatileBehavior == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x), (s16)(gObjectEvents[i].currentCoords.y - 1)))
|
||||
{
|
||||
gObjectEvents[i].coords3.x = gObjectEvents[i].coords2.x;
|
||||
gObjectEvents[i].coords3.y = gObjectEvents[i].coords2.y - 1;
|
||||
gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x;
|
||||
gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y - 1;
|
||||
}
|
||||
else if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].coords2.x), (s16)(gObjectEvents[i].coords2.y + 1)))
|
||||
else if (gObjectEvents[i].previousMetatileBehavior == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x), (s16)(gObjectEvents[i].currentCoords.y + 1)))
|
||||
{
|
||||
gObjectEvents[i].coords3.x = gObjectEvents[i].coords2.x;
|
||||
gObjectEvents[i].coords3.y = gObjectEvents[i].coords2.y + 1;
|
||||
gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x;
|
||||
gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y + 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -143,7 +143,7 @@ void sub_815A540(void)
|
||||
{
|
||||
struct ObjectEvent * objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||
SetPlayerAvatarTransitionFlags(0x01);
|
||||
DestroySprite(&gSprites[objectEvent->mapobj_unk_1A]);
|
||||
DestroySprite(&gSprites[objectEvent->fieldEffectSpriteId]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+12
-12
@@ -58,7 +58,7 @@ static void sub_81504A8(void)
|
||||
{
|
||||
struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||
sub_81507BC(objectEvent, sub_805C808(0));
|
||||
ObjectEventTurn(objectEvent, objectEvent->placeholder18);
|
||||
ObjectEventTurn(objectEvent, objectEvent->movementDirection);
|
||||
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_ON_FOOT);
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ static void sub_81504E8(void)
|
||||
{
|
||||
struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||
sub_81507BC(objectEvent, sub_805C808(1));
|
||||
ObjectEventTurn(objectEvent, objectEvent->placeholder18);
|
||||
ObjectEventTurn(objectEvent, objectEvent->movementDirection);
|
||||
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_MACH_BIKE);
|
||||
sub_80BD620(0, 0);
|
||||
}
|
||||
@@ -87,7 +87,7 @@ static void sub_8150530(void)
|
||||
else
|
||||
{
|
||||
sub_81507BC(objectEvent, sub_805C808(4));
|
||||
StartSpriteAnim(sprite, sub_80634F0(objectEvent->facingDirection));
|
||||
StartSpriteAnim(sprite, GetFishingNoCatchDirectionAnimNum(objectEvent->facingDirection));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,10 +99,10 @@ static void sub_81505C4(u8 taskId)
|
||||
switch (gTasks[taskId].data[0])
|
||||
{
|
||||
case 0:
|
||||
ObjectEventClearAnimIfSpecialAnimActive(objectEvent);
|
||||
objectEvent->mapobj_bit_11 = TRUE;
|
||||
ObjectEventClearHeldMovementIfActive(objectEvent);
|
||||
objectEvent->enableAnim = TRUE;
|
||||
sub_81507BC(objectEvent, sub_805C808(4));
|
||||
StartSpriteAnim(sprite, sub_80634F0(objectEvent->facingDirection));
|
||||
StartSpriteAnim(sprite, GetFishingNoCatchDirectionAnimNum(objectEvent->facingDirection));
|
||||
gTasks[taskId].data[0]++;
|
||||
gTasks[taskId].data[1] = 0;
|
||||
break;
|
||||
@@ -114,7 +114,7 @@ static void sub_81505C4(u8 taskId)
|
||||
gTasks[taskId].data[0]++;
|
||||
break;
|
||||
case 2:
|
||||
StartSpriteAnim(sprite, sub_8063500(GetPlayerFacingDirection()));
|
||||
StartSpriteAnim(sprite, GetFishingBiteDirectionAnimNum(GetPlayerFacingDirection()));
|
||||
gTasks[taskId].data[0]++;
|
||||
break;
|
||||
case 3:
|
||||
@@ -125,7 +125,7 @@ static void sub_81505C4(u8 taskId)
|
||||
sub_81507BC(objectEvent, sub_805C808(0));
|
||||
else
|
||||
sub_81507BC(objectEvent, sub_805C808(2));
|
||||
ObjectEventTurn(objectEvent, objectEvent->placeholder18);
|
||||
ObjectEventTurn(objectEvent, objectEvent->movementDirection);
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
ScriptContext2_Disable();
|
||||
@@ -143,13 +143,13 @@ static void sub_8150708(void)
|
||||
if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING))
|
||||
{
|
||||
sub_81507BC(objectEvent, sub_805C808(2));
|
||||
ObjectEventTurn(objectEvent, objectEvent->placeholder18);
|
||||
ObjectEventTurn(objectEvent, objectEvent->movementDirection);
|
||||
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_SURFING);
|
||||
gFieldEffectArguments[0] = objectEvent->coords2.x;
|
||||
gFieldEffectArguments[1] = objectEvent->coords2.y;
|
||||
gFieldEffectArguments[0] = objectEvent->currentCoords.x;
|
||||
gFieldEffectArguments[1] = objectEvent->currentCoords.y;
|
||||
gFieldEffectArguments[2] = gPlayerAvatar.objectEventId;
|
||||
fieldEffectId = FieldEffectStart(FLDEFF_SURF_BLOB);
|
||||
objectEvent->mapobj_unk_1A = fieldEffectId;
|
||||
objectEvent->fieldEffectSpriteId = fieldEffectId;
|
||||
sub_80DC44C(fieldEffectId, 1);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1084,7 +1084,7 @@ bool8 ScrCmd_setobjectxy(struct ScriptContext *ctx)
|
||||
u16 x = VarGet(ScriptReadHalfword(ctx));
|
||||
u16 y = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
sub_805F7C4(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, x, y);
|
||||
TryMoveObjectEventToMapCoords(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, x, y);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -1102,7 +1102,7 @@ bool8 ScrCmd_moveobjectoffscreen(struct ScriptContext *ctx)
|
||||
{
|
||||
u16 localId = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
sub_805FE94(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
|
||||
TryOverrideObjectEventTemplateCoords(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
+9
-9
@@ -598,7 +598,7 @@ static void sub_810C3B8(u8 taskId)
|
||||
{
|
||||
if (sub_810CF04(i) == TRUE)
|
||||
{
|
||||
if (gObjectEvents[i].mapobj_bit_1)
|
||||
if (gObjectEvents[i].singleMovementActive)
|
||||
return;
|
||||
FreezeObjectEvent(&gObjectEvents[i]);
|
||||
}
|
||||
@@ -687,7 +687,7 @@ static void sub_810C594(void)
|
||||
for (i = 0; i < OBJECT_EVENTS_COUNT; i++)
|
||||
{
|
||||
struct ObjectEvent * objectEvent = &gObjectEvents[i];
|
||||
if (objectEvent->animPattern == 0x4D || objectEvent->animPattern == 0x4E || objectEvent->animPattern == 0x4F)
|
||||
if (objectEvent->movementType == 0x4D || objectEvent->movementType == 0x4E || objectEvent->movementType == 0x4F)
|
||||
{
|
||||
u8 r3 = sub_810CF54();
|
||||
if (objectEvent->active && gSprites[objectEvent->spriteId].data[0] == i)
|
||||
@@ -799,8 +799,8 @@ static void GatherNearbyTrainerInfo(void)
|
||||
sVsSeeker->trainerInfo[vsSeekerObjectIdx].localId = templates[objectEventIdx].localId;
|
||||
TryGetObjectEventIdByLocalIdAndMap(templates[objectEventIdx].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectEventId);
|
||||
sVsSeeker->trainerInfo[vsSeekerObjectIdx].objectEventId = objectEventId;
|
||||
sVsSeeker->trainerInfo[vsSeekerObjectIdx].xCoord = gObjectEvents[objectEventId].coords2.x - 7;
|
||||
sVsSeeker->trainerInfo[vsSeekerObjectIdx].yCoord = gObjectEvents[objectEventId].coords2.y - 7;
|
||||
sVsSeeker->trainerInfo[vsSeekerObjectIdx].xCoord = gObjectEvents[objectEventId].currentCoords.x - 7;
|
||||
sVsSeeker->trainerInfo[vsSeekerObjectIdx].yCoord = gObjectEvents[objectEventId].currentCoords.y - 7;
|
||||
sVsSeeker->trainerInfo[vsSeekerObjectIdx].graphicsId = templates[objectEventIdx].graphicsId;
|
||||
vsSeekerObjectIdx++;
|
||||
}
|
||||
@@ -909,7 +909,7 @@ static u8 GetVsSeekerResponseInArea(const VsSeekerData * a0)
|
||||
else
|
||||
{
|
||||
gSaveBlock1Ptr->trainerRematches[sVsSeeker->trainerInfo[vsSeekerIdx].localId] = r7;
|
||||
npc_coords_shift_still(&gObjectEvents[sVsSeeker->trainerInfo[vsSeekerIdx].objectEventId]);
|
||||
ShiftStillObjectEventCoords(&gObjectEvents[sVsSeeker->trainerInfo[vsSeekerIdx].objectEventId]);
|
||||
StartTrainerObjectMovementScript(&sVsSeeker->trainerInfo[vsSeekerIdx], sMovementScript_TrainerRematch);
|
||||
sVsSeeker->trainerIdxArray[sVsSeeker->numRematchableTrainers] = r8;
|
||||
sVsSeeker->runningBehaviourEtcArray[sVsSeeker->numRematchableTrainers] = GetRunningBehaviorFromGraphicsId(sVsSeeker->trainerInfo[vsSeekerIdx].graphicsId);
|
||||
@@ -952,12 +952,12 @@ void sub_810CB90(void)
|
||||
TryGetObjectEventIdByLocalIdAndMap(r4[r8].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &sp0);
|
||||
r4_2 = &gObjectEvents[sp0];
|
||||
sub_810CF54(&r4[r8]); // You are using this function incorrectly. Please consult the manual.
|
||||
sub_805FE7C(r4_2, gUnknown_8453F67[r4_2->facingDirection]);
|
||||
OverrideMovementTypeForObjectEvent(r4_2, gUnknown_8453F67[r4_2->facingDirection]);
|
||||
gSaveBlock1Ptr->trainerRematches[r4[r8].localId] = 0;
|
||||
if (gSelectedObjectEvent == sp0)
|
||||
r4_2->animPattern = gUnknown_8453F67[r4_2->facingDirection];
|
||||
r4_2->movementType = gUnknown_8453F67[r4_2->facingDirection];
|
||||
else
|
||||
r4_2->animPattern = 0x08;
|
||||
r4_2->movementType = 0x08;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1313,7 +1313,7 @@ static void StartAllRespondantIdleMovements(void)
|
||||
|
||||
if (sub_810CF04(sVsSeeker->trainerInfo[j].objectEventId) == 1)
|
||||
SetTrainerMovementType(r4, sVsSeeker->runningBehaviourEtcArray[i]);
|
||||
sub_805FE7C(r4, sVsSeeker->runningBehaviourEtcArray[i]);
|
||||
OverrideMovementTypeForObjectEvent(r4, sVsSeeker->runningBehaviourEtcArray[i]);
|
||||
gSaveBlock1Ptr->trainerRematches[sVsSeeker->trainerInfo[j].localId] = GetNextAvailableRematchTrainer(sVsSeekerData, sVsSeeker->trainerInfo[j].trainerIdx, &dummy);
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -48,13 +48,13 @@ gFieldLinkPlayerCount: @ 3005030
|
||||
.include "fieldmap.o"
|
||||
|
||||
.align 4
|
||||
gUnknown_3005050: @ 3005050
|
||||
gFieldCamera: @ 3005050
|
||||
.space 0x18
|
||||
|
||||
gUnknown_3005068: @ 3005068
|
||||
gTotalCameraPixelOffsetY: @ 3005068
|
||||
.space 0x4
|
||||
|
||||
gUnknown_300506C: @ 300506C
|
||||
gTotalCameraPixelOffsetX: @ 300506C
|
||||
.space 0x4
|
||||
|
||||
.align 2
|
||||
|
||||
+3
-3
@@ -70,7 +70,7 @@ gUnknown_2031DE8: @ 2031DE8
|
||||
gUnknown_2031DEA: @ 2031DEA
|
||||
.space 0x2
|
||||
|
||||
gUnknown_2031DEC: @ 2031DEC
|
||||
gLinkPlayerObjectEvents: @ 2031DEC
|
||||
.space 0x10
|
||||
|
||||
.align 2
|
||||
@@ -94,10 +94,10 @@ gObjectEvents: @ 2036E38
|
||||
gPlayerAvatar: @ 2037078
|
||||
.space 0x20
|
||||
|
||||
gUnknown_2037098: @ 2037098
|
||||
sCurrentReflectionType: @ 2037098
|
||||
.space 0x2
|
||||
|
||||
gUnknown_203709A: @ 203709A
|
||||
sCurrentSpecialObjectPaletteTag: @ 203709A
|
||||
.space 0x2
|
||||
|
||||
gUnknown_203709C: @ 203709C
|
||||
|
||||
Reference in New Issue
Block a user