Merge branch 'master' of https://github.com/GriffinRichards/pokefirered into clone-union
This commit is contained in:
+247
-286
@@ -32,32 +32,32 @@ static bool8 IsMetatileDirectionallyImpassable(struct ObjectEvent *, s16, s16, u
|
||||
static bool8 DoesObjectCollideWithObjectAt(struct ObjectEvent *, s16, s16);
|
||||
static void CalcWhetherObjectIsOffscreen(struct ObjectEvent *, struct Sprite *);
|
||||
static void UpdateObjEventSpriteVisibility(struct ObjectEvent *, struct Sprite *);
|
||||
static void ObjectEventUpdateMetatileBehaviors(struct ObjectEvent*);
|
||||
static void GetGroundEffectFlags_Reflection(struct ObjectEvent*, u32*);
|
||||
static void GetGroundEffectFlags_TallGrassOnSpawn(struct ObjectEvent*, u32*);
|
||||
static void GetGroundEffectFlags_LongGrassOnSpawn(struct ObjectEvent*, u32*);
|
||||
static void GetGroundEffectFlags_SandHeap(struct ObjectEvent*, u32*);
|
||||
static void GetGroundEffectFlags_ShallowFlowingWater(struct ObjectEvent*, u32*);
|
||||
static void GetGroundEffectFlags_ShortGrass(struct ObjectEvent*, u32*);
|
||||
static void GetGroundEffectFlags_HotSprings(struct ObjectEvent*, u32*);
|
||||
static void GetGroundEffectFlags_TallGrassOnBeginStep(struct ObjectEvent*, u32*);
|
||||
static void GetGroundEffectFlags_LongGrassOnBeginStep(struct ObjectEvent*, u32*);
|
||||
static void GetGroundEffectFlags_Tracks(struct ObjectEvent*, u32*);
|
||||
static void GetGroundEffectFlags_Puddle(struct ObjectEvent*, u32*);
|
||||
static void GetGroundEffectFlags_Ripple(struct ObjectEvent*, u32*);
|
||||
static void GetGroundEffectFlags_Seaweed(struct ObjectEvent*, u32*);
|
||||
static void GetGroundEffectFlags_JumpLanding(struct ObjectEvent*, u32*);
|
||||
static u8 ObjectEventCheckForReflectiveSurface(struct ObjectEvent*);
|
||||
static void ObjectEventUpdateMetatileBehaviors(struct ObjectEvent *);
|
||||
static void GetGroundEffectFlags_Reflection(struct ObjectEvent *, u32 *);
|
||||
static void GetGroundEffectFlags_TallGrassOnSpawn(struct ObjectEvent *, u32 *);
|
||||
static void GetGroundEffectFlags_LongGrassOnSpawn(struct ObjectEvent *, u32 *);
|
||||
static void GetGroundEffectFlags_SandHeap(struct ObjectEvent *, u32 *);
|
||||
static void GetGroundEffectFlags_ShallowFlowingWater(struct ObjectEvent *, u32 *);
|
||||
static void GetGroundEffectFlags_ShortGrass(struct ObjectEvent *, u32 *);
|
||||
static void GetGroundEffectFlags_HotSprings(struct ObjectEvent *, u32 *);
|
||||
static void GetGroundEffectFlags_TallGrassOnBeginStep(struct ObjectEvent *, u32 *);
|
||||
static void GetGroundEffectFlags_LongGrassOnBeginStep(struct ObjectEvent *, u32 *);
|
||||
static void GetGroundEffectFlags_Tracks(struct ObjectEvent *, u32 *);
|
||||
static void GetGroundEffectFlags_Puddle(struct ObjectEvent *, u32 *);
|
||||
static void GetGroundEffectFlags_Ripple(struct ObjectEvent *, u32 *);
|
||||
static void GetGroundEffectFlags_Seaweed(struct ObjectEvent *, u32 *);
|
||||
static void GetGroundEffectFlags_JumpLanding(struct ObjectEvent *, u32 *);
|
||||
static u8 ObjectEventCheckForReflectiveSurface(struct ObjectEvent *);
|
||||
static u8 GetReflectionTypeByMetatileBehavior(u32);
|
||||
static void InitObjectPriorityByZCoord(struct Sprite *sprite, u8 z);
|
||||
static void ObjectEventUpdateSubpriority(struct ObjectEvent*, struct Sprite*);
|
||||
static void DoTracksGroundEffect_None(struct ObjectEvent*, struct Sprite*, u8);
|
||||
static void DoTracksGroundEffect_Footprints(struct ObjectEvent*, struct Sprite*, u8);
|
||||
static void DoTracksGroundEffect_BikeTireTracks(struct ObjectEvent*, struct Sprite*, u8);
|
||||
static void DoRippleFieldEffect(struct ObjectEvent*, struct Sprite*);
|
||||
static void DoGroundEffects_OnSpawn(struct ObjectEvent*, struct Sprite*);
|
||||
static void DoGroundEffects_OnBeginStep(struct ObjectEvent*, struct Sprite*);
|
||||
static void DoGroundEffects_OnFinishStep(struct ObjectEvent*, struct Sprite*);
|
||||
static void ObjectEventUpdateSubpriority(struct ObjectEvent *, struct Sprite *);
|
||||
static void DoTracksGroundEffect_None(struct ObjectEvent *, struct Sprite *, u8);
|
||||
static void DoTracksGroundEffect_Footprints(struct ObjectEvent *, struct Sprite *, u8);
|
||||
static void DoTracksGroundEffect_BikeTireTracks(struct ObjectEvent *, struct Sprite *, u8);
|
||||
static void DoRippleFieldEffect(struct ObjectEvent *, struct Sprite *);
|
||||
static void DoGroundEffects_OnSpawn(struct ObjectEvent *, struct Sprite *);
|
||||
static void DoGroundEffects_OnBeginStep(struct ObjectEvent *, struct Sprite *);
|
||||
static void DoGroundEffects_OnFinishStep(struct ObjectEvent *, struct Sprite *);
|
||||
static void CreateReflectionEffectSprites(void);
|
||||
static u8 GetObjectEventIdByLocalId(u8);
|
||||
static u8 GetObjectEventIdByLocalIdAndMapInternal(u8, u8, u8);
|
||||
@@ -94,7 +94,7 @@ static u8 MovementType_VsSeeker4D_Callback(struct ObjectEvent *, struct Sprite *
|
||||
static u8 MovementType_VsSeeker4E_Callback(struct ObjectEvent *, struct Sprite *);
|
||||
static u8 MovementType_VsSeeker4F_Callback(struct ObjectEvent *, struct Sprite *);
|
||||
static void sub_8064544(struct ObjectEvent *, struct Sprite *);
|
||||
static void DoObjectUnionRoomWarpYDisplacement(struct Sprite * sprite);
|
||||
static void DoObjectUnionRoomWarpYDisplacement(struct Sprite *sprite);
|
||||
static void MovementType_None(struct Sprite *);
|
||||
static void MovementType_LookAround(struct Sprite *);
|
||||
static void MovementType_WanderAround(struct Sprite *);
|
||||
@@ -181,7 +181,7 @@ const u8 gReflectionEffectPaletteMap[16] = {1, 1, 6, 7, 8, 9, 6, 7, 8, 9, 11, 11
|
||||
|
||||
static const struct SpriteTemplate gCameraSpriteTemplate = {
|
||||
.tileTag = 0,
|
||||
.paletteTag = SPRITE_INVALID_TAG,
|
||||
.paletteTag = TAG_NONE,
|
||||
.oam = &gDummyOamData,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
@@ -282,31 +282,11 @@ static void (*const sMovementTypeCallbacks[MOVEMENT_TYPES_COUNT])(struct Sprite
|
||||
};
|
||||
|
||||
static const bool8 gRangedMovementTypes[MOVEMENT_TYPES_COUNT] = {
|
||||
[MOVEMENT_TYPE_NONE] = FALSE,
|
||||
[MOVEMENT_TYPE_LOOK_AROUND] = FALSE,
|
||||
[MOVEMENT_TYPE_WANDER_AROUND] = TRUE,
|
||||
[MOVEMENT_TYPE_WANDER_UP_AND_DOWN] = TRUE,
|
||||
[MOVEMENT_TYPE_WANDER_DOWN_AND_UP] = TRUE,
|
||||
[MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT] = TRUE,
|
||||
[MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT] = TRUE,
|
||||
[MOVEMENT_TYPE_FACE_UP] = FALSE,
|
||||
[MOVEMENT_TYPE_FACE_DOWN] = FALSE,
|
||||
[MOVEMENT_TYPE_FACE_LEFT] = FALSE,
|
||||
[MOVEMENT_TYPE_FACE_RIGHT] = FALSE,
|
||||
[MOVEMENT_TYPE_PLAYER] = FALSE,
|
||||
[MOVEMENT_TYPE_BERRY_TREE_GROWTH] = FALSE,
|
||||
[MOVEMENT_TYPE_FACE_DOWN_AND_UP] = FALSE,
|
||||
[MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT] = FALSE,
|
||||
[MOVEMENT_TYPE_FACE_UP_AND_LEFT] = FALSE,
|
||||
[MOVEMENT_TYPE_FACE_UP_AND_RIGHT] = FALSE,
|
||||
[MOVEMENT_TYPE_FACE_DOWN_AND_LEFT] = FALSE,
|
||||
[MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT] = FALSE,
|
||||
[MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT] = FALSE,
|
||||
[MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT] = FALSE,
|
||||
[MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT] = FALSE,
|
||||
[MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT] = FALSE,
|
||||
[MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE] = FALSE,
|
||||
[MOVEMENT_TYPE_ROTATE_CLOCKWISE] = FALSE,
|
||||
[MOVEMENT_TYPE_WALK_UP_AND_DOWN] = TRUE,
|
||||
[MOVEMENT_TYPE_WALK_DOWN_AND_UP] = TRUE,
|
||||
[MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT] = TRUE,
|
||||
@@ -339,29 +319,10 @@ static const bool8 gRangedMovementTypes[MOVEMENT_TYPES_COUNT] = {
|
||||
[MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE] = TRUE,
|
||||
[MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE] = TRUE,
|
||||
[MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE] = TRUE,
|
||||
[MOVEMENT_TYPE_TREE_DISGUISE] = FALSE,
|
||||
[MOVEMENT_TYPE_MOUNTAIN_DISGUISE] = FALSE,
|
||||
[MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS] = TRUE,
|
||||
[MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS] = TRUE,
|
||||
[MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS] = TRUE,
|
||||
[MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS] = TRUE,
|
||||
[MOVEMENT_TYPE_BURIED] = FALSE,
|
||||
[MOVEMENT_TYPE_WALK_IN_PLACE_DOWN] = FALSE,
|
||||
[MOVEMENT_TYPE_WALK_IN_PLACE_UP] = FALSE,
|
||||
[MOVEMENT_TYPE_WALK_IN_PLACE_LEFT] = FALSE,
|
||||
[MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT] = FALSE,
|
||||
[MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_DOWN] = FALSE,
|
||||
[MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP] = FALSE,
|
||||
[MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT] = FALSE,
|
||||
[MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT] = FALSE,
|
||||
[MOVEMENT_TYPE_JOG_IN_PLACE_DOWN] = FALSE,
|
||||
[MOVEMENT_TYPE_JOG_IN_PLACE_UP] = FALSE,
|
||||
[MOVEMENT_TYPE_JOG_IN_PLACE_LEFT] = FALSE,
|
||||
[MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT] = FALSE,
|
||||
[MOVEMENT_TYPE_INVISIBLE] = FALSE,
|
||||
[MOVEMENT_TYPE_VS_SEEKER_4D] = FALSE,
|
||||
[MOVEMENT_TYPE_VS_SEEKER_4E] = FALSE,
|
||||
[MOVEMENT_TYPE_VS_SEEKER_4F] = FALSE,
|
||||
[MOVEMENT_TYPE_WANDER_AROUND_SLOWER] = TRUE,
|
||||
};
|
||||
|
||||
@@ -691,208 +652,208 @@ static const s16 gMovementDelaysShort[] = {32, 48, 64, 80};
|
||||
|
||||
#include "data/object_events/movement_type_func_tables.h"
|
||||
|
||||
static const u8 gFaceDirectionAnimNums[] = {
|
||||
[DIR_NONE] = 0x00,
|
||||
[DIR_SOUTH] = 0x00,
|
||||
[DIR_NORTH] = 0x01,
|
||||
[DIR_WEST] = 0x02,
|
||||
[DIR_EAST] = 0x03,
|
||||
[DIR_SOUTHWEST] = 0x00,
|
||||
[DIR_SOUTHEAST] = 0x00,
|
||||
[DIR_NORTHWEST] = 0x01,
|
||||
[DIR_NORTHEAST] = 0x01,
|
||||
static const u8 sFaceDirectionAnimNums[] = {
|
||||
[DIR_NONE] = ANIM_STD_FACE_SOUTH,
|
||||
[DIR_SOUTH] = ANIM_STD_FACE_SOUTH,
|
||||
[DIR_NORTH] = ANIM_STD_FACE_NORTH,
|
||||
[DIR_WEST] = ANIM_STD_FACE_WEST,
|
||||
[DIR_EAST] = ANIM_STD_FACE_EAST,
|
||||
[DIR_SOUTHWEST] = ANIM_STD_FACE_SOUTH,
|
||||
[DIR_SOUTHEAST] = ANIM_STD_FACE_SOUTH,
|
||||
[DIR_NORTHWEST] = ANIM_STD_FACE_NORTH,
|
||||
[DIR_NORTHEAST] = ANIM_STD_FACE_NORTH,
|
||||
};
|
||||
|
||||
static const u8 gMoveDirectionAnimNums[] = {
|
||||
[DIR_NONE] = 0x4,
|
||||
[DIR_SOUTH] = 0x4,
|
||||
[DIR_NORTH] = 0x5,
|
||||
[DIR_WEST] = 0x6,
|
||||
[DIR_EAST] = 0x7,
|
||||
[DIR_SOUTHWEST] = 0x4,
|
||||
[DIR_SOUTHEAST] = 0x4,
|
||||
[DIR_NORTHWEST] = 0x5,
|
||||
[DIR_NORTHEAST] = 0x5,
|
||||
static const u8 sMoveDirectionAnimNums[] = {
|
||||
[DIR_NONE] = ANIM_STD_GO_SOUTH,
|
||||
[DIR_SOUTH] = ANIM_STD_GO_SOUTH,
|
||||
[DIR_NORTH] = ANIM_STD_GO_NORTH,
|
||||
[DIR_WEST] = ANIM_STD_GO_WEST,
|
||||
[DIR_EAST] = ANIM_STD_GO_EAST,
|
||||
[DIR_SOUTHWEST] = ANIM_STD_GO_SOUTH,
|
||||
[DIR_SOUTHEAST] = ANIM_STD_GO_SOUTH,
|
||||
[DIR_NORTHWEST] = ANIM_STD_GO_NORTH,
|
||||
[DIR_NORTHEAST] = ANIM_STD_GO_NORTH,
|
||||
};
|
||||
|
||||
static const u8 gMoveDirectionFastAnimNums[] = {
|
||||
[DIR_NONE] = 0x8,
|
||||
[DIR_SOUTH] = 0x8,
|
||||
[DIR_NORTH] = 0x9,
|
||||
[DIR_WEST] = 0xA,
|
||||
[DIR_EAST] = 0xB,
|
||||
[DIR_SOUTHWEST] = 0x8,
|
||||
[DIR_SOUTHEAST] = 0x8,
|
||||
[DIR_NORTHWEST] = 0x9,
|
||||
[DIR_NORTHEAST] = 0x9,
|
||||
static const u8 sMoveDirectionFastAnimNums[] = {
|
||||
[DIR_NONE] = ANIM_STD_GO_FAST_SOUTH,
|
||||
[DIR_SOUTH] = ANIM_STD_GO_FAST_SOUTH,
|
||||
[DIR_NORTH] = ANIM_STD_GO_FAST_NORTH,
|
||||
[DIR_WEST] = ANIM_STD_GO_FAST_WEST,
|
||||
[DIR_EAST] = ANIM_STD_GO_FAST_EAST,
|
||||
[DIR_SOUTHWEST] = ANIM_STD_GO_FAST_SOUTH,
|
||||
[DIR_SOUTHEAST] = ANIM_STD_GO_FAST_SOUTH,
|
||||
[DIR_NORTHWEST] = ANIM_STD_GO_FAST_NORTH,
|
||||
[DIR_NORTHEAST] = ANIM_STD_GO_FAST_NORTH,
|
||||
};
|
||||
|
||||
static const u8 gMoveDirectionFasterAnimNums[] = {
|
||||
[DIR_NONE] = 0xC,
|
||||
[DIR_SOUTH] = 0xC,
|
||||
[DIR_NORTH] = 0xD,
|
||||
[DIR_WEST] = 0xE,
|
||||
[DIR_EAST] = 0xF,
|
||||
[DIR_SOUTHWEST] = 0xC,
|
||||
[DIR_SOUTHEAST] = 0xC,
|
||||
[DIR_NORTHWEST] = 0xD,
|
||||
[DIR_NORTHEAST] = 0xD,
|
||||
static const u8 sMoveDirectionFasterAnimNums[] = {
|
||||
[DIR_NONE] = ANIM_STD_GO_FASTER_SOUTH,
|
||||
[DIR_SOUTH] = ANIM_STD_GO_FASTER_SOUTH,
|
||||
[DIR_NORTH] = ANIM_STD_GO_FASTER_NORTH,
|
||||
[DIR_WEST] = ANIM_STD_GO_FASTER_WEST,
|
||||
[DIR_EAST] = ANIM_STD_GO_FASTER_EAST,
|
||||
[DIR_SOUTHWEST] = ANIM_STD_GO_FASTER_SOUTH,
|
||||
[DIR_SOUTHEAST] = ANIM_STD_GO_FASTER_SOUTH,
|
||||
[DIR_NORTHWEST] = ANIM_STD_GO_FASTER_NORTH,
|
||||
[DIR_NORTHEAST] = ANIM_STD_GO_FASTER_NORTH,
|
||||
};
|
||||
|
||||
static const u8 gMoveDirectionFastestAnimNums[] = {
|
||||
[DIR_NONE] = 0x10,
|
||||
[DIR_SOUTH] = 0x10,
|
||||
[DIR_NORTH] = 0x11,
|
||||
[DIR_WEST] = 0x12,
|
||||
[DIR_EAST] = 0x13,
|
||||
[DIR_SOUTHWEST] = 0x10,
|
||||
[DIR_SOUTHEAST] = 0x10,
|
||||
[DIR_NORTHWEST] = 0x11,
|
||||
[DIR_NORTHEAST] = 0x11,
|
||||
static const u8 sMoveDirectionFastestAnimNums[] = {
|
||||
[DIR_NONE] = ANIM_STD_GO_FASTEST_SOUTH,
|
||||
[DIR_SOUTH] = ANIM_STD_GO_FASTEST_SOUTH,
|
||||
[DIR_NORTH] = ANIM_STD_GO_FASTEST_NORTH,
|
||||
[DIR_WEST] = ANIM_STD_GO_FASTEST_WEST,
|
||||
[DIR_EAST] = ANIM_STD_GO_FASTEST_EAST,
|
||||
[DIR_SOUTHWEST] = ANIM_STD_GO_FASTEST_SOUTH,
|
||||
[DIR_SOUTHEAST] = ANIM_STD_GO_FASTEST_SOUTH,
|
||||
[DIR_NORTHWEST] = ANIM_STD_GO_FASTEST_NORTH,
|
||||
[DIR_NORTHEAST] = ANIM_STD_GO_FASTEST_NORTH,
|
||||
};
|
||||
|
||||
static const u8 gJumpSpecialDirectionAnimNums[] = {
|
||||
[DIR_NONE] = 0x14,
|
||||
[DIR_SOUTH] = 0x14,
|
||||
[DIR_NORTH] = 0x15,
|
||||
[DIR_WEST] = 0x16,
|
||||
[DIR_EAST] = 0x17,
|
||||
[DIR_SOUTHWEST] = 0x14,
|
||||
[DIR_SOUTHEAST] = 0x14,
|
||||
[DIR_NORTHWEST] = 0x15,
|
||||
[DIR_NORTHEAST] = 0x15,
|
||||
static const u8 sJumpSpecialDirectionAnimNums[] = {
|
||||
[DIR_NONE] = ANIM_GET_ON_OFF_POKEMON_SOUTH,
|
||||
[DIR_SOUTH] = ANIM_GET_ON_OFF_POKEMON_SOUTH,
|
||||
[DIR_NORTH] = ANIM_GET_ON_OFF_POKEMON_NORTH,
|
||||
[DIR_WEST] = ANIM_GET_ON_OFF_POKEMON_WEST,
|
||||
[DIR_EAST] = ANIM_GET_ON_OFF_POKEMON_EAST,
|
||||
[DIR_SOUTHWEST] = ANIM_GET_ON_OFF_POKEMON_SOUTH,
|
||||
[DIR_SOUTHEAST] = ANIM_GET_ON_OFF_POKEMON_SOUTH,
|
||||
[DIR_NORTHWEST] = ANIM_GET_ON_OFF_POKEMON_NORTH,
|
||||
[DIR_NORTHEAST] = ANIM_GET_ON_OFF_POKEMON_NORTH,
|
||||
};
|
||||
|
||||
static const u8 gAcroWheelieDirectionAnimNums[] = {
|
||||
[DIR_NONE] = 0x14,
|
||||
[DIR_SOUTH] = 0x14,
|
||||
[DIR_NORTH] = 0x15,
|
||||
[DIR_WEST] = 0x16,
|
||||
[DIR_EAST] = 0x17,
|
||||
[DIR_SOUTHWEST] = 0x14,
|
||||
[DIR_SOUTHEAST] = 0x14,
|
||||
[DIR_NORTHWEST] = 0x15,
|
||||
[DIR_NORTHEAST] = 0x15,
|
||||
static const u8 sAcroBunnyHopBackWheelDirectionAnimNums[] = {
|
||||
[DIR_NONE] = ANIM_BUNNY_HOP_BACK_WHEEL_SOUTH,
|
||||
[DIR_SOUTH] = ANIM_BUNNY_HOP_BACK_WHEEL_SOUTH,
|
||||
[DIR_NORTH] = ANIM_BUNNY_HOP_BACK_WHEEL_NORTH,
|
||||
[DIR_WEST] = ANIM_BUNNY_HOP_BACK_WHEEL_WEST,
|
||||
[DIR_EAST] = ANIM_BUNNY_HOP_BACK_WHEEL_EAST,
|
||||
[DIR_SOUTHWEST] = ANIM_BUNNY_HOP_BACK_WHEEL_SOUTH,
|
||||
[DIR_SOUTHEAST] = ANIM_BUNNY_HOP_BACK_WHEEL_SOUTH,
|
||||
[DIR_NORTHWEST] = ANIM_BUNNY_HOP_BACK_WHEEL_NORTH,
|
||||
[DIR_NORTHEAST] = ANIM_BUNNY_HOP_BACK_WHEEL_NORTH,
|
||||
};
|
||||
|
||||
static const u8 gUnrefAnimNums_080634A0[] = {
|
||||
[DIR_NONE] = 0x18,
|
||||
[DIR_SOUTH] = 0x18,
|
||||
[DIR_NORTH] = 0x19,
|
||||
[DIR_WEST] = 0x1A,
|
||||
[DIR_EAST] = 0x1B,
|
||||
[DIR_SOUTHWEST] = 0x18,
|
||||
[DIR_SOUTHEAST] = 0x18,
|
||||
[DIR_NORTHWEST] = 0x19,
|
||||
[DIR_NORTHEAST] = 0x19,
|
||||
static const u8 sAcroBunnyHopFrontWheelDirectionAnimNums[] = {
|
||||
[DIR_NONE] = ANIM_BUNNY_HOP_FRONT_WHEEL_SOUTH,
|
||||
[DIR_SOUTH] = ANIM_BUNNY_HOP_FRONT_WHEEL_SOUTH,
|
||||
[DIR_NORTH] = ANIM_BUNNY_HOP_FRONT_WHEEL_NORTH,
|
||||
[DIR_WEST] = ANIM_BUNNY_HOP_FRONT_WHEEL_WEST,
|
||||
[DIR_EAST] = ANIM_BUNNY_HOP_FRONT_WHEEL_EAST,
|
||||
[DIR_SOUTHWEST] = ANIM_BUNNY_HOP_FRONT_WHEEL_SOUTH,
|
||||
[DIR_SOUTHEAST] = ANIM_BUNNY_HOP_FRONT_WHEEL_SOUTH,
|
||||
[DIR_NORTHWEST] = ANIM_BUNNY_HOP_FRONT_WHEEL_NORTH,
|
||||
[DIR_NORTHEAST] = ANIM_BUNNY_HOP_FRONT_WHEEL_NORTH,
|
||||
};
|
||||
|
||||
static const u8 gAcroEndWheelieDirectionAnimNums[] = {
|
||||
[DIR_NONE] = 0x1C,
|
||||
[DIR_SOUTH] = 0x1C,
|
||||
[DIR_NORTH] = 0x1D,
|
||||
[DIR_WEST] = 0x1E,
|
||||
[DIR_EAST] = 0x1F,
|
||||
[DIR_SOUTHWEST] = 0x1C,
|
||||
[DIR_SOUTHEAST] = 0x1C,
|
||||
[DIR_NORTHWEST] = 0x1D,
|
||||
[DIR_NORTHEAST] = 0x1D,
|
||||
static const u8 sAcroStandingWheelieBackWheelDirectionAnimNums[] = {
|
||||
[DIR_NONE] = ANIM_STANDING_WHEELIE_BACK_WHEEL_SOUTH,
|
||||
[DIR_SOUTH] = ANIM_STANDING_WHEELIE_BACK_WHEEL_SOUTH,
|
||||
[DIR_NORTH] = ANIM_STANDING_WHEELIE_BACK_WHEEL_NORTH,
|
||||
[DIR_WEST] = ANIM_STANDING_WHEELIE_BACK_WHEEL_WEST,
|
||||
[DIR_EAST] = ANIM_STANDING_WHEELIE_BACK_WHEEL_EAST,
|
||||
[DIR_SOUTHWEST] = ANIM_STANDING_WHEELIE_BACK_WHEEL_SOUTH,
|
||||
[DIR_SOUTHEAST] = ANIM_STANDING_WHEELIE_BACK_WHEEL_SOUTH,
|
||||
[DIR_NORTHWEST] = ANIM_STANDING_WHEELIE_BACK_WHEEL_NORTH,
|
||||
[DIR_NORTHEAST] = ANIM_STANDING_WHEELIE_BACK_WHEEL_NORTH,
|
||||
};
|
||||
|
||||
static const u8 gUnknown_83A6465[] = {
|
||||
[DIR_NONE] = 0x18,
|
||||
[DIR_SOUTH] = 0x18,
|
||||
[DIR_NORTH] = 0x19,
|
||||
[DIR_WEST] = 0x1A,
|
||||
[DIR_EAST] = 0x1B,
|
||||
[DIR_SOUTHWEST] = 0x18,
|
||||
[DIR_SOUTHEAST] = 0x19,
|
||||
[DIR_NORTHWEST] = 0x1A,
|
||||
[DIR_NORTHEAST] = 0x1B,
|
||||
static const u8 sSpinDirectionAnimNums[] = {
|
||||
[DIR_NONE] = ANIM_SPIN_SOUTH,
|
||||
[DIR_SOUTH] = ANIM_SPIN_SOUTH,
|
||||
[DIR_NORTH] = ANIM_SPIN_NORTH,
|
||||
[DIR_WEST] = ANIM_SPIN_WEST,
|
||||
[DIR_EAST] = ANIM_SPIN_EAST,
|
||||
[DIR_SOUTHWEST] = ANIM_SPIN_SOUTH,
|
||||
[DIR_SOUTHEAST] = ANIM_SPIN_NORTH,
|
||||
[DIR_NORTHWEST] = ANIM_SPIN_WEST,
|
||||
[DIR_NORTHEAST] = ANIM_SPIN_EAST,
|
||||
};
|
||||
|
||||
static const u8 gAcroUnusedActionDirectionAnimNums[] = {
|
||||
[DIR_NONE] = 0x20,
|
||||
[DIR_SOUTH] = 0x20,
|
||||
[DIR_NORTH] = 0x21,
|
||||
[DIR_WEST] = 0x22,
|
||||
[DIR_EAST] = 0x23,
|
||||
[DIR_SOUTHWEST] = 0x20,
|
||||
[DIR_SOUTHEAST] = 0x20,
|
||||
[DIR_NORTHWEST] = 0x21,
|
||||
[DIR_NORTHEAST] = 0x21,
|
||||
static const u8 sAcroStandingWheelieFrontWheelDirectionAnimNums[] = {
|
||||
[DIR_NONE] = ANIM_STANDING_WHEELIE_FRONT_WHEEL_SOUTH,
|
||||
[DIR_SOUTH] = ANIM_STANDING_WHEELIE_FRONT_WHEEL_SOUTH,
|
||||
[DIR_NORTH] = ANIM_STANDING_WHEELIE_FRONT_WHEEL_NORTH,
|
||||
[DIR_WEST] = ANIM_STANDING_WHEELIE_FRONT_WHEEL_WEST,
|
||||
[DIR_EAST] = ANIM_STANDING_WHEELIE_FRONT_WHEEL_EAST,
|
||||
[DIR_SOUTHWEST] = ANIM_STANDING_WHEELIE_FRONT_WHEEL_SOUTH,
|
||||
[DIR_SOUTHEAST] = ANIM_STANDING_WHEELIE_FRONT_WHEEL_SOUTH,
|
||||
[DIR_NORTHWEST] = ANIM_STANDING_WHEELIE_FRONT_WHEEL_NORTH,
|
||||
[DIR_NORTHEAST] = ANIM_STANDING_WHEELIE_FRONT_WHEEL_NORTH,
|
||||
};
|
||||
|
||||
static const u8 gAcroWheeliePedalDirectionAnimNums[] = {
|
||||
[DIR_NONE] = 0x24,
|
||||
[DIR_SOUTH] = 0x24,
|
||||
[DIR_NORTH] = 0x25,
|
||||
[DIR_WEST] = 0x26,
|
||||
[DIR_EAST] = 0x27,
|
||||
[DIR_SOUTHWEST] = 0x24,
|
||||
[DIR_SOUTHEAST] = 0x24,
|
||||
[DIR_NORTHWEST] = 0x25,
|
||||
[DIR_NORTHEAST] = 0x25,
|
||||
static const u8 sAcroMovingWheelieDirectionAnimNums[] = {
|
||||
[DIR_NONE] = ANIM_MOVING_WHEELIE_SOUTH,
|
||||
[DIR_SOUTH] = ANIM_MOVING_WHEELIE_SOUTH,
|
||||
[DIR_NORTH] = ANIM_MOVING_WHEELIE_NORTH,
|
||||
[DIR_WEST] = ANIM_MOVING_WHEELIE_WEST,
|
||||
[DIR_EAST] = ANIM_MOVING_WHEELIE_EAST,
|
||||
[DIR_SOUTHWEST] = ANIM_MOVING_WHEELIE_SOUTH,
|
||||
[DIR_SOUTHEAST] = ANIM_MOVING_WHEELIE_SOUTH,
|
||||
[DIR_NORTHWEST] = ANIM_MOVING_WHEELIE_NORTH,
|
||||
[DIR_NORTHEAST] = ANIM_MOVING_WHEELIE_NORTH,
|
||||
};
|
||||
|
||||
static const u8 gFishingDirectionAnimNums[] = {
|
||||
[DIR_NONE] = 0x0,
|
||||
[DIR_SOUTH] = 0x0,
|
||||
[DIR_NORTH] = 0x1,
|
||||
[DIR_WEST] = 0x2,
|
||||
[DIR_EAST] = 0x3,
|
||||
[DIR_SOUTHWEST] = 0x0,
|
||||
[DIR_SOUTHEAST] = 0x0,
|
||||
[DIR_NORTHWEST] = 0x1,
|
||||
[DIR_NORTHEAST] = 0x1,
|
||||
static const u8 sFishingDirectionAnimNums[] = {
|
||||
[DIR_NONE] = ANIM_TAKE_OUT_ROD_SOUTH,
|
||||
[DIR_SOUTH] = ANIM_TAKE_OUT_ROD_SOUTH,
|
||||
[DIR_NORTH] = ANIM_TAKE_OUT_ROD_NORTH,
|
||||
[DIR_WEST] = ANIM_TAKE_OUT_ROD_WEST,
|
||||
[DIR_EAST] = ANIM_TAKE_OUT_ROD_EAST,
|
||||
[DIR_SOUTHWEST] = ANIM_TAKE_OUT_ROD_SOUTH,
|
||||
[DIR_SOUTHEAST] = ANIM_TAKE_OUT_ROD_SOUTH,
|
||||
[DIR_NORTHWEST] = ANIM_TAKE_OUT_ROD_NORTH,
|
||||
[DIR_NORTHEAST] = ANIM_TAKE_OUT_ROD_NORTH,
|
||||
};
|
||||
|
||||
static const u8 gFishingNoCatchDirectionAnimNums[] = {
|
||||
[DIR_NONE] = 0x4,
|
||||
[DIR_SOUTH] = 0x4,
|
||||
[DIR_NORTH] = 0x5,
|
||||
[DIR_WEST] = 0x6,
|
||||
[DIR_EAST] = 0x7,
|
||||
[DIR_SOUTHWEST] = 0x4,
|
||||
[DIR_SOUTHEAST] = 0x4,
|
||||
[DIR_NORTHWEST] = 0x5,
|
||||
[DIR_NORTHEAST] = 0x5,
|
||||
static const u8 sFishingNoCatchDirectionAnimNums[] = {
|
||||
[DIR_NONE] = ANIM_PUT_AWAY_ROD_SOUTH,
|
||||
[DIR_SOUTH] = ANIM_PUT_AWAY_ROD_SOUTH,
|
||||
[DIR_NORTH] = ANIM_PUT_AWAY_ROD_NORTH,
|
||||
[DIR_WEST] = ANIM_PUT_AWAY_ROD_WEST,
|
||||
[DIR_EAST] = ANIM_PUT_AWAY_ROD_EAST,
|
||||
[DIR_SOUTHWEST] = ANIM_PUT_AWAY_ROD_SOUTH,
|
||||
[DIR_SOUTHEAST] = ANIM_PUT_AWAY_ROD_SOUTH,
|
||||
[DIR_NORTHWEST] = ANIM_PUT_AWAY_ROD_NORTH,
|
||||
[DIR_NORTHEAST] = ANIM_PUT_AWAY_ROD_NORTH,
|
||||
};
|
||||
|
||||
static const u8 gFishingBiteDirectionAnimNums[] = {
|
||||
[DIR_NONE] = 0x8,
|
||||
[DIR_SOUTH] = 0x8,
|
||||
[DIR_NORTH] = 0x9,
|
||||
[DIR_WEST] = 0xA,
|
||||
[DIR_EAST] = 0xB,
|
||||
[DIR_SOUTHWEST] = 0x8,
|
||||
[DIR_SOUTHEAST] = 0x8,
|
||||
[DIR_NORTHWEST] = 0x9,
|
||||
[DIR_NORTHEAST] = 0x9,
|
||||
static const u8 sFishingBiteDirectionAnimNums[] = {
|
||||
[DIR_NONE] = ANIM_HOOKED_POKEMON_SOUTH,
|
||||
[DIR_SOUTH] = ANIM_HOOKED_POKEMON_SOUTH,
|
||||
[DIR_NORTH] = ANIM_HOOKED_POKEMON_NORTH,
|
||||
[DIR_WEST] = ANIM_HOOKED_POKEMON_WEST,
|
||||
[DIR_EAST] = ANIM_HOOKED_POKEMON_EAST,
|
||||
[DIR_SOUTHWEST] = ANIM_HOOKED_POKEMON_SOUTH,
|
||||
[DIR_SOUTHEAST] = ANIM_HOOKED_POKEMON_SOUTH,
|
||||
[DIR_NORTHWEST] = ANIM_HOOKED_POKEMON_NORTH,
|
||||
[DIR_NORTHEAST] = ANIM_HOOKED_POKEMON_NORTH,
|
||||
};
|
||||
|
||||
static const u8 gRunningDirectionAnimNums[] = {
|
||||
[DIR_NONE] = 0x14,
|
||||
[DIR_SOUTH] = 0x14,
|
||||
[DIR_NORTH] = 0x15,
|
||||
[DIR_WEST] = 0x16,
|
||||
[DIR_EAST] = 0x17,
|
||||
[DIR_SOUTHWEST] = 0x14,
|
||||
[DIR_SOUTHEAST] = 0x14,
|
||||
[DIR_NORTHWEST] = 0x15,
|
||||
[DIR_NORTHEAST] = 0x15,
|
||||
static const u8 sRunningDirectionAnimNums[] = {
|
||||
[DIR_NONE] = ANIM_RUN_SOUTH,
|
||||
[DIR_SOUTH] = ANIM_RUN_SOUTH,
|
||||
[DIR_NORTH] = ANIM_RUN_NORTH,
|
||||
[DIR_WEST] = ANIM_RUN_WEST,
|
||||
[DIR_EAST] = ANIM_RUN_EAST,
|
||||
[DIR_SOUTHWEST] = ANIM_RUN_SOUTH,
|
||||
[DIR_SOUTHEAST] = ANIM_RUN_SOUTH,
|
||||
[DIR_NORTHWEST] = ANIM_RUN_NORTH,
|
||||
[DIR_NORTHEAST] = ANIM_RUN_NORTH,
|
||||
};
|
||||
|
||||
static const u8 gTrainerFacingDirectionMovementTypes[] = {
|
||||
[DIR_NONE] = 0x08,
|
||||
[DIR_SOUTH] = 0x08,
|
||||
[DIR_NORTH] = 0x07,
|
||||
[DIR_WEST] = 0x09,
|
||||
[DIR_EAST] = 0x0A,
|
||||
[DIR_SOUTHWEST] = 0x08,
|
||||
[DIR_SOUTHEAST] = 0x08,
|
||||
[DIR_NORTHWEST] = 0x07,
|
||||
[DIR_NORTHEAST] = 0x07,
|
||||
static const u8 sTrainerFacingDirectionMovementTypes[] = {
|
||||
[DIR_NONE] = MOVEMENT_TYPE_FACE_DOWN,
|
||||
[DIR_SOUTH] = MOVEMENT_TYPE_FACE_DOWN,
|
||||
[DIR_NORTH] = MOVEMENT_TYPE_FACE_UP,
|
||||
[DIR_WEST] = MOVEMENT_TYPE_FACE_LEFT,
|
||||
[DIR_EAST] = MOVEMENT_TYPE_FACE_RIGHT,
|
||||
[DIR_SOUTHWEST] = MOVEMENT_TYPE_FACE_DOWN,
|
||||
[DIR_SOUTHEAST] = MOVEMENT_TYPE_FACE_DOWN,
|
||||
[DIR_NORTHWEST] = MOVEMENT_TYPE_FACE_UP,
|
||||
[DIR_NORTHEAST] = MOVEMENT_TYPE_FACE_UP,
|
||||
};
|
||||
|
||||
bool8 (*const gOppositeDirectionBlockedMetatileFuncs[])(u8) = {
|
||||
@@ -1610,7 +1571,7 @@ static u8 TrySetupObjectEventSprite(struct ObjectEventTemplate *objectEventTempl
|
||||
if (objectEvent->movementType == MOVEMENT_TYPE_INVISIBLE)
|
||||
objectEvent->invisible = TRUE;
|
||||
|
||||
*(u16 *)&spriteTemplate->paletteTag = SPRITE_INVALID_TAG;
|
||||
*(u16 *)&spriteTemplate->paletteTag = TAG_NONE;
|
||||
spriteId = CreateSprite(spriteTemplate, 0, 0, 0);
|
||||
if (spriteId == MAX_SPRITES)
|
||||
{
|
||||
@@ -1741,7 +1702,7 @@ u8 AddPseudoObjectEvent(u16 graphicsId, SpriteCallback callback, s16 x, s16 y, u
|
||||
u8 spriteId;
|
||||
|
||||
MakeObjectTemplateFromObjectEventGraphicsInfo(graphicsId, callback, &spriteTemplate, &subspriteTables);
|
||||
if (spriteTemplate.paletteTag != SPRITE_INVALID_TAG)
|
||||
if (spriteTemplate.paletteTag != TAG_NONE)
|
||||
{
|
||||
LoadObjectEventPalette(spriteTemplate.paletteTag);
|
||||
}
|
||||
@@ -1764,7 +1725,7 @@ u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction)
|
||||
|
||||
graphicsInfo = GetObjectEventGraphicsInfo(graphicsId);
|
||||
MakeObjectTemplateFromObjectEventGraphicsInfo(graphicsId, UpdateObjectEventSpriteSubpriorityAndVisibility, &spriteTemplate, &subspriteTables);
|
||||
*(u16 *)&spriteTemplate.paletteTag = SPRITE_INVALID_TAG;
|
||||
*(u16 *)&spriteTemplate.paletteTag = TAG_NONE;
|
||||
x += 7;
|
||||
y += 7;
|
||||
SetSpritePosToOffsetMapCoords(&x, &y, 8, 16);
|
||||
@@ -1806,7 +1767,7 @@ u8 sub_805EB44(u8 graphicsId, u8 a1, s16 x, s16 y)
|
||||
|
||||
graphicsInfo = GetObjectEventGraphicsInfo(graphicsId);
|
||||
MakeObjectTemplateFromObjectEventGraphicsInfo(graphicsId, SpriteCallbackDummy, &spriteTemplate, &subspriteTables);
|
||||
*(u16 *)&spriteTemplate.paletteTag = SPRITE_INVALID_TAG;
|
||||
*(u16 *)&spriteTemplate.paletteTag = TAG_NONE;
|
||||
|
||||
spriteId = CreateSpriteAtEnd(&spriteTemplate, x, y, 0);
|
||||
if (spriteId != MAX_SPRITES)
|
||||
@@ -1938,7 +1899,7 @@ static void ReloadMapObjectWithOffset(u8 objectEventId, s16 x, s16 y)
|
||||
spriteFrameImage.size = graphicsInfo->size;
|
||||
MakeObjectTemplateFromObjectEventGraphicsInfoWithCallbackIndex(objectEvent->graphicsId, objectEvent->movementType, &spriteTemplate, &subspriteTables);
|
||||
spriteTemplate.images = &spriteFrameImage;
|
||||
*(u16 *)&spriteTemplate.paletteTag = SPRITE_INVALID_TAG;
|
||||
*(u16 *)&spriteTemplate.paletteTag = TAG_NONE;
|
||||
if (graphicsInfo->paletteSlot == 0)
|
||||
{
|
||||
LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot);
|
||||
@@ -1947,7 +1908,7 @@ static void ReloadMapObjectWithOffset(u8 objectEventId, s16 x, s16 y)
|
||||
{
|
||||
LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot);
|
||||
}
|
||||
*(u16 *)&spriteTemplate.paletteTag = SPRITE_INVALID_TAG;
|
||||
*(u16 *)&spriteTemplate.paletteTag = TAG_NONE;
|
||||
spriteId = CreateSprite(&spriteTemplate, 0, 0, 0);
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
@@ -2120,9 +2081,9 @@ void ShowOrHideObjectByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 stat
|
||||
|
||||
void ObjectEventGetLocalIdAndMap(struct ObjectEvent *objectEvent, void *localId, void *mapNum, void *mapGroup)
|
||||
{
|
||||
*(u8*)(localId) = objectEvent->localId;
|
||||
*(u8*)(mapNum) = objectEvent->mapNum;
|
||||
*(u8*)(mapGroup) = objectEvent->mapGroup;
|
||||
*(u8 *)(localId) = objectEvent->localId;
|
||||
*(u8 *)(mapNum) = objectEvent->mapNum;
|
||||
*(u8 *)(mapGroup) = objectEvent->mapGroup;
|
||||
}
|
||||
|
||||
void EnableObjectGroundEffectsByXY(s16 x, s16 y)
|
||||
@@ -4702,89 +4663,89 @@ static void ClearObjectEventMovement(struct ObjectEvent *objectEvent, struct Spr
|
||||
|
||||
u8 GetFaceDirectionAnimNum(u8 direction)
|
||||
{
|
||||
return gFaceDirectionAnimNums[direction];
|
||||
return sFaceDirectionAnimNums[direction];
|
||||
}
|
||||
|
||||
u8 GetMoveDirectionAnimNum(u8 direction)
|
||||
{
|
||||
return gMoveDirectionAnimNums[direction];
|
||||
return sMoveDirectionAnimNums[direction];
|
||||
}
|
||||
|
||||
static u8 GetMoveDirectionFastAnimNum(u8 direction)
|
||||
{
|
||||
return gMoveDirectionFastAnimNums[direction];
|
||||
return sMoveDirectionFastAnimNums[direction];
|
||||
}
|
||||
|
||||
static u8 GetMoveDirectionFasterAnimNum(u8 direction)
|
||||
{
|
||||
return gMoveDirectionFasterAnimNums[direction];
|
||||
return sMoveDirectionFasterAnimNums[direction];
|
||||
}
|
||||
|
||||
static u8 GetMoveDirectionFastestAnimNum(u8 direction)
|
||||
{
|
||||
return gMoveDirectionFastestAnimNums[direction];
|
||||
return sMoveDirectionFastestAnimNums[direction];
|
||||
}
|
||||
|
||||
u8 GetJumpSpecialDirectionAnimNum(u8 direction)
|
||||
{
|
||||
return gJumpSpecialDirectionAnimNums[direction];
|
||||
return sJumpSpecialDirectionAnimNums[direction];
|
||||
}
|
||||
|
||||
u8 GetAcroWheelieDirectionAnimNum(u8 direction)
|
||||
{
|
||||
return gAcroWheelieDirectionAnimNums[direction];
|
||||
return sAcroBunnyHopBackWheelDirectionAnimNums[direction];
|
||||
}
|
||||
|
||||
u8 Unref_GetAnimNums_080634A0(u8 direction)
|
||||
{
|
||||
return gUnrefAnimNums_080634A0[direction];
|
||||
return sAcroBunnyHopFrontWheelDirectionAnimNums[direction];
|
||||
}
|
||||
|
||||
u8 GetAcroEndWheelieDirectionAnimNum(u8 direction)
|
||||
{
|
||||
return gAcroEndWheelieDirectionAnimNums[direction];
|
||||
return sAcroStandingWheelieBackWheelDirectionAnimNums[direction];
|
||||
}
|
||||
|
||||
u8 GetSpinDirectionAnimNum(u8 direction)
|
||||
{
|
||||
return gUnknown_83A6465[direction];
|
||||
return sSpinDirectionAnimNums[direction];
|
||||
}
|
||||
|
||||
u8 GetAcroUnusedActionDirectionAnimNum(u8 direction)
|
||||
{
|
||||
return gAcroUnusedActionDirectionAnimNums[direction];
|
||||
return sAcroStandingWheelieFrontWheelDirectionAnimNums[direction];
|
||||
}
|
||||
|
||||
u8 GetAcroWheeliePedalDirectionAnimNum(u8 direction)
|
||||
{
|
||||
return gAcroWheeliePedalDirectionAnimNums[direction];
|
||||
return sAcroMovingWheelieDirectionAnimNums[direction];
|
||||
}
|
||||
|
||||
u8 GetFishingDirectionAnimNum(u8 direction)
|
||||
{
|
||||
return gFishingDirectionAnimNums[direction];
|
||||
return sFishingDirectionAnimNums[direction];
|
||||
}
|
||||
|
||||
u8 GetFishingNoCatchDirectionAnimNum(u8 direction)
|
||||
{
|
||||
return gFishingNoCatchDirectionAnimNums[direction];
|
||||
return sFishingNoCatchDirectionAnimNums[direction];
|
||||
}
|
||||
|
||||
u8 GetFishingBiteDirectionAnimNum(u8 direction)
|
||||
{
|
||||
return gFishingBiteDirectionAnimNums[direction];
|
||||
return sFishingBiteDirectionAnimNums[direction];
|
||||
}
|
||||
|
||||
u8 GetRunningDirectionAnimNum(u8 direction)
|
||||
{
|
||||
return gRunningDirectionAnimNums[direction];
|
||||
return sRunningDirectionAnimNums[direction];
|
||||
}
|
||||
|
||||
static const struct UnkStruct_083A3698 *GetStepAnimTable(const union AnimCmd *const *anims)
|
||||
static const struct StepAnimTable *GetStepAnimTable(const union AnimCmd *const *anims)
|
||||
{
|
||||
const struct UnkStruct_083A3698 *stepTable;
|
||||
const struct StepAnimTable *stepTable;
|
||||
|
||||
for (stepTable = gUnknown_83A3698; stepTable->anims != NULL; stepTable++)
|
||||
for (stepTable = sStepAnimTables; stepTable->anims != NULL; stepTable++)
|
||||
if (stepTable->anims == anims)
|
||||
return stepTable;
|
||||
|
||||
@@ -4793,7 +4754,7 @@ static const struct UnkStruct_083A3698 *GetStepAnimTable(const union AnimCmd *co
|
||||
|
||||
void SetStepAnimHandleAlternation(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 animNum)
|
||||
{
|
||||
const struct UnkStruct_083A3698 *stepTable;
|
||||
const struct StepAnimTable *stepTable;
|
||||
|
||||
if (!objectEvent->inanimate)
|
||||
{
|
||||
@@ -4812,7 +4773,7 @@ void SetStepAnimHandleAlternation(struct ObjectEvent *objectEvent, struct Sprite
|
||||
|
||||
void SetStepAnim(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 animNum)
|
||||
{
|
||||
const struct UnkStruct_083A3698 *stepTable;
|
||||
const struct StepAnimTable *stepTable;
|
||||
|
||||
if (!objectEvent->inanimate)
|
||||
{
|
||||
@@ -4861,7 +4822,7 @@ void SetTrainerMovementType(struct ObjectEvent *objectEvent, u8 movementType)
|
||||
|
||||
u8 GetTrainerFacingDirectionMovementType(u8 direction)
|
||||
{
|
||||
return gTrainerFacingDirectionMovementTypes[direction];
|
||||
return sTrainerFacingDirectionMovementTypes[direction];
|
||||
}
|
||||
|
||||
static u8 GetCollisionInDirection(struct ObjectEvent *objectEvent, u8 direction)
|
||||
@@ -5187,7 +5148,7 @@ void sub_8063E28(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
}
|
||||
|
||||
if (MetatileBehavior_IsIce_2(objectEvent->currentMetatileBehavior) == TRUE
|
||||
|| MetatileBehavior_IsUnknownMovement48(objectEvent->currentMetatileBehavior) == TRUE)
|
||||
|| MetatileBehavior_IsTrickHouseSlipperyFloor(objectEvent->currentMetatileBehavior) == TRUE)
|
||||
objectEvent->disableAnim = TRUE;
|
||||
else
|
||||
objectEvent->disableAnim = FALSE;
|
||||
@@ -7066,7 +7027,7 @@ static bool8 MovementAction_FaceOriginalDirection_Step0(struct ObjectEvent *obje
|
||||
|
||||
static bool8 MovementAction_NurseJoyBowDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
StartSpriteAnimInDirection(objectEvent, sprite, DIR_SOUTH, 0x14);
|
||||
StartSpriteAnimInDirection(objectEvent, sprite, DIR_SOUTH, ANIM_NURSE_BOW);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -7181,7 +7142,7 @@ static bool8 MovementAction_RevealTrainer_Step1(struct ObjectEvent *objectEvent,
|
||||
|
||||
static bool8 MovementAction_RockSmashBreak_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
SetAndStartSpriteAnim(sprite, 1, 0);
|
||||
SetAndStartSpriteAnim(sprite, ANIM_REMOVE_OBSTACLE, 0);
|
||||
sprite->data[2] = 1;
|
||||
return FALSE;
|
||||
}
|
||||
@@ -7209,7 +7170,7 @@ static bool8 MovementAction_RockSmashBreak_Step2(struct ObjectEvent *objectEvent
|
||||
|
||||
static bool8 MovementAction_CutTree_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
SetAndStartSpriteAnim(sprite, 1, 0);
|
||||
SetAndStartSpriteAnim(sprite, ANIM_REMOVE_OBSTACLE, 0);
|
||||
sprite->data[2] = 1;
|
||||
return FALSE;
|
||||
}
|
||||
@@ -7858,7 +7819,7 @@ static bool8 MovementActionFunc_x97_1(struct ObjectEvent *objectEvent, struct Sp
|
||||
|
||||
static bool8 MovementActionFunc_x98_0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
StartSpriteAnim(sprite, 20);
|
||||
StartSpriteAnim(sprite, ANIM_RAISE_HAND);
|
||||
sprite->animPaused = FALSE;
|
||||
objectEvent->disableAnim = FALSE;
|
||||
sprite->data[2] = 1;
|
||||
@@ -7884,7 +7845,7 @@ static bool8 MovementActionFunc_x99_1(struct ObjectEvent *objectEvent, struct Sp
|
||||
sprite->data[6] = 0;
|
||||
sprite->data[5]++;
|
||||
sprite->data[7] = sprite->data[5];
|
||||
StartSpriteAnim(sprite, 0);
|
||||
StartSpriteAnim(sprite, ANIM_STD_FACE_SOUTH);
|
||||
sprite->animPaused = FALSE;
|
||||
objectEvent->disableAnim = FALSE;
|
||||
}
|
||||
@@ -7895,7 +7856,7 @@ static bool8 MovementActionFunc_x99_1(struct ObjectEvent *objectEvent, struct Sp
|
||||
if (++sprite->data[4] > 16)
|
||||
{
|
||||
sprite->data[4] = 0;
|
||||
StartSpriteAnim(sprite, 20);
|
||||
StartSpriteAnim(sprite, ANIM_RAISE_HAND);
|
||||
sprite->animPaused = FALSE;
|
||||
objectEvent->disableAnim = FALSE;
|
||||
sprite->data[7] = 0;
|
||||
@@ -7934,7 +7895,7 @@ static bool8 MovementActionFunc_x9A_1(struct ObjectEvent *objectEvent, struct Sp
|
||||
|
||||
static bool8 MovementActionFunc_x9F_0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
StartSpriteAnim(sprite, 28);
|
||||
StartSpriteAnim(sprite, ANIM_SHAKE_HEAD_OR_WALK_IN_PLACE);
|
||||
sprite->animPaused = FALSE;
|
||||
objectEvent->disableAnim = FALSE;
|
||||
sprite->data[2] = 1;
|
||||
@@ -8134,13 +8095,13 @@ static void GetGroundEffectFlags_Reflection(struct ObjectEvent *objEvent, u32 *f
|
||||
|
||||
static void GetGroundEffectFlags_TallGrassOnSpawn(struct ObjectEvent *objEvent, u32 *flags)
|
||||
{
|
||||
if (MetatileBehavior_IsTallGrass_2(objEvent->currentMetatileBehavior))
|
||||
if (MetatileBehavior_IsTallGrass(objEvent->currentMetatileBehavior))
|
||||
*flags |= GROUND_EFFECT_FLAG_TALL_GRASS_ON_SPAWN;
|
||||
}
|
||||
|
||||
static void GetGroundEffectFlags_TallGrassOnBeginStep(struct ObjectEvent *objEvent, u32 *flags)
|
||||
{
|
||||
if (MetatileBehavior_IsTallGrass_2(objEvent->currentMetatileBehavior))
|
||||
if (MetatileBehavior_IsTallGrass(objEvent->currentMetatileBehavior))
|
||||
*flags |= GROUND_EFFECT_FLAG_TALL_GRASS_ON_MOVE;
|
||||
}
|
||||
|
||||
@@ -8269,7 +8230,7 @@ static void GetGroundEffectFlags_JumpLanding(struct ObjectEvent *objEvent, u32 *
|
||||
typedef bool8 (*MetatileFunc)(u8);
|
||||
|
||||
static const MetatileFunc metatileFuncs[] = {
|
||||
MetatileBehavior_IsTallGrass_2,
|
||||
MetatileBehavior_IsTallGrass,
|
||||
MetatileBehavior_IsLongGrass,
|
||||
MetatileBehavior_IsPuddle,
|
||||
MetatileBehavior_IsSurfable,
|
||||
@@ -8879,37 +8840,37 @@ void UnfreezeObjectEvents(void)
|
||||
#define tSpeed data[4]
|
||||
#define tStepNo data[5]
|
||||
|
||||
static void little_step(struct Sprite * sprite, u8 direction)
|
||||
static void little_step(struct Sprite *sprite, u8 direction)
|
||||
{
|
||||
sprite->x += sDirectionToVectors[direction].x;
|
||||
sprite->y += sDirectionToVectors[direction].y;
|
||||
}
|
||||
|
||||
static void double_little_steps(struct Sprite * sprite, u8 direction)
|
||||
static void double_little_steps(struct Sprite *sprite, u8 direction)
|
||||
{
|
||||
sprite->x += 2 * (u16)sDirectionToVectors[direction].x;
|
||||
sprite->y += 2 * (u16)sDirectionToVectors[direction].y;
|
||||
}
|
||||
|
||||
static void triple_little_steps(struct Sprite * sprite, u8 direction)
|
||||
static void triple_little_steps(struct Sprite *sprite, u8 direction)
|
||||
{
|
||||
sprite->x += 2 * (u16)sDirectionToVectors[direction].x + (u16)sDirectionToVectors[direction].x;
|
||||
sprite->y += 2 * (u16)sDirectionToVectors[direction].y + (u16)sDirectionToVectors[direction].y;
|
||||
}
|
||||
|
||||
static void quad_little_steps(struct Sprite * sprite, u8 direction)
|
||||
static void quad_little_steps(struct Sprite *sprite, u8 direction)
|
||||
{
|
||||
sprite->x += 4 * (u16)sDirectionToVectors[direction].x;
|
||||
sprite->y += 4 * (u16)sDirectionToVectors[direction].y;
|
||||
}
|
||||
|
||||
static void oct_little_steps(struct Sprite * sprite, u8 direction)
|
||||
static void oct_little_steps(struct Sprite *sprite, u8 direction)
|
||||
{
|
||||
sprite->x += 8 * (u16)sDirectionToVectors[direction].x;
|
||||
sprite->y += 8 * (u16)sDirectionToVectors[direction].y;
|
||||
}
|
||||
|
||||
void SetSpriteDataForNormalStep(struct Sprite * sprite, u8 direction, u8 speed)
|
||||
void SetSpriteDataForNormalStep(struct Sprite *sprite, u8 direction, u8 speed)
|
||||
{
|
||||
sprite->tDirection = direction;
|
||||
sprite->tSpeed = speed;
|
||||
@@ -9361,7 +9322,7 @@ void RfuUnionObjectStartWarp(u8 objectEventId, u8 animNo)
|
||||
}
|
||||
}
|
||||
|
||||
static void DoObjectUnionRoomWarpYDisplacementUpwards(struct Sprite * sprite)
|
||||
static void DoObjectUnionRoomWarpYDisplacementUpwards(struct Sprite *sprite)
|
||||
{
|
||||
switch (sprite->tUnionRoomWarpAnimState)
|
||||
{
|
||||
@@ -9381,7 +9342,7 @@ static void DoObjectUnionRoomWarpYDisplacementUpwards(struct Sprite * sprite)
|
||||
}
|
||||
}
|
||||
|
||||
static void DoObjectUnionRoomWarpYDisplacementDownwards(struct Sprite * sprite)
|
||||
static void DoObjectUnionRoomWarpYDisplacementDownwards(struct Sprite *sprite)
|
||||
{
|
||||
switch (sprite->tUnionRoomWarpAnimState)
|
||||
{
|
||||
@@ -9399,7 +9360,7 @@ static void DoObjectUnionRoomWarpYDisplacementDownwards(struct Sprite * sprite)
|
||||
}
|
||||
}
|
||||
|
||||
static void DoObjectUnionRoomWarpYDisplacement(struct Sprite * sprite)
|
||||
static void DoObjectUnionRoomWarpYDisplacement(struct Sprite *sprite)
|
||||
{
|
||||
switch (sprite->tUnionRoomWarpAnimNo)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user