summaryrefslogtreecommitdiff
path: root/include/event_object_movement.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/event_object_movement.h')
-rw-r--r--include/event_object_movement.h271
1 files changed, 271 insertions, 0 deletions
diff --git a/include/event_object_movement.h b/include/event_object_movement.h
index 4e0d4ad22..a12032c93 100644
--- a/include/event_object_movement.h
+++ b/include/event_object_movement.h
@@ -20,6 +20,11 @@ enum SpinnerRunnerFollowPatterns {
RUNFOLLOW_SOUTH_EAST_WEST
};
+struct UnkStruct_085094AC {
+ const union AnimCmd *const *anims;
+ u8 animPos[4];
+};
+
#define GROUND_EFFECT_FLAG_TALL_GRASS_ON_SPAWN (1 << 0)
#define GROUND_EFFECT_FLAG_TALL_GRASS_ON_MOVE (1 << 1)
#define GROUND_EFFECT_FLAG_LONG_GRASS_ON_SPAWN (1 << 2)
@@ -45,6 +50,8 @@ enum SpinnerRunnerFollowPatterns {
// Exported ROM declarations
+extern const struct SpriteFrameImage gFieldObjectPicTable_PechaBerryTree[];
+
void sub_808D438(void);
u8 get_go_image_anim_num(u8);
u8 GetFieldObjectIdByLocalIdAndMap(u8, u8, u8);
@@ -121,6 +128,270 @@ u8 ZCoordToPriority(u8);
void FieldObjectUpdateZCoord(struct MapObject *pObject);
void SetObjectSubpriorityByZCoord(u8, struct Sprite *, u8);
bool8 IsZCoordMismatchAt(u8, s16, s16);
+void sub_8097AC8(struct Sprite *);
+void npc_sync_anim_pause_bits(struct MapObject *);
+void oamt_npc_ministep_reset(struct Sprite *, u8, u8);
+u8 sub_8097F78(struct MapObject *);
+bool8 obj_npc_ministep(struct Sprite *sprite);
+bool8 sub_80976EC(struct Sprite *sprite);
+void sub_80976DC(struct Sprite *, u8);
+void sub_809783C(struct Sprite *, u8, u8, u8);
+void DoShadowFieldEffect(struct MapObject *);
+u8 sub_809785C(struct Sprite *);
+u8 sub_80978E4(struct Sprite *);
+void obj_anim_image_set_and_seek(struct Sprite *, u8, u8);
+bool8 sub_80979BC(struct Sprite *);
+void sub_8097750(struct Sprite *);
+bool8 sub_8097758(struct Sprite *);
+void sub_8097FA4(struct MapObject *);
+void sub_8098044(u8);
+void UnfreezeMapObjects(void);
+void FreezeMapObjectsExceptOne(u8 mapObjectId);
+void sub_8097B78(u8, u8);
+void sub_8098074(u8 var1, u8 var2);
+void FreezeMapObjects(void);
+bool8 FreezeMapObject(struct MapObject *mapObject);
+u8 get_go_fast_image_anim_num(u8);
+u8 get_go_faster_image_anim_num(u8);
+u8 get_go_fastest_image_anim_num(u8);
+
+void FieldObjectCB_NoMovement1(struct Sprite *);
+void FieldObjectCB_LookRandomDirections(struct Sprite *);
+void FieldObjectCB_GoRandomDirections(struct Sprite *);
+void FieldObjectCB_RandomlyGoNorthOrSouth(struct Sprite *);
+void FieldObjectCB_RandomlyGoNorthOrSouth(struct Sprite *);
+void FieldObjectCB_RandomlyGoEastOrWest(struct Sprite *);
+void FieldObjectCB_RandomlyGoEastOrWest(struct Sprite *);
+void FieldObjectCB_FaceFixedDirection(struct Sprite *);
+void FieldObjectCB_FaceFixedDirection(struct Sprite *);
+void FieldObjectCB_FaceFixedDirection(struct Sprite *);
+void FieldObjectCB_FaceFixedDirection(struct Sprite *);
+void FieldObjectCB_NoMovement2(struct Sprite *);
+void FieldObjectCB_BerryTree(struct Sprite *);
+void FieldObjectCB_RandomlyLookNorthOrSouth(struct Sprite *);
+void FieldObjectCB_RandomlyLookEastOrWest(struct Sprite *);
+void FieldObjectCB_RandomlyLookNorthOrWest(struct Sprite *);
+void FieldObjectCB_RandomlyLookNorthOrEast(struct Sprite *);
+void FieldObjectCB_RandomlyLookSouthOrWest(struct Sprite *);
+void FieldObjectCB_RandomlyLookSouthOrEast(struct Sprite *);
+void FieldObjectCB_RandomlyLookNorthOrSouthOrWest(struct Sprite *);
+void FieldObjectCB_RandomlyLookNorthOrSouthOrEast(struct Sprite *);
+void FieldObjectCB_RandomlyLookNorthOrEastOrWest(struct Sprite *);
+void FieldObjectCB_RandomlyLookSouthOrEastOrWest(struct Sprite *);
+void FieldObjectCB_LookAroundCounterclockwise(struct Sprite *);
+void FieldObjectCB_LookAroundClockwise(struct Sprite *);
+void FieldObjectCB_AlternatelyGoInOppositeDirections(struct Sprite *);
+void FieldObjectCB_AlternatelyGoInOppositeDirections(struct Sprite *);
+void FieldObjectCB_AlternatelyGoInOppositeDirections(struct Sprite *);
+void FieldObjectCB_AlternatelyGoInOppositeDirections(struct Sprite *);
+void FieldObjectCB_GoInDirectionSequence1(struct Sprite *);
+void FieldObjectCB_GoInDirectionSequence2(struct Sprite *);
+void FieldObjectCB_GoInDirectionSequence3(struct Sprite *);
+void FieldObjectCB_GoInDirectionSequence4(struct Sprite *);
+void FieldObjectCB_GoInDirectionSequence5(struct Sprite *);
+void FieldObjectCB_GoInDirectionSequence6(struct Sprite *);
+void FieldObjectCB_GoInDirectionSequence7(struct Sprite *);
+void FieldObjectCB_GoInDirectionSequence8(struct Sprite *);
+void FieldObjectCB_GoInDirectionSequence9(struct Sprite *);
+void FieldObjectCB_GoInDirectionSequence10(struct Sprite *);
+void FieldObjectCB_GoInDirectionSequence11(struct Sprite *);
+void FieldObjectCB_GoInDirectionSequence12(struct Sprite *);
+void FieldObjectCB_GoInDirectionSequence13(struct Sprite *);
+void FieldObjectCB_GoInDirectionSequence14(struct Sprite *);
+void FieldObjectCB_GoInDirectionSequence15(struct Sprite *);
+void FieldObjectCB_GoInDirectionSequence16(struct Sprite *);
+void FieldObjectCB_GoInDirectionSequence17(struct Sprite *);
+void FieldObjectCB_GoInDirectionSequence18(struct Sprite *);
+void FieldObjectCB_GoInDirectionSequence19(struct Sprite *);
+void FieldObjectCB_GoInDirectionSequence20(struct Sprite *);
+void FieldObjectCB_GoInDirectionSequence21(struct Sprite *);
+void FieldObjectCB_GoInDirectionSequence22(struct Sprite *);
+void FieldObjectCB_GoInDirectionSequence23(struct Sprite *);
+void FieldObjectCB_GoInDirectionSequence24(struct Sprite *);
+void FieldObjectCB_CopyPlayer1(struct Sprite *);
+void FieldObjectCB_CopyPlayer1(struct Sprite *);
+void FieldObjectCB_CopyPlayer1(struct Sprite *);
+void FieldObjectCB_CopyPlayer1(struct Sprite *);
+void FieldObjectCB_TreeDisguise(struct Sprite *);
+void FieldObjectCB_MountainDisguise(struct Sprite *);
+void FieldObjectCB_CopyPlayer2(struct Sprite *);
+void FieldObjectCB_CopyPlayer2(struct Sprite *);
+void FieldObjectCB_CopyPlayer2(struct Sprite *);
+void FieldObjectCB_CopyPlayer2(struct Sprite *);
+void FieldObjectCB_Hidden1(struct Sprite *);
+void FieldObjectCB_WalkInPlace1(struct Sprite *);
+void FieldObjectCB_WalkInPlace1(struct Sprite *);
+void FieldObjectCB_WalkInPlace1(struct Sprite *);
+void FieldObjectCB_WalkInPlace1(struct Sprite *);
+void FieldObjectCB_WalkInPlace2(struct Sprite *);
+void FieldObjectCB_WalkInPlace2(struct Sprite *);
+void FieldObjectCB_WalkInPlace2(struct Sprite *);
+void FieldObjectCB_WalkInPlace2(struct Sprite *);
+void FieldObjectCB_WalkInPlace3(struct Sprite *);
+void FieldObjectCB_WalkInPlace3(struct Sprite *);
+void FieldObjectCB_WalkInPlace3(struct Sprite *);
+void FieldObjectCB_WalkInPlace3(struct Sprite *);
+void FieldObjectCB_Hidden2(struct Sprite *);
+void FieldObjectCB_WalkInPlace4(struct Sprite *);
+void FieldObjectCB_WalkInPlace4(struct Sprite *);
+void FieldObjectCB_WalkInPlace4(struct Sprite *);
+void FieldObjectCB_WalkInPlace4(struct Sprite *);
+
+u8 sub_808F44C(struct MapObject *, struct Sprite *);
+u8 sub_808F460(struct MapObject *, struct Sprite *);
+u8 sub_808F48C(struct MapObject *, struct Sprite *);
+u8 sub_808F4C8(struct MapObject *, struct Sprite *);
+u8 sub_808F4E8(struct MapObject *, struct Sprite *);
+u8 sub_808F534(struct MapObject *, struct Sprite *);
+u8 sub_808F564(struct MapObject *, struct Sprite *);
+u8 GetRegularRunningPastFacingDirection(s16, s16, s16, s16);
+u8 GetNorthSouthRunningPastFacingDirection(s16, s16, s16, s16);
+u8 GetEastWestRunningPastFacingDirection(s16, s16, s16, s16);
+u8 GetNorthEastRunningPastFacingDirection(s16, s16, s16, s16);
+u8 GetNorthWestRunningPastFacingDirection(s16, s16, s16, s16);
+u8 GetSouthEastRunningPastFacingDirection(s16, s16, s16, s16);
+u8 GetSouthWestRunningPastFacingDirection(s16, s16, s16, s16);
+u8 GetNonEastRunningPastFacingDirection(s16, s16, s16, s16);
+u8 GetNonWestRunningPastFacingDirection(s16, s16, s16, s16);
+u8 GetNonSouthRunningPastFacingDirection(s16, s16, s16, s16);
+u8 GetNonNorthRunningPastFacingDirection(s16, s16, s16, s16);
+u8 sub_808F988(struct MapObject *, struct Sprite *);
+u8 sub_808F99C(struct MapObject *, struct Sprite *);
+u8 sub_808F9C8(struct MapObject *, struct Sprite *);
+u8 sub_808FA0C(struct MapObject *, struct Sprite *);
+u8 sub_808FA3C(struct MapObject *, struct Sprite *);
+u8 sub_808FAC8(struct MapObject *, struct Sprite *);
+u8 sub_808FADC(struct MapObject *, struct Sprite *);
+u8 sub_808FB08(struct MapObject *, struct Sprite *);
+u8 sub_808FB44(struct MapObject *, struct Sprite *);
+u8 sub_808FB64(struct MapObject *, struct Sprite *);
+u8 sub_808FBB0(struct MapObject *, struct Sprite *);
+u8 sub_808FBE0(struct MapObject *, struct Sprite *);
+u8 sub_808FC4C(struct MapObject *, struct Sprite *);
+u8 sub_808FC60(struct MapObject *, struct Sprite *);
+u8 sub_808FC8C(struct MapObject *, struct Sprite *);
+u8 sub_808FCC8(struct MapObject *, struct Sprite *);
+u8 sub_808FCE8(struct MapObject *, struct Sprite *);
+u8 sub_808FD34(struct MapObject *, struct Sprite *);
+u8 sub_808FD64(struct MapObject *, struct Sprite *);
+u8 sub_808FDD0(struct MapObject *, struct Sprite *);
+u8 sub_808FDFC(struct MapObject *, struct Sprite *);
+u8 sub_808FE1C(struct MapObject *, struct Sprite *);
+u8 do_berry_tree_growth_sparkle_1(struct MapObject *, struct Sprite *);
+u8 sub_808FF48(struct MapObject *, struct Sprite *);
+u8 do_berry_tree_growth_sparkle_2(struct MapObject *, struct Sprite *);
+u8 sub_808FFB4(struct MapObject *, struct Sprite *);
+u8 sub_8090004(struct MapObject *, struct Sprite *);
+u8 sub_8090094(struct MapObject *, struct Sprite *);
+u8 sub_80900A8(struct MapObject *, struct Sprite *);
+u8 sub_80900D4(struct MapObject *, struct Sprite *);
+u8 sub_8090118(struct MapObject *, struct Sprite *);
+u8 sub_8090148(struct MapObject *, struct Sprite *);
+u8 sub_80901D4(struct MapObject *, struct Sprite *);
+u8 sub_80901E8(struct MapObject *, struct Sprite *);
+u8 sub_8090214(struct MapObject *, struct Sprite *);
+u8 sub_8090258(struct MapObject *, struct Sprite *);
+u8 sub_8090288(struct MapObject *, struct Sprite *);
+u8 sub_8090314(struct MapObject *, struct Sprite *);
+u8 sub_8090328(struct MapObject *, struct Sprite *);
+u8 sub_8090354(struct MapObject *, struct Sprite *);
+u8 sub_8090398(struct MapObject *, struct Sprite *);
+u8 sub_80903C8(struct MapObject *, struct Sprite *);
+u8 sub_8090454(struct MapObject *, struct Sprite *);
+u8 sub_8090468(struct MapObject *, struct Sprite *);
+u8 sub_8090494(struct MapObject *, struct Sprite *);
+u8 sub_80904D8(struct MapObject *, struct Sprite *);
+u8 sub_8090508(struct MapObject *, struct Sprite *);
+u8 sub_8090594(struct MapObject *, struct Sprite *);
+u8 sub_80905A8(struct MapObject *, struct Sprite *);
+u8 sub_80905D4(struct MapObject *, struct Sprite *);
+u8 sub_8090618(struct MapObject *, struct Sprite *);
+u8 sub_8090648(struct MapObject *, struct Sprite *);
+u8 sub_80906D4(struct MapObject *, struct Sprite *);
+u8 sub_80906E8(struct MapObject *, struct Sprite *);
+u8 sub_8090714(struct MapObject *, struct Sprite *);
+u8 sub_8090758(struct MapObject *, struct Sprite *);
+u8 sub_8090788(struct MapObject *, struct Sprite *);
+u8 sub_8090814(struct MapObject *, struct Sprite *);
+u8 sub_8090828(struct MapObject *, struct Sprite *);
+u8 sub_8090854(struct MapObject *, struct Sprite *);
+u8 sub_8090898(struct MapObject *, struct Sprite *);
+u8 sub_80908C8(struct MapObject *, struct Sprite *);
+u8 sub_8090954(struct MapObject *, struct Sprite *);
+u8 sub_8090968(struct MapObject *, struct Sprite *);
+u8 sub_8090994(struct MapObject *, struct Sprite *);
+u8 sub_80909D8(struct MapObject *, struct Sprite *);
+u8 sub_8090A08(struct MapObject *, struct Sprite *);
+u8 sub_8090A94(struct MapObject *, struct Sprite *);
+u8 sub_8090AA8(struct MapObject *, struct Sprite *);
+u8 sub_8090AD4(struct MapObject *, struct Sprite *);
+u8 sub_8090B18(struct MapObject *, struct Sprite *);
+u8 sub_8090B48(struct MapObject *, struct Sprite *);
+u8 sub_8090BD4(struct MapObject *, struct Sprite *);
+u8 sub_8090BE8(struct MapObject *, struct Sprite *);
+u8 sub_8090C14(struct MapObject *, struct Sprite *);
+u8 sub_8090C58(struct MapObject *, struct Sprite *);
+u8 sub_8090C88(struct MapObject *, struct Sprite *);
+u8 sub_8090D14(struct MapObject *, struct Sprite *);
+u8 sub_8090D40(struct MapObject *, struct Sprite *);
+u8 sub_8090D64(struct MapObject *, struct Sprite *);
+u8 sub_8090D90(struct MapObject *, struct Sprite *);
+u8 sub_8090E18(struct MapObject *, struct Sprite *);
+u8 sub_8090E44(struct MapObject *, struct Sprite *);
+u8 sub_8090E68(struct MapObject *, struct Sprite *);
+u8 sub_8090E94(struct MapObject *, struct Sprite *);
+u8 sub_8090F1C(struct MapObject *, struct Sprite *);
+u8 sub_8090F30(struct MapObject *, struct Sprite *);
+u8 sub_8090F68(struct MapObject *, struct Sprite *);
+u8 sub_8091020(struct MapObject *, struct Sprite *);
+u8 sub_8091048(struct MapObject *, struct Sprite *);
+u8 sub_809117C(struct MapObject *, struct Sprite *);
+u8 sub_8091110(struct MapObject *, struct Sprite *);
+u8 sub_8091208(struct MapObject *, struct Sprite *);
+u8 sub_8091294(struct MapObject *, struct Sprite *);
+u8 sub_8091320(struct MapObject *, struct Sprite *);
+u8 sub_80913AC(struct MapObject *, struct Sprite *);
+u8 sub_8091438(struct MapObject *, struct Sprite *);
+u8 sub_80914C4(struct MapObject *, struct Sprite *);
+u8 sub_8091550(struct MapObject *, struct Sprite *);
+u8 sub_80915DC(struct MapObject *, struct Sprite *);
+u8 sub_8091668(struct MapObject *, struct Sprite *);
+u8 sub_80916F4(struct MapObject *, struct Sprite *);
+u8 sub_8091780(struct MapObject *, struct Sprite *);
+u8 sub_809180C(struct MapObject *, struct Sprite *);
+u8 sub_8091898(struct MapObject *, struct Sprite *);
+u8 sub_8091924(struct MapObject *, struct Sprite *);
+u8 sub_80919B0(struct MapObject *, struct Sprite *);
+u8 sub_8091A3C(struct MapObject *, struct Sprite *);
+u8 sub_8091AC8(struct MapObject *, struct Sprite *);
+u8 sub_8091B54(struct MapObject *, struct Sprite *);
+u8 sub_8091BE0(struct MapObject *, struct Sprite *);
+u8 sub_8091C6C(struct MapObject *, struct Sprite *);
+u8 sub_8091CF8(struct MapObject *, struct Sprite *);
+u8 sub_8091D84(struct MapObject *, struct Sprite *);
+u8 sub_8091E10(struct MapObject *, struct Sprite *);
+u8 mss_npc_reset_oampriv3_1_unk2_unk3(struct MapObject *, struct Sprite *);
+u8 sub_8091EC0(struct MapObject *, struct Sprite *);
+u8 sub_8091F20(struct MapObject *, struct Sprite *);
+bool8 sub_8091F48(struct MapObject *, struct Sprite *, u8, bool8(u8));
+bool8 sub_8091F4C(struct MapObject *, struct Sprite *, u8, bool8(u8));
+bool8 sub_8091F94(struct MapObject *, struct Sprite *, u8, bool8(u8));
+bool8 sub_80920A4(struct MapObject *, struct Sprite *, u8, bool8(u8));
+bool8 sub_809215C(struct MapObject *, struct Sprite *, u8, bool8(u8));
+bool8 sub_8092214(struct MapObject *, struct Sprite *, u8, bool8(u8));
+bool8 cph_IM_DIFFERENT(struct MapObject *, struct Sprite *, u8, bool8(u8));
+bool8 sub_8092314(struct MapObject *, struct Sprite *, u8, bool8(u8));
+bool8 oac_hopping(struct MapObject *, struct Sprite *, u8, bool8(u8));
+u8 mss_08062EA4(struct MapObject *, struct Sprite *);
+u8 sub_80926AC(struct MapObject *, struct Sprite *);
+u8 sub_8092718(struct MapObject *, struct Sprite *);
+u8 sub_80926B8(struct MapObject *, struct Sprite *);
+u8 sub_8092788(struct MapObject *, struct Sprite *);
+u8 sub_80927F8(struct MapObject *, struct Sprite *);
+u8 sub_8092868(struct MapObject *, struct Sprite *);
+u8 sub_80928D8(struct MapObject *, struct Sprite *);
+u8 sub_809290C(struct MapObject *, struct Sprite *);
+u8 sub_809292C(struct MapObject *, struct Sprite *);
// Exported data declarations