sovereignx/include/field_map_obj.h

78 lines
2.7 KiB
C
Raw Normal View History

2017-09-16 20:13:06 +01:00
#ifndef GUARD_FIELD_MAP_OBJ_H
#define GUARD_FIELD_MAP_OBJ_H
2017-09-06 13:35:16 +01:00
2017-09-08 19:16:44 +01:00
#define NUM_OBJECT_GRAPHICS_INFO 239
#define SPRITE_VAR 240
2017-09-06 13:35:16 +01:00
// Exported struct declarations
2017-09-15 20:53:07 +01:00
enum SpinnerRunnerFollowPatterns {
RUNFOLLOW_ANY,
RUNFOLLOW_NORTH_SOUTH,
RUNFOLLOW_EAST_WEST,
RUNFOLLOW_NORTH_WEST,
RUNFOLLOW_NORTH_EAST,
RUNFOLLOW_SOUTH_WEST,
RUNFOLLOW_SOUTH_EAST,
RUNFOLLOW_NORTH_SOUTH_WEST,
RUNFOLLOW_NORTH_SOUTH_EAST,
RUNFOLLOW_NORTH_EAST_WEST,
RUNFOLLOW_SOUTH_EAST_WEST
};
2017-09-06 13:35:16 +01:00
// Exported RAM declarations
// Exported ROM declarations
2017-09-06 14:29:59 +01:00
void sub_808D438(void);
2017-09-06 14:49:51 +01:00
u8 GetFieldObjectIdByLocalIdAndMap(u8, u8, u8);
bool8 TryGetFieldObjectIdByLocalIdAndMap(u8, u8, u8, u8 *);
2017-09-06 14:52:31 +01:00
u8 GetFieldObjectIdByXY(s16, s16);
void FieldObjectSetDirection(struct MapObject *, u8);
2017-09-06 23:26:37 +01:00
u8 sub_808D4F4(void);
void RemoveFieldObjectByLocalIdAndMap(u8, u8, u8);
2017-09-07 01:28:36 +01:00
void npc_load_two_palettes__no_record(u16, u8);
void npc_load_two_palettes__and_record(u16, u8);
2017-09-08 02:04:32 +01:00
void pal_patch_for_npc(u16, u8);
2017-09-08 00:45:30 +01:00
void sub_808E16C(s16, s16);
2017-09-07 01:28:36 +01:00
void sub_8092FF0(s16, s16, s16 *, s16 *);
u8 FieldObjectDirectionToImageAnimId(u8);
2017-09-07 20:50:49 +01:00
void sub_80930E0(s16 *, s16 *, u8, u8);
2017-09-08 00:45:30 +01:00
void FieldObjectClearAnim(struct MapObject *);
void SpawnFieldObjectsInView(s16, s16);
u8 sprite_new(u8, u8, s16, s16, u8, u8);
u8 AddPseudoFieldObject(u16, void (*)(struct Sprite *), s16, s16, u8);
u8 show_sprite(u8, u8, u8);
u8 SpawnSpecialFieldObjectParametrized(u8, u8, u8, s16, s16, u8);
u8 SpawnSpecialFieldObject(struct MapObjectTemplate *);
2017-09-08 02:04:32 +01:00
void sub_8093038(s16, s16, s16 *, s16 *);
void CameraObjectReset1(void);
2017-09-08 02:17:55 +01:00
void FieldObjectSetGraphicsId(struct MapObject *, u8);
2017-09-08 18:41:55 +01:00
void FieldObjectTurn(struct MapObject *, u8);
2017-09-08 18:46:21 +01:00
void FieldObjectTurnByLocalIdAndMap(u8, u8, u8, u8);
const struct MapObjectGraphicsInfo *GetFieldObjectGraphicsInfo(u8);
void npc_by_local_id_and_map_set_field_1_bit_x20(u8, u8, u8, u8);
2017-09-08 22:34:12 +01:00
void gpu_pal_allocator_reset__manage_upper_four(void);
void sub_808E82C(u8, u8, u8, s16, s16);
void sub_808E7E4(u8, u8, u8);
void sub_808E78C(u8, u8, u8, u8);
void sub_808E75C(s16, s16);
void FieldObjectGetLocalIdAndMap(struct MapObject *, u8 *, u8 *, u8 *);
2017-09-09 02:27:02 +01:00
void npc_coords_shift(struct MapObject *, s16, s16);
2017-09-09 02:35:46 +01:00
void sub_808EB08(struct MapObject *, s16, s16);
2017-09-12 21:17:52 +01:00
void sub_808F254(u8, u8, u8);
2017-09-13 14:41:11 +01:00
void FieldObjectStep(struct MapObject *, struct Sprite *, bool8(struct MapObject *, struct Sprite *));
2017-09-16 02:26:56 +01:00
u8 GetOppositeDirection(u8);
2017-09-16 22:34:41 +01:00
u8 GetStepInPlaceDelay4AnimId(u32);
u8 GetStepInPlaceDelay8AnimId(u32);
u8 GetStepInPlaceDelay16AnimId(u32);
u8 GetStepInPlaceDelay32AnimId(u32);
2017-09-16 18:54:33 +01:00
u8 npc_block_way(struct MapObject *, s16, s16, u32);
2017-09-16 23:33:38 +01:00
void MoveCoords(u8, s16 *, s16 *);
2017-09-06 14:29:59 +01:00
2017-09-06 14:38:38 +01:00
// Exported data declarations
extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[];
2017-09-16 20:13:06 +01:00
#endif //GUARD_FIELD_MAP_OBJ_H