summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/berry.h6
-rw-r--r--include/event_object_movement.h271
-rw-r--r--include/event_object_movement_helpers.h35
-rw-r--r--include/field_effect.h3
-rw-r--r--include/field_effect_helpers.h16
-rw-r--r--include/global.fieldmap.h4
6 files changed, 297 insertions, 38 deletions
diff --git a/include/berry.h b/include/berry.h
index 425a664c9..b6926ef68 100644
--- a/include/berry.h
+++ b/include/berry.h
@@ -23,9 +23,9 @@ enum
#define NUM_BERRIES 44
-extern const u8 *const gBerryTreeFieldObjectGraphicsIdTablePointers[NUM_BERRIES];
-extern const struct SpriteFrameImage *const gBerryTreePicTablePointers[NUM_BERRIES];
-extern const u8 *const gBerryTreePaletteSlotTablePointers[NUM_BERRIES];
+extern const u8 *const gBerryTreeFieldObjectGraphicsIdTablePointers[];
+extern const struct SpriteFrameImage *const gBerryTreePicTablePointers[];
+extern const u8 *const gBerryTreePaletteSlotTablePointers[];
void ClearEnigmaBerries(void);
void SetEnigmaBerry(u8 *src);
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
diff --git a/include/event_object_movement_helpers.h b/include/event_object_movement_helpers.h
deleted file mode 100644
index 2e9f1d0cc..000000000
--- a/include/event_object_movement_helpers.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef GUARD_FIELD_MAP_OBJ_HELPERS_H
-#define GUARD_FIELD_MAP_OBJ_HELPERS_H
-
-// Exported type declarations
-
-// Exported RAM declarations
-extern u8 *gUnknown_020375B8;
-
-// Exported ROM declarations
-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);
-
-
-#endif //GUARD_FIELD_MAP_OBJ_HELPERS_H
diff --git a/include/field_effect.h b/include/field_effect.h
index 9cd26f6b8..b613df926 100644
--- a/include/field_effect.h
+++ b/include/field_effect.h
@@ -230,4 +230,7 @@ void sub_80B9C28(s16*, u8);
void sub_80B9C54(s16*, u8);
void sub_80B9CDC(s16*, u8);
+void sub_80B7CAC(struct Sprite*);
+void sub_80B7A58(struct Sprite*);
+
#endif //GUARD_FIELD_EFFECTS_H
diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h
index faf6290e4..e7517acf1 100644
--- a/include/field_effect_helpers.h
+++ b/include/field_effect_helpers.h
@@ -18,5 +18,21 @@ void ash(s16, s16, u16, s16);
void SetUpReflection(struct MapObject*, struct Sprite*, u8);
u32 StartFieldEffectForEventObject(u8, struct MapObject*);
u8 sub_81546C8(u8, u8, u8, s16, s16);
+void sub_8155F80(struct Sprite*);
+void oamc_shadow(struct Sprite*);
+void unc_grass_normal(struct Sprite*);
+void sub_81561D0(struct Sprite*);
+void sub_8155460(struct Sprite*);
+void sub_8155658(struct Sprite*);
+void sub_8156194(struct Sprite*);
+void sub_8154C60(struct Sprite*);
+void sub_8154D90(struct Sprite*);
+void unc_grass_tall(struct Sprite*);
+void sub_81559BC(struct Sprite*);
+void sub_8155C88(struct Sprite*);
+void sub_8154A10(struct Sprite*);
+void sub_8155158(struct Sprite*);
+void sub_8155AEC(struct Sprite*);
+void sub_8155E50(struct Sprite*);
#endif //GUARD_FIELD_EFFECT_HELPERS_H
diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h
index fa142e4fe..68277812d 100644
--- a/include/global.fieldmap.h
+++ b/include/global.fieldmap.h
@@ -286,6 +286,10 @@ enum
DIR_NORTH,
DIR_WEST,
DIR_EAST,
+ DIR_SOUTHWEST,
+ DIR_SOUTHEAST,
+ DIR_NORTHWEST,
+ DIR_NORTHEAST,
};
enum