diff options
Diffstat (limited to 'src/event_object_movement.c')
-rw-r--r-- | src/event_object_movement.c | 2036 |
1 files changed, 1073 insertions, 963 deletions
diff --git a/src/event_object_movement.c b/src/event_object_movement.c index c8685bb49..743d9bb92 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1,17 +1,17 @@ #include "global.h" -#include "event_object_movement.h" #include "berry.h" #include "event_data.h" +#include "event_object_movement.h" #include "field_camera.h" #include "field_effect.h" #include "field_effect_helpers.h" #include "field_player_avatar.h" #include "fieldmap.h" +#include "metatile_behavior.h" +#include "overworld.h" #include "palette.h" #include "random.h" -#include "overworld.h" #include "sprite.h" -#include "metatile_behavior.h" #include "trainer_see.h" #include "constants/field_effects.h" #include "constants/maps.h" @@ -57,11 +57,41 @@ static void CameraObject_0(struct Sprite *); static void CameraObject_1(struct Sprite *); static void CameraObject_2(struct Sprite *); static void ObjectCB_CameraObject(struct Sprite *sprite); -static bool8 EventObjectZCoordIsCompatible(struct EventObject*, u8); +static bool8 EventObjectDoesZCoordMatch(struct EventObject *, u8); static struct EventObjectTemplate *FindEventObjectTemplateByLocalId(u8, struct EventObjectTemplate*, u8); static void UpdateEventObjectSpriteSubpriorityAndVisibility(struct Sprite *); static void InitObjectPriorityByZCoord(struct Sprite *sprite, u8 z); static void CreateReflectionEffectSprites(void); +static u8 GetEventObjectIdByLocalIdAndMapInternal(u8, u8, u8); +static u8 GetEventObjectIdByLocalId(u8); +static void RemoveEventObjectInternal(struct EventObject *); +static void MakeObjectTemplateFromEventObjectTemplate(struct EventObjectTemplate *eventObjTemplate, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables); +static void RemoveEventObjectIfOutsideView(struct EventObject *eventObject); +static void SetPlayerAvatarEventObjectIdAndObjectId(u8, u8); +static void sub_805B914(struct EventObject *); +static u8 sub_805BE58(const struct SpritePalette *); +static bool8 GetAvailableEventObjectId(u16, u8, u8, u8 *); +static void SetEventObjectDynamicGraphicsId(struct EventObject *); +static u8 FindEventObjectPaletteIndexByTag(u16); +static u16 GetEventObjectFlagIdByEventObjectId(u8); +static void GetEventObjectMovingCameraOffset(s16 *, s16 *); +static void EventObjectUpdateMetatileBehaviors(struct EventObject *); +static void GetGroundEffectFlags_Reflection(struct EventObject *, u32 *); +static void GetGroundEffectFlags_TallGrassOnSpawn(struct EventObject *, u32 *); +static void GetGroundEffectFlags_TallGrassOnBeginStep(struct EventObject *, u32 *); +static void GetGroundEffectFlags_LongGrassOnSpawn(struct EventObject *, u32 *); +static void GetGroundEffectFlags_LongGrassOnBeginStep(struct EventObject *, u32 *); +static void GetGroundEffectFlags_Tracks(struct EventObject *, u32 *); +static void GetGroundEffectFlags_SandPile(struct EventObject *, u32 *); +static void GetGroundEffectFlags_ShallowFlowingWater(struct EventObject *, u32 *); +static void GetGroundEffectFlags_Puddle(struct EventObject *, u32 *); +static void GetGroundEffectFlags_Ripple(struct EventObject *, u32 *); +static void GetGroundEffectFlags_ShortGrass(struct EventObject *, u32 *); +static void GetGroundEffectFlags_HotSprings(struct EventObject *, u32 *); +static void GetGroundEffectFlags_Seaweed(struct EventObject *, u32 *); +static void GetGroundEffectFlags_JumpLanding(struct EventObject *, u32 *); +static u8 EventObjectCheckForReflectiveSurface(struct EventObject *); +static void DoRippleFieldEffect(struct EventObject *eventObj, struct Sprite *sprite); const u8 gReflectionEffectPaletteMap[] = {1, 1, 6, 7, 8, 9, 6, 7, 8, 9, 11, 11, 0, 0, 0, 0}; @@ -79,83 +109,83 @@ void (*const gCameraObjectFuncs[])(struct Sprite *) = { // movement type callbacks static void (*const sMovementTypeCallbacks[])(struct Sprite *) = { - MovementType_None, // MOVEMENT_TYPE_NONE - MovementType_LookAround, // MOVEMENT_TYPE_LOOK_AROUND - MovementType_WanderAround, // MOVEMENT_TYPE_WANDER_AROUND - MovementType_WanderUpAndDown, // MOVEMENT_TYPE_WANDER_UP_AND_DOWN - MovementType_WanderUpAndDown, // MOVEMENT_TYPE_WANDER_DOWN_AND_UP - MovementType_WanderLeftAndRight, // MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT - MovementType_WanderLeftAndRight, // MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT - MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_UP - MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_DOWN - MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_LEFT - MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_RIGHT - MovementType_Player, // MOVEMENT_TYPE_PLAYER - MovementType_BerryTreeGrowth, // MOVEMENT_TYPE_BERRY_TREE_GROWTH - MovementType_FaceDownAndUp, // MOVEMENT_TYPE_FACE_DOWN_AND_UP - MovementType_FaceLeftAndRight, // MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT - MovementType_FaceUpAndLeft, // MOVEMENT_TYPE_FACE_UP_AND_LEFT - MovementType_FaceUpAndRight, // MOVEMENT_TYPE_FACE_UP_AND_RIGHT - MovementType_FaceDownAndLeft, // MOVEMENT_TYPE_FACE_DOWN_AND_LEFT - MovementType_FaceDownAndRight, // MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT - MovementType_FaceDownUpAndLeft, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT - MovementType_FaceDownUpAndRight, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT - MovementType_FaceUpLeftAndRight, // MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT - MovementType_FaceDownLeftAndRight, // MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT - MovementType_RotateCounterclockwise, // MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE - MovementType_RotateClockwise, // MOVEMENT_TYPE_ROTATE_CLOCKWISE - MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_UP_AND_DOWN - MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_DOWN_AND_UP - MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT - MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT - MovementType_WalkSequenceUpRightLeftDown, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN - MovementType_WalkSequenceRightLeftDownUp, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP - MovementType_WalkSequenceDownUpRightLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT - MovementType_WalkSequenceLeftDownUpRight, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT - MovementType_WalkSequenceUpLeftRightDown, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN - MovementType_WalkSequenceLeftRightDownUp, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP - MovementType_WalkSequenceDownUpLeftRight, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT - MovementType_WalkSequenceRightDownUpLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT - MovementType_WalkSequenceLeftUpDownRight, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT - MovementType_WalkSequenceUpDownRightLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT - MovementType_WalkSequenceRightLeftUpDown, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN - MovementType_WalkSequenceDownRightLeftUp, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP - MovementType_WalkSequenceRightUpDownLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT - MovementType_WalkSequenceUpDownLeftRight, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT - MovementType_WalkSequenceLeftRightUpDown, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN - MovementType_WalkSequenceDownLeftRightUp, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP - MovementType_WalkSequenceUpLeftDownRight, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT - MovementType_WalkSequenceDownRightUpLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT - MovementType_WalkSequenceLeftDownRightUp, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP - MovementType_WalkSequenceRightUpLeftDown, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN - MovementType_WalkSequenceUpRightDownLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT - MovementType_WalkSequenceDownLeftUpRight, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT - MovementType_WalkSequenceLeftUpRightDown, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN - MovementType_WalkSequenceRightDownLeftUp, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP - MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER - MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE - MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE - MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE - MovementType_TreeDisguise, // MOVEMENT_TYPE_TREE_DISGUISE - MovementType_MountainDisguise, // MOVEMENT_TYPE_MOUNTAIN_DISGUISE - MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS - MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS - MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS - MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS - MovementType_Hidden, // MOVEMENT_TYPE_HIDDEN - MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_DOWN - MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_UP - MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_LEFT - MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT - MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_DOWN - MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_UP - MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_LEFT - MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT - MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_DOWN - MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_UP - MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_LEFT - MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT - MovementType_Invisible, // MOVEMENT_TYPE_INVISIBLE + MovementType_None, // MOVEMENT_TYPE_NONE + MovementType_LookAround, // MOVEMENT_TYPE_LOOK_AROUND + MovementType_WanderAround, // MOVEMENT_TYPE_WANDER_AROUND + MovementType_WanderUpAndDown, // MOVEMENT_TYPE_WANDER_UP_AND_DOWN + MovementType_WanderUpAndDown, // MOVEMENT_TYPE_WANDER_DOWN_AND_UP + MovementType_WanderLeftAndRight, // MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT + MovementType_WanderLeftAndRight, // MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT + MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_UP + MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_DOWN + MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_LEFT + MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_RIGHT + MovementType_Player, // MOVEMENT_TYPE_PLAYER + MovementType_BerryTreeGrowth, // MOVEMENT_TYPE_BERRY_TREE_GROWTH + MovementType_FaceDownAndUp, // MOVEMENT_TYPE_FACE_DOWN_AND_UP + MovementType_FaceLeftAndRight, // MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT + MovementType_FaceUpAndLeft, // MOVEMENT_TYPE_FACE_UP_AND_LEFT + MovementType_FaceUpAndRight, // MOVEMENT_TYPE_FACE_UP_AND_RIGHT + MovementType_FaceDownAndLeft, // MOVEMENT_TYPE_FACE_DOWN_AND_LEFT + MovementType_FaceDownAndRight, // MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT + MovementType_FaceDownUpAndLeft, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT + MovementType_FaceDownUpAndRight, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT + MovementType_FaceUpLeftAndRight, // MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT + MovementType_FaceDownLeftAndRight, // MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT + MovementType_RotateCounterclockwise, // MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE + MovementType_RotateClockwise, // MOVEMENT_TYPE_ROTATE_CLOCKWISE + MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_UP_AND_DOWN + MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_DOWN_AND_UP + MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT + MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT + MovementType_WalkSequenceUpRightLeftDown, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN + MovementType_WalkSequenceRightLeftDownUp, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP + MovementType_WalkSequenceDownUpRightLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT + MovementType_WalkSequenceLeftDownUpRight, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT + MovementType_WalkSequenceUpLeftRightDown, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN + MovementType_WalkSequenceLeftRightDownUp, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP + MovementType_WalkSequenceDownUpLeftRight, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT + MovementType_WalkSequenceRightDownUpLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT + MovementType_WalkSequenceLeftUpDownRight, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT + MovementType_WalkSequenceUpDownRightLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT + MovementType_WalkSequenceRightLeftUpDown, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN + MovementType_WalkSequenceDownRightLeftUp, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP + MovementType_WalkSequenceRightUpDownLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT + MovementType_WalkSequenceUpDownLeftRight, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT + MovementType_WalkSequenceLeftRightUpDown, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN + MovementType_WalkSequenceDownLeftRightUp, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP + MovementType_WalkSequenceUpLeftDownRight, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT + MovementType_WalkSequenceDownRightUpLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT + MovementType_WalkSequenceLeftDownRightUp, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP + MovementType_WalkSequenceRightUpLeftDown, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN + MovementType_WalkSequenceUpRightDownLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT + MovementType_WalkSequenceDownLeftUpRight, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT + MovementType_WalkSequenceLeftUpRightDown, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN + MovementType_WalkSequenceRightDownLeftUp, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP + MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER + MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE + MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE + MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE + MovementType_TreeDisguise, // MOVEMENT_TYPE_TREE_DISGUISE + MovementType_MountainDisguise, // MOVEMENT_TYPE_MOUNTAIN_DISGUISE + MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS + MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS + MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS + MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS + MovementType_Hidden, // MOVEMENT_TYPE_HIDDEN + MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_DOWN + MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_UP + MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_LEFT + MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT + MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_DOWN + MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_UP + MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_LEFT + MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT + MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_DOWN + MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_UP + MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_LEFT + MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT + MovementType_Invisible, // MOVEMENT_TYPE_INVISIBLE }; const u8 gRangedMovementTypes[] = { @@ -318,6 +348,36 @@ const u8 gInitialMovementTypeFacingDirections[] = { DIR_SOUTH, // MOVEMENT_TYPE_INVISIBLE }; +#define EVENT_OBJ_PAL_TAG_0 0x1103 +#define EVENT_OBJ_PAL_TAG_1 0x1104 +#define EVENT_OBJ_PAL_TAG_2 0x1105 +#define EVENT_OBJ_PAL_TAG_3 0x1106 +#define EVENT_OBJ_PAL_TAG_4 0x1107 +#define EVENT_OBJ_PAL_TAG_5 0x1108 +#define EVENT_OBJ_PAL_TAG_6 0x1109 +#define EVENT_OBJ_PAL_TAG_7 0x110A +#define EVENT_OBJ_PAL_TAG_8 0x1100 +#define EVENT_OBJ_PAL_TAG_9 0x1101 +#define EVENT_OBJ_PAL_TAG_10 0x1102 +#define EVENT_OBJ_PAL_TAG_11 0x1115 +#define EVENT_OBJ_PAL_TAG_12 0x110B +#define EVENT_OBJ_PAL_TAG_13 0x110C +#define EVENT_OBJ_PAL_TAG_14 0x110D +#define EVENT_OBJ_PAL_TAG_15 0x110E +#define EVENT_OBJ_PAL_TAG_16 0x110F +#define EVENT_OBJ_PAL_TAG_17 0x1110 +#define EVENT_OBJ_PAL_TAG_18 0x1111 +#define EVENT_OBJ_PAL_TAG_19 0x1112 +#define EVENT_OBJ_PAL_TAG_20 0x1113 +#define EVENT_OBJ_PAL_TAG_21 0x1114 +#define EVENT_OBJ_PAL_TAG_22 0x1116 +#define EVENT_OBJ_PAL_TAG_23 0x1117 +#define EVENT_OBJ_PAL_TAG_24 0x1118 +#define EVENT_OBJ_PAL_TAG_25 0x1119 +#define EVENT_OBJ_PAL_TAG_26 0x111A + +#define EVENT_OBJ_PAL_TAG_NONE 0x11FF + #include "data/field_event_obj/event_object_graphics_info_pointers.h" #include "data/field_event_obj/field_effect_object_template_pointers.h" #include "data/field_event_obj/event_object_pic_tables.h" @@ -327,208 +387,208 @@ const u8 gInitialMovementTypeFacingDirections[] = { #include "data/field_event_obj/event_object_graphics_info.h" const struct SpritePalette sEventObjectSpritePalettes[] = { - {gEventObjectPalette0, 0x1103}, - {gEventObjectPalette1, 0x1104}, - {gEventObjectPalette2, 0x1105}, - {gEventObjectPalette3, 0x1106}, - {gEventObjectPalette4, 0x1107}, - {gEventObjectPalette5, 0x1108}, - {gEventObjectPalette6, 0x1109}, - {gEventObjectPalette7, 0x110A}, - {gEventObjectPalette8, 0x1100}, - {gEventObjectPalette9, 0x1101}, - {gEventObjectPalette10, 0x1102}, - {gEventObjectPalette11, 0x1115}, - {gEventObjectPalette12, 0x110B}, - {gEventObjectPalette13, 0x110C}, - {gEventObjectPalette14, 0x110D}, - {gEventObjectPalette15, 0x110E}, - {gEventObjectPalette16, 0x110F}, - {gEventObjectPalette17, 0x1110}, - {gEventObjectPalette18, 0x1111}, - {gEventObjectPalette19, 0x1112}, - {gEventObjectPalette20, 0x1113}, - {gEventObjectPalette21, 0x1114}, - {gEventObjectPalette22, 0x1116}, - {gEventObjectPalette23, 0x1117}, - {gEventObjectPalette24, 0x1118}, - {gEventObjectPalette25, 0x1119}, - {gEventObjectPalette26, 0x111A}, - {NULL, 0x0000} + {gEventObjectPalette0, EVENT_OBJ_PAL_TAG_0}, + {gEventObjectPalette1, EVENT_OBJ_PAL_TAG_1}, + {gEventObjectPalette2, EVENT_OBJ_PAL_TAG_2}, + {gEventObjectPalette3, EVENT_OBJ_PAL_TAG_3}, + {gEventObjectPalette4, EVENT_OBJ_PAL_TAG_4}, + {gEventObjectPalette5, EVENT_OBJ_PAL_TAG_5}, + {gEventObjectPalette6, EVENT_OBJ_PAL_TAG_6}, + {gEventObjectPalette7, EVENT_OBJ_PAL_TAG_7}, + {gEventObjectPalette8, EVENT_OBJ_PAL_TAG_8}, + {gEventObjectPalette9, EVENT_OBJ_PAL_TAG_9}, + {gEventObjectPalette10, EVENT_OBJ_PAL_TAG_10}, + {gEventObjectPalette11, EVENT_OBJ_PAL_TAG_11}, + {gEventObjectPalette12, EVENT_OBJ_PAL_TAG_12}, + {gEventObjectPalette13, EVENT_OBJ_PAL_TAG_13}, + {gEventObjectPalette14, EVENT_OBJ_PAL_TAG_14}, + {gEventObjectPalette15, EVENT_OBJ_PAL_TAG_15}, + {gEventObjectPalette16, EVENT_OBJ_PAL_TAG_16}, + {gEventObjectPalette17, EVENT_OBJ_PAL_TAG_17}, + {gEventObjectPalette18, EVENT_OBJ_PAL_TAG_18}, + {gEventObjectPalette19, EVENT_OBJ_PAL_TAG_19}, + {gEventObjectPalette20, EVENT_OBJ_PAL_TAG_20}, + {gEventObjectPalette21, EVENT_OBJ_PAL_TAG_21}, + {gEventObjectPalette22, EVENT_OBJ_PAL_TAG_22}, + {gEventObjectPalette23, EVENT_OBJ_PAL_TAG_23}, + {gEventObjectPalette24, EVENT_OBJ_PAL_TAG_24}, + {gEventObjectPalette25, EVENT_OBJ_PAL_TAG_25}, + {gEventObjectPalette26, EVENT_OBJ_PAL_TAG_26}, + {NULL, 0x0000}, }; const u16 gPlayerReflectionPaletteTags[] = { - 0x1101, - 0x1101, - 0x1101, - 0x1101 + EVENT_OBJ_PAL_TAG_9, + EVENT_OBJ_PAL_TAG_9, + EVENT_OBJ_PAL_TAG_9, + EVENT_OBJ_PAL_TAG_9, }; // These were probably intended to be used for the female player's reflection. const u16 gUnusedPlayerReflectionPaletteTags[] = { - 0x1111, - 0x1111, - 0x1111, - 0x1111 + EVENT_OBJ_PAL_TAG_18, + EVENT_OBJ_PAL_TAG_18, + EVENT_OBJ_PAL_TAG_18, + EVENT_OBJ_PAL_TAG_18, }; const u16 gPlayerUnderwaterReflectionPaletteTags[] = { - 0x1115, - 0x1115, - 0x1115, - 0x1115 + EVENT_OBJ_PAL_TAG_11, + EVENT_OBJ_PAL_TAG_11, + EVENT_OBJ_PAL_TAG_11, + EVENT_OBJ_PAL_TAG_11, }; const struct ReflectionPaletteSet gPlayerReflectionPaletteSets[] = { - {0x1100, gPlayerReflectionPaletteTags}, - {0x1110, gPlayerReflectionPaletteTags}, - {0x1115, gPlayerUnderwaterReflectionPaletteTags}, - {0x11FF, NULL} + {EVENT_OBJ_PAL_TAG_8, gPlayerReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_17, gPlayerReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_11, gPlayerUnderwaterReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_NONE, NULL}, }; const u16 gQuintyPlumpReflectionPaletteTags[] = { - 0x110C, - 0x110C, - 0x110C, - 0x110C + EVENT_OBJ_PAL_TAG_13, + EVENT_OBJ_PAL_TAG_13, + EVENT_OBJ_PAL_TAG_13, + EVENT_OBJ_PAL_TAG_13, }; const u16 gTruckReflectionPaletteTags[] = { - 0x110D, - 0x110D, - 0x110D, - 0x110D + EVENT_OBJ_PAL_TAG_14, + EVENT_OBJ_PAL_TAG_14, + EVENT_OBJ_PAL_TAG_14, + EVENT_OBJ_PAL_TAG_14, }; const u16 gMachokeMoverReflectionPaletteTags[] = { - 0x110E, - 0x110E, - 0x110E, - 0x110E + EVENT_OBJ_PAL_TAG_15, + EVENT_OBJ_PAL_TAG_15, + EVENT_OBJ_PAL_TAG_15, + EVENT_OBJ_PAL_TAG_15, }; const u16 gMovingBoxReflectionPaletteTags[] = { - 0x1112, - 0x1112, - 0x1112, - 0x1112 + EVENT_OBJ_PAL_TAG_19, + EVENT_OBJ_PAL_TAG_19, + EVENT_OBJ_PAL_TAG_19, + EVENT_OBJ_PAL_TAG_19, }; const u16 gCableCarReflectionPaletteTags[] = { - 0x1113, - 0x1113, - 0x1113, - 0x1113 + EVENT_OBJ_PAL_TAG_20, + EVENT_OBJ_PAL_TAG_20, + EVENT_OBJ_PAL_TAG_20, + EVENT_OBJ_PAL_TAG_20, }; const u16 gSSTidalReflectionPaletteTags[] = { - 0x1114, - 0x1114, - 0x1114, - 0x1114 + EVENT_OBJ_PAL_TAG_21, + EVENT_OBJ_PAL_TAG_21, + EVENT_OBJ_PAL_TAG_21, + EVENT_OBJ_PAL_TAG_21, }; const u16 gSubmarineShadowReflectionPaletteTags[] = { - 0x111A, - 0x111A, - 0x111A, - 0x111A + EVENT_OBJ_PAL_TAG_26, + EVENT_OBJ_PAL_TAG_26, + EVENT_OBJ_PAL_TAG_26, + EVENT_OBJ_PAL_TAG_26, }; const u16 gKyogre2ReflectionPaletteTags[] = { - 0x1117, - 0x1117, - 0x1117, - 0x1117 + EVENT_OBJ_PAL_TAG_23, + EVENT_OBJ_PAL_TAG_23, + EVENT_OBJ_PAL_TAG_23, + EVENT_OBJ_PAL_TAG_23, }; const u16 gGroudon2ReflectionPaletteTags[] = { - 0x1119, - 0x1119, - 0x1119, - 0x1119 + EVENT_OBJ_PAL_TAG_25, + EVENT_OBJ_PAL_TAG_25, + EVENT_OBJ_PAL_TAG_25, + EVENT_OBJ_PAL_TAG_25, }; const u16 gInvisibleKecleonReflectionPaletteTags[] = { - 0x1109, - 0x1109, - 0x1109, - 0x1109 + EVENT_OBJ_PAL_TAG_6, + EVENT_OBJ_PAL_TAG_6, + EVENT_OBJ_PAL_TAG_6, + EVENT_OBJ_PAL_TAG_6, }; const struct ReflectionPaletteSet gSpecialObjectReflectionPaletteSets[] = { - {0x1100, gPlayerReflectionPaletteTags}, - {0x1110, gPlayerReflectionPaletteTags}, - {0x110B, gQuintyPlumpReflectionPaletteTags}, - {0x110D, gTruckReflectionPaletteTags}, - {0x110E, gMachokeMoverReflectionPaletteTags}, - {0x1112, gMovingBoxReflectionPaletteTags}, - {0x1113, gCableCarReflectionPaletteTags}, - {0x1114, gSSTidalReflectionPaletteTags}, - {0x1116, gKyogre2ReflectionPaletteTags}, - {0x1118, gGroudon2ReflectionPaletteTags}, - {0x1105, gInvisibleKecleonReflectionPaletteTags}, - {0x111A, gSubmarineShadowReflectionPaletteTags}, - {0x11FF, NULL} + {EVENT_OBJ_PAL_TAG_8, gPlayerReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_17, gPlayerReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_12, gQuintyPlumpReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_14, gTruckReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_15, gMachokeMoverReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_19, gMovingBoxReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_20, gCableCarReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_21, gSSTidalReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_22, gKyogre2ReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_24, gGroudon2ReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_2, gInvisibleKecleonReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_26, gSubmarineShadowReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_NONE, NULL}, }; const u16 gObjectPaletteTags0[] = { - 0x1100, - 0x1101, - 0x1103, - 0x1104, - 0x1105, - 0x1106, - 0x1107, - 0x1108, - 0x1109, - 0x110A + EVENT_OBJ_PAL_TAG_8, + EVENT_OBJ_PAL_TAG_9, + EVENT_OBJ_PAL_TAG_0, + EVENT_OBJ_PAL_TAG_1, + EVENT_OBJ_PAL_TAG_2, + EVENT_OBJ_PAL_TAG_3, + EVENT_OBJ_PAL_TAG_4, + EVENT_OBJ_PAL_TAG_5, + EVENT_OBJ_PAL_TAG_6, + EVENT_OBJ_PAL_TAG_7, }; const u16 gObjectPaletteTags1[] = { - 0x1100, - 0x1101, - 0x1103, - 0x1104, - 0x1105, - 0x1106, - 0x1107, - 0x1108, - 0x1109, - 0x110A + EVENT_OBJ_PAL_TAG_8, + EVENT_OBJ_PAL_TAG_9, + EVENT_OBJ_PAL_TAG_0, + EVENT_OBJ_PAL_TAG_1, + EVENT_OBJ_PAL_TAG_2, + EVENT_OBJ_PAL_TAG_3, + EVENT_OBJ_PAL_TAG_4, + EVENT_OBJ_PAL_TAG_5, + EVENT_OBJ_PAL_TAG_6, + EVENT_OBJ_PAL_TAG_7, }; const u16 gObjectPaletteTags2[] = { - 0x1100, - 0x1101, - 0x1103, - 0x1104, - 0x1105, - 0x1106, - 0x1107, - 0x1108, - 0x1109, - 0x110A + EVENT_OBJ_PAL_TAG_8, + EVENT_OBJ_PAL_TAG_9, + EVENT_OBJ_PAL_TAG_0, + EVENT_OBJ_PAL_TAG_1, + EVENT_OBJ_PAL_TAG_2, + EVENT_OBJ_PAL_TAG_3, + EVENT_OBJ_PAL_TAG_4, + EVENT_OBJ_PAL_TAG_5, + EVENT_OBJ_PAL_TAG_6, + EVENT_OBJ_PAL_TAG_7, }; const u16 gObjectPaletteTags3[] = { - 0x1100, - 0x1101, - 0x1103, - 0x1104, - 0x1105, - 0x1106, - 0x1107, - 0x1108, - 0x1109, - 0x110A + EVENT_OBJ_PAL_TAG_8, + EVENT_OBJ_PAL_TAG_9, + EVENT_OBJ_PAL_TAG_0, + EVENT_OBJ_PAL_TAG_1, + EVENT_OBJ_PAL_TAG_2, + EVENT_OBJ_PAL_TAG_3, + EVENT_OBJ_PAL_TAG_4, + EVENT_OBJ_PAL_TAG_5, + EVENT_OBJ_PAL_TAG_6, + EVENT_OBJ_PAL_TAG_7, }; const u16 *const gObjectPaletteTagSets[] = { gObjectPaletteTags0, gObjectPaletteTags1, gObjectPaletteTags2, - gObjectPaletteTags3 + gObjectPaletteTags3, }; #include "data/field_event_obj/berry_tree_graphics_tables.h" @@ -942,7 +1002,7 @@ const u8 gOppositeDirections[] = { DIR_NORTHEAST, DIR_NORTHWEST, DIR_SOUTHEAST, - DIR_SOUTHWEST + DIR_SOUTHWEST, }; const u8 gUnknown_08375757[][4] = { @@ -975,20 +1035,20 @@ extern struct EventObject gEventObjects[16]; u8 gUnknown_Debug_03004BC0; #endif -static void ClearEventObject(struct EventObject *eventObj) +static void ClearEventObject(struct EventObject *eventObject) { - memset(eventObj, 0, sizeof(struct EventObject)); - eventObj->localId = 0xFF; - eventObj->mapNum = 0xFF; - eventObj->mapGroup = 0xFF; - eventObj->movementActionId = 0xFF; + memset(eventObject, 0, sizeof(struct EventObject)); + eventObject->localId = 0xFF; + eventObject->mapNum = 0xFF; + eventObject->mapGroup = 0xFF; + eventObject->movementActionId = 0xFF; } static void ClearAllEventObjects(void) { u8 i; - for (i = 0; i < 16; i++) + for (i = 0; i < EVENT_OBJECTS_COUNT; i++) ClearEventObject(&gEventObjects[i]); #if DEBUG gUnknown_Debug_03004BC0 = 0; @@ -1010,23 +1070,23 @@ static void CreateReflectionEffectSprites(void) // continuously updates OAM rot/scale matrices using affine animations that scale // the sprite up and down horizontally. The second one is needed to handle the inverted // effect when the object is facing to the east. (The sprite has h-flip enabled). - u8 spriteId = spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 0x1F); + u8 spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 31); gSprites[spriteId].oam.affineMode = 1; InitSpriteAffineAnim(&gSprites[spriteId]); StartSpriteAffineAnim(&gSprites[spriteId], 0); - gSprites[spriteId].invisible = 1; + gSprites[spriteId].invisible = TRUE; - spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 0x1F); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 31); gSprites[spriteId].oam.affineMode = 1; InitSpriteAffineAnim(&gSprites[spriteId]); StartSpriteAffineAnim(&gSprites[spriteId], 1); - gSprites[spriteId].invisible = 1; + gSprites[spriteId].invisible = TRUE; } u8 GetFirstInactiveEventObjectId(void) { u8 i; - for (i = 0; i < 16; i++) + for (i = 0; i < EVENT_OBJECTS_COUNT; i++) { if (!gEventObjects[i].active) break; @@ -1037,7 +1097,7 @@ u8 GetFirstInactiveEventObjectId(void) u8 GetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { - if (localId < 255) + if (localId < 0xFF) return GetEventObjectIdByLocalIdAndMapInternal(localId, mapNum, mapGroup); else return GetEventObjectIdByLocalId(localId); @@ -1046,7 +1106,7 @@ u8 GetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) bool8 TryGetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 *eventObjectId) { *eventObjectId = GetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup); - if (*eventObjectId == 16) + if (*eventObjectId == EVENT_OBJECTS_COUNT) return TRUE; else return FALSE; @@ -1055,7 +1115,7 @@ bool8 TryGetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 u8 GetEventObjectIdByXY(s16 x, s16 y) { u8 i; - for (i = 0; i < 16; i++) + for (i = 0; i < EVENT_OBJECTS_COUNT; i++) { if (gEventObjects[i].active && gEventObjects[i].currentCoords.x == x && gEventObjects[i].currentCoords.y == y) break; @@ -1064,76 +1124,76 @@ u8 GetEventObjectIdByXY(s16 x, s16 y) return i; } -u8 GetEventObjectIdByLocalIdAndMapInternal(u8 localId, u8 mapNum, u8 mapGroup) +static u8 GetEventObjectIdByLocalIdAndMapInternal(u8 localId, u8 mapNum, u8 mapGroup) { u8 i; - for (i = 0; i < 16; i++) + for (i = 0; i < EVENT_OBJECTS_COUNT; i++) { if (gEventObjects[i].active && gEventObjects[i].localId == localId && gEventObjects[i].mapNum == mapNum && gEventObjects[i].mapGroup == mapGroup) return i; } - return 16; + return EVENT_OBJECTS_COUNT; } -u8 GetEventObjectIdByLocalId(u8 localId) +static u8 GetEventObjectIdByLocalId(u8 localId) { u8 i; - for (i = 0; i < 16; i++) + for (i = 0; i < EVENT_OBJECTS_COUNT; i++) { if (gEventObjects[i].active && gEventObjects[i].localId == localId) return i; } - return 16; + return EVENT_OBJECTS_COUNT; } -u8 TryInitEventObjectStateFromTemplate(struct EventObjectTemplate *template, u8 mapNum, u8 mapGroup) +static u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *template, u8 mapNum, u8 mapGroup) { - struct EventObject *eventObj; + struct EventObject *eventObject; u8 eventObjectId; s16 initialX; s16 initialY; if (GetAvailableEventObjectId(template->localId, mapNum, mapGroup, &eventObjectId) != 0) - return 16; + return EVENT_OBJECTS_COUNT; - eventObj = (void *)&gEventObjects[eventObjectId]; - ClearEventObject((struct EventObject *)eventObj); + eventObject = &gEventObjects[eventObjectId]; + ClearEventObject(eventObject); initialX = template->x + 7; initialY = template->y + 7; - eventObj->active = TRUE; - eventObj->triggerGroundEffectsOnMove = TRUE; - eventObj->graphicsId = template->graphicsId; - eventObj->movementType = template->movementType; - eventObj->localId = template->localId; - eventObj->mapNum = mapNum; + eventObject->active = TRUE; + eventObject->triggerGroundEffectsOnMove = TRUE; + eventObject->graphicsId = template->graphicsId; + eventObject->movementType = template->movementType; + eventObject->localId = template->localId; + eventObject->mapNum = mapNum; asm("":::"r6"); - eventObj->mapGroup = mapGroup; - eventObj->initialCoords.x = initialX; - eventObj->initialCoords.y = initialY; - eventObj->currentCoords.x = initialX; - eventObj->currentCoords.y = initialY; - eventObj->previousCoords.x = initialX; - eventObj->previousCoords.y = initialY; - eventObj->currentElevation = template->elevation; - eventObj->previousElevation = template->elevation; - eventObj->range.as_nybbles.x = template->movementRangeX; - eventObj->range.as_nybbles.y = template->movementRangeY; - eventObj->trainerType = template->trainerType; - eventObj->trainerRange_berryTreeId = template->trainerRange_berryTreeId; - eventObj->previousMovementDirection = gInitialMovementTypeFacingDirections[template->movementType]; - SetEventObjectDirection((struct EventObject *)eventObj, eventObj->previousMovementDirection); + eventObject->mapGroup = mapGroup; + eventObject->initialCoords.x = initialX; + eventObject->initialCoords.y = initialY; + eventObject->currentCoords.x = initialX; + eventObject->currentCoords.y = initialY; + eventObject->previousCoords.x = initialX; + eventObject->previousCoords.y = initialY; + eventObject->currentElevation = template->elevation; + eventObject->previousElevation = template->elevation; + eventObject->range.as_nybbles.x = template->movementRangeX; + eventObject->range.as_nybbles.y = template->movementRangeY; + eventObject->trainerType = template->trainerType; + eventObject->trainerRange_berryTreeId = template->trainerRange_berryTreeId; + eventObject->previousMovementDirection = gInitialMovementTypeFacingDirections[template->movementType]; + SetEventObjectDirection(eventObject, eventObject->previousMovementDirection); asm("":::"r5","r6"); - SetEventObjectDynamicGraphicsId((struct EventObject *)eventObj); + SetEventObjectDynamicGraphicsId(eventObject); - if (gRangedMovementTypes[eventObj->movementType]) + if (gRangedMovementTypes[eventObject->movementType]) { // Ensure a ranged movement type has at least 1 tile of room to move. - if (eventObj->range.as_nybbles.x == 0) - eventObj->range.as_nybbles.x++; - if (eventObj->range.as_nybbles.y == 0) - eventObj->range.as_nybbles.y++; + if (eventObject->range.as_nybbles.x == 0) + eventObject->range.as_nybbles.x++; + if (eventObject->range.as_nybbles.y == 0) + eventObject->range.as_nybbles.y++; } #if DEBUG @@ -1144,44 +1204,46 @@ u8 TryInitEventObjectStateFromTemplate(struct EventObjectTemplate *template, u8 u8 TryInitLocalEventObject(u8 localId) { - u8 eventObjectCount; u8 i; + u8 eventObjectCount; if (gMapHeader.events == NULL) - return 16; + return EVENT_OBJECTS_COUNT; eventObjectCount = gMapHeader.events->eventObjectCount; for (i = 0; i < eventObjectCount; i++) { struct EventObjectTemplate *template = &gSaveBlock1.eventObjectTemplates[i]; if (template->localId == localId && !FlagGet(template->flagId)) - return TryInitEventObjectStateFromTemplate(template, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); + return InitEventObjectStateFromTemplate(template, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); } - return 16; + return EVENT_OBJECTS_COUNT; } -u8 GetAvailableEventObjectId(u16 localId, u8 mapNum, u8 mapGroup, u8 *eventObjectId) +static bool8 GetAvailableEventObjectId(u16 localId, u8 mapNum, u8 mapGroup, u8 *eventObjectId) { u8 i = 0; - for (i = 0; i < 16 && gEventObjects[i].active; i++) + for (i = 0; i < EVENT_OBJECTS_COUNT; i++) { + if (!gEventObjects[i].active) + break; if (gEventObjects[i].localId == localId && gEventObjects[i].mapNum == mapNum && gEventObjects[i].mapGroup == mapGroup) - return 1; + return TRUE; } - if (i >= 16) - return 1; + if (i >= EVENT_OBJECTS_COUNT) + return TRUE; *eventObjectId = i; - for (; i < 16; i++) + for (; i < EVENT_OBJECTS_COUNT; i++) { if (gEventObjects[i].active && gEventObjects[i].localId == localId && gEventObjects[i].mapNum == mapNum && gEventObjects[i].mapGroup == mapGroup) - return 1; + return TRUE; } - return 0; + return FALSE; } -void RemoveEventObject(struct EventObject *eventObject) +static void RemoveEventObject(struct EventObject *eventObject) { eventObject->active = FALSE; RemoveEventObjectInternal(eventObject); @@ -1200,7 +1262,7 @@ void RemoveEventObjectByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) } } -void RemoveEventObjectInternal(struct EventObject *eventObject) +static void RemoveEventObjectInternal(struct EventObject *eventObject) { struct SpriteFrameImage image; image.size = GetEventObjectGraphicsInfo(eventObject->graphicsId)->size; @@ -1212,152 +1274,160 @@ void RemoveAllEventObjectsExceptPlayer(void) { u8 i; - for (i = 0; i < 16; i++) + for (i = 0; i < EVENT_OBJECTS_COUNT; i++) { if (i != gPlayerAvatar.eventObjectId) RemoveEventObject(&gEventObjects[i]); } } -static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjTemplate, struct SpriteTemplate *sprTemplate, u8 mapNum, u8 mapGroup, s16 cameraDeltaX, s16 cameraDeltaY) +static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTemplate, struct SpriteTemplate *spriteTemplate, u8 mapNum, u8 mapGroup, s16 cameraDeltaX, s16 cameraDeltaY) { - u8 eventObjectId; u8 spriteId; - const struct EventObjectGraphicsInfo *gfxInfo; - struct EventObject *eventObject; + u8 eventObjectId; struct Sprite *sprite; + struct EventObject *eventObject; + const struct EventObjectGraphicsInfo *graphicsInfo; - eventObjectId = TryInitEventObjectStateFromTemplate(eventObjTemplate, mapNum, mapGroup); - if (eventObjectId == 16) - return 16; + eventObjectId = InitEventObjectStateFromTemplate(eventObjectTemplate, mapNum, mapGroup); + if (eventObjectId == EVENT_OBJECTS_COUNT) + return EVENT_OBJECTS_COUNT; eventObject = &gEventObjects[eventObjectId]; - gfxInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); - if (gfxInfo->paletteSlot == 0) - LoadPlayerObjectReflectionPalette(gfxInfo->paletteTag, gfxInfo->paletteSlot); - else if (gfxInfo->paletteSlot == 10) - LoadSpecialObjectReflectionPalette(gfxInfo->paletteTag, gfxInfo->paletteSlot); - + graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); + if (graphicsInfo->paletteSlot == 0) + { + LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); + } + else if (graphicsInfo->paletteSlot == 10) + { + LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); + } if (eventObject->movementType == MOVEMENT_TYPE_INVISIBLE) + { eventObject->invisible = TRUE; - -#ifdef NONMATCHING - sprTemplate->paletteTag = 0xFFFF; -#else - *(u16 *)&sprTemplate->paletteTag = 0xFFFF; -#endif - spriteId = CreateSprite(sprTemplate, 0, 0, 0); + } + *(u16 *)&spriteTemplate->paletteTag = 0xFFFF; + spriteId = CreateSprite(spriteTemplate, 0, 0, 0); if (spriteId == MAX_SPRITES) { #if DEBUG gUnknown_Debug_03004BC0--; #endif gEventObjects[eventObjectId].active = FALSE; - return 16; + return EVENT_OBJECTS_COUNT; } sprite = &gSprites[spriteId]; sub_8060388(cameraDeltaX + eventObject->currentCoords.x, cameraDeltaY + eventObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); - sprite->centerToCornerVecX = -(gfxInfo->width >> 1); - sprite->centerToCornerVecY = -(gfxInfo->height >> 1); + sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); + sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); sprite->pos1.x += 8; sprite->pos1.y += 16 + sprite->centerToCornerVecY; - sprite->oam.paletteNum = gfxInfo->paletteSlot; + sprite->oam.paletteNum = graphicsInfo->paletteSlot; sprite->coordOffsetEnabled = TRUE; sprite->data[0] = eventObjectId; eventObject->spriteId = spriteId; - eventObject->inanimate = gfxInfo->inanimate; + eventObject->inanimate = graphicsInfo->inanimate; if (!eventObject->inanimate) + { StartSpriteAnim(sprite, GetFaceDirectionAnimNum(eventObject->facingDirection)); + } SetObjectSubpriorityByZCoord(eventObject->previousElevation, sprite, 1); UpdateEventObjectVisibility(eventObject, sprite); return eventObjectId; } -u8 TrySpawnEventObject(struct EventObjectTemplate *eventObjTemplate, u8 mapNum, u8 mapGroup, s16 cameraDeltaX, s16 cameraDeltaY) +static u8 TrySpawnEventObject(struct EventObjectTemplate *eventObjectTemplate, u8 mapNum, u8 mapGroup, s16 cameraDeltaX, s16 cameraDeltaY) { + u8 eventObjectId; struct SpriteTemplate spriteTemplate; - const struct SubspriteTable *subspriteTables = NULL; struct SpriteFrameImage spriteFrameImage; - const struct EventObjectGraphicsInfo *gfxInfo; - u8 eventObjectId; + const struct EventObjectGraphicsInfo *graphicsInfo; + const struct SubspriteTable *subspriteTables = NULL; - gfxInfo = GetEventObjectGraphicsInfo(eventObjTemplate->graphicsId); - MakeObjectTemplateFromEventObjectTemplate(eventObjTemplate, &spriteTemplate, &subspriteTables); - spriteFrameImage.size = gfxInfo->size; + graphicsInfo = GetEventObjectGraphicsInfo(eventObjectTemplate->graphicsId); + MakeObjectTemplateFromEventObjectTemplate(eventObjectTemplate, &spriteTemplate, &subspriteTables); + spriteFrameImage.size = graphicsInfo->size; spriteTemplate.images = &spriteFrameImage; - eventObjectId = TrySetupEventObjectSprite(eventObjTemplate, &spriteTemplate, mapNum, mapGroup, cameraDeltaX, cameraDeltaY); - if (eventObjectId == 16) - return 16; - gSprites[gEventObjects[eventObjectId].spriteId].images = gfxInfo->images; + eventObjectId = TrySetupEventObjectSprite(eventObjectTemplate, &spriteTemplate, mapNum, mapGroup, cameraDeltaX, cameraDeltaY); + if (eventObjectId == EVENT_OBJECTS_COUNT) + { + return EVENT_OBJECTS_COUNT; + } + gSprites[gEventObjects[eventObjectId].spriteId].images = graphicsInfo->images; if (subspriteTables != NULL) + { SetSubspriteTables(&gSprites[gEventObjects[eventObjectId].spriteId], subspriteTables); + } return eventObjectId; } -u8 SpawnSpecialEventObject(struct EventObjectTemplate *eventObjTemplate) +u8 SpawnSpecialEventObject(struct EventObjectTemplate *eventObjectTemplate) { s16 x; s16 y; GetEventObjectMovingCameraOffset(&x, &y); - return TrySpawnEventObject(eventObjTemplate, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, x, y); + return TrySpawnEventObject(eventObjectTemplate, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, x, y); } u8 SpawnSpecialEventObjectParametrized(u8 graphicsId, u8 movementType, u8 localId, s16 x, s16 y, u8 elevation) { - struct EventObjectTemplate eventObjTemplate; + struct EventObjectTemplate eventObjectTemplate; x -= 7; y -= 7; - eventObjTemplate.localId = localId; - eventObjTemplate.graphicsId = graphicsId; - eventObjTemplate.unk2 = 0; - eventObjTemplate.x = x; - eventObjTemplate.y = y; - eventObjTemplate.elevation = elevation; - eventObjTemplate.movementType = movementType; - eventObjTemplate.movementRangeX = 0; - eventObjTemplate.movementRangeY = 0; - eventObjTemplate.trainerType = 0; - eventObjTemplate.trainerRange_berryTreeId = 0; - return SpawnSpecialEventObject(&eventObjTemplate); -} - -u8 show_sprite(u8 a, u8 b, u8 c) -{ - struct EventObjectTemplate *r5; + eventObjectTemplate.localId = localId; + eventObjectTemplate.graphicsId = graphicsId; + eventObjectTemplate.unk2 = 0; + eventObjectTemplate.x = x; + eventObjectTemplate.y = y; + eventObjectTemplate.elevation = elevation; + eventObjectTemplate.movementType = movementType; + eventObjectTemplate.movementRangeX = 0; + eventObjectTemplate.movementRangeY = 0; + eventObjectTemplate.trainerType = 0; + eventObjectTemplate.trainerRange_berryTreeId = 0; + return SpawnSpecialEventObject(&eventObjectTemplate); +} + +u8 show_sprite(u8 localId, u8 mapNum, u8 mapGroup) +{ + struct EventObjectTemplate *eventObjectTemplate; s16 x; s16 y; - r5 = GetEventObjectTemplateByLocalIdAndMap(a, b, c); - if (r5 == NULL) - return 16; + eventObjectTemplate = GetEventObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup); + if (eventObjectTemplate == NULL) + { + return EVENT_OBJECTS_COUNT; + } GetEventObjectMovingCameraOffset(&x, &y); - return TrySpawnEventObject(r5, b, c, x, y); + return TrySpawnEventObject(eventObjectTemplate, mapNum, mapGroup, x, y); } -void MakeObjectTemplateFromEventObjectGraphicsInfo(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) +void MakeObjectTemplateFromEventObjectGraphicsInfo(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables) { - const struct EventObjectGraphicsInfo *gfxInfo = GetEventObjectGraphicsInfo(graphicsId); + const struct EventObjectGraphicsInfo *graphicsInfo = GetEventObjectGraphicsInfo(graphicsId); - sprTemplate->tileTag = gfxInfo->tileTag; - sprTemplate->paletteTag = gfxInfo->paletteTag; - sprTemplate->oam = gfxInfo->oam; - sprTemplate->anims = gfxInfo->anims; - sprTemplate->images = gfxInfo->images; - sprTemplate->affineAnims = gfxInfo->affineAnims; - sprTemplate->callback = callback; - *subspriteTables = gfxInfo->subspriteTables; + spriteTemplate->tileTag = graphicsInfo->tileTag; + spriteTemplate->paletteTag = graphicsInfo->paletteTag; + spriteTemplate->oam = graphicsInfo->oam; + spriteTemplate->anims = graphicsInfo->anims; + spriteTemplate->images = graphicsInfo->images; + spriteTemplate->affineAnims = graphicsInfo->affineAnims; + spriteTemplate->callback = callback; + *subspriteTables = graphicsInfo->subspriteTables; } -void MakeObjectTemplateFromEventObjectGraphicsInfoWithCallbackIndex(u16 graphicsId, u16 movementType, struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) +static void MakeObjectTemplateFromEventObjectGraphicsInfoWithCallbackIndex(u16 graphicsId, u16 movementType, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables) { - MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, sMovementTypeCallbacks[movementType], sprTemplate, subspriteTables); + MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, sMovementTypeCallbacks[movementType], spriteTemplate, subspriteTables); } -void MakeObjectTemplateFromEventObjectTemplate(struct EventObjectTemplate *eventObjTemplate, struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) +static void MakeObjectTemplateFromEventObjectTemplate(struct EventObjectTemplate *eventObjTemplate, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables) { - MakeObjectTemplateFromEventObjectGraphicsInfoWithCallbackIndex(eventObjTemplate->graphicsId, eventObjTemplate->movementType, sprTemplate, subspriteTables); + MakeObjectTemplateFromEventObjectGraphicsInfoWithCallbackIndex(eventObjTemplate->graphicsId, eventObjTemplate->movementType, spriteTemplate, subspriteTables); } u8 AddPseudoEventObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority) @@ -1368,9 +1438,11 @@ u8 AddPseudoEventObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, callback, &spriteTemplate, &subspriteTables); if (spriteTemplate.paletteTag != 0xFFFF) + { sub_805BDF8(spriteTemplate.paletteTag); + } spriteId = CreateSprite(&spriteTemplate, x, y, subpriority); - if (spriteId != 64 && subspriteTables != NULL) + if (spriteId != MAX_SPRITES && subspriteTables != NULL) { SetSubspriteTables(&gSprites[spriteId], subspriteTables); gSprites[spriteId].subspriteMode = 2; @@ -1380,35 +1452,33 @@ u8 AddPseudoEventObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x u8 sub_805B410(u8 graphicsId, u8 b, s16 x, s16 y, u8 elevation, u8 direction) { - const struct EventObjectGraphicsInfo *gfxInfo; + u8 spriteId; struct SpriteTemplate spriteTemplate; const struct SubspriteTable *subspriteTables; - u8 spriteId; + const struct EventObjectGraphicsInfo *graphicsInfo; - gfxInfo = GetEventObjectGraphicsInfo(graphicsId); + graphicsInfo = GetEventObjectGraphicsInfo(graphicsId); MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, UpdateEventObjectSpriteSubpriorityAndVisibility, &spriteTemplate, &subspriteTables); -#ifdef NONMATCHING - spriteTemplate.paletteTag = 0xFFFF; -#else *(u16 *)&spriteTemplate.paletteTag = 0xFFFF; -#endif x += 7; y += 7; sub_8060470(&x, &y, 8, 16); spriteId = CreateSpriteAtEnd(&spriteTemplate, x, y, 0); - if (spriteId != 64) + if (spriteId != MAX_SPRITES) { struct Sprite *sprite = &gSprites[spriteId]; - sprite->centerToCornerVecX = -(gfxInfo->width >> 1); - sprite->centerToCornerVecY = -(gfxInfo->height >> 1); + sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); + sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); sprite->pos1.y += sprite->centerToCornerVecY; - sprite->oam.paletteNum = gfxInfo->paletteSlot; + sprite->oam.paletteNum = graphicsInfo->paletteSlot; sprite->coordOffsetEnabled = TRUE; sprite->data[0] = b; sprite->data[1] = elevation; - if (gfxInfo->paletteSlot == 10) - LoadSpecialObjectReflectionPalette(gfxInfo->paletteTag, gfxInfo->paletteSlot); + if (graphicsInfo->paletteSlot == 10) + { + LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); + } if (subspriteTables != NULL) { SetSubspriteTables(sprite, subspriteTables); @@ -1427,37 +1497,33 @@ void TrySpawnEventObjects(s16 cameraDeltaX, s16 cameraDeltaY) if (gMapHeader.events != NULL) { - s16 r9 = gSaveBlock1.pos.x - 2; - s16 sp8 = gSaveBlock1.pos.x + 17; - s16 r10 = gSaveBlock1.pos.y; - s16 spC = gSaveBlock1.pos.y + 16; + s16 left = gSaveBlock1.pos.x - 2; + s16 right = gSaveBlock1.pos.x + 17; + s16 top = gSaveBlock1.pos.y; + s16 bottom = gSaveBlock1.pos.y + 16; u8 objectCount = gMapHeader.events->eventObjectCount; for (i = 0; i < objectCount; i++) { struct EventObjectTemplate *template = &gSaveBlock1.eventObjectTemplates[i]; - s16 foo = template->x + 7; - s16 bar = template->y + 7; + s16 npcX = template->x + 7; + s16 npcY = template->y + 7; - if (r10 <= bar && spC >= bar && r9 <= foo && sp8 >= foo + if (top <= npcY && bottom >= npcY && left <= npcX && right >= npcX && !FlagGet(template->flagId)) TrySpawnEventObject(template, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, cameraDeltaX, cameraDeltaY); } } } -void RemoveEventObjectIfOutsideView(struct EventObject *eventObject); - void RemoveEventObjectsOutsideView(void) { - u8 i; - u8 j; + u8 i, j; + bool8 isActiveLinkPlayer; - for (i = 0; i < 16; i++) + for (i = 0; i < EVENT_OBJECTS_COUNT; i++) { - bool8 isActiveLinkPlayer; - - for (j = 0, isActiveLinkPlayer = 0; j < 4; j++) + for (j = 0, isActiveLinkPlayer = FALSE; j < 4; j++) { if (gLinkPlayerEventObjects[j].active && i == gLinkPlayerEventObjects[j].eventObjId) isActiveLinkPlayer = TRUE; @@ -1472,18 +1538,18 @@ void RemoveEventObjectsOutsideView(void) } } -void RemoveEventObjectIfOutsideView(struct EventObject *eventObject) +static void RemoveEventObjectIfOutsideView(struct EventObject *eventObject) { - s16 r7 = gSaveBlock1.pos.x - 2; - s16 r5 = gSaveBlock1.pos.x + 17; - s16 r4 = gSaveBlock1.pos.y; - s16 r6 = gSaveBlock1.pos.y + 16; + s16 left = gSaveBlock1.pos.x - 2; + s16 right = gSaveBlock1.pos.x + 17; + s16 top = gSaveBlock1.pos.y; + s16 bottom = gSaveBlock1.pos.y + 16; - if (eventObject->currentCoords.x >= r7 && eventObject->currentCoords.x <= r5 - && eventObject->currentCoords.y >= r4 && eventObject->currentCoords.y <= r6) + if (eventObject->currentCoords.x >= left && eventObject->currentCoords.x <= right + && eventObject->currentCoords.y >= top && eventObject->currentCoords.y <= bottom) return; - if (eventObject->initialCoords.x >= r7 && eventObject->initialCoords.x <= r5 - && eventObject->initialCoords.y >= r4 && eventObject->initialCoords.y <= r6) + if (eventObject->initialCoords.x >= left && eventObject->initialCoords.x <= right + && eventObject->initialCoords.y >= top && eventObject->initialCoords.y <= bottom) return; RemoveEventObject(eventObject); } @@ -1498,7 +1564,7 @@ void sub_805B710(u16 a, u16 b) gUnknown_Debug_03004BC0 = 0; #endif ClearPlayerAvatarInfo(); - for (i = 0; i < 16; i++) + for (i = 0; i < EVENT_OBJECTS_COUNT; i++) { if (gEventObjects[i].active) { @@ -1511,69 +1577,74 @@ void sub_805B710(u16 a, u16 b) CreateReflectionEffectSprites(); } -extern void SetPlayerAvatarEventObjectIdAndObjectId(u8, u8); -extern void sub_805B914(struct EventObject *); - -void sub_805B75C(u8 eventObjectId, s16 b, s16 c) +void sub_805B75C(u8 eventObjectId, s16 x, s16 y) { - struct SpriteTemplate sp0; - struct SpriteFrameImage sp18; - const struct SubspriteTable *subspriteTables; - const struct EventObjectGraphicsInfo *gfxInfo; - struct EventObject *eventObject; u8 spriteId; + struct Sprite *sprite; + struct EventObject *eventObject; + struct SpriteTemplate spriteTemplate; + struct SpriteFrameImage spriteFrameImage; + const struct SubspriteTable *subspriteTables; + const struct EventObjectGraphicsInfo *graphicsInfo; - #define i spriteId +#define i spriteId for (i = 0; i < 4; i++) { if (gLinkPlayerEventObjects[i].active && eventObjectId == gLinkPlayerEventObjects[i].eventObjId) return; } - #undef i +#undef i eventObject = &gEventObjects[eventObjectId]; asm("":::"r5"); subspriteTables = NULL; - gfxInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); - sp18.size = gfxInfo->size; - MakeObjectTemplateFromEventObjectGraphicsInfoWithCallbackIndex(eventObject->graphicsId, eventObject->movementType, &sp0, &subspriteTables); - sp0.images = &sp18; - *(u16 *)&sp0.paletteTag = 0xFFFF; - if (gfxInfo->paletteSlot == 0) - LoadPlayerObjectReflectionPalette(gfxInfo->paletteTag, gfxInfo->paletteSlot); - if (gfxInfo->paletteSlot > 9) - LoadSpecialObjectReflectionPalette(gfxInfo->paletteTag, gfxInfo->paletteSlot); - *(u16 *)&sp0.paletteTag = 0xFFFF; - spriteId = CreateSprite(&sp0, 0, 0, 0); - if (spriteId != 64) + graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); + spriteFrameImage.size = graphicsInfo->size; + MakeObjectTemplateFromEventObjectGraphicsInfoWithCallbackIndex(eventObject->graphicsId, eventObject->movementType, &spriteTemplate, &subspriteTables); + spriteTemplate.images = &spriteFrameImage; + *(u16 *)&spriteTemplate.paletteTag = 0xFFFF; + if (graphicsInfo->paletteSlot == 0) { - struct Sprite *sprite = &gSprites[spriteId]; - - sub_8060388(b + eventObject->currentCoords.x, c + eventObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); - sprite->centerToCornerVecX = -(gfxInfo->width >> 1); - sprite->centerToCornerVecY = -(gfxInfo->height >> 1); + LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); + } + if (graphicsInfo->paletteSlot > 9) + { + LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); + } + *(u16 *)&spriteTemplate.paletteTag = 0xFFFF; + spriteId = CreateSprite(&spriteTemplate, 0, 0, 0); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sub_8060388(x + eventObject->currentCoords.x, y + eventObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); + sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); + sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); sprite->pos1.x += 8; sprite->pos1.y += 16 + sprite->centerToCornerVecY; - sprite->images = gfxInfo->images; + sprite->images = graphicsInfo->images; if (eventObject->movementType == MOVEMENT_TYPE_PLAYER) { SetPlayerAvatarEventObjectIdAndObjectId(eventObjectId, spriteId); eventObject->warpArrowSpriteId = CreateWarpArrowSprite(); } if (subspriteTables != NULL) + { SetSubspriteTables(sprite, subspriteTables); - sprite->oam.paletteNum = gfxInfo->paletteSlot; + } + sprite->oam.paletteNum = graphicsInfo->paletteSlot; sprite->coordOffsetEnabled = TRUE; sprite->data[0] = eventObjectId; eventObject->spriteId = spriteId; if (!eventObject->inanimate && eventObject->movementType != MOVEMENT_TYPE_PLAYER) + { StartSpriteAnim(sprite, GetFaceDirectionAnimNum(eventObject->facingDirection)); + } sub_805B914(eventObject); SetObjectSubpriorityByZCoord(eventObject->previousElevation, sprite, 1); } } -void sub_805B914(struct EventObject *eventObject) +static void sub_805B914(struct EventObject *eventObject) { eventObject->singleMovementActive = FALSE; eventObject->triggerGroundEffectsOnMove = TRUE; @@ -1586,7 +1657,7 @@ void sub_805B914(struct EventObject *eventObject) EventObjectClearHeldMovement(eventObject); } -void SetPlayerAvatarEventObjectIdAndObjectId(u8 eventObjectId, u8 spriteId) +static void SetPlayerAvatarEventObjectIdAndObjectId(u8 eventObjectId, u8 spriteId) { gPlayerAvatar.eventObjectId = eventObjectId; gPlayerAvatar.spriteId = spriteId; @@ -1594,40 +1665,48 @@ void SetPlayerAvatarEventObjectIdAndObjectId(u8 eventObjectId, u8 spriteId) SetPlayerAvatarExtraStateTransition(gEventObjects[eventObjectId].graphicsId, 0x20); } -void sub_805B980(struct EventObject *eventObject, u8 graphicsId) +void EventObjectSetGraphicsId(struct EventObject *eventObject, u8 graphicsId) { - const struct EventObjectGraphicsInfo *gfxInfo; + const struct EventObjectGraphicsInfo *graphicsInfo; struct Sprite *sprite; - gfxInfo = GetEventObjectGraphicsInfo(graphicsId); + graphicsInfo = GetEventObjectGraphicsInfo(graphicsId); sprite = &gSprites[eventObject->spriteId]; - if (gfxInfo->paletteSlot == 0) - PatchObjectPalette(gfxInfo->paletteTag, gfxInfo->paletteSlot); - if (gfxInfo->paletteSlot == 10) - LoadSpecialObjectReflectionPalette(gfxInfo->paletteTag, gfxInfo->paletteSlot); - sprite->oam.shape = gfxInfo->oam->shape; - sprite->oam.size = gfxInfo->oam->size; - sprite->images = gfxInfo->images; - sprite->anims = gfxInfo->anims; - sprite->subspriteTables = gfxInfo->subspriteTables; - sprite->oam.paletteNum = gfxInfo->paletteSlot; - eventObject->inanimate = gfxInfo->inanimate; + if (graphicsInfo->paletteSlot == 0) + { + PatchObjectPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); + } + if (graphicsInfo->paletteSlot == 10) + { + LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); + } + sprite->oam.shape = graphicsInfo->oam->shape; + sprite->oam.size = graphicsInfo->oam->size; + sprite->images = graphicsInfo->images; + sprite->anims = graphicsInfo->anims; + sprite->subspriteTables = graphicsInfo->subspriteTables; + sprite->oam.paletteNum = graphicsInfo->paletteSlot; + eventObject->inanimate = graphicsInfo->inanimate; eventObject->graphicsId = graphicsId; sub_80603CC(eventObject->currentCoords.x, eventObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); - sprite->centerToCornerVecX = -(gfxInfo->width >> 1); - sprite->centerToCornerVecY = -(gfxInfo->height >> 1); + sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); + sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); sprite->pos1.x += 8; sprite->pos1.y += 16 + sprite->centerToCornerVecY; if (eventObject->trackedByCamera) + { CameraObjectReset1(); + } } -void unref_sub_805BA80(u8 localId, u8 mapNum, u8 mapGroup, u8 graphicsId) +void EventObjectSetGraphicsIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 graphicsId) { u8 eventObjectId; if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) - sub_805B980(&gEventObjects[eventObjectId], graphicsId); + { + EventObjectSetGraphicsId(&gEventObjects[eventObjectId], graphicsId); + } } void EventObjectTurn(struct EventObject *eventObject, u8 direction) @@ -1645,58 +1724,70 @@ void EventObjectTurnByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 direc u8 eventObjectId; if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) + { EventObjectTurn(&gEventObjects[eventObjectId], direction); + } } -void unref_TurnPlayer(struct PlayerAvatar *player, u8 direction) +void PlayerObjectTurn(struct PlayerAvatar *playerAvatar, u8 direction) { - EventObjectTurn(&gEventObjects[player->eventObjectId], direction); + EventObjectTurn(&gEventObjects[playerAvatar->eventObjectId], direction); } -void get_berry_tree_graphics(struct EventObject *eventObject, struct Sprite *sprite) +static void get_berry_tree_graphics(struct EventObject *eventObject, struct Sprite *sprite) { - u8 treeStage; - u8 treeId; + u8 berryStage; + u8 berryId; eventObject->invisible = TRUE; sprite->invisible = TRUE; - treeStage = GetStageByBerryTreeId(eventObject->trainerRange_berryTreeId); - if (treeStage != 0) + berryStage = GetStageByBerryTreeId(eventObject->trainerRange_berryTreeId); + if (berryStage != 0) { eventObject->invisible = FALSE; sprite->invisible = FALSE; - treeId = GetBerryTypeByBerryTreeId(eventObject->trainerRange_berryTreeId) - 1; - treeStage--; - if (treeId > 0x2B) - treeId = 0; - sub_805B980(eventObject, gBerryTreeGraphicsIdTablePointers[treeId][treeStage]); - sprite->images = gBerryTreePicTablePointers[treeId]; - sprite->oam.paletteNum = gBerryTreePaletteSlotTablePointers[treeId][treeStage]; - StartSpriteAnim(sprite, treeStage); + berryId = GetBerryTypeByBerryTreeId(eventObject->trainerRange_berryTreeId) - 1; + berryStage--; + if (berryId > 0x2B) + { + berryId = 0; + } + EventObjectSetGraphicsId(eventObject, gBerryTreeGraphicsIdTablePointers[berryId][berryStage]); + sprite->images = gBerryTreePicTablePointers[berryId]; + sprite->oam.paletteNum = gBerryTreePaletteSlotTablePointers[berryId][berryStage]; + StartSpriteAnim(sprite, berryStage); } } const struct EventObjectGraphicsInfo *GetEventObjectGraphicsInfo(u8 graphicsId) { - if (graphicsId > 0xEF) + if (graphicsId > SPRITE_VAR) + { graphicsId = VarGetEventObjectGraphicsId(graphicsId + 16); - if (graphicsId > 0xD9) - graphicsId = 5; + } + if (graphicsId > NUM_OBJECT_GRAPHICS_INFO) + { + graphicsId = EVENT_OBJ_GFX_LITTLE_BOY_1; + } return gEventObjectGraphicsInfoPointers[graphicsId]; } -void SetEventObjectDynamicGraphicsId(struct EventObject *eventObject) +static void SetEventObjectDynamicGraphicsId(struct EventObject *eventObject) { - if (eventObject->graphicsId > 0xEF) + if (eventObject->graphicsId > SPRITE_VAR) + { eventObject->graphicsId = VarGetEventObjectGraphicsId(eventObject->graphicsId + 16); + } } -void npc_by_local_id_and_map_set_field_1_bit_x20(u8 localId, u8 mapNum, u8 mapGroup, u8 d) +void npc_by_local_id_and_map_set_field_1_bit_x20(u8 localId, u8 mapNum, u8 mapGroup, u8 state) { u8 eventObjectId; if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) - gEventObjects[eventObjectId].invisible = d; + { + gEventObjects[eventObjectId].invisible = state; + } } void EventObjectGetLocalIdAndMap(struct EventObject *eventObject, void *localId, void *mapNum, void *mapGroup) @@ -1712,7 +1803,7 @@ void sub_805BCC0(s16 x, s16 y) struct EventObject *eventObject; eventObjectId = GetEventObjectIdByXY(x, y); - if (eventObjectId != 16) + if (eventObjectId != EVENT_OBJECTS_COUNT) { eventObject = &gEventObjects[eventObjectId]; eventObject->triggerGroundEffectsOnMove = TRUE; @@ -1766,52 +1857,60 @@ void FreeAndReserveObjectSpritePalettes(void) gReservedSpritePaletteCount = 12; } -void sub_805BDF8(u16 tag) +void sub_805BDF8(u16 paletteTag) { - u16 paletteIndex = FindEventObjectPaletteIndexByTag(tag); + u16 paletteSlot = FindEventObjectPaletteIndexByTag(paletteTag); - if (paletteIndex != 0x11FF) //always happens. FindEventObjectPaletteIndexByTag returns u8 - sub_805BE58(&sEventObjectSpritePalettes[paletteIndex]); + if (paletteSlot != EVENT_OBJ_PAL_TAG_NONE) //always happens. FindEventObjectPaletteIndexByTag returns u8 + { + sub_805BE58(&sEventObjectSpritePalettes[paletteSlot]); + } } -void unref_sub_805BE24(u16 *arr) +void unref_sub_805BE24(u16 *paletteTags) { u8 i; - for (i = 0; arr[i] != 0x11FF; i++) - sub_805BDF8(arr[i]); + for (i = 0; paletteTags[i] != EVENT_OBJ_PAL_TAG_NONE; i++) + sub_805BDF8(paletteTags[i]); } -u8 sub_805BE58(const struct SpritePalette *palette) +static u8 sub_805BE58(const struct SpritePalette *palette) { if (IndexOfSpritePaletteTag(palette->tag) != 0xFF) + { return 0xFF; - else - return LoadSpritePalette(palette); + } + return LoadSpritePalette(palette); } -void PatchObjectPalette(u16 paletteTag, u16 paletteIndex) +void PatchObjectPalette(u16 paletteTag, u8 paletteSlot) { - u8 index = paletteIndex; - u8 tagPaletteIndex = FindEventObjectPaletteIndexByTag(paletteTag); + u8 paletteIndex = FindEventObjectPaletteIndexByTag(paletteTag); - LoadPalette(sEventObjectSpritePalettes[tagPaletteIndex].data, index * 16 + 0x100, 0x20); + LoadPalette(sEventObjectSpritePalettes[paletteIndex].data, 16 * paletteSlot + 0x100, 0x20); } -static void PatchObjectPalettes(const u16 *paletteTags, u8 paletteIndex, u8 maxPaletteIndex) +static void PatchObjectPalettes(const u16 *paletteTags, u8 minSlot, u8 maxSlot) { - for (; paletteIndex < maxPaletteIndex; paletteTags++, paletteIndex++) - PatchObjectPalette(*paletteTags, paletteIndex); + while (minSlot < maxSlot) + { + PatchObjectPalette(*paletteTags, minSlot); + paletteTags++; + minSlot++; + } } -u8 FindEventObjectPaletteIndexByTag(u16 tag) +static u8 FindEventObjectPaletteIndexByTag(u16 tag) { u8 i; - for (i = 0; sEventObjectSpritePalettes[i].tag != 0x11FF; i++) + for (i = 0; sEventObjectSpritePalettes[i].tag != EVENT_OBJ_PAL_TAG_NONE; i++) { if (sEventObjectSpritePalettes[i].tag == tag) + { return i; + } } return 0xFF; } @@ -1821,7 +1920,7 @@ void LoadPlayerObjectReflectionPalette(u16 paletteTag, u8 paletteIndex) u8 i; PatchObjectPalette(paletteTag, paletteIndex); - for (i = 0; gPlayerReflectionPaletteSets[i].mainPaletteTag != 0x11FF; i++) + for (i = 0; gPlayerReflectionPaletteSets[i].mainPaletteTag != EVENT_OBJ_PAL_TAG_NONE; i++) { if (gPlayerReflectionPaletteSets[i].mainPaletteTag == paletteTag) { @@ -1837,7 +1936,7 @@ void LoadSpecialObjectReflectionPalette(u16 paletteTag, u8 paletteIndex) sCurrentSpecialObjectPaletteTag = paletteTag; PatchObjectPalette(paletteTag, paletteIndex); - for (i = 0; gSpecialObjectReflectionPaletteSets[i].mainPaletteTag != 0x11FF; i++) + for (i = 0; gSpecialObjectReflectionPaletteSets[i].mainPaletteTag != EVENT_OBJ_PAL_TAG_NONE; i++) { if (gSpecialObjectReflectionPaletteSets[i].mainPaletteTag == paletteTag) { @@ -1863,7 +1962,7 @@ void ShiftEventObjectCoords(struct EventObject *eventObject, s16 x, s16 y) eventObject->currentCoords.y = y; } -void SetEventObjectCoords(struct EventObject *eventObject, s16 x, s16 y) +static void SetEventObjectCoords(struct EventObject *eventObject, s16 x, s16 y) { eventObject->previousCoords.x = x; eventObject->previousCoords.y = y; @@ -1874,12 +1973,12 @@ void SetEventObjectCoords(struct EventObject *eventObject, s16 x, s16 y) void sub_805C058(struct EventObject *eventObject, s16 x, s16 y) { struct Sprite *sprite = &gSprites[eventObject->spriteId]; - const struct EventObjectGraphicsInfo *gfxInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); + const struct EventObjectGraphicsInfo *graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); SetEventObjectCoords(eventObject, x, y); sub_80603CC(eventObject->currentCoords.x, eventObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); - sprite->centerToCornerVecX = -(gfxInfo->width >> 1); - sprite->centerToCornerVecY = -(gfxInfo->height >> 1); + sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); + sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); sprite->pos1.x += 8; sprite->pos1.y += 16 + sprite->centerToCornerVecY; sub_805B914(eventObject); @@ -1910,11 +2009,11 @@ void UpdateEventObjectCoordsForCameraUpdate(void) s16 deltaX; s16 deltaY; - if (gCamera.field_0) + if (gCamera.active) { deltaX = gCamera.x; deltaY = gCamera.y; - for (i = 0; i < 16; i++) + for (i = 0; i < EVENT_OBJECTS_COUNT; i++) { if (gEventObjects[i].active) { @@ -1933,22 +2032,26 @@ u8 GetEventObjectIdByXYZ(u16 x, u16 y, u8 z) { u8 i; - for (i = 0; i < 16; i++) + for (i = 0; i < EVENT_OBJECTS_COUNT; i++) { - if (gEventObjects[i].active && gEventObjects[i].currentCoords.x == x && gEventObjects[i].currentCoords.y == y - && EventObjectZCoordIsCompatible(&gEventObjects[i], z)) - return i; + if (gEventObjects[i].active) + { + if (gEventObjects[i].currentCoords.x == x && gEventObjects[i].currentCoords.y == y && EventObjectDoesZCoordMatch(&gEventObjects[i], z)) + { + return i; + } + } } - return 16; + return EVENT_OBJECTS_COUNT; } -static bool8 EventObjectZCoordIsCompatible(struct EventObject *eventObject, u8 z) +static bool8 EventObjectDoesZCoordMatch(struct EventObject *eventObject, u8 z) { - if (eventObject->currentElevation != 0 && z != 0 - && eventObject->currentElevation != z) + if (eventObject->currentElevation != 0 && z != 0 && eventObject->currentElevation != z) + { return FALSE; - else - return TRUE; + } + return TRUE; } void UpdateEventObjectsForCameraUpdate(s16 cameraDeltaX, s16 cameraDeltaY) @@ -2002,14 +2105,16 @@ static void CameraObject_2(struct Sprite *sprite) sprite->data[3] = 0; } -struct Sprite *FindCameraObject(void) +static struct Sprite *FindCameraObject(void) { u8 i; for (i = 0; i < MAX_SPRITES; i++) { if (gSprites[i].inUse && gSprites[i].callback == ObjectCB_CameraObject) + { return &gSprites[i]; + } } return NULL; } @@ -2041,7 +2146,7 @@ u8 CameraObjectGetFollowedObjectId(void) struct Sprite *cameraSprite = FindCameraObject(); if (cameraSprite == NULL) - return 64; + return MAX_SPRITES; else return cameraSprite->data[0]; } @@ -2086,7 +2191,6 @@ u8 CreateCopySpriteAt(struct Sprite *src, s16 x, s16 y, u8 subpriority) return i; } } - return MAX_SPRITES; } @@ -2101,26 +2205,22 @@ void SetEventObjectDirection(struct EventObject *eventObject, u8 direction) eventObject->movementDirection = direction; } -u8 *GetEventObjectScriptPointerByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) +static const u8 *GetEventObjectScriptPointerByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { - struct EventObjectTemplate *template = GetEventObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup); - - return template->script; + return GetEventObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup)->script; } -u8 *GetEventObjectScriptPointerByEventObjectId(u8 eventObjectId) +const u8 *GetEventObjectScriptPointerByEventObjectId(u8 eventObjectId) { return GetEventObjectScriptPointerByLocalIdAndMap(gEventObjects[eventObjectId].localId, gEventObjects[eventObjectId].mapNum, gEventObjects[eventObjectId].mapGroup); } -u16 GetEventObjectFlagIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) +static u16 GetEventObjectFlagIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { - struct EventObjectTemplate *template = GetEventObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup); - - return template->flagId; + return GetEventObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup)->flagId; } -u16 GetEventObjectFlagIdByEventObjectId(u8 eventObjectId) +static u16 GetEventObjectFlagIdByEventObjectId(u8 eventObjectId) { return GetEventObjectFlagIdByLocalIdAndMap(gEventObjects[eventObjectId].localId, gEventObjects[eventObjectId].mapNum, gEventObjects[eventObjectId].mapGroup); } @@ -2225,7 +2325,7 @@ void TryOverrideTemplateCoordsForEventObject(u8 localId, u8 mapNum, u8 mapGroup) void InitEventObjectPalettes(u8 reflectionType) { FreeAndReserveObjectSpritePalettes(); - sCurrentSpecialObjectPaletteTag = 0x11FF; + sCurrentSpecialObjectPaletteTag = EVENT_OBJ_PAL_TAG_NONE; sCurrentReflectionType = reflectionType; PatchObjectPalettes(gObjectPaletteTagSets[sCurrentReflectionType], 0, 10); } @@ -2239,7 +2339,7 @@ u16 GetObjectPaletteTag(u8 paletteIndex) return gObjectPaletteTagSets[sCurrentReflectionType][paletteIndex]; // Palette slots 10 and 11 belong to the special object. - for (i = 0; gSpecialObjectReflectionPaletteSets[i].mainPaletteTag != 0x11FF; i++) + for (i = 0; gSpecialObjectReflectionPaletteSets[i].mainPaletteTag != EVENT_OBJ_PAL_TAG_NONE; i++) { if (gSpecialObjectReflectionPaletteSets[i].mainPaletteTag == sCurrentSpecialObjectPaletteTag) { @@ -2247,48 +2347,48 @@ u16 GetObjectPaletteTag(u8 paletteIndex) } } - return 0x11FF; + return EVENT_OBJ_PAL_TAG_NONE; } movement_type_empty_callback(MovementType_None); movement_type_def(MovementType_WanderAround, gMovementTypeFuncs_WanderAround); -u8 MovementType_WanderAround_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderAround_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; - return 1; + return TRUE; } -u8 MovementType_WanderAround_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderAround_Step1(struct EventObject *eventObject, struct Sprite *sprite) { EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; - return 1; + return TRUE; } -u8 MovementType_WanderAround_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderAround_Step2(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite) == 0) { - return 0; + return FALSE; } SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]); sprite->data[1] = 3; - return 1; + return TRUE; } -u8 MovementType_WanderAround_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderAround_Step3(struct EventObject *eventObject, struct Sprite *sprite) { if (WaitForMovementDelay(sprite)) { sprite->data[1] = 4; - return 1; + return TRUE; } - return 0; + return FALSE; } -u8 MovementType_WanderAround_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderAround_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[4]; @@ -2300,28 +2400,28 @@ u8 MovementType_WanderAround_Step4(struct EventObject *eventObject, struct Sprit { sprite->data[1] = 1; } - return 1; + return TRUE; } -u8 MovementType_WanderAround_Step5(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderAround_Step5(struct EventObject *eventObject, struct Sprite *sprite) { EventObjectSetSingleMovement(eventObject, sprite, GetWalkNormalMovementAction(eventObject->movementDirection)); eventObject->singleMovementActive = 1; sprite->data[1] = 6; - return 1; + return TRUE; } -u8 MovementType_WanderAround_Step6(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderAround_Step6(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite) != 0) { eventObject->singleMovementActive = 0; sprite->data[1] = 1; } - return 0; + return FALSE; } -u8 EventObjectIsTrainerAndCloseToPlayer(struct EventObject *eventObject) +bool8 EventObjectIsTrainerAndCloseToPlayer(struct EventObject *eventObject) { s16 x; s16 y; @@ -2331,13 +2431,13 @@ u8 EventObjectIsTrainerAndCloseToPlayer(struct EventObject *eventObject) s16 maxx; s16 miny; s16 maxy; - if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_DASH) == 0) + if (!TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_DASH)) { - return 0; + return FALSE; } if (eventObject->trainerType != 1 && eventObject->trainerType != 3) { - return 0; + return FALSE; } PlayerGetDestCoords(&x, &y); objx = eventObject->currentCoords.x; @@ -2348,9 +2448,9 @@ u8 EventObjectIsTrainerAndCloseToPlayer(struct EventObject *eventObject) maxy = objy + eventObject->trainerRange_berryTreeId; if (minx > x || maxx < x || miny > y || maxy < y) { - return 0; + return FALSE; } - return 1; + return TRUE; } u8 GetVectorDirection(s16 x, s16 y, s16 xAbs, s16 yAbs) @@ -2555,21 +2655,21 @@ u8 TryGetTrainerEncounterDirection(struct EventObject *eventObject, u8 direction movement_type_def(MovementType_LookAround, gMovementTypeFuncs_LookAround); -u8 MovementType_LookAround_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_LookAround_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; - return 1; + return TRUE; } -u8 MovementType_LookAround_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_LookAround_Step1(struct EventObject *eventObject, struct Sprite *sprite) { EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; - return 1; + return TRUE; } -u8 MovementType_LookAround_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_LookAround_Step2(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite)) { @@ -2577,75 +2677,75 @@ u8 MovementType_LookAround_Step2(struct EventObject *eventObject, struct Sprite eventObject->singleMovementActive = 0; sprite->data[1] = 3; } - return 0; + return FALSE; } -u8 MovementType_LookAround_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_LookAround_Step3(struct EventObject *eventObject, struct Sprite *sprite) { if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; - return 1; + return TRUE; } - return 0; + return FALSE; } -u8 MovementType_LookAround_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_LookAround_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[4]; - memcpy(directions, gStandardDirections, 4); + memcpy(directions, gStandardDirections, sizeof directions); direction = TryGetTrainerEncounterDirection(eventObject, 0); if (direction == DIR_NONE) direction = directions[Random() & 3]; SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; - return 1; + return TRUE; } movement_type_def(MovementType_WanderUpAndDown, gMovementTypeFuncs_WanderUpAndDown); -u8 MovementType_WanderUpAndDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderUpAndDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; - return 1; + return TRUE; } -u8 MovementType_WanderUpAndDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderUpAndDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; - return 1; + return TRUE; } -u8 MovementType_WanderUpAndDown_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderUpAndDown_Step2(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite) == 0) { - return 0; + return FALSE; } SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]); sprite->data[1] = 3; - return 1; + return TRUE; } -u8 MovementType_WanderUpAndDown_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderUpAndDown_Step3(struct EventObject *eventObject, struct Sprite *sprite) { if (WaitForMovementDelay(sprite)) { sprite->data[1] = 4; - return 1; + return TRUE; } - return 0; + return FALSE; } -u8 MovementType_WanderUpAndDown_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderUpAndDown_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[2]; - memcpy(directions, gUpAndDownDirections, 2); + memcpy(directions, gUpAndDownDirections, sizeof directions); direction = directions[Random() & 1]; SetEventObjectDirection(eventObject, direction); sprite->data[1] = 5; @@ -2653,69 +2753,69 @@ u8 MovementType_WanderUpAndDown_Step4(struct EventObject *eventObject, struct Sp { sprite->data[1] = 1; } - return 1; + return TRUE; } -u8 MovementType_WanderUpAndDown_Step5(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderUpAndDown_Step5(struct EventObject *eventObject, struct Sprite *sprite) { EventObjectSetSingleMovement(eventObject, sprite, GetWalkNormalMovementAction(eventObject->movementDirection)); eventObject->singleMovementActive = 1; sprite->data[1] = 6; - return 1; + return TRUE; } -u8 MovementType_WanderUpAndDown_Step6(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderUpAndDown_Step6(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite) != 0) { eventObject->singleMovementActive = 0; sprite->data[1] = 1; } - return 0; + return FALSE; } movement_type_def(MovementType_WanderLeftAndRight, gMovementTypeFuncs_WanderLeftAndRight); -u8 MovementType_WanderLeftAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderLeftAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; - return 1; + return TRUE; } -u8 MovementType_WanderLeftAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderLeftAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; - return 1; + return TRUE; } -u8 MovementType_WanderLeftAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderLeftAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite) == 0) { - return 0; + return FALSE; } SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]); sprite->data[1] = 3; - return 1; + return TRUE; } -u8 MovementType_WanderLeftAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderLeftAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) { if (WaitForMovementDelay(sprite)) { sprite->data[1] = 4; - return 1; + return TRUE; } - return 0; + return FALSE; } -u8 MovementType_WanderLeftAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderLeftAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[2]; - memcpy(directions, gLeftAndRightDirections, 2); + memcpy(directions, gLeftAndRightDirections, sizeof directions); direction = directions[Random() & 1]; SetEventObjectDirection(eventObject, direction); sprite->data[1] = 5; @@ -2723,56 +2823,57 @@ u8 MovementType_WanderLeftAndRight_Step4(struct EventObject *eventObject, struct { sprite->data[1] = 1; } - return 1; + return TRUE; } -u8 MovementType_WanderLeftAndRight_Step5(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderLeftAndRight_Step5(struct EventObject *eventObject, struct Sprite *sprite) { EventObjectSetSingleMovement(eventObject, sprite, GetWalkNormalMovementAction(eventObject->movementDirection)); eventObject->singleMovementActive = 1; sprite->data[1] = 6; - return 1; + return TRUE; } -u8 MovementType_WanderLeftAndRight_Step6(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderLeftAndRight_Step6(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite) != 0) { eventObject->singleMovementActive = 0; sprite->data[1] = 1; } - return 0; + return FALSE; } movement_type_def(MovementType_FaceDirection, gMovementTypeFuncs_FaceDirection); -u8 MovementType_FaceDirection_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDirection_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 1; - return 1; + return TRUE; } -u8 MovementType_FaceDirection_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDirection_Step1(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite) != 0) { sprite->data[1] = 2; - return 1; + return TRUE; } - return 0; + return FALSE; } -u8 MovementType_FaceDirection_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDirection_Step2(struct EventObject *eventObject, struct Sprite *sprite) { eventObject->singleMovementActive = 0; - return 0; + return FALSE; } void MovementType_BerryTreeGrowth(struct Sprite *sprite) { struct EventObject *eventObject; + eventObject = &gEventObjects[sprite->data[0]]; if (!(sprite->data[7] & 1)) { @@ -2787,12 +2888,12 @@ static u8 MovementType_BerryTreeGrowth_Callback(struct EventObject *eventObject, return gMovementTypeFuncs_BerryTreeGrowth[sprite->data[1]](eventObject, sprite); } -u8 MovementType_BerryTreeGrowth_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_BerryTreeGrowth_Step0(struct EventObject *eventObject, struct Sprite *sprite) { u8 berryTreeStage; ClearEventObjectMovement(eventObject, sprite); - eventObject->invisible = 1; - sprite->invisible = 1; + eventObject->invisible = TRUE; + sprite->invisible = TRUE; berryTreeStage = GetStageByBerryTreeId(eventObject->trainerRange_berryTreeId); if (!berryTreeStage) { @@ -2805,33 +2906,33 @@ u8 MovementType_BerryTreeGrowth_Step0(struct EventObject *eventObject, struct Sp FieldEffectStart(FLDEFF_BERRY_TREE_GROWTH_SPARKLE); sprite->animNum = 0; } - return 0; + return FALSE; } - eventObject->invisible = 0; - sprite->invisible = 0; + eventObject->invisible = FALSE; + sprite->invisible = FALSE; berryTreeStage--; if (sprite->animNum != berryTreeStage) { sprite->data[1] = 2; - return 1; + return TRUE; } get_berry_tree_graphics(eventObject, sprite); EventObjectSetSingleMovement(eventObject, sprite, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); sprite->data[1] = 1; - return 1; + return TRUE; } -u8 MovementType_BerryTreeGrowth_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_BerryTreeGrowth_Step1(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite)) { sprite->data[1] = 0; - return 1; + return TRUE; } - return 0; + return FALSE; } -u8 MovementType_BerryTreeGrowth_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_BerryTreeGrowth_Step2(struct EventObject *eventObject, struct Sprite *sprite) { eventObject->singleMovementActive = 1; sprite->data[1] = 3; @@ -2842,55 +2943,55 @@ u8 MovementType_BerryTreeGrowth_Step2(struct EventObject *eventObject, struct Sp gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_BERRY_TREE_GROWTH_SPARKLE); - return 1; + return TRUE; } -u8 MovementType_BerryTreeGrowth_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_BerryTreeGrowth_Step3(struct EventObject *eventObject, struct Sprite *sprite) { sprite->data[2]++; eventObject->invisible = ((sprite->data[2] & 0x2) >> 1); - sprite->animPaused = 1; + sprite->animPaused = TRUE; if (sprite->data[2] > 64) { get_berry_tree_graphics(eventObject, sprite); sprite->data[1] = 4; sprite->data[2] = 0; - return 1; + return TRUE; } - return 0; + return FALSE; } -u8 MovementType_BerryTreeGrowth_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_BerryTreeGrowth_Step4(struct EventObject *eventObject, struct Sprite *sprite) { sprite->data[2]++; eventObject->invisible = ((sprite->data[2] & 0x2) >> 1); - sprite->animPaused = 1; + sprite->animPaused = TRUE; if (sprite->data[2] > 64) { sprite->data[1] = 0; sprite->data[7] &= (-3); - return 1; + return TRUE; } - return 0; + return FALSE; } movement_type_def(MovementType_FaceDownAndUp, gMovementTypeFuncs_FaceDownAndUp); -u8 MovementType_FaceDownAndUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; - return 1; + return TRUE; } -u8 MovementType_FaceDownAndUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; - return 1; + return TRUE; } -u8 MovementType_FaceDownAndUp_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndUp_Step2(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite)) { @@ -2898,24 +2999,24 @@ u8 MovementType_FaceDownAndUp_Step2(struct EventObject *eventObject, struct Spri eventObject->singleMovementActive = 0; sprite->data[1] = 3; } - return 0; + return FALSE; } -u8 MovementType_FaceDownAndUp_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndUp_Step3(struct EventObject *eventObject, struct Sprite *sprite) { if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; - return 1; + return TRUE; } - return 0; + return FALSE; } -u8 MovementType_FaceDownAndUp_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndUp_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[2]; - memcpy(directions, gUpAndDownDirections, 2); + memcpy(directions, gUpAndDownDirections, sizeof gUpAndDownDirections); direction = TryGetTrainerEncounterDirection(eventObject, 1); if (direction == DIR_NONE) { @@ -2923,26 +3024,26 @@ u8 MovementType_FaceDownAndUp_Step4(struct EventObject *eventObject, struct Spri } SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; - return 1; + return TRUE; } movement_type_def(MovementType_FaceLeftAndRight, gMovementTypeFuncs_FaceLeftAndRight); -u8 MovementType_FaceLeftAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceLeftAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; - return 1; + return TRUE; } -u8 MovementType_FaceLeftAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceLeftAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; - return 1; + return TRUE; } -u8 MovementType_FaceLeftAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceLeftAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite)) { @@ -2950,24 +3051,24 @@ u8 MovementType_FaceLeftAndRight_Step2(struct EventObject *eventObject, struct S eventObject->singleMovementActive = 0; sprite->data[1] = 3; } - return 0; + return FALSE; } -u8 MovementType_FaceLeftAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceLeftAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) { if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; - return 1; + return TRUE; } - return 0; + return FALSE; } -u8 MovementType_FaceLeftAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceLeftAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[2]; - memcpy(directions, gLeftAndRightDirections, 2); + memcpy(directions, gLeftAndRightDirections, sizeof gLeftAndRightDirections); direction = TryGetTrainerEncounterDirection(eventObject, 2); if (direction == DIR_NONE) { @@ -2975,26 +3076,26 @@ u8 MovementType_FaceLeftAndRight_Step4(struct EventObject *eventObject, struct S } SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; - return 1; + return TRUE; } movement_type_def(MovementType_FaceUpAndLeft, gMovementTypeFuncs_FaceUpAndLeft); -u8 MovementType_FaceUpAndLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; - return 1; + return TRUE; } -u8 MovementType_FaceUpAndLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; - return 1; + return TRUE; } -u8 MovementType_FaceUpAndLeft_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndLeft_Step2(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite)) { @@ -3002,24 +3103,24 @@ u8 MovementType_FaceUpAndLeft_Step2(struct EventObject *eventObject, struct Spri eventObject->singleMovementActive = 0; sprite->data[1] = 3; } - return 0; + return FALSE; } -u8 MovementType_FaceUpAndLeft_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndLeft_Step3(struct EventObject *eventObject, struct Sprite *sprite) { if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; - return 1; + return TRUE; } - return 0; + return FALSE; } -u8 MovementType_FaceUpAndLeft_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndLeft_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[2]; - memcpy(directions, gUpAndLeftDirections, 2); + memcpy(directions, gUpAndLeftDirections, sizeof gUpAndLeftDirections); direction = TryGetTrainerEncounterDirection(eventObject, 3); if (direction == DIR_NONE) { @@ -3027,26 +3128,26 @@ u8 MovementType_FaceUpAndLeft_Step4(struct EventObject *eventObject, struct Spri } SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; - return 1; + return TRUE; } movement_type_def(MovementType_FaceUpAndRight, gMovementTypeFuncs_FaceUpAndRight); -u8 MovementType_FaceUpAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; - return 1; + return TRUE; } -u8 MovementType_FaceUpAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; - return 1; + return TRUE; } -u8 MovementType_FaceUpAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite)) { @@ -3054,24 +3155,24 @@ u8 MovementType_FaceUpAndRight_Step2(struct EventObject *eventObject, struct Spr eventObject->singleMovementActive = 0; sprite->data[1] = 3; } - return 0; + return FALSE; } -u8 MovementType_FaceUpAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) { if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; - return 1; + return TRUE; } - return 0; + return FALSE; } -u8 MovementType_FaceUpAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[2]; - memcpy(directions, gUpAndRightDirections, 2); + memcpy(directions, gUpAndRightDirections, sizeof gUpAndRightDirections); direction = TryGetTrainerEncounterDirection(eventObject, 4); if (direction == DIR_NONE) { @@ -3079,26 +3180,26 @@ u8 MovementType_FaceUpAndRight_Step4(struct EventObject *eventObject, struct Spr } SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; - return 1; + return TRUE; } movement_type_def(MovementType_FaceDownAndLeft, gMovementTypeFuncs_FaceDownAndLeft); -u8 MovementType_FaceDownAndLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; - return 1; + return TRUE; } -u8 MovementType_FaceDownAndLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; - return 1; + return TRUE; } -u8 MovementType_FaceDownAndLeft_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndLeft_Step2(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite)) { @@ -3106,24 +3207,24 @@ u8 MovementType_FaceDownAndLeft_Step2(struct EventObject *eventObject, struct Sp eventObject->singleMovementActive = 0; sprite->data[1] = 3; } - return 0; + return FALSE; } -u8 MovementType_FaceDownAndLeft_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndLeft_Step3(struct EventObject *eventObject, struct Sprite *sprite) { if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; - return 1; + return TRUE; } - return 0; + return FALSE; } -u8 MovementType_FaceDownAndLeft_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndLeft_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[2]; - memcpy(directions, gDownAndLeftDirections, 2); + memcpy(directions, gDownAndLeftDirections, sizeof gDownAndLeftDirections); direction = TryGetTrainerEncounterDirection(eventObject, 5); if (direction == DIR_NONE) { @@ -3131,26 +3232,26 @@ u8 MovementType_FaceDownAndLeft_Step4(struct EventObject *eventObject, struct Sp } SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; - return 1; + return TRUE; } movement_type_def(MovementType_FaceDownAndRight, gMovementTypeFuncs_FaceDownAndRight); -u8 MovementType_FaceDownAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; - return 1; + return TRUE; } -u8 MovementType_FaceDownAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; - return 1; + return TRUE; } -u8 MovementType_FaceDownAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite)) { @@ -3158,24 +3259,24 @@ u8 MovementType_FaceDownAndRight_Step2(struct EventObject *eventObject, struct S eventObject->singleMovementActive = 0; sprite->data[1] = 3; } - return 0; + return FALSE; } -u8 MovementType_FaceDownAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) { if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; - return 1; + return TRUE; } - return 0; + return FALSE; } -u8 MovementType_FaceDownAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[2]; - memcpy(directions, gDownAndRightDirections, 2); + memcpy(directions, gDownAndRightDirections, sizeof gDownAndRightDirections); direction = TryGetTrainerEncounterDirection(eventObject, 6); if (direction == DIR_NONE) { @@ -3183,26 +3284,26 @@ u8 MovementType_FaceDownAndRight_Step4(struct EventObject *eventObject, struct S } SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; - return 1; + return TRUE; } movement_type_def(MovementType_FaceDownUpAndLeft, gMovementTypeFuncs_FaceDownUpAndLeft); -u8 MovementType_FaceDownUpAndLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; - return 1; + return TRUE; } -u8 MovementType_FaceDownUpAndLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; - return 1; + return TRUE; } -u8 MovementType_FaceDownUpAndLeft_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndLeft_Step2(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite)) { @@ -3210,24 +3311,24 @@ u8 MovementType_FaceDownUpAndLeft_Step2(struct EventObject *eventObject, struct eventObject->singleMovementActive = 0; sprite->data[1] = 3; } - return 0; + return FALSE; } -u8 MovementType_FaceDownUpAndLeft_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndLeft_Step3(struct EventObject *eventObject, struct Sprite *sprite) { if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; - return 1; + return TRUE; } - return 0; + return FALSE; } -u8 MovementType_FaceDownUpAndLeft_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndLeft_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[4]; - memcpy(directions, gDownUpAndLeftDirections, 4); + memcpy(directions, gDownUpAndLeftDirections, sizeof gDownUpAndLeftDirections); direction = TryGetTrainerEncounterDirection(eventObject, 7); if (direction == DIR_NONE) { @@ -3235,26 +3336,26 @@ u8 MovementType_FaceDownUpAndLeft_Step4(struct EventObject *eventObject, struct } SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; - return 1; + return TRUE; } movement_type_def(MovementType_FaceDownUpAndRight, gMovementTypeFuncs_FaceDownUpAndRight); -u8 MovementType_FaceDownUpAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; - return 1; + return TRUE; } -u8 MovementType_FaceDownUpAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; - return 1; + return TRUE; } -u8 MovementType_FaceDownUpAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite)) { @@ -3262,24 +3363,24 @@ u8 MovementType_FaceDownUpAndRight_Step2(struct EventObject *eventObject, struct eventObject->singleMovementActive = 0; sprite->data[1] = 3; } - return 0; + return FALSE; } -u8 MovementType_FaceDownUpAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) { if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; - return 1; + return TRUE; } - return 0; + return FALSE; } -u8 MovementType_FaceDownUpAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[4]; - memcpy(directions, gDownUpAndRightDirections, 4); + memcpy(directions, gDownUpAndRightDirections, sizeof gDownUpAndRightDirections); direction = TryGetTrainerEncounterDirection(eventObject, 8); if (direction == DIR_NONE) { @@ -3287,26 +3388,26 @@ u8 MovementType_FaceDownUpAndRight_Step4(struct EventObject *eventObject, struct } SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; - return 1; + return TRUE; } movement_type_def(MovementType_FaceUpLeftAndRight, gMovementTypeFuncs_FaceUpLeftAndRight); -u8 MovementType_FaceUpLeftAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpLeftAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; - return 1; + return TRUE; } -u8 MovementType_FaceUpLeftAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpLeftAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; - return 1; + return TRUE; } -u8 MovementType_FaceUpLeftAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpLeftAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite)) { @@ -3314,24 +3415,24 @@ u8 MovementType_FaceUpLeftAndRight_Step2(struct EventObject *eventObject, struct eventObject->singleMovementActive = 0; sprite->data[1] = 3; } - return 0; + return FALSE; } -u8 MovementType_FaceUpLeftAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpLeftAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) { if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; - return 1; + return TRUE; } - return 0; + return FALSE; } -u8 MovementType_FaceUpLeftAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpLeftAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[4]; - memcpy(directions, gUpLeftAndRightDirections, 4); + memcpy(directions, gUpLeftAndRightDirections, sizeof gUpLeftAndRightDirections); direction = TryGetTrainerEncounterDirection(eventObject, 9); if (direction == DIR_NONE) { @@ -3339,26 +3440,26 @@ u8 MovementType_FaceUpLeftAndRight_Step4(struct EventObject *eventObject, struct } SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; - return 1; + return TRUE; } movement_type_def(MovementType_FaceDownLeftAndRight, gMovementTypeFuncs_FaceDownLeftAndRight); -u8 MovementType_FaceDownLeftAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownLeftAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; - return 1; + return TRUE; } -u8 MovementType_FaceDownLeftAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownLeftAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; - return 1; + return TRUE; } -u8 MovementType_FaceDownLeftAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownLeftAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite)) { @@ -3366,24 +3467,24 @@ u8 MovementType_FaceDownLeftAndRight_Step2(struct EventObject *eventObject, stru eventObject->singleMovementActive = 0; sprite->data[1] = 3; } - return 0; + return FALSE; } -u8 MovementType_FaceDownLeftAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownLeftAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) { if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; - return 1; + return TRUE; } - return 0; + return FALSE; } -u8 MovementType_FaceDownLeftAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownLeftAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[4]; - memcpy(directions, gDownLeftAndRightDirections, 4); + memcpy(directions, gDownLeftAndRightDirections, sizeof gDownLeftAndRightDirections); direction = TryGetTrainerEncounterDirection(eventObject, 10); if (direction == DIR_NONE) { @@ -3391,43 +3492,43 @@ u8 MovementType_FaceDownLeftAndRight_Step4(struct EventObject *eventObject, stru } SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; - return 1; + return TRUE; } movement_type_def(MovementType_RotateCounterclockwise, gMovementTypeFuncs_RotateCounterclockwise); -u8 MovementType_RotateCounterclockwise_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RotateCounterclockwise_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 1; - return 1; + return TRUE; } -u8 MovementType_RotateCounterclockwise_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RotateCounterclockwise_Step1(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite)) { SetMovementDelay(sprite, 48); sprite->data[1] = 2; } - return 0; + return FALSE; } -u8 MovementType_RotateCounterclockwise_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RotateCounterclockwise_Step2(struct EventObject *eventObject, struct Sprite *sprite) { if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 3; } - return 0; + return FALSE; } -u8 MovementType_RotateCounterclockwise_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RotateCounterclockwise_Step3(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[5]; - memcpy(directions, gCounterclockwiseDirections, 5); + memcpy(directions, gCounterclockwiseDirections, sizeof gCounterclockwiseDirections); direction = TryGetTrainerEncounterDirection(eventObject, 0); if (direction == DIR_NONE) { @@ -3435,43 +3536,43 @@ u8 MovementType_RotateCounterclockwise_Step3(struct EventObject *eventObject, st } SetEventObjectDirection(eventObject, direction); sprite->data[1] = 0; - return 1; + return TRUE; } movement_type_def(MovementType_RotateClockwise, gMovementTypeFuncs_RotateClockwise); -u8 MovementType_RotateClockwise_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RotateClockwise_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 1; - return 1; + return TRUE; } -u8 MovementType_RotateClockwise_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RotateClockwise_Step1(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite)) { SetMovementDelay(sprite, 0x30); sprite->data[1] = 2; } - return 0; + return FALSE; } -u8 MovementType_RotateClockwise_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RotateClockwise_Step2(struct EventObject *eventObject, struct Sprite *sprite) { if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 3; } - return 0; + return FALSE; } -u8 MovementType_RotateClockwise_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RotateClockwise_Step3(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[5]; - memcpy(directions, gClockwiseDirections, 5); + memcpy(directions, gClockwiseDirections, sizeof gClockwiseDirections); direction = TryGetTrainerEncounterDirection(eventObject, 0); if (direction == DIR_NONE) { @@ -3479,19 +3580,19 @@ u8 MovementType_RotateClockwise_Step3(struct EventObject *eventObject, struct Sp } SetEventObjectDirection(eventObject, direction); sprite->data[1] = 0; - return 1; + return TRUE; } movement_type_def(MovementType_WalkBackAndForth, gMovementTypeFuncs_WalkBackAndForth); -u8 MovementType_WalkBackAndForth_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WalkBackAndForth_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; - return 1; + return TRUE; } -u8 MovementType_WalkBackAndForth_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WalkBackAndForth_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; direction = gInitialMovementTypeFacingDirections[eventObject->movementType]; @@ -3501,13 +3602,14 @@ u8 MovementType_WalkBackAndForth_Step1(struct EventObject *eventObject, struct S } SetEventObjectDirection(eventObject, direction); sprite->data[1] = 2; - return 1; + return TRUE; } -u8 MovementType_WalkBackAndForth_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WalkBackAndForth_Step2(struct EventObject *eventObject, struct Sprite *sprite) { u8 collisionState; u8 movementActionId; + if (eventObject->directionSequenceIndex && eventObject->initialCoords.x == eventObject->currentCoords.x && eventObject->initialCoords.y == eventObject->currentCoords.y) { eventObject->directionSequenceIndex = 0; @@ -3529,30 +3631,31 @@ u8 MovementType_WalkBackAndForth_Step2(struct EventObject *eventObject, struct S EventObjectSetSingleMovement(eventObject, sprite, movementActionId); eventObject->singleMovementActive = 1; sprite->data[1] = 3; - return 1; + return TRUE; } -u8 MovementType_WalkBackAndForth_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WalkBackAndForth_Step3(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite)) { eventObject->singleMovementActive = 0; sprite->data[1] = 1; } - return 0; + return FALSE; } -u8 MovementType_WalkSequence_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WalkSequence_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; - return 1; + return TRUE; } -u8 MoveNextDirectionInSequence(struct EventObject *eventObject, struct Sprite *sprite, u8 *directionSequence) +bool8 MoveNextDirectionInSequence(struct EventObject *eventObject, struct Sprite *sprite, u8 *directionSequence) { u8 collisionState; u8 movementActionId; + if (eventObject->directionSequenceIndex == 3 && eventObject->initialCoords.x == eventObject->currentCoords.x && eventObject->initialCoords.y == eventObject->currentCoords.y) { eventObject->directionSequenceIndex = 0; @@ -3574,17 +3677,17 @@ u8 MoveNextDirectionInSequence(struct EventObject *eventObject, struct Sprite *s EventObjectSetSingleMovement(eventObject, sprite, movementActionId); eventObject->singleMovementActive = 1; sprite->data[1] = 2; - return 1; + return TRUE; } -u8 MovementType_WalkSequence_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WalkSequence_Step2(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite)) { eventObject->singleMovementActive = 0; sprite->data[1] = 1; } - return 0; + return FALSE; } movement_type_def(MovementType_WalkSequenceUpRightLeftDown, gMovementTypeFuncs_WalkSequenceUpRightLeftDown); @@ -3592,7 +3695,7 @@ movement_type_def(MovementType_WalkSequenceUpRightLeftDown, gMovementTypeFuncs_W u8 MovementType_WalkSequenceUpRightLeftDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUpRightLeftDownDirections, 4); + memcpy(directions, gUpRightLeftDownDirections, sizeof gUpRightLeftDownDirections); if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) { eventObject->directionSequenceIndex = 3; @@ -3605,7 +3708,7 @@ movement_type_def(MovementType_WalkSequenceRightLeftDownUp, gMovementTypeFuncs_W u8 MovementType_WalkSequenceRightLeftDownUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gRightLeftDownUpDirections, 4); + memcpy(directions, gRightLeftDownUpDirections, sizeof gRightLeftDownUpDirections); if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.x == eventObject->currentCoords.x) { eventObject->directionSequenceIndex = 2; @@ -3618,7 +3721,7 @@ movement_type_def(MovementType_WalkSequenceDownUpRightLeft, gMovementTypeFuncs_W u8 MovementType_WalkSequenceDownUpRightLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gDownUpRightLeftDirections, 4); + memcpy(directions, gDownUpRightLeftDirections, sizeof gDownUpRightLeftDirections); if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.y == eventObject->currentCoords.y) { eventObject->directionSequenceIndex = 2; @@ -3631,7 +3734,7 @@ movement_type_def(MovementType_WalkSequenceLeftDownUpRight, gMovementTypeFuncs_W u8 MovementType_WalkSequenceLeftDownUpRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gLeftDownUpRightDirections, 4); + memcpy(directions, gLeftDownUpRightDirections, sizeof gLeftDownUpRightDirections); if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) { eventObject->directionSequenceIndex = 3; @@ -3644,7 +3747,7 @@ movement_type_def(MovementType_WalkSequenceUpLeftRightDown, gMovementTypeFuncs_W u8 MovementType_WalkSequenceUpLeftRightDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUpLeftRightDownDirections, 4); + memcpy(directions, gUpLeftRightDownDirections, sizeof gUpLeftRightDownDirections); if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) { eventObject->directionSequenceIndex = 3; @@ -3657,7 +3760,7 @@ movement_type_def(MovementType_WalkSequenceLeftRightDownUp, gMovementTypeFuncs_W u8 MovementType_WalkSequenceLeftRightDownUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gLeftRightDownUpDirections, 4); + memcpy(directions, gLeftRightDownUpDirections, sizeof gLeftRightDownUpDirections); if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.x == eventObject->currentCoords.x) { eventObject->directionSequenceIndex = 2; @@ -3670,7 +3773,7 @@ movement_type_def(MovementType_WalkSequenceDownUpLeftRight, gMovementTypeFuncs_W u8 MovementType_WalkSequenceDownUpLeftRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gStandardDirections, 4); + memcpy(directions, gStandardDirections, sizeof gStandardDirections); if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.y == eventObject->currentCoords.y) { eventObject->directionSequenceIndex = 2; @@ -3683,7 +3786,7 @@ movement_type_def(MovementType_WalkSequenceRightDownUpLeft, gMovementTypeFuncs_W u8 MovementType_WalkSequenceRightDownUpLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gRightDownUpLeftDirections, 4); + memcpy(directions, gRightDownUpLeftDirections, sizeof gRightDownUpLeftDirections); if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) { eventObject->directionSequenceIndex = 3; @@ -3696,7 +3799,7 @@ movement_type_def(MovementType_WalkSequenceLeftUpDownRight, gMovementTypeFuncs_W u8 MovementType_WalkSequenceLeftUpDownRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gLeftUpDownRightDirections, 4); + memcpy(directions, gLeftUpDownRightDirections, sizeof gLeftUpDownRightDirections); if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) { eventObject->directionSequenceIndex = 3; @@ -3709,7 +3812,7 @@ movement_type_def(MovementType_WalkSequenceUpDownRightLeft, gMovementTypeFuncs_W u8 MovementType_WalkSequenceUpDownRightLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUpDownRightLeftDirections, 4); + memcpy(directions, gUpDownRightLeftDirections, sizeof gUpDownRightLeftDirections); if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.y == eventObject->currentCoords.y) { eventObject->directionSequenceIndex = 2; @@ -3722,7 +3825,7 @@ movement_type_def(MovementType_WalkSequenceRightLeftUpDown, gMovementTypeFuncs_W u8 MovementType_WalkSequenceRightLeftUpDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gRightLeftUpDownDirections, 4); + memcpy(directions, gRightLeftUpDownDirections, sizeof gRightLeftUpDownDirections); if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.x == eventObject->currentCoords.x) { eventObject->directionSequenceIndex = 2; @@ -3735,7 +3838,7 @@ movement_type_def(MovementType_WalkSequenceDownRightLeftUp, gMovementTypeFuncs_W u8 MovementType_WalkSequenceDownRightLeftUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gDownRightLeftUpDirections, 4); + memcpy(directions, gDownRightLeftUpDirections, sizeof gDownRightLeftUpDirections); if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) { eventObject->directionSequenceIndex = 3; @@ -3748,7 +3851,7 @@ movement_type_def(MovementType_WalkSequenceRightUpDownLeft, gMovementTypeFuncs_W u8 MovementType_WalkSequenceRightUpDownLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gRightUpDownLeftDirections, 4); + memcpy(directions, gRightUpDownLeftDirections, sizeof gRightUpDownLeftDirections); if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) { eventObject->directionSequenceIndex = 3; @@ -3761,7 +3864,7 @@ movement_type_def(MovementType_WalkSequenceUpDownLeftRight, gMovementTypeFuncs_W u8 MovementType_WalkSequenceUpDownLeftRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUpDownLeftRightDirections, 4); + memcpy(directions, gUpDownLeftRightDirections, sizeof gUpDownLeftRightDirections); if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.y == eventObject->currentCoords.y) { eventObject->directionSequenceIndex = 2; @@ -3774,7 +3877,7 @@ movement_type_def(MovementType_WalkSequenceLeftRightUpDown, gMovementTypeFuncs_W u8 MovementType_WalkSequenceLeftRightUpDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gLeftRightUpDownDirections, 4); + memcpy(directions, gLeftRightUpDownDirections, sizeof gLeftRightUpDownDirections); if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.x == eventObject->currentCoords.x) { eventObject->directionSequenceIndex = 2; @@ -3787,7 +3890,7 @@ movement_type_def(MovementType_WalkSequenceDownLeftRightUp, gMovementTypeFuncs_W u8 MovementType_WalkSequenceDownLeftRightUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gDownLeftRightUpDirections, 4); + memcpy(directions, gDownLeftRightUpDirections, sizeof gDownLeftRightUpDirections); if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) { eventObject->directionSequenceIndex = 3; @@ -3800,7 +3903,7 @@ movement_type_def(MovementType_WalkSequenceUpLeftDownRight, gMovementTypeFuncs_W u8 MovementType_WalkSequenceUpLeftDownRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUpLeftDownRightDirections, 4); + memcpy(directions, gUpLeftDownRightDirections, sizeof gUpLeftDownRightDirections); if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) { eventObject->directionSequenceIndex = 3; @@ -3813,7 +3916,7 @@ movement_type_def(MovementType_WalkSequenceDownRightUpLeft, gMovementTypeFuncs_W u8 MovementType_WalkSequenceDownRightUpLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gDownRightUpLeftDirections, 4); + memcpy(directions, gDownRightUpLeftDirections, sizeof gDownRightUpLeftDirections); if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) { eventObject->directionSequenceIndex = 3; @@ -3826,7 +3929,7 @@ movement_type_def(MovementType_WalkSequenceLeftDownRightUp, gMovementTypeFuncs_W u8 MovementType_WalkSequenceLeftDownRightUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gLeftDownRightUpDirections, 4); + memcpy(directions, gLeftDownRightUpDirections, sizeof gLeftDownRightUpDirections); if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) { eventObject->directionSequenceIndex = 3; @@ -3839,7 +3942,7 @@ movement_type_def(MovementType_WalkSequenceRightUpLeftDown, gMovementTypeFuncs_W u8 MovementType_WalkSequenceRightUpLeftDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gRightUpLeftDownDirections, 4); + memcpy(directions, gRightUpLeftDownDirections, sizeof gRightUpLeftDownDirections); if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) { eventObject->directionSequenceIndex = 3; @@ -3852,7 +3955,7 @@ movement_type_def(MovementType_WalkSequenceUpRightDownLeft, gMovementTypeFuncs_W u8 MovementType_WalkSequenceUpRightDownLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUpRightDownLeftDirections, 4); + memcpy(directions, gUpRightDownLeftDirections, sizeof gUpRightDownLeftDirections); if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) { eventObject->directionSequenceIndex = 3; @@ -3865,7 +3968,7 @@ movement_type_def(MovementType_WalkSequenceDownLeftUpRight, gMovementTypeFuncs_W u8 MovementType_WalkSequenceDownLeftUpRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gDownLeftUpRightDirections, 4); + memcpy(directions, gDownLeftUpRightDirections, sizeof gDownLeftUpRightDirections); if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) { eventObject->directionSequenceIndex = 3; @@ -3878,7 +3981,7 @@ movement_type_def(MovementType_WalkSequenceLeftUpRightDown, gMovementTypeFuncs_W u8 MovementType_WalkSequenceLeftUpRightDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gLeftUpRightDownDirections, 4); + memcpy(directions, gLeftUpRightDownDirections, sizeof gLeftUpRightDownDirections); if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) { eventObject->directionSequenceIndex = 3; @@ -3891,17 +3994,17 @@ movement_type_def(MovementType_WalkSequenceRightDownLeftUp, gMovementTypeFuncs_W u8 MovementType_WalkSequenceRightDownLeftUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gRightDownLeftUpDirections, 4); + memcpy(directions, gRightDownLeftUpDirections, sizeof gRightDownLeftUpDirections); if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) { eventObject->directionSequenceIndex = 3; } return MoveNextDirectionInSequence(eventObject, sprite, directions); -}; +} movement_type_def(MovementType_CopyPlayer, gMovementTypeFuncs_CopyPlayer); -u8 MovementType_CopyPlayer_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_CopyPlayer_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); if (eventObject->directionSequenceIndex == 0) @@ -3909,31 +4012,31 @@ u8 MovementType_CopyPlayer_Step0(struct EventObject *eventObject, struct Sprite eventObject->directionSequenceIndex = GetPlayerFacingDirection(); } sprite->data[1] = 1; - return 1; + return TRUE; } -u8 MovementType_CopyPlayer_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_CopyPlayer_Step1(struct EventObject *eventObject, struct Sprite *sprite) { if (gEventObjects[gPlayerAvatar.eventObjectId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER) { - return 0; + return FALSE; } return gCopyPlayerMovementFuncs[PlayerGetCopyableMovement()](eventObject, sprite, GetPlayerMovementDirection(), NULL); } -u8 MovementType_CopyPlayer_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_CopyPlayer_Step2(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite)) { eventObject->singleMovementActive = 0; sprite->data[1] = 1; } - return 0; + return FALSE; } bool8 CopyablePlayerMovement_None(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { - return 0; + return FALSE; } bool8 CopyablePlayerMovement_FaceDirection(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) @@ -3941,7 +4044,7 @@ bool8 CopyablePlayerMovement_FaceDirection(struct EventObject *eventObject, stru EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, playerDirection))); eventObject->singleMovementActive = 1; sprite->data[1] = 2; - return 1; + return TRUE; } bool8 CopyablePlayerMovement_GoSpeed0(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) @@ -3960,7 +4063,7 @@ bool8 CopyablePlayerMovement_GoSpeed0(struct EventObject *eventObject, struct Sp } eventObject->singleMovementActive = 1; sprite->data[1] = 2; - return 1; + return TRUE; } bool8 CopyablePlayerMovement_GoSpeed1(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) @@ -4074,11 +4177,11 @@ bool8 CopyablePlayerMovement_Jump(struct EventObject *eventObject, struct Sprite movement_type_def(MovementType_CopyPlayerInGrass, gMovementTypeFuncs_CopyPlayerInGrass); -u8 MovementType_CopyPlayerInGrass_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_CopyPlayerInGrass_Step1(struct EventObject *eventObject, struct Sprite *sprite) { if (gEventObjects[gPlayerAvatar.eventObjectId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER) { - return 0; + return FALSE; } return gCopyPlayerMovementFuncs[PlayerGetCopyableMovement()](eventObject, sprite, GetPlayerMovementDirection(), MetatileBehavior_IsPokeGrass); } @@ -4087,7 +4190,7 @@ void MovementType_TreeDisguise(struct Sprite *sprite) { struct EventObject *eventObject; eventObject = &gEventObjects[sprite->data[0]]; - if (eventObject->directionSequenceIndex == 0 || (eventObject->directionSequenceIndex == 1 && sprite->data[7] == 0)) + if (eventObject->directionSequenceIndex == 0 || (eventObject->directionSequenceIndex == 1 && !sprite->data[7])) { EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); eventObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_TREE_DISGUISE); @@ -4097,17 +4200,17 @@ void MovementType_TreeDisguise(struct Sprite *sprite) UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, MovementType_Disguise_Callback); } -static u8 MovementType_Disguise_Callback(struct EventObject *eventObject, struct Sprite *sprite) +static bool8 MovementType_Disguise_Callback(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); - return 0; + return FALSE; } void MovementType_MountainDisguise(struct Sprite *sprite) { struct EventObject *eventObject; eventObject = &gEventObjects[sprite->data[0]]; - if (eventObject->directionSequenceIndex == 0 || (eventObject->directionSequenceIndex == 1 && sprite->data[7] == 0)) + if (eventObject->directionSequenceIndex == 0 || (eventObject->directionSequenceIndex == 1 && !sprite->data[7])) { EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); eventObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_MOUNTAIN_DISGUISE); @@ -4119,9 +4222,9 @@ void MovementType_MountainDisguise(struct Sprite *sprite) void MovementType_Hidden(struct Sprite *sprite) { - if (sprite->data[7] == 0) + if (!sprite->data[7]) { - gEventObjects[sprite->data[0]].fixedPriority = 1; + gEventObjects[sprite->data[0]].fixedPriority = TRUE; sprite->subspriteMode = 2; sprite->oam.priority = 3; sprite->data[7]++; @@ -4129,89 +4232,89 @@ void MovementType_Hidden(struct Sprite *sprite) UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, MovementType_Hidden_Callback); } -static u8 MovementType_Hidden_Callback(struct EventObject *eventObject, struct Sprite *sprite) +static bool8 MovementType_Hidden_Callback(struct EventObject *eventObject, struct Sprite *sprite) { return gMovementTypeFuncs_Hidden[sprite->data[1]](eventObject, sprite); } -u8 MovementType_Hidden_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_Hidden_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); - return 0; + return FALSE; } -u8 MovementType_MoveInPlace_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_MoveInPlace_Step1(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite)) { sprite->data[1] = 0; } - return 0; + return FALSE; } movement_type_def(MovementType_WalkInPlace, gMovementTypeFuncs_WalkInPlace); -u8 MovementType_WalkInPlace_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WalkInPlace_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); EventObjectSetSingleMovement(eventObject, sprite, GetWalkInPlaceNormalMovementAction(eventObject->facingDirection)); sprite->data[1] = 1; - return 1; + return TRUE; } movement_type_def(MovementType_JogInPlace, gMovementTypeFuncs_JogInPlace); -u8 MovementType_JogInPlace_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_JogInPlace_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); EventObjectSetSingleMovement(eventObject, sprite, GetWalkInPlaceFastMovementAction(eventObject->facingDirection)); sprite->data[1] = 1; - return 1; + return TRUE; } movement_type_def(MovementType_RunInPlace, gMovementTypeFuncs_RunInPlace); -u8 MovementType_RunInPlace_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RunInPlace_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); EventObjectSetSingleMovement(eventObject, sprite, GetWalkInPlaceFastestMovementAction(eventObject->facingDirection)); sprite->data[1] = 1; - return 1; + return TRUE; } movement_type_def(MovementType_Invisible, gMovementTypeFuncs_Invisible); -u8 MovementType_Invisible_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_Invisible_Step0(struct EventObject *eventObject, struct Sprite *sprite) { ClearEventObjectMovement(eventObject, sprite); EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); - eventObject->invisible = 1; + eventObject->invisible = TRUE; sprite->data[1] = 1; - return 1; + return TRUE; } -u8 MovementType_Invisible_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_Invisible_Step1(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite)) { sprite->data[1] = 2; - return 1; + return TRUE; } - return 0; + return FALSE; } -u8 MovementType_Invisible_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_Invisible_Step2(struct EventObject *eventObject, struct Sprite *sprite) { eventObject->singleMovementActive = 0; - return 0; + return FALSE; } static void ClearEventObjectMovement(struct EventObject *eventObject, struct Sprite *sprite) { eventObject->singleMovementActive = 0; - eventObject->heldMovementActive = 0; - eventObject->heldMovementFinished = 0; - eventObject->movementActionId = 0xff; + eventObject->heldMovementActive = FALSE; + eventObject->heldMovementFinished = FALSE; + eventObject->movementActionId = 0xFF; sprite->data[1] = 0; } @@ -4415,16 +4518,16 @@ static bool8 IsMetatileDirectionallyImpassable(struct EventObject *eventObject, if (gOppositeDirectionBlockedMetatileFuncs[direction - 1](eventObject->currentMetatileBehavior) || gDirectionBlockedMetatileFuncs[direction - 1](MapGridGetMetatileBehaviorAt(x, y))) { - return 1; + return TRUE; } - return 0; + return FALSE; } static bool8 DoesObjectCollideWithObjectAt(struct EventObject *eventObject, s16 x, s16 y) { u8 i; - for (i = 0; i < 16; i++) + for (i = 0; i < EVENT_OBJECTS_COUNT; i++) { struct EventObject *eventObject2 = &gEventObjects[i]; @@ -4435,7 +4538,7 @@ static bool8 DoesObjectCollideWithObjectAt(struct EventObject *eventObject, s16 return TRUE; } } - return 0; + return FALSE; } bool8 IsBerryTreeSparkling(u8 localId, u8 mapNum, u8 mapGroup) @@ -4526,7 +4629,7 @@ void sub_8060470(s16 *x, s16 *y, s16 dx, s16 dy) *y += dy; } -void GetEventObjectMovingCameraOffset(s16 *x, s16 *y) +static void GetEventObjectMovingCameraOffset(s16 *x, s16 *y) { *x = 0; *y = 0; @@ -4566,7 +4669,7 @@ bool8 EventObjectIsMovementOverridden(struct EventObject *eventObject) bool8 EventObjectIsHeldMovementActive(struct EventObject *eventObject) { - if (eventObject->heldMovementActive && eventObject->movementActionId != 0xff) + if (eventObject->heldMovementActive && eventObject->movementActionId != 0xFF) return TRUE; return FALSE; @@ -4579,8 +4682,8 @@ bool8 EventObjectSetHeldMovement(struct EventObject *eventObject, u8 movementAct UnfreezeEventObject(eventObject); eventObject->movementActionId = movementActionId; - eventObject->heldMovementActive = 1; - eventObject->heldMovementFinished = 0; + eventObject->heldMovementActive = TRUE; + eventObject->heldMovementFinished = FALSE; gSprites[eventObject->spriteId].data[2] = 0; return FALSE; } @@ -4600,8 +4703,8 @@ void EventObjectClearHeldMovementIfActive(struct EventObject *eventObject) void EventObjectClearHeldMovement(struct EventObject *eventObject) { eventObject->movementActionId = 0xFF; - eventObject->heldMovementActive = 0; - eventObject->heldMovementFinished = 0; + eventObject->heldMovementActive = FALSE; + eventObject->heldMovementFinished = FALSE; gSprites[eventObject->spriteId].data[1] = 0; gSprites[eventObject->spriteId].data[2] = 0; } @@ -4828,7 +4931,7 @@ static void EventObjectExecHeldMovementAction(struct EventObject *eventObject, s { if (gMovementActionFuncs[eventObject->movementActionId][sprite->data[2]](eventObject, sprite)) { - eventObject->heldMovementFinished = 1; + eventObject->heldMovementFinished = TRUE; } } @@ -4838,10 +4941,10 @@ static bool8 EventObjectExecSingleMovementAction(struct EventObject *eventObject { eventObject->movementActionId = 0xFF; sprite->data[2] = 0; - return 1; + return TRUE; } - return 0; + return FALSE; } static void EventObjectSetSingleMovement(struct EventObject *eventObject, struct Sprite *sprite, u8 movementActionId) @@ -4850,67 +4953,68 @@ static void EventObjectSetSingleMovement(struct EventObject *eventObject, struct sprite->data[2] = 0; } -void FaceDirection(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) +static void FaceDirection(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) { SetEventObjectDirection(eventObject, direction); ShiftStillEventObjectCoords(eventObject); sub_805FE64(eventObject, sprite, GetMoveDirectionAnimNum(eventObject->facingDirection)); - sprite->animPaused = 1; + sprite->animPaused = TRUE; sprite->data[2] = 1; } -u8 MovementAction_FaceDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_FaceDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { FaceDirection(eventObject, sprite, DIR_SOUTH); - return 1; + return TRUE; } -u8 MovementAction_FaceUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_FaceUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { FaceDirection(eventObject, sprite, DIR_NORTH); - return 1; + return TRUE; } -u8 MovementAction_FaceLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_FaceLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { FaceDirection(eventObject, sprite, DIR_WEST); - return 1; + return TRUE; } -u8 MovementAction_FaceRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_FaceRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { FaceDirection(eventObject, sprite, DIR_EAST); - return 1; + return TRUE; } -void sub_8060D20(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 a3) +void npc_apply_direction(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed) { s16 x; s16 y; + x = eventObject->currentCoords.x; y = eventObject->currentCoords.y; SetEventObjectDirection(eventObject, direction); MoveCoords(direction, &x, &y); ShiftEventObjectCoords(eventObject, x, y); - oamt_npc_ministep_reset(sprite, direction, a3); - sprite->animPaused = 0; - eventObject->triggerGroundEffectsOnMove = 1; + oamt_npc_ministep_reset(sprite, direction, speed); + sprite->animPaused = FALSE; + eventObject->triggerGroundEffectsOnMove = TRUE; sprite->data[2] = 1; } extern u8 (*const gUnknown_083759C0[5])(u8); -void do_go_anim(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 a3) +void do_go_anim(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed) { u8 (*const functions[5])(u8); memcpy((void *)functions, gUnknown_083759C0, sizeof(gUnknown_083759C0)); - sub_8060D20(eventObject, sprite, direction, a3); - sub_805FE28(eventObject, sprite, functions[a3](eventObject->facingDirection)); + npc_apply_direction(eventObject, sprite, direction, speed); + sub_805FE28(eventObject, sprite, functions[speed](eventObject->facingDirection)); } void StartRunningAnim(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) { - sub_8060D20(eventObject, sprite, direction, 1); + npc_apply_direction(eventObject, sprite, direction, 1); sub_805FE28(eventObject, sprite, GetRunningDirectionAnimNum(eventObject->facingDirection)); } @@ -4921,11 +5025,11 @@ bool8 npc_obj_ministep_stop_on_arrival(struct EventObject *eventObject, struct S if (obj_npc_ministep(sprite)) { ShiftStillEventObjectCoords(eventObject); - eventObject->triggerGroundEffectsOnStop = 1; - sprite->animPaused = 1; - return 1; + eventObject->triggerGroundEffectsOnStop = TRUE; + sprite->animPaused = TRUE; + return TRUE; } - return 0; + return FALSE; } void sub_8060E68(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) @@ -4938,8 +5042,8 @@ void sub_8060E68(struct EventObject *eventObject, struct Sprite *sprite, u8 dire MoveCoords(direction, &x, &y); ShiftEventObjectCoords(eventObject, x, y); sub_806467C(sprite, direction); - sprite->animPaused = 0; - eventObject->triggerGroundEffectsOnMove = 1; + sprite->animPaused = FALSE; + eventObject->triggerGroundEffectsOnMove = TRUE; sprite->data[2] = 1; } @@ -4954,8 +5058,8 @@ bool8 an_walk_any_2(struct EventObject *eventObject, struct Sprite *sprite) if (sub_806468C(sprite)) { ShiftStillEventObjectCoords(eventObject); - eventObject->triggerGroundEffectsOnStop = 1; - sprite->animPaused = 1; + eventObject->triggerGroundEffectsOnStop = TRUE; + sprite->animPaused = TRUE; return TRUE; } return FALSE; @@ -5144,14 +5248,15 @@ u8 sub_806123C(struct EventObject *eventObject, struct Sprite *sprite, u8 (*cons y = 0; MoveCoordsInDirection(eventObject->movementDirection, &x, &y, vSPp4[sprite->data[4]], vSPp4[sprite->data[4]]); ShiftEventObjectCoords(eventObject, eventObject->currentCoords.x + x, eventObject->currentCoords.y + y); - eventObject->triggerGroundEffectsOnMove = 1; - eventObject->disableCoveringGroundEffects = 1; - } else if (retval == 0xff) + eventObject->triggerGroundEffectsOnMove = TRUE; + eventObject->disableCoveringGroundEffects = TRUE; + } + else if (retval == 0xFF) { ShiftStillEventObjectCoords(eventObject); - eventObject->triggerGroundEffectsOnStop = 1; - eventObject->landingJump = 1; - sprite->animPaused = 1; + eventObject->triggerGroundEffectsOnStop = TRUE; + eventObject->landingJump = TRUE; + sprite->animPaused = TRUE; } return retval; } @@ -5217,7 +5322,7 @@ bool8 MovementAction_Jump2Down_Step1(struct EventObject *eventObject, struct Spr { if (sub_8061328(eventObject, sprite)) { - eventObject->hasShadow = 0; + eventObject->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } @@ -5234,7 +5339,7 @@ bool8 MovementAction_Jump2Up_Step1(struct EventObject *eventObject, struct Sprit { if (sub_8061328(eventObject, sprite)) { - eventObject->hasShadow = 0; + eventObject->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } @@ -5251,7 +5356,7 @@ bool8 MovementAction_Jump2Left_Step1(struct EventObject *eventObject, struct Spr { if (sub_8061328(eventObject, sprite)) { - eventObject->hasShadow = 0; + eventObject->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } @@ -5268,7 +5373,7 @@ bool8 MovementAction_Jump2Right_Step1(struct EventObject *eventObject, struct Sp { if (sub_8061328(eventObject, sprite)) { - eventObject->hasShadow = 0; + eventObject->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } @@ -5342,6 +5447,7 @@ bool8 MovementAction_WalkFastDown_Step1(struct EventObject *eventObject, struct } return FALSE; } + bool8 MovementAction_WalkFastUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { do_go_anim(eventObject, sprite, DIR_NORTH, 1); @@ -5357,6 +5463,7 @@ bool8 MovementAction_WalkFastUp_Step1(struct EventObject *eventObject, struct Sp } return FALSE; } + bool8 MovementAction_WalkFastLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { do_go_anim(eventObject, sprite, DIR_WEST, 1); @@ -5372,6 +5479,7 @@ bool8 MovementAction_WalkFastLeft_Step1(struct EventObject *eventObject, struct } return FALSE; } + bool8 MovementAction_WalkFastRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { do_go_anim(eventObject, sprite, DIR_EAST, 1); @@ -5392,7 +5500,7 @@ void sub_80616CC(struct EventObject *eventObject, struct Sprite *sprite, u8 dire { SetEventObjectDirection(eventObject, direction); sub_805FE28(eventObject, sprite, animNum); - sprite->animPaused = 0; + sprite->animPaused = FALSE; sprite->data[2] = 1; sprite->data[3] = duration; } @@ -5403,7 +5511,7 @@ bool8 MovementAction_WalkInPlace_Step1(struct EventObject *eventObject, struct S if (sprite->data[3] == 0) { sprite->data[2] = 2; - sprite->animPaused = 1; + sprite->animPaused = TRUE; return TRUE; } return FALSE; @@ -5853,7 +5961,7 @@ bool8 MovementAction_JumpSpecialDown_Step1(struct EventObject *eventObject, stru if (sub_8061340(eventObject, sprite)) { sprite->data[2] = 2; - eventObject->landingJump = 0; + eventObject->landingJump = FALSE; return TRUE; } return FALSE; @@ -5872,7 +5980,7 @@ bool8 MovementAction_JumpSpecialUp_Step1(struct EventObject *eventObject, struct if (sub_8061340(eventObject, sprite)) { sprite->data[2] = 2; - eventObject->landingJump = 0; + eventObject->landingJump = FALSE; return TRUE; } return FALSE; @@ -5891,7 +5999,7 @@ bool8 MovementAction_JumpSpecialLeft_Step1(struct EventObject *eventObject, stru if (sub_8061340(eventObject, sprite)) { sprite->data[2] = 2; - eventObject->landingJump = 0; + eventObject->landingJump = FALSE; return TRUE; } return FALSE; @@ -5919,6 +6027,7 @@ bool8 MovementAction_JumpSpecialRight_Step1(struct EventObject *eventObject, str bool8 MovementAction_FacePlayer_Step0(struct EventObject *eventObject, struct Sprite *sprite) { u8 playerObjectId; + if (!TryGetEventObjectIdByLocalIdAndMap(0xFF, 0, 0, &playerObjectId)) { FaceDirection(eventObject, sprite, GetDirectionToFace(eventObject->currentCoords.x, eventObject->currentCoords.y, gEventObjects[playerObjectId].currentCoords.x, gEventObjects[playerObjectId].currentCoords.y)); @@ -5930,6 +6039,7 @@ bool8 MovementAction_FacePlayer_Step0(struct EventObject *eventObject, struct Sp bool8 MovementAction_FaceAwayPlayer_Step0(struct EventObject *eventObject, struct Sprite *sprite) { u8 playerObjectId; + if (!TryGetEventObjectIdByLocalIdAndMap(0xFF, 0, 0, &playerObjectId)) { FaceDirection(eventObject, sprite, GetOppositeDirection(GetDirectionToFace(eventObject->currentCoords.x, eventObject->currentCoords.y, gEventObjects[playerObjectId].currentCoords.x, gEventObjects[playerObjectId].currentCoords.y))); @@ -5940,14 +6050,14 @@ bool8 MovementAction_FaceAwayPlayer_Step0(struct EventObject *eventObject, struc bool8 MovementAction_LockFacingDirection_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->facingDirectionLocked = 1; + eventObject->facingDirectionLocked = TRUE; sprite->data[2] = 1; return TRUE; } bool8 MovementAction_UnlockFacingDirection_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->facingDirectionLocked = 0; + eventObject->facingDirectionLocked = FALSE; sprite->data[2] = 1; return TRUE; } @@ -6194,21 +6304,21 @@ bool8 MovementAction_NurseJoyBowDown_Step0(struct EventObject *eventObject, stru bool8 MovementAction_EnableJumpLandingGroundEffect_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->disableJumpLandingGroundEffect = 0; + eventObject->disableJumpLandingGroundEffect = FALSE; sprite->data[2] = 1; return TRUE; } bool8 MovementAction_DisableJumpLandingGroundEffect_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->disableJumpLandingGroundEffect = 1; + eventObject->disableJumpLandingGroundEffect = TRUE; sprite->data[2] = 1; return TRUE; } bool8 MovementAction_DisableAnimation_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->inanimate = 1; + eventObject->inanimate = TRUE; sprite->data[2] = 1; return TRUE; } @@ -6222,14 +6332,14 @@ bool8 MovementAction_RestoreAnimation_Step0(struct EventObject *eventObject, str bool8 MovementAction_SetInvisible_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->invisible = 1; + eventObject->invisible = TRUE; sprite->data[2] = 1; return TRUE; } bool8 MovementAction_SetVisible_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->invisible = 0; + eventObject->invisible = FALSE; sprite->data[2] = 1; return TRUE; } @@ -6309,10 +6419,10 @@ bool8 MovementAction_RockSmashBreak_Step1(struct EventObject *eventObject, struc bool8 MovementAction_RockSmashBreak_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->invisible ^= 1; + eventObject->invisible ^= TRUE; if (WaitForMovementDelay(sprite)) { - eventObject->invisible = 1; + eventObject->invisible = TRUE; sprite->data[2] = 3; } return FALSE; @@ -6337,10 +6447,10 @@ bool8 MovementAction_CutTree_Step1(struct EventObject *eventObject, struct Sprit bool8 MovementAction_CutTree_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->invisible ^= 1; + eventObject->invisible ^= TRUE; if (WaitForMovementDelay(sprite)) { - eventObject->invisible = 1; + eventObject->invisible = TRUE; sprite->data[2] = 3; } return FALSE; @@ -6348,14 +6458,14 @@ bool8 MovementAction_CutTree_Step2(struct EventObject *eventObject, struct Sprit bool8 MovementAction_SetFixedPriority_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->fixedPriority = 1; + eventObject->fixedPriority = TRUE; sprite->data[2] = 1; return TRUE; } bool8 MovementAction_ClearFixedPriority_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->fixedPriority = 0; + eventObject->fixedPriority = FALSE; sprite->data[2] = 1; return TRUE; } @@ -6364,7 +6474,7 @@ bool8 MovementAction_InitAffineAnim_Step0(struct EventObject *eventObject, struc { sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE; InitSpriteAffineAnim(sprite); - sprite->affineAnimPaused = 1; + sprite->affineAnimPaused = TRUE; sprite->subspriteMode = 0; return TRUE; } @@ -6391,7 +6501,7 @@ bool8 MovementAction_WalkDownStartAffine_Step1(struct EventObject *eventObject, { if (an_walk_any_2(eventObject, sprite)) { - sprite->affineAnimPaused = 1; + sprite->affineAnimPaused = TRUE; sprite->data[2] = 2; return TRUE; } @@ -6412,7 +6522,7 @@ bool8 MovementAction_WalkDownAffine_Step1(struct EventObject *eventObject, struc { if (an_walk_any_2(eventObject, sprite)) { - sprite->affineAnimPaused = 1; + sprite->affineAnimPaused = TRUE; sprite->data[2] = 2; return TRUE; } @@ -6543,7 +6653,7 @@ bool8 MovementAction_AcroWheelieHopFaceDown_Step1(struct EventObject *eventObjec { if (sub_8061328(eventObject, sprite)) { - eventObject->hasShadow = 0; + eventObject->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } @@ -6562,7 +6672,7 @@ bool8 MovementAction_AcroWheelieHopFaceUp_Step1(struct EventObject *eventObject, { if (sub_8061328(eventObject, sprite)) { - eventObject->hasShadow = 0; + eventObject->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } @@ -6581,7 +6691,7 @@ bool8 MovementAction_AcroWheelieHopFaceLeft_Step1(struct EventObject *eventObjec { if (sub_8061328(eventObject, sprite)) { - eventObject->hasShadow = 0; + eventObject->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } @@ -6600,7 +6710,7 @@ bool8 MovementAction_AcroWheelieHopFaceRight_Step1(struct EventObject *eventObje { if (sub_8061328(eventObject, sprite)) { - eventObject->hasShadow = 0; + eventObject->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } @@ -6619,7 +6729,7 @@ bool8 MovementAction_AcroWheelieHopDown_Step1(struct EventObject *eventObject, s { if (sub_8061328(eventObject, sprite)) { - eventObject->hasShadow = 0; + eventObject->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } @@ -6638,7 +6748,7 @@ bool8 MovementAction_AcroWheelieHopUp_Step1(struct EventObject *eventObject, str { if (sub_8061328(eventObject, sprite)) { - eventObject->hasShadow = 0; + eventObject->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } @@ -6657,7 +6767,7 @@ bool8 MovementAction_AcroWheelieHopLeft_Step1(struct EventObject *eventObject, s { if (sub_8061328(eventObject, sprite)) { - eventObject->hasShadow = 0; + eventObject->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } @@ -6676,7 +6786,7 @@ bool8 MovementAction_AcroWheelieHopRight_Step1(struct EventObject *eventObject, { if (sub_8061328(eventObject, sprite)) { - eventObject->hasShadow = 0; + eventObject->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } @@ -6695,7 +6805,7 @@ bool8 MovementAction_AcroWheelieJumpDown_Step1(struct EventObject *eventObject, { if (sub_8061328(eventObject, sprite)) { - eventObject->hasShadow = 0; + eventObject->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } @@ -6714,7 +6824,7 @@ bool8 MovementAction_AcroWheelieJumpUp_Step1(struct EventObject *eventObject, st { if (sub_8061328(eventObject, sprite)) { - eventObject->hasShadow = 0; + eventObject->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } @@ -6733,7 +6843,7 @@ bool8 MovementAction_AcroWheelieJumpLeft_Step1(struct EventObject *eventObject, { if (sub_8061328(eventObject, sprite)) { - eventObject->hasShadow = 0; + eventObject->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } @@ -6752,7 +6862,7 @@ bool8 MovementAction_AcroWheelieJumpRight_Step1(struct EventObject *eventObject, { if (sub_8061328(eventObject, sprite)) { - eventObject->hasShadow = 0; + eventObject->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } @@ -6783,9 +6893,9 @@ bool8 MovementAction_AcroWheelieInPlaceRight_Step0(struct EventObject *eventObje return MovementAction_WalkInPlace_Step1(eventObject, sprite); } -void sub_80630D0(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 a3) +void sub_80630D0(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed) { - sub_8060D20(eventObject, sprite, direction, a3); + npc_apply_direction(eventObject, sprite, direction, speed); StartSpriteAnim(sprite, GetAcroWheelieDirectionAnimNum(eventObject->facingDirection)); SeekSpriteAnim(sprite, 0); } @@ -6862,9 +6972,9 @@ bool8 MovementAction_AcroPopWheelieMoveRight_Step1(struct EventObject *eventObje return FALSE; } -void sub_8063208(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 a3) +void sub_8063208(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed) { - sub_8060D20(eventObject, sprite, direction, a3); + npc_apply_direction(eventObject, sprite, direction, speed); sub_805FE28(eventObject, sprite, GetAcroWheeliePedalDirectionAnimNum(eventObject->facingDirection)); } @@ -6940,9 +7050,9 @@ bool8 MovementAction_AcroWheelieMoveRight_Step1(struct EventObject *eventObject, return FALSE; } -void sub_8063338(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 a3) +void sub_8063338(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed) { - sub_8060D20(eventObject, sprite, direction, a3); + npc_apply_direction(eventObject, sprite, direction, speed); StartSpriteAnim(sprite, GetAcroEndWheelieDirectionAnimNum(eventObject->facingDirection)); SeekSpriteAnim(sprite, 0); } @@ -7026,23 +7136,23 @@ bool8 MovementAction_Finish(struct EventObject *eventObject, struct Sprite *spri bool8 MovementAction_PauseSpriteAnim(struct EventObject *eventObject, struct Sprite *sprite) { - sprite->animPaused = 1; + sprite->animPaused = TRUE; return TRUE; } static void UpdateEventObjectSpriteAnimPause(struct EventObject *eventObject, struct Sprite *sprite) { if (eventObject->disableAnim) - sprite->animPaused = 1; + sprite->animPaused = TRUE; } static void TryEnableEventObjectAnim(struct EventObject *eventObject, struct Sprite *sprite) { if (eventObject->enableAnim) { - sprite->animPaused = 0; - eventObject->disableAnim = 0; - eventObject->enableAnim = 0; + sprite->animPaused = FALSE; + eventObject->disableAnim = FALSE; + eventObject->enableAnim = FALSE; } } @@ -7057,7 +7167,7 @@ static void UpdateEventObjectIsOffscreen(struct EventObject *eventObject, struct u16 x, y; s16 x2, y2; const struct EventObjectGraphicsInfo *graphicsInfo; - eventObject->offScreen = 0; + eventObject->offScreen = FALSE; graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); if (sprite->coordOffsetEnabled) { @@ -7074,20 +7184,20 @@ static void UpdateEventObjectIsOffscreen(struct EventObject *eventObject, struct y2 = graphicsInfo->height + (s16)y; if ((s16)x >= 0x100 || x2 < -0x10) { - eventObject->offScreen = 1; + eventObject->offScreen = TRUE; } if ((s16)y >= 0xB0 || y2 < -0x10) { - eventObject->offScreen = 1; + eventObject->offScreen = TRUE; } } static void UpdateEventObjSpriteVisibility(struct EventObject *eventObject, struct Sprite *sprite) { - sprite->invisible = 0; + sprite->invisible = FALSE; if (eventObject->invisible || eventObject->offScreen) { - sprite->invisible = 1; + sprite->invisible = TRUE; } } @@ -7130,13 +7240,13 @@ static void GetAllGroundEffectFlags_OnFinishStep(struct EventObject *eventObj, u GetGroundEffectFlags_JumpLanding(eventObj, flags); } -void EventObjectUpdateMetatileBehaviors(struct EventObject *eventObj) +static void EventObjectUpdateMetatileBehaviors(struct EventObject *eventObj) { eventObj->previousMetatileBehavior = MapGridGetMetatileBehaviorAt(eventObj->previousCoords.x, eventObj->previousCoords.y); eventObj->currentMetatileBehavior = MapGridGetMetatileBehaviorAt(eventObj->currentCoords.x, eventObj->currentCoords.y); } -void GetGroundEffectFlags_Reflection(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_Reflection(struct EventObject *eventObj, u32 *flags) { u32 reflectionFlags[2] = { GROUND_EFFECT_FLAG_REFLECTION, GROUND_EFFECT_FLAG_ICE_REFLECTION }; u8 type = EventObjectCheckForReflectiveSurface(eventObj); @@ -7156,31 +7266,31 @@ void GetGroundEffectFlags_Reflection(struct EventObject *eventObj, u32 *flags) } } -void GetGroundEffectFlags_TallGrassOnSpawn(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_TallGrassOnSpawn(struct EventObject *eventObj, u32 *flags) { if (MetatileBehavior_IsTallGrass(eventObj->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_TALL_GRASS_ON_SPAWN; } -void GetGroundEffectFlags_TallGrassOnBeginStep(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_TallGrassOnBeginStep(struct EventObject *eventObj, u32 *flags) { if (MetatileBehavior_IsTallGrass(eventObj->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_TALL_GRASS_ON_MOVE; } -void GetGroundEffectFlags_LongGrassOnSpawn(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_LongGrassOnSpawn(struct EventObject *eventObj, u32 *flags) { if (MetatileBehavior_IsLongGrass(eventObj->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_LONG_GRASS_ON_SPAWN; } -void GetGroundEffectFlags_LongGrassOnBeginStep(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_LongGrassOnBeginStep(struct EventObject *eventObj, u32 *flags) { if (MetatileBehavior_IsLongGrass(eventObj->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_LONG_GRASS_ON_MOVE; } -void GetGroundEffectFlags_Tracks(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_Tracks(struct EventObject *eventObj, u32 *flags) { if (MetatileBehavior_IsDeepSand(eventObj->previousMetatileBehavior)) { @@ -7193,7 +7303,7 @@ void GetGroundEffectFlags_Tracks(struct EventObject *eventObj, u32 *flags) } } -void GetGroundEffectFlags_SandPile(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_SandPile(struct EventObject *eventObj, u32 *flags) { if (MetatileBehavior_IsDeepSand(eventObj->currentMetatileBehavior) && MetatileBehavior_IsDeepSand(eventObj->previousMetatileBehavior)) @@ -7211,7 +7321,7 @@ void GetGroundEffectFlags_SandPile(struct EventObject *eventObj, u32 *flags) } } -void GetGroundEffectFlags_ShallowFlowingWater(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_ShallowFlowingWater(struct EventObject *eventObj, u32 *flags) { if ((MetatileBehavior_IsShallowFlowingWater(eventObj->currentMetatileBehavior) && MetatileBehavior_IsShallowFlowingWater(eventObj->previousMetatileBehavior)) @@ -7231,7 +7341,7 @@ void GetGroundEffectFlags_ShallowFlowingWater(struct EventObject *eventObj, u32 } } -void GetGroundEffectFlags_Puddle(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_Puddle(struct EventObject *eventObj, u32 *flags) { if (MetatileBehavior_IsPuddle(eventObj->currentMetatileBehavior) && MetatileBehavior_IsPuddle(eventObj->previousMetatileBehavior)) @@ -7240,13 +7350,13 @@ void GetGroundEffectFlags_Puddle(struct EventObject *eventObj, u32 *flags) } } -void GetGroundEffectFlags_Ripple(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_Ripple(struct EventObject *eventObj, u32 *flags) { if (MetatileBehavior_HasRipples(eventObj->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_RIPPLES; } -void GetGroundEffectFlags_ShortGrass(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_ShortGrass(struct EventObject *eventObj, u32 *flags) { if (MetatileBehavior_IsShortGrass(eventObj->currentMetatileBehavior) && MetatileBehavior_IsShortGrass(eventObj->previousMetatileBehavior)) @@ -7264,7 +7374,7 @@ void GetGroundEffectFlags_ShortGrass(struct EventObject *eventObj, u32 *flags) } } -void GetGroundEffectFlags_HotSprings(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_HotSprings(struct EventObject *eventObj, u32 *flags) { if (MetatileBehavior_IsHotSprings(eventObj->currentMetatileBehavior) && MetatileBehavior_IsHotSprings(eventObj->previousMetatileBehavior)) @@ -7282,13 +7392,13 @@ void GetGroundEffectFlags_HotSprings(struct EventObject *eventObj, u32 *flags) } } -void GetGroundEffectFlags_Seaweed(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_Seaweed(struct EventObject *eventObj, u32 *flags) { if (MetatileBehavior_IsSeaweed(eventObj->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_SEAWEED; } -void GetGroundEffectFlags_JumpLanding(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_JumpLanding(struct EventObject *eventObj, u32 *flags) { typedef bool8 (*MetatileFunc)(u8); @@ -7325,7 +7435,7 @@ void GetGroundEffectFlags_JumpLanding(struct EventObject *eventObj, u32 *flags) } } -u8 EventObjectCheckForReflectiveSurface(struct EventObject *eventObj) +static u8 EventObjectCheckForReflectiveSurface(struct EventObject *eventObj) { const struct EventObjectGraphicsInfo *info = GetEventObjectGraphicsInfo(eventObj->graphicsId); @@ -7397,7 +7507,7 @@ u8 GetLedgeJumpDirection(s16 x, s16 y, u8 z) return 0; } -void SetEventObjectSpriteOamTableForLongGrass(struct EventObject *eventObj, struct Sprite *sprite) +static void SetEventObjectSpriteOamTableForLongGrass(struct EventObject *eventObj, struct Sprite *sprite) { if (eventObj->disableCoveringGroundEffects) return; @@ -7857,7 +7967,7 @@ bool8 FreezeEventObject(struct EventObject *eventObject) void FreezeEventObjects(void) { u8 i; - for (i = 0; i < 16; i++) + for (i = 0; i < EVENT_OBJECTS_COUNT; i++) if (gEventObjects[i].active && i != gPlayerAvatar.eventObjectId) FreezeEventObject(&gEventObjects[i]); } @@ -7865,7 +7975,7 @@ void FreezeEventObjects(void) void FreezeEventObjectsExceptOne(u8 eventObjectId) { u8 i; - for (i = 0; i < 16; i++) + for (i = 0; i < EVENT_OBJECTS_COUNT; i++) if (i != eventObjectId && gEventObjects[i].active && i != gPlayerAvatar.eventObjectId) FreezeEventObject(&gEventObjects[i]); } @@ -7883,7 +7993,7 @@ void UnfreezeEventObject(struct EventObject *eventObject) void UnfreezeEventObjects(void) { u8 i; - for (i = 0; i < 16; i++) + for (i = 0; i < EVENT_OBJECTS_COUNT; i++) if (gEventObjects[i].active) UnfreezeEventObject(&gEventObjects[i]); } @@ -8127,7 +8237,7 @@ static bool8 WaitForMovementDelay(struct Sprite *sprite) void SetAndStartSpriteAnim(struct Sprite *sprite, u8 animNum, u8 animCmdIndex) { sprite->animNum = animNum; - sprite->animPaused = 0; + sprite->animPaused = FALSE; SeekSpriteAnim(sprite, animCmdIndex); } @@ -8161,9 +8271,9 @@ void UpdateEventObjectSpriteVisibility(struct Sprite *sprite, bool8 invisible) y2 = y - (sprite->centerToCornerVecY >> 1); if ((s16)x > 255 || x2 < -16) - sprite->invisible = 1; + sprite->invisible = TRUE; if ((s16)y > 175 || y2 < -16) - sprite->invisible = 1; + sprite->invisible = TRUE; } static void UpdateEventObjectSpriteSubpriorityAndVisibility(struct Sprite *sprite) @@ -8202,11 +8312,11 @@ void DoShadowFieldEffect(struct EventObject *eventObject) } } -void DoRippleFieldEffect(struct EventObject *eventObject, struct Sprite *sprite) +static void DoRippleFieldEffect(struct EventObject *eventObject, struct Sprite *sprite) { - const struct EventObjectGraphicsInfo *gfxInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); + const struct EventObjectGraphicsInfo *graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); gFieldEffectArguments[0] = sprite->pos1.x; - gFieldEffectArguments[1] = sprite->pos1.y + (gfxInfo->height >> 1) - 2; + gFieldEffectArguments[1] = sprite->pos1.y + (graphicsInfo->height >> 1) - 2; gFieldEffectArguments[2] = 151; gFieldEffectArguments[3] = 3; FieldEffectStart(FLDEFF_RIPPLE); |