Decompile/port event_object_movement

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