summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/event_object_movement.c874
1 files changed, 86 insertions, 788 deletions
diff --git a/src/event_object_movement.c b/src/event_object_movement.c
index 73efab1d3..07a27ec7c 100644
--- a/src/event_object_movement.c
+++ b/src/event_object_movement.c
@@ -78,10 +78,10 @@ static void sub_805EFF4(struct ObjectEvent *);
static u8 sub_805F510(const struct SpritePalette *);
static u8 FindObjectEventPaletteIndexByTag(u16);
static bool8 ObjectEventDoesZCoordMatch(struct ObjectEvent *, u8);
-/*static*/ void ObjectCB_CameraObject(struct Sprite *);
-/*static*/ void CameraObject_0(struct Sprite *);
-/*static*/ void CameraObject_1(struct Sprite *);
-/*static*/ void CameraObject_2(struct Sprite *);
+static void ObjectCB_CameraObject(struct Sprite *);
+static void CameraObject_0(struct Sprite *);
+static void CameraObject_1(struct Sprite *);
+static void CameraObject_2(struct Sprite *);
static struct ObjectEventTemplate *FindObjectEventTemplateByLocalId(u8 localId, struct ObjectEventTemplate *templates, u8 count);
static void ClearObjectEventMovement(struct ObjectEvent *, struct Sprite *);
static void ObjectEventSetSingleMovement(struct ObjectEvent *, struct Sprite *, u8);
@@ -96,63 +96,64 @@ static u8 sub_8063324(struct ObjectEvent *, struct Sprite *);
static u8 sub_8063344(struct ObjectEvent *, struct Sprite *);
static void sub_8064544(struct ObjectEvent *, struct Sprite *);
static void DoObjectUnionRoomWarpYDisplacement(struct Sprite * sprite);
-void MovementType_None(struct Sprite *);
-void MovementType_LookAround(struct Sprite *);
-void MovementType_WanderAround(struct Sprite *);
-void MovementType_WanderUpAndDown(struct Sprite *);
-void MovementType_WanderLeftAndRight(struct Sprite *);
-void MovementType_FaceDirection(struct Sprite *);
-void sub_805B3B8(struct Sprite *);
-void MovementType_FaceDownAndUp(struct Sprite *);
-void MovementType_FaceLeftAndRight(struct Sprite *);
-void MovementType_FaceUpAndLeft(struct Sprite *);
-void MovementType_FaceUpAndRight(struct Sprite *);
-void MovementType_FaceDownAndLeft(struct Sprite *);
-void MovementType_FaceDownAndRight(struct Sprite *);
-void MovementType_FaceDownUpAndLeft(struct Sprite *);
-void MovementType_FaceDownUpAndRight(struct Sprite *);
-void MovementType_FaceUpRightAndLeft(struct Sprite *);
-void MovementType_FaceDownRightAndLeft(struct Sprite *);
-void MovementType_RotateCounterclockwise(struct Sprite *);
-void MovementType_RotateClockwise(struct Sprite *);
-void MovementType_WalkBackAndForth(struct Sprite *);
-void MovementType_WalkSequenceUpRightLeftDown(struct Sprite *);
-void MovementType_WalkSequenceRightLeftDownUp(struct Sprite *);
-void MovementType_WalkSequenceDownUpRightLeft(struct Sprite *);
-void MovementType_WalkSequenceLeftDownUpRight(struct Sprite *);
-void MovementType_WalkSequenceUpLeftRightDown(struct Sprite *);
-void MovementType_WalkSequenceLeftRightDownUp(struct Sprite *);
-void MovementType_WalkSequenceDownUpLeftRight(struct Sprite *);
-void MovementType_WalkSequenceRightDownUpLeft(struct Sprite *);
-void MovementType_WalkSequenceLeftUpDownRight(struct Sprite *);
-void MovementType_WalkSequenceUpDownRightLeft(struct Sprite *);
-void MovementType_WalkSequenceRightLeftUpDown(struct Sprite *);
-void MovementType_WalkSequenceDownRightLeftUp(struct Sprite *);
-void MovementType_WalkSequenceRightUpDownLeft(struct Sprite *);
-void MovementType_WalkSequenceUpDownLeftRight(struct Sprite *);
-void MovementType_WalkSequenceLeftRightUpDown(struct Sprite *);
-void MovementType_WalkSequenceDownLeftRightUp(struct Sprite *);
-void MovementType_WalkSequenceUpLeftDownRight(struct Sprite *);
-void MovementType_WalkSequenceDownRightUpLeft(struct Sprite *);
-void MovementType_WalkSequenceLeftDownRightUp(struct Sprite *);
-void MovementType_WalkSequenceRightUpLeftDown(struct Sprite *);
-void MovementType_WalkSequenceUpRightDownLeft(struct Sprite *);
-void MovementType_WalkSequenceDownLeftUpRight(struct Sprite *);
-void MovementType_WalkSequenceLeftUpRightDown(struct Sprite *);
-void MovementType_WalkSequenceRightDownLeftUp(struct Sprite *);
-void MovementType_CopyPlayer(struct Sprite *);
-void MovementType_TreeDisguise(struct Sprite *);
-void MovementType_MountainDisguise(struct Sprite *);
-void MovementType_CopyPlayerInGrass(struct Sprite *);
-void MovementType_Hidden(struct Sprite *);
-void MovementType_WalkInPlace(struct Sprite *);
-void MovementType_WalkSlowlyInPlace(struct Sprite *);
-void MovementType_JogInPlace(struct Sprite *);
-void MovementType_Invisible(struct Sprite *);
-void sub_8063298(struct Sprite *);
-void sub_80632BC(struct Sprite *);
-void sub_80632E0(struct Sprite *);
-void MovementType_WanderAroundDuplicate(struct Sprite *);
+static void MovementType_None(struct Sprite *);
+static void MovementType_LookAround(struct Sprite *);
+static void MovementType_WanderAround(struct Sprite *);
+static void MovementType_WanderUpAndDown(struct Sprite *);
+static void MovementType_WanderLeftAndRight(struct Sprite *);
+static void MovementType_FaceDirection(struct Sprite *);
+static void MovementType_FaceDownAndUp(struct Sprite *);
+static void MovementType_FaceLeftAndRight(struct Sprite *);
+static void MovementType_FaceUpAndLeft(struct Sprite *);
+static void MovementType_FaceUpAndRight(struct Sprite *);
+static void MovementType_FaceDownAndLeft(struct Sprite *);
+static void MovementType_FaceDownAndRight(struct Sprite *);
+static void MovementType_FaceDownUpAndLeft(struct Sprite *);
+static void MovementType_FaceDownUpAndRight(struct Sprite *);
+static void MovementType_FaceUpRightAndLeft(struct Sprite *);
+static void MovementType_FaceDownRightAndLeft(struct Sprite *);
+static void MovementType_RotateCounterclockwise(struct Sprite *);
+static void MovementType_RotateClockwise(struct Sprite *);
+static void MovementType_WalkBackAndForth(struct Sprite *);
+static void MovementType_WalkSequenceUpRightLeftDown(struct Sprite *);
+static void MovementType_WalkSequenceRightLeftDownUp(struct Sprite *);
+static void MovementType_WalkSequenceDownUpRightLeft(struct Sprite *);
+static void MovementType_WalkSequenceLeftDownUpRight(struct Sprite *);
+static void MovementType_WalkSequenceUpLeftRightDown(struct Sprite *);
+static void MovementType_WalkSequenceLeftRightDownUp(struct Sprite *);
+static void MovementType_WalkSequenceDownUpLeftRight(struct Sprite *);
+static void MovementType_WalkSequenceRightDownUpLeft(struct Sprite *);
+static void MovementType_WalkSequenceLeftUpDownRight(struct Sprite *);
+static void MovementType_WalkSequenceUpDownRightLeft(struct Sprite *);
+static void MovementType_WalkSequenceRightLeftUpDown(struct Sprite *);
+static void MovementType_WalkSequenceDownRightLeftUp(struct Sprite *);
+static void MovementType_WalkSequenceRightUpDownLeft(struct Sprite *);
+static void MovementType_WalkSequenceUpDownLeftRight(struct Sprite *);
+static void MovementType_WalkSequenceLeftRightUpDown(struct Sprite *);
+static void MovementType_WalkSequenceDownLeftRightUp(struct Sprite *);
+static void MovementType_WalkSequenceUpLeftDownRight(struct Sprite *);
+static void MovementType_WalkSequenceDownRightUpLeft(struct Sprite *);
+static void MovementType_WalkSequenceLeftDownRightUp(struct Sprite *);
+static void MovementType_WalkSequenceRightUpLeftDown(struct Sprite *);
+static void MovementType_WalkSequenceUpRightDownLeft(struct Sprite *);
+static void MovementType_WalkSequenceDownLeftUpRight(struct Sprite *);
+static void MovementType_WalkSequenceLeftUpRightDown(struct Sprite *);
+static void MovementType_WalkSequenceRightDownLeftUp(struct Sprite *);
+static void MovementType_CopyPlayer(struct Sprite *);
+static void MovementType_TreeDisguise(struct Sprite *);
+static void MovementType_MountainDisguise(struct Sprite *);
+static void MovementType_CopyPlayerInGrass(struct Sprite *);
+static void MovementType_Hidden(struct Sprite *);
+static void MovementType_WalkInPlace(struct Sprite *);
+static void MovementType_WalkSlowlyInPlace(struct Sprite *);
+static void MovementType_JogInPlace(struct Sprite *);
+static void MovementType_Invisible(struct Sprite *);
+static void sub_8063298(struct Sprite *);
+static void sub_80632BC(struct Sprite *);
+static void sub_80632E0(struct Sprite *);
+static void MovementType_WanderAroundDuplicate(struct Sprite *);
+
+extern void sub_805B3B8(struct Sprite *);
#define movement_type_def(setup, table) \
static u8 setup##_callback(struct ObjectEvent *, struct Sprite *); \
@@ -179,726 +180,23 @@ static u8 setup##_callback(struct ObjectEvent *objectEvent, struct Sprite *sprit
EWRAM_DATA u8 sCurrentReflectionType = 0;
EWRAM_DATA u16 sCurrentSpecialObjectPaletteTag = 0;
-extern const u8 gRangedMovementTypes[NUM_FIELD_MAP_OBJECT_TEMPLATES];
-extern void (*const sMovementTypeCallbacks[])(struct Sprite *);
-extern const u8 gInitialMovementTypeFacingDirections[NUM_FIELD_MAP_OBJECT_TEMPLATES];
-extern const struct ObjectEventGraphicsInfo *const gObjectEventGraphicsInfoPointers[NUM_OBJ_EVENT_GFX];
-extern const struct SpritePalette sObjectEventSpritePalettes[];
-extern const struct PairedPalettes gPlayerReflectionPaletteSets[];
-extern const u8 gReflectionEffectPaletteMap[];
-extern const struct PairedPalettes gSpecialObjectReflectionPaletteSets[];
-extern const struct SpriteTemplate gCameraSpriteTemplate;
-extern void (*const gCameraObjectFuncs[3])(struct Sprite *);
-extern const u16 *const gObjectPaletteTagSets[];
-
-extern u8 (*const gMovementTypeFuncs_WanderAround[])(struct ObjectEvent *, struct Sprite *);
-extern u8 (*const gMovementTypeFuncs_WanderAroundDuplicate[])(struct ObjectEvent *, struct Sprite *);
-extern const s16 gMovementDelaysMedium[];
-extern const u8 gStandardDirections[4];
-extern u8 (*const gGetVectorDirectionFuncs[])(s16, s16, s16, s16);
-extern u8 (*const gMovementTypeFuncs_LookAround[])(struct ObjectEvent *, struct Sprite *);
-extern u8 (*const gMovementTypeFuncs_WanderUpAndDown[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gUpAndDownDirections[2];
-extern u8 (*const gMovementTypeFuncs_WanderLeftAndRight[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gLeftAndRightDirections[2];
-extern u8 (*const gMovementTypeFuncs_FaceDirection[])(struct ObjectEvent *, struct Sprite *);
-extern u8 (*const gMovementTypeFuncs_FaceDownAndUp[])(struct ObjectEvent *, struct Sprite *);
-extern u8 (*const gMovementTypeFuncs_FaceLeftAndRight[])(struct ObjectEvent *, struct Sprite *);
-extern u8 (*const gMovementTypeFuncs_FaceUpAndLeft[])(struct ObjectEvent *, struct Sprite *);
-extern const s16 gMovementDelaysShort[];
-extern const u8 gUpAndLeftDirections[2];
-extern u8 (*const gMovementTypeFuncs_FaceUpAndRight[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gUpAndRightDirections[2];
-extern u8 (*const gMovementTypeFuncs_FaceDownAndLeft[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gDownAndLeftDirections[2];
-extern u8 (*const gMovementTypeFuncs_FaceDownAndRight[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gDownAndRightDirections[2];
-extern u8 (*const gMovementTypeFuncs_FaceDownUpAndLeft[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gDownUpAndLeftDirections[4];
-extern u8 (*const gMovementTypeFuncs_FaceDownUpAndRight[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gDownUpAndRightDirections[4];
-extern u8 (*const gMovementTypeFuncs_FaceUpLeftAndRight[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gUpLeftAndRightDirections[4];
-extern u8 (*const gMovementTypeFuncs_FaceDownLeftAndRight[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gDownLeftAndRightDirections[4];
-extern u8 (*const gMovementTypeFuncs_RotateCounterclockwise[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gCounterclockwiseDirections[5];
-extern u8 (*const gMovementTypeFuncs_RotateClockwise[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gClockwiseDirections[5];
-extern u8 (*const gMovementTypeFuncs_WalkBackAndForth[])(struct ObjectEvent *, struct Sprite *);
-extern u8 (*const gMovementTypeFuncs_WalkSequenceUpRightLeftDown[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gUpRightLeftDownDirections[4];
-extern u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftDownUp[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gRightLeftDownUpDirections[4];
-extern u8 (*const gMovementTypeFuncs_WalkSequenceDownUpRightLeft[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gDownUpRightLeftDirections[4];
-extern u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownUpRight[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gLeftDownUpRightDirections[4];
-extern u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftRightDown[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gUpLeftRightDownDirections[4];
-extern u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightDownUp[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gLeftRightDownUpDirections[4];
-extern u8 (*const gMovementTypeFuncs_WalkSequenceDownUpLeftRight[])(struct ObjectEvent *, struct Sprite *);
-extern u8 (*const gMovementTypeFuncs_WalkSequenceRightDownUpLeft[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gRightDownUpLeftDirections[4];
-extern u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpDownRight[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gLeftUpDownRightDirections[4];
-extern u8 (*const gMovementTypeFuncs_WalkSequenceUpDownRightLeft[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gUpDownRightLeftDirections[4];
-extern u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftUpDown[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gRightLeftUpDownDirections[4];
-extern u8 (*const gMovementTypeFuncs_WalkSequenceDownRightLeftUp[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gDownRightLeftUpDirections[4];
-extern u8 (*const gMovementTypeFuncs_WalkSequenceRightUpDownLeft[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gRightUpDownLeftDirections[4];
-extern u8 (*const gMovementTypeFuncs_WalkSequenceUpDownLeftRight[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gUpDownLeftRightDirections[4];
-extern u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightUpDown[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gLeftRightUpDownDirections[4];
-extern u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftRightUp[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gDownLeftRightUpDirections[4];
-extern u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftDownRight[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gUpLeftDownRightDirections[4];
-extern u8 (*const gMovementTypeFuncs_WalkSequenceDownRightUpLeft[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gDownRightUpLeftDirections[4];
-extern u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownRightUp[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gLeftDownRightUpDirections[4];
-extern u8 (*const gMovementTypeFuncs_WalkSequenceRightUpLeftDown[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gRightUpLeftDownDirections[4];
-extern u8 (*const gMovementTypeFuncs_WalkSequenceUpRightDownLeft[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gUpRightDownLeftDirections[4];
-extern u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftUpRight[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gDownLeftUpRightDirections[4];
-extern u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpRightDown[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gLeftUpRightDownDirections[4];
-extern u8 (*const gMovementTypeFuncs_WalkSequenceRightDownLeftUp[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gRightDownLeftUpDirections[4];
-extern u8 (*const gMovementTypeFuncs_CopyPlayer[])(struct ObjectEvent *, struct Sprite *);
-extern bool8 (*const gCopyPlayerMovementFuncs[])(struct ObjectEvent *, struct Sprite *, u8, bool8(u8));
-extern u8 (*const gMovementTypeFuncs_CopyPlayerInGrass[])(struct ObjectEvent *, struct Sprite *);
-extern u8 (*const gMovementTypeFuncs_Hidden[])(struct ObjectEvent *, struct Sprite *);
-extern u8 (*const gMovementTypeFuncs_WalkInPlace[])(struct ObjectEvent *, struct Sprite *);
-extern u8 (*const gMovementTypeFuncs_WalkSlowlyInPlace[])(struct ObjectEvent *, struct Sprite *);
-extern u8 (*const gMovementTypeFuncs_JogInPlace[])(struct ObjectEvent *, struct Sprite *);
-extern u8 (*const gMovementTypeFuncs_Invisible[])(struct ObjectEvent *, struct Sprite *);
-extern u8 (*const gUnknown_83A63F0[])(struct ObjectEvent *, struct Sprite *);
-extern u8 (*const gUnknown_83A63FC[])(struct ObjectEvent *, struct Sprite *);
-extern u8 (*const gUnknown_83A6404[])(struct ObjectEvent *, struct Sprite *);
-extern const u8 gFaceDirectionAnimNums[];
-extern const u8 gMoveDirectionAnimNums[];
-extern const u8 gMoveDirectionFastAnimNums[];
-extern const u8 gMoveDirectionFasterAnimNums[];
-extern const u8 gMoveDirectionFastestAnimNums[];
-extern const u8 gJumpSpecialDirectionAnimNums[];
-extern const u8 gAcroWheelieDirectionAnimNums[];
-extern const u8 gUnrefAnimNums_080634A0[];
-extern const u8 gAcroEndWheelieDirectionAnimNums[];
-extern const u8 gAcroUnusedActionDirectionAnimNums[];
-extern const u8 gAcroWheeliePedalDirectionAnimNums[];
-extern const u8 gFishingDirectionAnimNums[];
-extern const u8 gFishingNoCatchDirectionAnimNums[];
-extern const u8 gFishingBiteDirectionAnimNums[];
-extern const u8 gUnknown_83A648A[];
-extern const u8 gRunningDirectionAnimNums[];
-extern const struct UnkStruct_083A3698 gUnknown_83A3698[];
-extern const u8 gTrainerFacingDirectionMovementTypes[];
-extern bool8 (*const gOppositeDirectionBlockedMetatileFuncs[])(u8);
-extern bool8 (*const gDirectionBlockedMetatileFuncs[])(u8);
-extern const struct Coords16 sDirectionToVectors[];
-extern const u8 gFaceDirectionMovementActions[5];
-extern const u8 gWalkSlowMovementActions[5];
-extern const u8 gUnknown_83A64F6[];
-extern const u8 gUnknown_83A64FB[5];
-extern const u8 gUnknown_83A6500[5];
-extern const u8 gUnknown_83A6505[5];
-extern const u8 gUnknown_83A650A[5];
-extern const u8 gUnknown_83A650F[5];
-extern const u8 gUnknown_83A6514[5];
-extern const u8 gUnknown_83A6519[5];
-extern const u8 gUnknown_83A651E[5];
-extern const u8 gUnknown_83A6523[5];
-extern const u8 gUnknown_83A6528[5];
-extern const u8 gUnknown_83A652D[5];
-extern const u8 gUnknown_83A6532[5];
-extern const u8 gUnknown_83A6537[5];
-extern const u8 gUnknown_83A653C[5];
-extern const u8 gUnknown_83A6541[5];
-extern const u8 gUnknown_83A6546[5];
-extern const u8 gUnknown_83A654B[5];
-extern const u8 gUnknown_83A6550[5];
-extern const u8 gUnknown_83A6555[5];
-extern const u8 gUnknown_83A655A[5];
-extern const u8 gUnknown_83A655F[5];
-extern const u8 gUnknown_83A6564[5];
-extern const u8 gUnknown_83A6569[5];
-extern const u8 gUnknown_83A656E[5];
-extern const u8 gUnknown_83A6573[5];
-extern const u8 gUnknown_83A6578[5];
-extern const u8 gUnknown_83A657D[5];
-extern const u8 gUnknown_83A6582[5];
-extern const u8 gUnknown_83A6587[5];
-extern const u8 gUnknown_83A658C[5];
-extern const u8 gOppositeDirections[8];
-extern const u8 gUnknown_83A6599[][4];
-extern const u8 gUnknown_83A65A9[][4];
-extern u8 (*const *const gMovementActionFuncs[])(struct ObjectEvent *, struct Sprite *);
-extern u8 (*const gUnknown_83A6884[5])(u8);
-extern const s16 gUnknown_83A6958[3];
-extern const s16 gUnknown_83A695E[3];
-extern const u16 gUnknown_8398FA8[];
-extern const u16 gUnknown_8398FC8[];
-extern const u32 gUnknown_8398048[8];
-extern const u32 gUnknown_8398068[16];
-extern const u32 gUnknown_83980A8[32];
-extern const u32 gUnknown_8398128[256];
-extern const u32 gUnknown_839A008[];
-extern const u32 gUnknown_83986A8[];
-extern const u32 gUnknown_8398928[];
-extern const u32 gUnknown_8396B08[];
-extern const u32 gUnknown_8398BA8[];
-extern const u32 gUnknown_8399008[];
-extern const u32 gUnknown_8399188[];
-extern const u32 gUnknown_839A388[];
-extern const u32 gUnknown_839A488[];
-extern const u32 gUnknown_839A588[];
-extern const u32 gUnknown_839AA48[];
-extern const u32 gUnknown_839AC48[];
-extern const u32 gUnknown_839ACC8[];
-extern const u32 gUnknown_8399E08[];
-extern const u32 gUnknown_8399488[];
-extern const u32 gUnknown_8399788[];
-extern const u32 gUnknown_8399C08[];
-extern const u32 gUnknown_839A788[];
-extern const u32 gUnknown_839A988[];
-extern const u32 gUnknown_839AD88[];
-extern const u32 gUnknown_839B008[];
-extern const u32 gUnknown_839B708[];
-extern const u32 gUnknown_839BE08[];
-extern const u32 gUnknown_839D3C8[];
-extern const u32 gUnknown_839A288[];
-extern const u32 gUnknown_839C508[];
-extern const u32 gUnknown_839C5A8[];
-extern const u16 gUnknown_839C588[];
-extern const u32 gUnknown_839C828[];
-extern const u32 gUnknown_839CAA8[];
-extern const u32 gUnknown_839D2A8[];
-extern const u16 gUnknown_839D3A8[];
-extern const u32 gUnknown_835BB68[];
-extern const u32 gUnknown_8391B28[];
-extern const u32 gUnknown_83934A8[];
-extern const u32 gUnknown_8393628[];
-extern const u32 gUnknown_8394428[];
-extern const u32 gUnknown_83942A8[];
-extern const u32 gUnknown_8394128[];
-extern const u32 gUnknown_8393FA8[];
-extern const u32 gUnknown_8393E28[];
-extern const u32 gUnknown_8393CA8[];
-extern const u32 gUnknown_8393B28[];
-extern const u32 gUnknown_83902A8[];
-extern const u32 gUnknown_838FEA8[];
-extern const u32 gUnknown_838FAA8[];
-extern const struct OamData gObjectEventBaseOam_16x16;
-extern const struct OamData gObjectEventBaseOam_16x32;
-extern const struct OamData gObjectEventBaseOam_32x16;
-extern const struct OamData gObjectEventBaseOam_64x64;
-extern const struct OamData gObjectEventBaseOam_8x8;
-extern const struct OamData gObjectEventBaseOam_16x8;
-extern const struct OamData gObjectEventBaseOam_32x8;
-extern const struct OamData gObjectEventBaseOam_64x32;
-extern const u16 gUnknown_836D828[];
-extern const u16 gUnknown_836D848[];
-extern const u16 gUnknown_836D868[];
-extern const u16 gUnknown_836D888[];
-extern const u16 gUnknown_836D8A8[];
-extern const u16 gUnknown_836D8C8[];
-extern const u16 gUnknown_836D8E8[];
-extern const u16 gUnknown_836D908[];
-extern const u16 gUnknown_835B968[];
-extern const u16 gUnknown_835E968[];
-extern const u16 gUnknown_835E988[];
-extern const u16 gUnknown_8398008[];
-extern const u16 gUnknown_8398028[];
-extern const u16 gUnknown_835B968[];
-extern const u16 gUnknown_835E968[];
-extern const u16 gUnknown_8394EA8[];
-extern const u16 gUnknown_8395AE8[];
-extern const u16 gUnknown_83952C8[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A37F0[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A37F0[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A37F0[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A37F0[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A37F0[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A37F0[];
-extern const struct SubspriteTable gSubspriteTables_83A37F0[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A37F0[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A37F0[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A37F0[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A37F0[];
-extern const struct SubspriteTable gSubspriteTables_83A37F0[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A37F0[];
-extern const struct SubspriteTable gSubspriteTables_83A37F0[];
-extern const struct SubspriteTable gSubspriteTables_83A37F0[];
-extern const struct SubspriteTable gSubspriteTables_83A37F0[];
-extern const struct SubspriteTable gSubspriteTables_83A37F0[];
-extern const struct SubspriteTable gSubspriteTables_83A37F0[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A37F0[];
-extern const struct SubspriteTable gSubspriteTables_83A37F0[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A3748[];
-extern const struct SubspriteTable gSubspriteTables_83A379C[];
-extern const struct SubspriteTable gSubspriteTables_83A38D0[];
-extern const struct SubspriteTable gSubspriteTables_83A3A50[];
-extern const union AnimCmd * const gAnimTable_83A3470[];
-extern const union AnimCmd * const gAnimTable_83A3368[];
-extern const union AnimCmd * const gAnimTable_83A3584[];
-extern const union AnimCmd * const gAnimTable_83A3638[];
-extern const union AnimCmd * const gAnimTable_83A35E4[];
-extern const union AnimCmd * const gAnimTable_83A3314[];
-extern const union AnimCmd * const gAnimTable_83A3660[];
-extern const union AnimCmd * const gAnimTable_83A3658[];
-extern const union AnimCmd * const gAnimTable_83A3470[];
-extern const union AnimCmd * const gAnimTable_83A3584[];
-extern const union AnimCmd * const gAnimTable_83A3638[];
-extern const union AnimCmd * const gAnimTable_83A3668[];
-extern const union AnimCmd * const gAnimTable_83A363C[];
-extern const union AnimCmd * const gAnimTable_83A3640[];
-extern const union AnimCmd * const gAnimTable_83A33BC[];
-extern const struct SpriteFrameImage gSpriteImages_83A00A0[];
-extern const struct SpriteFrameImage gSpriteImages_83A0140[];
-extern const struct SpriteFrameImage gSpriteImages_83A0270[];
-extern const struct SpriteFrameImage gSpriteImages_83A0330[];
-extern const struct SpriteFrameImage gSpriteImages_83A04C0[];
-extern const struct SpriteFrameImage gSpriteImages_83A0420[];
-extern const struct SpriteFrameImage gSpriteImages_83A0470[];
-extern const struct SpriteFrameImage gSpriteImages_83A0508[];
-extern const struct SpriteFrameImage gSpriteImages_83A0550[];
-extern const struct SpriteFrameImage gSpriteImages_83A05A0[];
-extern const struct SpriteFrameImage gSpriteImages_83A05E8[];
-extern const struct SpriteFrameImage gSpriteImages_83A0638[];
-extern const struct SpriteFrameImage gSpriteImages_83A0688[];
-extern const struct SpriteFrameImage gSpriteImages_83A06D8[];
-extern const struct SpriteFrameImage gSpriteImages_83A0C40[];
-extern const struct SpriteFrameImage gSpriteImages_83A0720[];
-extern const struct SpriteFrameImage gSpriteImages_83A0770[];
-extern const struct SpriteFrameImage gSpriteImages_83A07C0[];
-extern const struct SpriteFrameImage gSpriteImages_83A0808[];
-extern const struct SpriteFrameImage gSpriteImages_83A0858[];
-extern const struct SpriteFrameImage gSpriteImages_83A08A8[];
-extern const struct SpriteFrameImage gSpriteImages_83A08F8[];
-extern const struct SpriteFrameImage gSpriteImages_83A0940[];
-extern const struct SpriteFrameImage gSpriteImages_83A0988[];
-extern const struct SpriteFrameImage gSpriteImages_83A09D8[];
-extern const struct SpriteFrameImage gSpriteImages_83A0A20[];
-extern const struct SpriteFrameImage gSpriteImages_83A0AB8[];
-extern const struct SpriteFrameImage gSpriteImages_83A0B00[];
-extern const struct SpriteFrameImage gSpriteImages_83A0B50[];
-extern const struct SpriteFrameImage gSpriteImages_83A0BA0[];
-extern const struct SpriteFrameImage gSpriteImages_83A0BF0[];
-extern const struct SpriteFrameImage gSpriteImages_83A0C90[];
-extern const struct SpriteFrameImage gSpriteImages_83A0CE0[];
-extern const struct SpriteFrameImage gSpriteImages_83A0D30[];
-extern const struct SpriteFrameImage gSpriteImages_83A0D78[];
-extern const struct SpriteFrameImage gSpriteImages_83A0DC8[];
-extern const struct SpriteFrameImage gSpriteImages_83A0E18[];
-extern const struct SpriteFrameImage gSpriteImages_83A0E68[];
-extern const struct SpriteFrameImage gSpriteImages_83A0EB8[];
-extern const struct SpriteFrameImage gSpriteImages_83A0F08[];
-extern const struct SpriteFrameImage gSpriteImages_83A0F58[];
-extern const struct SpriteFrameImage gSpriteImages_83A0FA8[];
-extern const struct SpriteFrameImage gSpriteImages_83A0FF8[];
-extern const struct SpriteFrameImage gSpriteImages_83A1040[];
-extern const struct SpriteFrameImage gSpriteImages_83A1090[];
-extern const struct SpriteFrameImage gSpriteImages_83A10D8[];
-extern const struct SpriteFrameImage gSpriteImages_83A1120[];
-extern const struct SpriteFrameImage gSpriteImages_83A1170[];
-extern const struct SpriteFrameImage gSpriteImages_83A11C0[];
-extern const struct SpriteFrameImage gSpriteImages_83A1210[];
-extern const struct SpriteFrameImage gSpriteImages_83A1260[];
-extern const struct SpriteFrameImage gSpriteImages_83A12B0[];
-extern const struct SpriteFrameImage gSpriteImages_83A12F8[];
-extern const struct SpriteFrameImage gSpriteImages_83A1348[];
-extern const struct SpriteFrameImage gSpriteImages_83A1390[];
-extern const struct SpriteFrameImage gSpriteImages_83A1398[];
-extern const struct SpriteFrameImage gSpriteImages_83A13E0[];
-extern const struct SpriteFrameImage gSpriteImages_83A1430[];
-extern const struct SpriteFrameImage gSpriteImages_83A1480[];
-extern const struct SpriteFrameImage gSpriteImages_83A14C8[];
-extern const struct SpriteFrameImage gSpriteImages_83A0A70[];
-extern const struct SpriteFrameImage gSpriteImages_83A1510[];
-extern const struct SpriteFrameImage gSpriteImages_83A1530[];
-extern const struct SpriteFrameImage gSpriteImages_83A1578[];
-extern const struct SpriteFrameImage gSpriteImages_83A15C0[];
-extern const struct SpriteFrameImage gSpriteImages_83A1608[];
-extern const struct SpriteFrameImage gSpriteImages_83A1650[];
-extern const struct SpriteFrameImage gSpriteImages_83A1698[];
-extern const struct SpriteFrameImage gSpriteImages_83A16B8[];
-extern const struct SpriteFrameImage gSpriteImages_83A0188[];
-extern const struct SpriteFrameImage gSpriteImages_83A0228[];
-extern const struct SpriteFrameImage gSpriteImages_83A02D0[];
-extern const struct SpriteFrameImage gSpriteImages_83A0378[];
-extern const struct SpriteFrameImage gSpriteImages_83A0140[];
-extern const struct SpriteFrameImage gSpriteImages_83A16C0[];
-extern const struct SpriteFrameImage gSpriteImages_83A1708[];
-extern const struct SpriteFrameImage gSpriteImages_83A1750[];
-extern const struct SpriteFrameImage gSpriteImages_83A1798[];
-extern const struct SpriteFrameImage gSpriteImages_83A17E0[];
-extern const struct SpriteFrameImage gSpriteImages_83A1828[];
-extern const struct SpriteFrameImage gSpriteImages_83A1870[];
-extern const struct SpriteFrameImage gSpriteImages_83A18B8[];
-extern const struct SpriteFrameImage gSpriteImages_83A1900[];
-extern const struct SpriteFrameImage gSpriteImages_83A1948[];
-extern const struct SpriteFrameImage gSpriteImages_83A1990[];
-extern const struct SpriteFrameImage gSpriteImages_83A19D8[];
-extern const struct SpriteFrameImage gSpriteImages_83A1A20[];
-extern const struct SpriteFrameImage gSpriteImages_83A1A68[];
-extern const struct SpriteFrameImage gSpriteImages_83A1AB0[];
-extern const struct SpriteFrameImage gSpriteImages_83A1AF8[];
-extern const struct SpriteFrameImage gSpriteImages_83A1B40[];
-extern const struct SpriteFrameImage gSpriteImages_83A1BA0[];
-extern const struct SpriteFrameImage gSpriteImages_83A0330[];
-extern const struct SpriteFrameImage gSpriteImages_83A03C0[];
-extern const struct SpriteFrameImage gSpriteImages_83A0378[];
-extern const struct SpriteFrameImage gSpriteImages_83A03F0[];
-extern const struct SpriteFrameImage gSpriteImages_83A1C00[];
-extern const struct SpriteFrameImage gSpriteImages_83A1C08[];
-extern const struct SpriteFrameImage gSpriteImages_83A1C10[];
-extern const struct SpriteFrameImage gSpriteImages_83A1D38[];
-extern const struct SpriteFrameImage gSpriteImages_83A1C58[];
-extern const struct SpriteFrameImage gSpriteImages_83A1C60[];
-extern const struct SpriteFrameImage gSpriteImages_83A1C68[];
-extern const struct SpriteFrameImage gSpriteImages_83A1C70[];
-extern const struct SpriteFrameImage gSpriteImages_83A1C78[];
-extern const struct SpriteFrameImage gSpriteImages_83A1C80[];
-extern const struct SpriteFrameImage gSpriteImages_83A1C88[];
-extern const struct SpriteFrameImage gSpriteImages_83A1C90[];
-extern const struct SpriteFrameImage gSpriteImages_83A1C98[];
-extern const struct SpriteFrameImage gSpriteImages_83A1CA0[];
-extern const struct SpriteFrameImage gSpriteImages_83A1D80[];
-extern const struct SpriteFrameImage gSpriteImages_83A1E10[];
-extern const struct SpriteFrameImage gSpriteImages_83A1E58[];
-extern const struct SpriteFrameImage gSpriteImages_83A1EA0[];
-extern const struct SpriteFrameImage gSpriteImages_83A1EE8[];
-extern const struct SpriteFrameImage gSpriteImages_83A1F30[];
-extern const struct SpriteFrameImage gSpriteImages_83A1F78[];
-extern const struct SpriteFrameImage gSpriteImages_83A1FC0[];
-extern const struct SpriteFrameImage gSpriteImages_83A2008[];
-extern const struct SpriteFrameImage gSpriteImages_83A2050[];
-extern const struct SpriteFrameImage gSpriteImages_83A2098[];
-extern const struct SpriteFrameImage gSpriteImages_83A20E0[];
-extern const struct SpriteFrameImage gSpriteImages_83A2128[];
-extern const struct SpriteFrameImage gSpriteImages_83A2170[];
-extern const struct SpriteFrameImage gSpriteImages_83A21B8[];
-extern const struct SpriteFrameImage gSpriteImages_83A2200[];
-extern const struct SpriteFrameImage gSpriteImages_83A2248[];
-extern const struct SpriteFrameImage gSpriteImages_83A2290[];
-extern const struct SpriteFrameImage gSpriteImages_83A22D8[];
-extern const struct SpriteFrameImage gSpriteImages_83A2320[];
-extern const struct SpriteFrameImage gSpriteImages_83A2368[];
-extern const struct SpriteFrameImage gSpriteImages_83A23B0[];
-extern const struct SpriteFrameImage gSpriteImages_83A23F8[];
-extern const struct SpriteFrameImage gSpriteImages_83A2440[];
-extern const struct SpriteFrameImage gSpriteImages_83A2488[];
-extern const struct SpriteFrameImage gSpriteImages_83A24D0[];
-extern const struct SpriteFrameImage gSpriteImages_83A2518[];
-extern const struct SpriteFrameImage gSpriteImages_83A2560[];
-extern const struct SpriteFrameImage gSpriteImages_83A25A8[];
-extern const struct SpriteFrameImage gSpriteImages_83A25F0[];
-extern const struct SpriteFrameImage gSpriteImages_83A2638[];
-extern const struct SpriteFrameImage gSpriteImages_83A2680[];
-extern const struct SpriteFrameImage gSpriteImages_83A2878[];
-extern const struct SpriteFrameImage gSpriteImages_83A28C0[];
-extern const struct SpriteFrameImage gSpriteImages_83A26C8[];
-extern const struct SpriteFrameImage gSpriteImages_83A1DC8[];
-extern const struct SpriteFrameImage gSpriteImages_83A2710[];
-extern const struct SpriteFrameImage gSpriteImages_83A2758[];
-extern const struct SpriteFrameImage gSpriteImages_83A27A0[];
-extern const struct SpriteFrameImage gSpriteImages_83A27E8[];
-extern const struct SpriteFrameImage gSpriteImages_83A2830[];
-extern const struct SpriteFrameImage gSpriteImages_83A2908[];
-extern const struct SpriteFrameImage gSpriteImages_83A1CA8[];
-extern const struct SpriteFrameImage gSpriteImages_83A1CF0[];
-extern const union AffineAnimCmd * const gDummySpriteAffineAnimTable[];
-extern const u32 gUnknown_835BB68[];
-extern const u32 gUnknown_835C468[];
-extern const u32 gUnknown_8361FA8[];
-extern const u32 gUnknown_835D268[];
-extern const u32 gUnknown_835DB68[];
-extern const u32 gUnknown_8363DA8[];
-extern const u32 gUnknown_835E9A8[];
-extern const u32 gUnknown_835F2A8[];
-extern const u32 gUnknown_83631A8[];
-extern const u32 gUnknown_8364FA8[];
-extern const u32 gUnknown_8365BA8[];
-extern const u32 gUnknown_83664A8[];
-extern const u32 gUnknown_8397708[];
-extern const u32 gUnknown_836D928[];
-extern const u32 gUnknown_836DDA8[];
-extern const u32 gUnknown_836E2A8[];
-extern const u32 gUnknown_836E5A8[];
-extern const u32 gUnknown_836EFA8[];
-extern const u32 gUnknown_83703A8[];
-extern const u32 gUnknown_8370DA8[];
-extern const u32 gUnknown_83720A8[];
-extern const u32 gUnknown_83716A8[];
-extern const u32 gUnknown_83733A8[];
-extern const u32 gUnknown_8373CA8[];
-extern const u32 gUnknown_83746A8[];
-extern const u32 gUnknown_83750A8[];
-extern const u32 gUnknown_8375CA8[];
-extern const u32 gUnknown_83766A8[];
-extern const u32 gUnknown_83770A8[];
-extern const u32 gUnknown_8377AA8[];
-extern const u32 gUnknown_83783A8[];
-extern const u32 gUnknown_8378CA8[];
-extern const u32 gUnknown_83795A8[];
-extern const u32 gUnknown_8379FA8[];
-extern const u32 gUnknown_837A9A8[];
-extern const u32 gUnknown_837B3A8[];
-extern const u32 gUnknown_836F9A8[];
-extern const u32 gUnknown_837BF28[];
-extern const u32 gUnknown_837C928[];
-extern const u32 gUnknown_837D328[];
-extern const u32 gUnknown_837DC28[];
-extern const u32 gUnknown_837E628[];
-extern const u32 gUnknown_837F028[];
-extern const u32 gUnknown_837FA28[];
-extern const u32 gUnknown_8380428[];
-extern const u32 gUnknown_8380E28[];
-extern const u32 gUnknown_8381828[];
-extern const u32 gUnknown_8382228[];
-extern const u32 gUnknown_8382C28[];
-extern const u32 gUnknown_8383528[];
-extern const u32 gUnknown_8383F28[];
-extern const u32 gUnknown_8384828[];
-extern const u32 gUnknown_8385128[];
-extern const u32 gUnknown_8385628[];
-extern const u32 gUnknown_8385B28[];
-extern const u32 gUnknown_8386028[];
-extern const u32 gUnknown_8386A28[];
-extern const u32 gUnknown_8387E28[];
-extern const u32 gUnknown_838AD28[];
-extern const u32 gUnknown_838B728[];
-extern const u32 gUnknown_8389B28[];
-extern const u32 gUnknown_8388728[];
-extern const u32 gUnknown_8389128[];
-extern const u32 gUnknown_838BAA8[];
-extern const u32 gUnknown_838C3A8[];
-extern const u32 gUnknown_83945A8[];
-extern const u32 gUnknown_838C6A8[];
-extern const u32 gUnknown_838CFA8[];
-extern const u32 gUnknown_838D2A8[];
-extern const u32 gUnknown_838B128[];
-extern const u32 gUnknown_838B428[];
-extern const u32 gUnknown_83947A8[];
-extern const u32 gUnknown_838DEA8[];
-extern const u32 gUnknown_838E7A8[];
-extern const u32 gUnknown_8390F28[];
-extern const u32 gUnknown_836C928[];
-extern const u32 gUnknown_8391228[];
-extern const u32 gUnknown_836CC28[];
-extern const u32 gUnknown_836C328[];
-extern const u32 gUnknown_836C628[];
-extern const u32 gUnknown_836A228[];
-extern const u32 gUnknown_836AB28[];
-extern const u32 gUnknown_836AE28[];
-extern const u32 gUnknown_836CF28[];
-extern const u32 gUnknown_836B128[];
-extern const u32 gUnknown_836BA28[];
-extern const u32 gUnknown_8391528[];
-extern const u32 gUnknown_838A428[];
-extern const u32 gUnknown_8366DA8[];
-extern const u32 gUnknown_83685A8[];
-extern const u32 gUnknown_8391828[];
-extern const u32 gUnknown_83939A8[];
-extern const u32 gUnknown_8391E28[];
-extern const u32 gUnknown_8391FA8[];
-extern const u32 gUnknown_8392128[];
-extern const u32 gUnknown_837BDA8[];
-extern const u32 gUnknown_83922A8[];
-extern const u32 gUnknown_8392428[];
-extern const u32 gUnknown_83925A8[];
-extern const u32 gUnknown_8392728[];
-extern const u32 gUnknown_83928A8[];
-extern const u32 gUnknown_8392A28[];
-extern const u32 gUnknown_8392BA8[];
-extern const u32 gUnknown_8392D28[];
-extern const u32 gUnknown_8392EA8[];
-extern const u32 gUnknown_8393028[];
-extern const u32 gUnknown_83931A8[];
-extern const u32 gUnknown_8393328[];
-extern const u32 gUnknown_838F0A8[];
-extern const u32 gUnknown_8390328[];
-extern const u32 gUnknown_8390728[];
-extern const u32 gUnknown_8390B28[];
-extern const u32 gUnknown_838FAA8[];
-extern const u32 gUnknown_838FEA8[];
-extern const u32 gUnknown_8393B28[];
-extern const u32 gUnknown_8393CA8[];
-extern const u32 gUnknown_8393E28[];
-extern const u32 gUnknown_8393FA8[];
-extern const u32 gUnknown_8394128[];
-extern const u32 gUnknown_83942A8[];
-extern const u32 gUnknown_8394428[];
-extern const u32 gUnknown_8393628[];
-extern const u32 gUnknown_83934A8[];
-extern const u32 gUnknown_8391B28[];
-extern const u32 gUnknown_8375AA8[];
-extern const u32 gUnknown_838BA28[];
-extern const u32 gUnknown_83949A8[];
-extern const u32 gUnknown_8369E28[];
-extern const u32 gUnknown_8369DA8[];
-extern const u32 gUnknown_8394A28[];
-extern const u32 gUnknown_8394AA8[];
-extern const u32 gUnknown_8394B28[];
-extern const u32 gUnknown_8394BA8[];
-extern const u32 gUnknown_8394C28[];
-extern const u32 gUnknown_8394D28[];
-extern const u32 gUnknown_8394DA8[];
-extern const u32 gUnknown_838FA28[];
-extern const u32 gUnknown_838F9A8[];
-extern const u32 gUnknown_838F928[];
-extern const u32 gUnknown_838F8A8[];
-extern const u32 gUnknown_838F828[];
-extern const u32 gUnknown_838F628[];
-extern const u32 gUnknown_838F428[];
-extern const u32 gUnknown_838F228[];
-extern const u32 gUnknown_83937A8[];
-extern const u32 gUnknown_8395B08[];
-extern const u32 gUnknown_83952E8[];
-extern const u32 gUnknown_83950C8[];
-extern const u32 gUnknown_8394EC8[];
-extern const u32 gUnknown_8394E28[];
-
-// TODO: some data
+const u8 gReflectionEffectPaletteMap[] = {1, 1, 6, 7, 8, 9, 6, 7, 8, 9, 11, 11, 0, 0, 0, 0};
+
+const struct SpriteTemplate gCameraSpriteTemplate = {
+ .tileTag = 0,
+ .paletteTag = 0xFFFF,
+ .oam = &gDummyOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = ObjectCB_CameraObject
+};
+
+void (*const gCameraObjectFuncs[])(struct Sprite *) = {
+ CameraObject_0,
+ CameraObject_1,
+ CameraObject_2,
+};
#include "data/object_events/object_event_graphics.h"
@@ -3339,7 +2637,7 @@ u8 AddCameraObject(u8 linkedSpriteId)
return spriteId;
}
-/*static*/ void ObjectCB_CameraObject(struct Sprite *sprite)
+static void ObjectCB_CameraObject(struct Sprite *sprite)
{
void (*callbacks[NELEMS(gCameraObjectFuncs)])(struct Sprite *);
@@ -3347,7 +2645,7 @@ u8 AddCameraObject(u8 linkedSpriteId)
callbacks[sprite->data[1]](sprite);
}
-/*static*/ void CameraObject_0(struct Sprite *sprite)
+static void CameraObject_0(struct Sprite *sprite)
{
sprite->pos1.x = gSprites[sprite->data[0]].pos1.x;
sprite->pos1.y = gSprites[sprite->data[0]].pos1.y;
@@ -3356,7 +2654,7 @@ u8 AddCameraObject(u8 linkedSpriteId)
CameraObject_1(sprite);
}
-/*static*/ void CameraObject_1(struct Sprite *sprite)
+static void CameraObject_1(struct Sprite *sprite)
{
s16 x = gSprites[sprite->data[0]].pos1.x;
s16 y = gSprites[sprite->data[0]].pos1.y;
@@ -3367,7 +2665,7 @@ u8 AddCameraObject(u8 linkedSpriteId)
sprite->pos1.y = y;
}
-/*static*/ void CameraObject_2(struct Sprite *sprite)
+static void CameraObject_2(struct Sprite *sprite)
{
sprite->pos1.x = gSprites[sprite->data[0]].pos1.x;
sprite->pos1.y = gSprites[sprite->data[0]].pos1.y;
@@ -5406,7 +4704,7 @@ bool8 MovementType_CopyPlayerInGrass_Step1(struct ObjectEvent *objectEvent, stru
return gCopyPlayerMovementFuncs[PlayerGetCopyableMovement()](objectEvent, sprite, GetPlayerMovementDirection(), MetatileBehavior_IsPokeGrass);
}
-void MovementType_TreeDisguise(struct Sprite *sprite)
+static void MovementType_TreeDisguise(struct Sprite *sprite)
{
struct ObjectEvent *objectEvent;
@@ -5427,7 +4725,7 @@ static bool8 MovementType_Disguise_Callback(struct ObjectEvent *objectEvent, str
return FALSE;
}
-void MovementType_MountainDisguise(struct Sprite *sprite)
+static void MovementType_MountainDisguise(struct Sprite *sprite)
{
struct ObjectEvent *objectEvent;
@@ -5442,7 +4740,7 @@ void MovementType_MountainDisguise(struct Sprite *sprite)
UpdateObjectEventCurrentMovement(&gObjectEvents[sprite->data[0]], sprite, MovementType_Disguise_Callback);
}
-void MovementType_Hidden(struct Sprite *sprite)
+static void MovementType_Hidden(struct Sprite *sprite)
{
if (!sprite->data[7])
{