summaryrefslogtreecommitdiff
path: root/src/event_object_movement.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/event_object_movement.c')
-rw-r--r--src/event_object_movement.c543
1 files changed, 271 insertions, 272 deletions
diff --git a/src/event_object_movement.c b/src/event_object_movement.c
index 6b9445d8e..a671ada34 100644
--- a/src/event_object_movement.c
+++ b/src/event_object_movement.c
@@ -18,8 +18,6 @@
#include "constants/event_object_movement.h"
#include "constants/event_objects.h"
-#define NUM_FIELD_MAP_OBJECT_TEMPLATES 0x51
-
static void MoveCoordsInDirection(u32, s16 *, s16 *, s16, s16);
static bool8 ObjectEventExecSingleMovementAction(struct ObjectEvent *, struct Sprite *);
static u8 GetCollisionInDirection(struct ObjectEvent *, u8);
@@ -71,10 +69,10 @@ static void GetObjectEventMovingCameraOffset(s16 *, s16 *);
static struct ObjectEventTemplate *GetObjectEventTemplateByLocalIdAndMap(u8, u8, u8);
static void LoadObjectEventPalette(u16);
static void RemoveObjectEventIfOutsideView(struct ObjectEvent *);
-static void sub_805EE3C(u8, s16, s16);
+static void ReloadMapObjectWithOffset(u8 objectEventId, s16 x, s16 y);
static void SetPlayerAvatarObjectEventIdAndObjectId(u8, u8);
static void sub_805EFF4(struct ObjectEvent *);
-static u8 sub_805F510(const struct SpritePalette *);
+static u8 TryLoadObjectPalette(const struct SpritePalette *spritePalette);
static u8 FindObjectEventPaletteIndexByTag(u16);
static bool8 ObjectEventDoesZCoordMatch(struct ObjectEvent *, u8);
static void ObjectCB_CameraObject(struct Sprite *);
@@ -177,11 +175,11 @@ static u8 setup##_callback(struct ObjectEvent *objectEvent, struct Sprite *sprit
EWRAM_DATA u8 sCurrentReflectionType = 0;
EWRAM_DATA u16 sCurrentSpecialObjectPaletteTag = 0;
-const u8 gReflectionEffectPaletteMap[] = {1, 1, 6, 7, 8, 9, 6, 7, 8, 9, 11, 11, 0, 0, 0, 0};
+const u8 gReflectionEffectPaletteMap[16] = {1, 1, 6, 7, 8, 9, 6, 7, 8, 9, 11, 11, 0, 0, 0, 0};
-const struct SpriteTemplate gCameraSpriteTemplate = {
+static const struct SpriteTemplate gCameraSpriteTemplate = {
.tileTag = 0,
- .paletteTag = 0xFFFF,
+ .paletteTag = SPRITE_INVALID_TAG,
.oam = &gDummyOamData,
.anims = gDummySpriteAnimTable,
.images = NULL,
@@ -197,7 +195,7 @@ void (*const gCameraObjectFuncs[])(struct Sprite *) = {
#include "data/object_events/object_event_graphics.h"
-static void (*const sMovementTypeCallbacks[])(struct Sprite *) = {
+static void (*const sMovementTypeCallbacks[MOVEMENT_TYPES_COUNT])(struct Sprite *) = {
[MOVEMENT_TYPE_NONE] = MovementType_None,
[MOVEMENT_TYPE_LOOK_AROUND] = MovementType_LookAround,
[MOVEMENT_TYPE_WANDER_AROUND] = MovementType_WanderAround,
@@ -281,7 +279,7 @@ static void (*const sMovementTypeCallbacks[])(struct Sprite *) = {
[MOVEMENT_TYPE_WANDER_AROUND_SLOWEST] = MovementType_WanderAroundSlowest,
};
-const bool8 gRangedMovementTypes[NUM_FIELD_MAP_OBJECT_TEMPLATES] = {
+static const bool8 gRangedMovementTypes[MOVEMENT_TYPES_COUNT] = {
[MOVEMENT_TYPE_NONE] = FALSE,
[MOVEMENT_TYPE_LOOK_AROUND] = FALSE,
[MOVEMENT_TYPE_WANDER_AROUND] = TRUE,
@@ -365,7 +363,7 @@ const bool8 gRangedMovementTypes[NUM_FIELD_MAP_OBJECT_TEMPLATES] = {
[MOVEMENT_TYPE_WANDER_AROUND_SLOWEST] = TRUE,
};
-const u8 gInitialMovementTypeFacingDirections[NUM_FIELD_MAP_OBJECT_TEMPLATES] = {
+static const u8 gInitialMovementTypeFacingDirections[MOVEMENT_TYPES_COUNT] = {
[MOVEMENT_TYPE_NONE] = DIR_SOUTH,
[MOVEMENT_TYPE_LOOK_AROUND] = DIR_SOUTH,
[MOVEMENT_TYPE_WANDER_AROUND] = DIR_SOUTH,
@@ -449,42 +447,35 @@ const u8 gInitialMovementTypeFacingDirections[NUM_FIELD_MAP_OBJECT_TEMPLATES] =
[MOVEMENT_TYPE_WANDER_AROUND_SLOWEST] = DIR_SOUTH,
};
-#define OBJ_EVENT_PAL_TAG_0 0x1103
-#define OBJ_EVENT_PAL_TAG_1 0x1104
-#define OBJ_EVENT_PAL_TAG_2 0x1105
-#define OBJ_EVENT_PAL_TAG_3 0x1106
-#define OBJ_EVENT_PAL_TAG_4 0x1107
-#define OBJ_EVENT_PAL_TAG_5 0x1108
-#define OBJ_EVENT_PAL_TAG_6 0x1109
-#define OBJ_EVENT_PAL_TAG_7 0x110A
-#define OBJ_EVENT_PAL_TAG_8 0x1100
-#define OBJ_EVENT_PAL_TAG_9 0x1101
-#define OBJ_EVENT_PAL_TAG_10 0x1102
-#define OBJ_EVENT_PAL_TAG_11 0x1115
-#define OBJ_EVENT_PAL_TAG_12 0x110B
-#define OBJ_EVENT_PAL_TAG_13 0x110C
-#define OBJ_EVENT_PAL_TAG_14 0x110D
-#define OBJ_EVENT_PAL_TAG_15 0x110E
-#define OBJ_EVENT_PAL_TAG_16 0x110F
-#define OBJ_EVENT_PAL_TAG_17 0x1110
-#define OBJ_EVENT_PAL_TAG_18 0x1111
-#define OBJ_EVENT_PAL_TAG_19 0x1112
-#define OBJ_EVENT_PAL_TAG_20 0x1113
-#define OBJ_EVENT_PAL_TAG_21 0x1114
-#define OBJ_EVENT_PAL_TAG_22 0x1116
-#define OBJ_EVENT_PAL_TAG_23 0x1117
-#define OBJ_EVENT_PAL_TAG_24 0x1118
-#define OBJ_EVENT_PAL_TAG_25 0x1119
-#define OBJ_EVENT_PAL_TAG_26 0x111B
-#define OBJ_EVENT_PAL_TAG_27 0x111C
-#define OBJ_EVENT_PAL_TAG_28 0x111D
-#define OBJ_EVENT_PAL_TAG_29 0x111E
-#define OBJ_EVENT_PAL_TAG_30 0x111F
-#define OBJ_EVENT_PAL_TAG_31 0x1120
-#define OBJ_EVENT_PAL_TAG_32 0x1121
-#define OBJ_EVENT_PAL_TAG_33 0x1122
-#define OBJ_EVENT_PAL_TAG_34 0x1123
-#define OBJ_EVENT_PAL_TAG_NONE 0x11FF
+#define OBJ_EVENT_PAL_TAG_PLAYER_RED 0x1100
+#define OBJ_EVENT_PAL_TAG_PLAYER_RED_REFLECTION 0x1101
+#define OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION 0x1102
+#define OBJ_EVENT_PAL_TAG_NPC_BLUE 0x1103
+#define OBJ_EVENT_PAL_TAG_NPC_PINK 0x1104
+#define OBJ_EVENT_PAL_TAG_NPC_GREEN 0x1105
+#define OBJ_EVENT_PAL_TAG_NPC_WHITE 0x1106
+#define OBJ_EVENT_PAL_TAG_NPC_BLUE_REFLECTION 0x1107
+#define OBJ_EVENT_PAL_TAG_NPC_PINK_REFLECTION 0x1108
+#define OBJ_EVENT_PAL_TAG_NPC_GREEN_REFLECTION 0x1109
+#define OBJ_EVENT_PAL_TAG_NPC_WHITE_REFLECTION 0x110A
+#define OBJ_EVENT_PAL_TAG_RS_QUINTY_PLUMP 0x110B
+#define OBJ_EVENT_PAL_TAG_RS_QUINTY_PLUMP_REFLECTION 0x110C
+#define OBJ_EVENT_PAL_TAG_RS_TRUCK 0x110D
+#define OBJ_EVENT_PAL_TAG_RS_MACHOKE 0x110E
+#define OBJ_EVENT_PAL_TAG_RS_POOCHYENA 0x110F
+#define OBJ_EVENT_PAL_TAG_PLAYER_GREEN 0x1110
+#define OBJ_EVENT_PAL_TAG_PLAYER_GREEN_REFLECTION 0x1111
+#define OBJ_EVENT_PAL_TAG_RS_MOVING_BOX 0x1112
+#define OBJ_EVENT_PAL_TAG_METEORITE 0x1113
+#define OBJ_EVENT_PAL_TAG_SEAGALLOP 0x1114
+#define OBJ_EVENT_PAL_TAG_SS_ANNE 0x1115
+#define OBJ_EVENT_PAL_TAG_RS_PLAYER_UNDERWATER 0x1116
+#define OBJ_EVENT_PAL_TAG_RS_KYOGRE 0x1117
+#define OBJ_EVENT_PAL_TAG_RS_KYOGRE_REFLECTION 0x1118
+#define OBJ_EVENT_PAL_TAG_RS_GROUDON 0x1119
+#define OBJ_EVENT_PAL_TAG_RS_GROUDON_REFLECTION 0x111A
+#define OBJ_EVENT_PAL_TAG_RS_SUBMARINE_SHADOW 0x111B
+#define OBJ_EVENT_PAL_TAG_NONE 0x11FF
#include "data/object_events/object_event_graphics_info_pointers.h"
#include "data/field_effects/field_effect_object_template_pointers.h"
@@ -495,207 +486,210 @@ const u8 gInitialMovementTypeFacingDirections[NUM_FIELD_MAP_OBJECT_TEMPLATES] =
#include "data/object_events/object_event_graphics_info.h"
static const struct SpritePalette sObjectEventSpritePalettes[] = {
- {gUnknown_836D828, OBJ_EVENT_PAL_TAG_0},
- {gUnknown_836D848, OBJ_EVENT_PAL_TAG_1},
- {gUnknown_836D868, OBJ_EVENT_PAL_TAG_2},
- {gUnknown_836D888, OBJ_EVENT_PAL_TAG_3},
- {gUnknown_836D8A8, OBJ_EVENT_PAL_TAG_4},
- {gUnknown_836D8C8, OBJ_EVENT_PAL_TAG_5},
- {gUnknown_836D8E8, OBJ_EVENT_PAL_TAG_6},
- {gUnknown_836D908, OBJ_EVENT_PAL_TAG_7},
- {gUnknown_835B968, OBJ_EVENT_PAL_TAG_8},
- {gUnknown_835E968, OBJ_EVENT_PAL_TAG_9},
- {gUnknown_835E988, OBJ_EVENT_PAL_TAG_10},
- {gUnknown_8398008, OBJ_EVENT_PAL_TAG_12},
- {gUnknown_8398028, OBJ_EVENT_PAL_TAG_13},
- {gUnknown_835B968, OBJ_EVENT_PAL_TAG_17},
- {gUnknown_835E968, OBJ_EVENT_PAL_TAG_18},
- {gUnknown_8394EA8, OBJ_EVENT_PAL_TAG_20},
- {gUnknown_8395AE8, OBJ_EVENT_PAL_TAG_11},
- {gUnknown_83952C8, OBJ_EVENT_PAL_TAG_21},
+ {gObjectEventPal_NpcBlue, OBJ_EVENT_PAL_TAG_NPC_BLUE},
+ {gObjectEventPal_NpcPink, OBJ_EVENT_PAL_TAG_NPC_PINK},
+ {gObjectEventPal_NpcGreen, OBJ_EVENT_PAL_TAG_NPC_GREEN},
+ {gObjectEventPal_NpcWhite, OBJ_EVENT_PAL_TAG_NPC_WHITE},
+ {gObjectEventPal_NpcBlueReflection, OBJ_EVENT_PAL_TAG_NPC_BLUE_REFLECTION},
+ {gObjectEventPal_NpcPinkReflection, OBJ_EVENT_PAL_TAG_NPC_PINK_REFLECTION},
+ {gObjectEventPal_NpcGreenReflection, OBJ_EVENT_PAL_TAG_NPC_GREEN_REFLECTION},
+ {gObjectEventPal_NpcWhiteReflection, OBJ_EVENT_PAL_TAG_NPC_WHITE_REFLECTION},
+ {gObjectEventPal_Player, OBJ_EVENT_PAL_TAG_PLAYER_RED},
+ {gObjectEventPal_PlayerReflection, OBJ_EVENT_PAL_TAG_PLAYER_RED_REFLECTION},
+ {gObjectEventPal_BridgeReflection, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION},
+ {gObjectEventPal_RSQuintyPlump, OBJ_EVENT_PAL_TAG_RS_QUINTY_PLUMP},
+ {gObjectEventPal_RSQuintyPlumpReflection, OBJ_EVENT_PAL_TAG_RS_QUINTY_PLUMP_REFLECTION},
+ {gObjectEventPal_Player, OBJ_EVENT_PAL_TAG_PLAYER_GREEN},
+ {gObjectEventPal_PlayerReflection, OBJ_EVENT_PAL_TAG_PLAYER_GREEN_REFLECTION},
+ {gObjectEventPal_Meteorite, OBJ_EVENT_PAL_TAG_METEORITE},
+ {gObjectEventPal_SSAnne, OBJ_EVENT_PAL_TAG_SS_ANNE},
+ {gObjectEventPal_Seagallop, OBJ_EVENT_PAL_TAG_SEAGALLOP},
{},
};
-const u16 gPlayerReflectionPaletteTags[] = {
- OBJ_EVENT_PAL_TAG_9,
- OBJ_EVENT_PAL_TAG_9,
- OBJ_EVENT_PAL_TAG_9,
- OBJ_EVENT_PAL_TAG_9,
- OBJ_EVENT_PAL_TAG_18,
- OBJ_EVENT_PAL_TAG_18,
- OBJ_EVENT_PAL_TAG_18,
- OBJ_EVENT_PAL_TAG_18,
+static const u16 sPlayerReflectionPaletteTags[] = {
+ OBJ_EVENT_PAL_TAG_PLAYER_RED_REFLECTION,
+ OBJ_EVENT_PAL_TAG_PLAYER_RED_REFLECTION,
+ OBJ_EVENT_PAL_TAG_PLAYER_RED_REFLECTION,
+ OBJ_EVENT_PAL_TAG_PLAYER_RED_REFLECTION,
+};
+
+static const u16 sUnusedPlayerReflectionPaletteTags[] = {
+ OBJ_EVENT_PAL_TAG_PLAYER_GREEN_REFLECTION,
+ OBJ_EVENT_PAL_TAG_PLAYER_GREEN_REFLECTION,
+ OBJ_EVENT_PAL_TAG_PLAYER_GREEN_REFLECTION,
+ OBJ_EVENT_PAL_TAG_PLAYER_GREEN_REFLECTION,
};
-const u16 gUnknownPaletteTags_83A5200[] = {
- OBJ_EVENT_PAL_TAG_22,
- OBJ_EVENT_PAL_TAG_22,
- OBJ_EVENT_PAL_TAG_22,
- OBJ_EVENT_PAL_TAG_22,
+static const u16 sPlayerUnderwaterReflectionPaletteTags[] = {
+ OBJ_EVENT_PAL_TAG_RS_PLAYER_UNDERWATER,
+ OBJ_EVENT_PAL_TAG_RS_PLAYER_UNDERWATER,
+ OBJ_EVENT_PAL_TAG_RS_PLAYER_UNDERWATER,
+ OBJ_EVENT_PAL_TAG_RS_PLAYER_UNDERWATER,
};
-const struct PairedPalettes gPlayerReflectionPaletteSets[] = {
- {OBJ_EVENT_PAL_TAG_8, gPlayerReflectionPaletteTags},
- {OBJ_EVENT_PAL_TAG_17, gPlayerReflectionPaletteTags},
- {OBJ_EVENT_PAL_TAG_22, gUnknownPaletteTags_83A5200},
+static const struct PairedPalettes gPlayerReflectionPaletteSets[] = {
+ {OBJ_EVENT_PAL_TAG_PLAYER_RED, sPlayerReflectionPaletteTags},
+ {OBJ_EVENT_PAL_TAG_PLAYER_GREEN, sPlayerReflectionPaletteTags},
+ {OBJ_EVENT_PAL_TAG_RS_PLAYER_UNDERWATER, sPlayerUnderwaterReflectionPaletteTags},
{OBJ_EVENT_PAL_TAG_NONE, NULL},
};
-const u16 gUnknownPaletteTags_83A5228[] = {
- OBJ_EVENT_PAL_TAG_13,
- OBJ_EVENT_PAL_TAG_13,
- OBJ_EVENT_PAL_TAG_13,
- OBJ_EVENT_PAL_TAG_13,
+static const u16 sRSQuintyPlumpReflectionPaletteTags[] = {
+ OBJ_EVENT_PAL_TAG_RS_QUINTY_PLUMP_REFLECTION,
+ OBJ_EVENT_PAL_TAG_RS_QUINTY_PLUMP_REFLECTION,
+ OBJ_EVENT_PAL_TAG_RS_QUINTY_PLUMP_REFLECTION,
+ OBJ_EVENT_PAL_TAG_RS_QUINTY_PLUMP_REFLECTION,
};
-const u16 gUnknownPaletteTags_83A5230[] = {
- OBJ_EVENT_PAL_TAG_14,
- OBJ_EVENT_PAL_TAG_14,
- OBJ_EVENT_PAL_TAG_14,
- OBJ_EVENT_PAL_TAG_14,
+static const u16 sRSTruckReflectionPaletteTags[] = {
+ OBJ_EVENT_PAL_TAG_RS_TRUCK,
+ OBJ_EVENT_PAL_TAG_RS_TRUCK,
+ OBJ_EVENT_PAL_TAG_RS_TRUCK,
+ OBJ_EVENT_PAL_TAG_RS_TRUCK,
};
-const u16 gUnknownPaletteTags_83A5238[] = {
- OBJ_EVENT_PAL_TAG_15,
- OBJ_EVENT_PAL_TAG_15,
- OBJ_EVENT_PAL_TAG_15,
- OBJ_EVENT_PAL_TAG_15,
+static const u16 sRSMachokeReflectionPaletteTags[] = {
+ OBJ_EVENT_PAL_TAG_RS_MACHOKE,
+ OBJ_EVENT_PAL_TAG_RS_MACHOKE,
+ OBJ_EVENT_PAL_TAG_RS_MACHOKE,
+ OBJ_EVENT_PAL_TAG_RS_MACHOKE,
};
-const u16 gUnknownPaletteTags_83A5240[] = {
- OBJ_EVENT_PAL_TAG_19,
- OBJ_EVENT_PAL_TAG_19,
- OBJ_EVENT_PAL_TAG_19,
- OBJ_EVENT_PAL_TAG_19,
+static const u16 sRSMovingBoxReflectionPaletteTags[] = {
+ OBJ_EVENT_PAL_TAG_RS_MOVING_BOX,
+ OBJ_EVENT_PAL_TAG_RS_MOVING_BOX,
+ OBJ_EVENT_PAL_TAG_RS_MOVING_BOX,
+ OBJ_EVENT_PAL_TAG_RS_MOVING_BOX,
};
-const u16 gUnknownPaletteTags_83A5248[] = {
- OBJ_EVENT_PAL_TAG_20,
- OBJ_EVENT_PAL_TAG_20,
- OBJ_EVENT_PAL_TAG_20,
- OBJ_EVENT_PAL_TAG_20,
+static const u16 sMeteoriteReflectionPaletteTags[] = {
+ OBJ_EVENT_PAL_TAG_METEORITE,
+ OBJ_EVENT_PAL_TAG_METEORITE,
+ OBJ_EVENT_PAL_TAG_METEORITE,
+ OBJ_EVENT_PAL_TAG_METEORITE,
};
-const u16 gUnknownPaletteTags_83A5250[] = {
- OBJ_EVENT_PAL_TAG_21,
- OBJ_EVENT_PAL_TAG_21,
- OBJ_EVENT_PAL_TAG_21,
- OBJ_EVENT_PAL_TAG_21,
+static const u16 sSeagallopReflectionPaletteTags[] = {
+ OBJ_EVENT_PAL_TAG_SEAGALLOP,
+ OBJ_EVENT_PAL_TAG_SEAGALLOP,
+ OBJ_EVENT_PAL_TAG_SEAGALLOP,
+ OBJ_EVENT_PAL_TAG_SEAGALLOP,
};
-const u16 gUnknownPaletteTags_83A5258[] = {
- OBJ_EVENT_PAL_TAG_26,
- OBJ_EVENT_PAL_TAG_26,
- OBJ_EVENT_PAL_TAG_26,
- OBJ_EVENT_PAL_TAG_26,
+static const u16 sRSSubmarineShadowReflectionPaletteTags[] = {
+ OBJ_EVENT_PAL_TAG_RS_SUBMARINE_SHADOW,
+ OBJ_EVENT_PAL_TAG_RS_SUBMARINE_SHADOW,
+ OBJ_EVENT_PAL_TAG_RS_SUBMARINE_SHADOW,
+ OBJ_EVENT_PAL_TAG_RS_SUBMARINE_SHADOW,
};
-const u16 gUnknownPaletteTags_83A5260[] = {
- OBJ_EVENT_PAL_TAG_24,
- OBJ_EVENT_PAL_TAG_24,
- OBJ_EVENT_PAL_TAG_24,
- OBJ_EVENT_PAL_TAG_24,
+static const u16 sRSKyogreReflectionPaletteTags[] = {
+ OBJ_EVENT_PAL_TAG_RS_KYOGRE_REFLECTION,
+ OBJ_EVENT_PAL_TAG_RS_KYOGRE_REFLECTION,
+ OBJ_EVENT_PAL_TAG_RS_KYOGRE_REFLECTION,
+ OBJ_EVENT_PAL_TAG_RS_KYOGRE_REFLECTION,
};
-const u16 gUnknownPaletteTags_83A5268[] = {
- 0x111a,
- 0x111a,
- 0x111a,
- 0x111a,
+static const u16 sRSGroudonReflectionPaletteTags[] = {
+ OBJ_EVENT_PAL_TAG_RS_GROUDON_REFLECTION,
+ OBJ_EVENT_PAL_TAG_RS_GROUDON_REFLECTION,
+ OBJ_EVENT_PAL_TAG_RS_GROUDON_REFLECTION,
+ OBJ_EVENT_PAL_TAG_RS_GROUDON_REFLECTION,
};
-const u16 gUnknownPaletteTags_83A5270[] = {
- OBJ_EVENT_PAL_TAG_6,
- OBJ_EVENT_PAL_TAG_6,
- OBJ_EVENT_PAL_TAG_6,
- OBJ_EVENT_PAL_TAG_6,
+static const u16 sGreenNPCReflectionPaletteTags[] = {
+ OBJ_EVENT_PAL_TAG_NPC_GREEN_REFLECTION,
+ OBJ_EVENT_PAL_TAG_NPC_GREEN_REFLECTION,
+ OBJ_EVENT_PAL_TAG_NPC_GREEN_REFLECTION,
+ OBJ_EVENT_PAL_TAG_NPC_GREEN_REFLECTION,
};
-const struct PairedPalettes gSpecialObjectReflectionPaletteSets[] = {
- {OBJ_EVENT_PAL_TAG_8, gPlayerReflectionPaletteTags},
- {OBJ_EVENT_PAL_TAG_17, gPlayerReflectionPaletteTags},
- {OBJ_EVENT_PAL_TAG_12, gUnknownPaletteTags_83A5228},
- {OBJ_EVENT_PAL_TAG_14, gUnknownPaletteTags_83A5230},
- {OBJ_EVENT_PAL_TAG_15, gUnknownPaletteTags_83A5238},
- {OBJ_EVENT_PAL_TAG_19, gUnknownPaletteTags_83A5240},
- {OBJ_EVENT_PAL_TAG_20, gUnknownPaletteTags_83A5248},
- {OBJ_EVENT_PAL_TAG_21, gUnknownPaletteTags_83A5250},
- {OBJ_EVENT_PAL_TAG_23, gUnknownPaletteTags_83A5260},
- {OBJ_EVENT_PAL_TAG_25, gUnknownPaletteTags_83A5268},
- {OBJ_EVENT_PAL_TAG_2, gUnknownPaletteTags_83A5270},
- {OBJ_EVENT_PAL_TAG_26, gUnknownPaletteTags_83A5258},
+static const struct PairedPalettes gSpecialObjectReflectionPaletteSets[] = {
+ {OBJ_EVENT_PAL_TAG_PLAYER_RED, sPlayerReflectionPaletteTags},
+ {OBJ_EVENT_PAL_TAG_PLAYER_GREEN, sPlayerReflectionPaletteTags},
+ {OBJ_EVENT_PAL_TAG_RS_QUINTY_PLUMP, sRSQuintyPlumpReflectionPaletteTags},
+ {OBJ_EVENT_PAL_TAG_RS_TRUCK, sRSTruckReflectionPaletteTags},
+ {OBJ_EVENT_PAL_TAG_RS_MACHOKE, sRSMachokeReflectionPaletteTags},
+ {OBJ_EVENT_PAL_TAG_RS_MOVING_BOX, sRSMovingBoxReflectionPaletteTags},
+ {OBJ_EVENT_PAL_TAG_METEORITE, sMeteoriteReflectionPaletteTags},
+ {OBJ_EVENT_PAL_TAG_SEAGALLOP, sSeagallopReflectionPaletteTags},
+ {OBJ_EVENT_PAL_TAG_RS_KYOGRE, sRSKyogreReflectionPaletteTags},
+ {OBJ_EVENT_PAL_TAG_RS_GROUDON, sRSGroudonReflectionPaletteTags},
+ {OBJ_EVENT_PAL_TAG_NPC_GREEN, sGreenNPCReflectionPaletteTags},
+ {OBJ_EVENT_PAL_TAG_RS_SUBMARINE_SHADOW, sRSSubmarineShadowReflectionPaletteTags},
{OBJ_EVENT_PAL_TAG_NONE, NULL},
};
-const u16 gUnknownPaletteTags_83A52E0[] = {
- OBJ_EVENT_PAL_TAG_8,
- OBJ_EVENT_PAL_TAG_9,
- OBJ_EVENT_PAL_TAG_0,
- OBJ_EVENT_PAL_TAG_1,
- OBJ_EVENT_PAL_TAG_2,
- OBJ_EVENT_PAL_TAG_3,
- OBJ_EVENT_PAL_TAG_4,
- OBJ_EVENT_PAL_TAG_5,
- OBJ_EVENT_PAL_TAG_6,
- OBJ_EVENT_PAL_TAG_7,
+static const u16 sObjectPaletteTags0[] = {
+ OBJ_EVENT_PAL_TAG_PLAYER_RED,
+ OBJ_EVENT_PAL_TAG_PLAYER_RED_REFLECTION,
+ OBJ_EVENT_PAL_TAG_NPC_BLUE,
+ OBJ_EVENT_PAL_TAG_NPC_PINK,
+ OBJ_EVENT_PAL_TAG_NPC_GREEN,
+ OBJ_EVENT_PAL_TAG_NPC_WHITE,
+ OBJ_EVENT_PAL_TAG_NPC_BLUE_REFLECTION,
+ OBJ_EVENT_PAL_TAG_NPC_PINK_REFLECTION,
+ OBJ_EVENT_PAL_TAG_NPC_GREEN_REFLECTION,
+ OBJ_EVENT_PAL_TAG_NPC_WHITE_REFLECTION,
};
-const u16 gUnknownPaletteTags_83A52F4[] = {
- OBJ_EVENT_PAL_TAG_8,
- OBJ_EVENT_PAL_TAG_17,
- OBJ_EVENT_PAL_TAG_0,
- OBJ_EVENT_PAL_TAG_1,
- OBJ_EVENT_PAL_TAG_2,
- OBJ_EVENT_PAL_TAG_3,
- OBJ_EVENT_PAL_TAG_4,
- OBJ_EVENT_PAL_TAG_5,
- OBJ_EVENT_PAL_TAG_6,
- OBJ_EVENT_PAL_TAG_7,
+static const u16 sObjectPaletteTags1[] = {
+ OBJ_EVENT_PAL_TAG_PLAYER_RED,
+ OBJ_EVENT_PAL_TAG_PLAYER_GREEN,
+ OBJ_EVENT_PAL_TAG_NPC_BLUE,
+ OBJ_EVENT_PAL_TAG_NPC_PINK,
+ OBJ_EVENT_PAL_TAG_NPC_GREEN,
+ OBJ_EVENT_PAL_TAG_NPC_WHITE,
+ OBJ_EVENT_PAL_TAG_NPC_BLUE_REFLECTION,
+ OBJ_EVENT_PAL_TAG_NPC_PINK_REFLECTION,
+ OBJ_EVENT_PAL_TAG_NPC_GREEN_REFLECTION,
+ OBJ_EVENT_PAL_TAG_NPC_WHITE_REFLECTION,
};
-const u16 gUnknownPaletteTags_83A5308[] = {
- OBJ_EVENT_PAL_TAG_8,
- OBJ_EVENT_PAL_TAG_9,
- OBJ_EVENT_PAL_TAG_0,
- OBJ_EVENT_PAL_TAG_1,
- OBJ_EVENT_PAL_TAG_2,
- OBJ_EVENT_PAL_TAG_3,
- OBJ_EVENT_PAL_TAG_4,
- OBJ_EVENT_PAL_TAG_5,
- OBJ_EVENT_PAL_TAG_6,
- OBJ_EVENT_PAL_TAG_7,
+static const u16 sObjectPaletteTags2[] = {
+ OBJ_EVENT_PAL_TAG_PLAYER_RED,
+ OBJ_EVENT_PAL_TAG_PLAYER_RED_REFLECTION,
+ OBJ_EVENT_PAL_TAG_NPC_BLUE,
+ OBJ_EVENT_PAL_TAG_NPC_PINK,
+ OBJ_EVENT_PAL_TAG_NPC_GREEN,
+ OBJ_EVENT_PAL_TAG_NPC_WHITE,
+ OBJ_EVENT_PAL_TAG_NPC_BLUE_REFLECTION,
+ OBJ_EVENT_PAL_TAG_NPC_PINK_REFLECTION,
+ OBJ_EVENT_PAL_TAG_NPC_GREEN_REFLECTION,
+ OBJ_EVENT_PAL_TAG_NPC_WHITE_REFLECTION,
};
-const u16 gUnknownPaletteTags_83A531C[] = {
- OBJ_EVENT_PAL_TAG_8,
- OBJ_EVENT_PAL_TAG_9,
- OBJ_EVENT_PAL_TAG_0,
- OBJ_EVENT_PAL_TAG_1,
- OBJ_EVENT_PAL_TAG_2,
- OBJ_EVENT_PAL_TAG_3,
- OBJ_EVENT_PAL_TAG_4,
- OBJ_EVENT_PAL_TAG_5,
- OBJ_EVENT_PAL_TAG_6,
- OBJ_EVENT_PAL_TAG_7,
+static const u16 sObjectPaletteTags3[] = {
+ OBJ_EVENT_PAL_TAG_PLAYER_RED,
+ OBJ_EVENT_PAL_TAG_PLAYER_RED_REFLECTION,
+ OBJ_EVENT_PAL_TAG_NPC_BLUE,
+ OBJ_EVENT_PAL_TAG_NPC_PINK,
+ OBJ_EVENT_PAL_TAG_NPC_GREEN,
+ OBJ_EVENT_PAL_TAG_NPC_WHITE,
+ OBJ_EVENT_PAL_TAG_NPC_BLUE_REFLECTION,
+ OBJ_EVENT_PAL_TAG_NPC_PINK_REFLECTION,
+ OBJ_EVENT_PAL_TAG_NPC_GREEN_REFLECTION,
+ OBJ_EVENT_PAL_TAG_NPC_WHITE_REFLECTION,
};
-const u16 *const gObjectPaletteTagSets[] = {
- gUnknownPaletteTags_83A52E0,
- gUnknownPaletteTags_83A52F4,
- gUnknownPaletteTags_83A5308,
- gUnknownPaletteTags_83A531C,
+static const u16 *const gObjectPaletteTagSets[] = {
+ sObjectPaletteTags0,
+ sObjectPaletteTags1,
+ sObjectPaletteTags2,
+ sObjectPaletteTags3,
};
//#include "data/object_events/berry_tree_graphics_tables.h"
#include "data/field_effects/field_effect_objects.h"
-const s16 gMovementDelaysMedium[] = {32, 64, 96, 128};
-const s16 gMovementDelaysLong[] = {32, 64, 128, 192};
-const s16 gMovementDelaysShort[] = {32, 48, 64, 80};
+static const s16 gMovementDelaysMedium[] = {32, 64, 96, 128};
+static const s16 gMovementDelaysLong[] = {32, 64, 128, 192};
+static const s16 gMovementDelaysShort[] = {32, 48, 64, 80};
#include "data/object_events/movement_type_func_tables.h"
-const u8 gFaceDirectionAnimNums[] = {
+static const u8 gFaceDirectionAnimNums[] = {
[DIR_NONE] = 0x00,
[DIR_SOUTH] = 0x00,
[DIR_NORTH] = 0x01,
@@ -707,7 +701,7 @@ const u8 gFaceDirectionAnimNums[] = {
[DIR_NORTHEAST] = 0x01,
};
-const u8 gMoveDirectionAnimNums[] = {
+static const u8 gMoveDirectionAnimNums[] = {
[DIR_NONE] = 0x4,
[DIR_SOUTH] = 0x4,
[DIR_NORTH] = 0x5,
@@ -719,7 +713,7 @@ const u8 gMoveDirectionAnimNums[] = {
[DIR_NORTHEAST] = 0x5,
};
-const u8 gMoveDirectionFastAnimNums[] = {
+static const u8 gMoveDirectionFastAnimNums[] = {
[DIR_NONE] = 0x8,
[DIR_SOUTH] = 0x8,
[DIR_NORTH] = 0x9,
@@ -731,7 +725,7 @@ const u8 gMoveDirectionFastAnimNums[] = {
[DIR_NORTHEAST] = 0x9,
};
-const u8 gMoveDirectionFasterAnimNums[] = {
+static const u8 gMoveDirectionFasterAnimNums[] = {
[DIR_NONE] = 0xC,
[DIR_SOUTH] = 0xC,
[DIR_NORTH] = 0xD,
@@ -743,7 +737,7 @@ const u8 gMoveDirectionFasterAnimNums[] = {
[DIR_NORTHEAST] = 0xD,
};
-const u8 gMoveDirectionFastestAnimNums[] = {
+static const u8 gMoveDirectionFastestAnimNums[] = {
[DIR_NONE] = 0x10,
[DIR_SOUTH] = 0x10,
[DIR_NORTH] = 0x11,
@@ -755,7 +749,7 @@ const u8 gMoveDirectionFastestAnimNums[] = {
[DIR_NORTHEAST] = 0x11,
};
-const u8 gJumpSpecialDirectionAnimNums[] = {
+static const u8 gJumpSpecialDirectionAnimNums[] = {
[DIR_NONE] = 0x14,
[DIR_SOUTH] = 0x14,
[DIR_NORTH] = 0x15,
@@ -767,7 +761,7 @@ const u8 gJumpSpecialDirectionAnimNums[] = {
[DIR_NORTHEAST] = 0x15,
};
-const u8 gAcroWheelieDirectionAnimNums[] = {
+static const u8 gAcroWheelieDirectionAnimNums[] = {
[DIR_NONE] = 0x14,
[DIR_SOUTH] = 0x14,
[DIR_NORTH] = 0x15,
@@ -779,7 +773,7 @@ const u8 gAcroWheelieDirectionAnimNums[] = {
[DIR_NORTHEAST] = 0x15,
};
-const u8 gUnrefAnimNums_080634A0[] = {
+static const u8 gUnrefAnimNums_080634A0[] = {
[DIR_NONE] = 0x18,
[DIR_SOUTH] = 0x18,
[DIR_NORTH] = 0x19,
@@ -791,7 +785,7 @@ const u8 gUnrefAnimNums_080634A0[] = {
[DIR_NORTHEAST] = 0x19,
};
-const u8 gAcroEndWheelieDirectionAnimNums[] = {
+static const u8 gAcroEndWheelieDirectionAnimNums[] = {
[DIR_NONE] = 0x1C,
[DIR_SOUTH] = 0x1C,
[DIR_NORTH] = 0x1D,
@@ -803,7 +797,7 @@ const u8 gAcroEndWheelieDirectionAnimNums[] = {
[DIR_NORTHEAST] = 0x1D,
};
-const u8 gUnknown_83A6465[] = {
+static const u8 gUnknown_83A6465[] = {
[DIR_NONE] = 0x18,
[DIR_SOUTH] = 0x18,
[DIR_NORTH] = 0x19,
@@ -815,7 +809,7 @@ const u8 gUnknown_83A6465[] = {
[DIR_NORTHEAST] = 0x1B,
};
-const u8 gAcroUnusedActionDirectionAnimNums[] = {
+static const u8 gAcroUnusedActionDirectionAnimNums[] = {
[DIR_NONE] = 0x20,
[DIR_SOUTH] = 0x20,
[DIR_NORTH] = 0x21,
@@ -827,7 +821,7 @@ const u8 gAcroUnusedActionDirectionAnimNums[] = {
[DIR_NORTHEAST] = 0x21,
};
-const u8 gAcroWheeliePedalDirectionAnimNums[] = {
+static const u8 gAcroWheeliePedalDirectionAnimNums[] = {
[DIR_NONE] = 0x24,
[DIR_SOUTH] = 0x24,
[DIR_NORTH] = 0x25,
@@ -839,7 +833,7 @@ const u8 gAcroWheeliePedalDirectionAnimNums[] = {
[DIR_NORTHEAST] = 0x25,
};
-const u8 gFishingDirectionAnimNums[] = {
+static const u8 gFishingDirectionAnimNums[] = {
[DIR_NONE] = 0x0,
[DIR_SOUTH] = 0x0,
[DIR_NORTH] = 0x1,
@@ -851,7 +845,7 @@ const u8 gFishingDirectionAnimNums[] = {
[DIR_NORTHEAST] = 0x1,
};
-const u8 gFishingNoCatchDirectionAnimNums[] = {
+static const u8 gFishingNoCatchDirectionAnimNums[] = {
[DIR_NONE] = 0x4,
[DIR_SOUTH] = 0x4,
[DIR_NORTH] = 0x5,
@@ -863,7 +857,7 @@ const u8 gFishingNoCatchDirectionAnimNums[] = {
[DIR_NORTHEAST] = 0x5,
};
-const u8 gFishingBiteDirectionAnimNums[] = {
+static const u8 gFishingBiteDirectionAnimNums[] = {
[DIR_NONE] = 0x8,
[DIR_SOUTH] = 0x8,
[DIR_NORTH] = 0x9,
@@ -875,7 +869,7 @@ const u8 gFishingBiteDirectionAnimNums[] = {
[DIR_NORTHEAST] = 0x9,
};
-const u8 gRunningDirectionAnimNums[] = {
+static const u8 gRunningDirectionAnimNums[] = {
[DIR_NONE] = 0x14,
[DIR_SOUTH] = 0x14,
[DIR_NORTH] = 0x15,
@@ -887,7 +881,7 @@ const u8 gRunningDirectionAnimNums[] = {
[DIR_NORTHEAST] = 0x15,
};
-const u8 gTrainerFacingDirectionMovementTypes[] = {
+static const u8 gTrainerFacingDirectionMovementTypes[] = {
[DIR_NONE] = 0x08,
[DIR_SOUTH] = 0x08,
[DIR_NORTH] = 0x07,
@@ -925,7 +919,7 @@ static const struct Coords16 sDirectionToVectors[] = {
[DIR_NORTHEAST] = { 1, -1},
};
-const u8 gFaceDirectionMovementActions[] = {
+static const u8 gFaceDirectionMovementActions[] = {
[DIR_NONE] = MOVEMENT_ACTION_FACE_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_FACE_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_FACE_UP,
@@ -933,7 +927,7 @@ const u8 gFaceDirectionMovementActions[] = {
[DIR_EAST] = MOVEMENT_ACTION_FACE_RIGHT,
};
-const u8 gFaceDirectionFastMovementActions[] = {
+static const u8 gFaceDirectionFastMovementActions[] = {
[DIR_NONE] = MOVEMENT_ACTION_FACE_DOWN_FAST,
[DIR_SOUTH] = MOVEMENT_ACTION_FACE_DOWN_FAST,
[DIR_NORTH] = MOVEMENT_ACTION_FACE_UP_FAST,
@@ -941,7 +935,7 @@ const u8 gFaceDirectionFastMovementActions[] = {
[DIR_EAST] = MOVEMENT_ACTION_FACE_RIGHT_FAST,
};
-const u8 gUnknown_83A64F6[] = {
+static const u8 gUnknown_83A64F6[] = {
[DIR_NONE] = MOVEMENT_ACTION_0x9B,
[DIR_SOUTH] = MOVEMENT_ACTION_0x9B,
[DIR_NORTH] = MOVEMENT_ACTION_0x9C,
@@ -949,7 +943,7 @@ const u8 gUnknown_83A64F6[] = {
[DIR_EAST] = MOVEMENT_ACTION_0x9E,
};
-const u8 gUnknown_83A64FB[] = {
+static const u8 gUnknown_83A64FB[] = {
[DIR_NONE] = MOVEMENT_ACTION_WALK_SLOWEST_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_WALK_SLOWEST_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_WALK_SLOWEST_UP,
@@ -957,7 +951,7 @@ const u8 gUnknown_83A64FB[] = {
[DIR_EAST] = MOVEMENT_ACTION_WALK_SLOWEST_RIGHT,
};
-const u8 gUnknown_83A6500[] = {
+static const u8 gUnknown_83A6500[] = {
[DIR_NONE] = MOVEMENT_ACTION_WALK_SLOW_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_WALK_SLOW_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_WALK_SLOW_UP,
@@ -965,7 +959,7 @@ const u8 gUnknown_83A6500[] = {
[DIR_EAST] = MOVEMENT_ACTION_WALK_SLOW_RIGHT,
};
-const u8 gUnknown_83A6505[] = {
+static const u8 gUnknown_83A6505[] = {
[DIR_NONE] = MOVEMENT_ACTION_WALK_NORMAL_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_WALK_NORMAL_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_WALK_NORMAL_UP,
@@ -973,7 +967,7 @@ const u8 gUnknown_83A6505[] = {
[DIR_EAST] = MOVEMENT_ACTION_WALK_NORMAL_RIGHT,
};
-const u8 gUnknown_83A650A[] = {
+static const u8 gUnknown_83A650A[] = {
[DIR_NONE] = MOVEMENT_ACTION_WALK_FAST_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_WALK_FAST_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_WALK_FAST_UP,
@@ -981,7 +975,7 @@ const u8 gUnknown_83A650A[] = {
[DIR_EAST] = MOVEMENT_ACTION_WALK_FAST_RIGHT,
};
-const u8 gUnknown_83A650F[] = {
+static const u8 gUnknown_83A650F[] = {
[DIR_NONE] = MOVEMENT_ACTION_0xA0,
[DIR_SOUTH] = MOVEMENT_ACTION_0xA0,
[DIR_NORTH] = MOVEMENT_ACTION_0xA1,
@@ -989,7 +983,7 @@ const u8 gUnknown_83A650F[] = {
[DIR_EAST] = MOVEMENT_ACTION_0xA3,
};
-const u8 gUnknown_83A6514[] = {
+static const u8 gUnknown_83A6514[] = {
[DIR_NONE] = MOVEMENT_ACTION_FACE_DOWN_SLOW,
[DIR_SOUTH] = MOVEMENT_ACTION_FACE_DOWN_SLOW,
[DIR_NORTH] = MOVEMENT_ACTION_FACE_UP_SLOW,
@@ -997,7 +991,7 @@ const u8 gUnknown_83A6514[] = {
[DIR_EAST] = MOVEMENT_ACTION_FACE_RIGHT_SLOW,
};
-const u8 gUnknown_83A6519[] = {
+static const u8 gUnknown_83A6519[] = {
[DIR_NONE] = MOVEMENT_ACTION_WALK_FASTEST_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_WALK_FASTEST_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_WALK_FASTEST_UP,
@@ -1005,7 +999,7 @@ const u8 gUnknown_83A6519[] = {
[DIR_EAST] = MOVEMENT_ACTION_WALK_FASTEST_RIGHT,
};
-const u8 gUnknown_83A651E[] = {
+static const u8 gUnknown_83A651E[] = {
[DIR_NONE] = MOVEMENT_ACTION_SLIDE_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_SLIDE_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_SLIDE_UP,
@@ -1013,7 +1007,7 @@ const u8 gUnknown_83A651E[] = {
[DIR_EAST] = MOVEMENT_ACTION_SLIDE_RIGHT,
};
-const u8 gUnknown_83A6523[] = {
+static const u8 gUnknown_83A6523[] = {
[DIR_NONE] = MOVEMENT_ACTION_PLAYER_RUN_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_PLAYER_RUN_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_PLAYER_RUN_UP,
@@ -1021,7 +1015,7 @@ const u8 gUnknown_83A6523[] = {
[DIR_EAST] = MOVEMENT_ACTION_PLAYER_RUN_RIGHT,
};
-const u8 gUnknown_83A6528[] = {
+static const u8 gUnknown_83A6528[] = {
[DIR_NONE] = MOVEMENT_ACTION_PLAYER_RUN_DOWN_SLOW,
[DIR_SOUTH] = MOVEMENT_ACTION_PLAYER_RUN_DOWN_SLOW,
[DIR_NORTH] = MOVEMENT_ACTION_PLAYER_RUN_UP_SLOW,
@@ -1029,7 +1023,7 @@ const u8 gUnknown_83A6528[] = {
[DIR_EAST] = MOVEMENT_ACTION_PLAYER_RUN_RIGHT_SLOW,
};
-const u8 gUnknown_83A652D[] = {
+static const u8 gUnknown_83A652D[] = {
[DIR_NONE] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP,
@@ -1037,7 +1031,7 @@ const u8 gUnknown_83A652D[] = {
[DIR_EAST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT,
};
-const u8 gUnknown_83A6532[] = {
+static const u8 gUnknown_83A6532[] = {
[DIR_NONE] = MOVEMENT_ACTION_JUMP_2_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_JUMP_2_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_JUMP_2_UP,
@@ -1045,7 +1039,7 @@ const u8 gUnknown_83A6532[] = {
[DIR_EAST] = MOVEMENT_ACTION_JUMP_2_RIGHT,
};
-const u8 gUnknown_83A6537[] = {
+static const u8 gUnknown_83A6537[] = {
[DIR_NONE] = MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_JUMP_IN_PLACE_UP,
@@ -1053,7 +1047,7 @@ const u8 gUnknown_83A6537[] = {
[DIR_EAST] = MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT,
};
-const u8 gUnknown_83A653C[] = {
+static const u8 gUnknown_83A653C[] = {
[DIR_NONE] = MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP,
@@ -1061,7 +1055,7 @@ const u8 gUnknown_83A653C[] = {
[DIR_EAST] = MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT,
};
-const u8 gUnknown_83A6541[] = {
+static const u8 gUnknown_83A6541[] = {
[DIR_NONE] = MOVEMENT_ACTION_JUMP_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_JUMP_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_JUMP_UP,
@@ -1069,7 +1063,7 @@ const u8 gUnknown_83A6541[] = {
[DIR_EAST] = MOVEMENT_ACTION_JUMP_RIGHT,
};
-const u8 gUnknown_83A6546[] = {
+static const u8 gUnknown_83A6546[] = {
[DIR_NONE] = MOVEMENT_ACTION_JUMP_SPECIAL_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_JUMP_SPECIAL_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_JUMP_SPECIAL_UP,
@@ -1077,7 +1071,7 @@ const u8 gUnknown_83A6546[] = {
[DIR_EAST] = MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT,
};
-const u8 gUnknown_83A654B[] = {
+static const u8 gUnknown_83A654B[] = {
[DIR_NONE] = MOVEMENT_ACTION_0xA6,
[DIR_SOUTH] = MOVEMENT_ACTION_0xA6,
[DIR_NORTH] = MOVEMENT_ACTION_0xA7,
@@ -1085,7 +1079,7 @@ const u8 gUnknown_83A654B[] = {
[DIR_EAST] = MOVEMENT_ACTION_0xA9,
};
-const u8 gUnknown_83A6550[] = {
+static const u8 gUnknown_83A6550[] = {
[DIR_NONE] = MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP,
@@ -1093,7 +1087,7 @@ const u8 gUnknown_83A6550[] = {
[DIR_EAST] = MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT,
};
-const u8 gUnknown_83A6555[] = {
+static const u8 gUnknown_83A6555[] = {
[DIR_NONE] = MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP,
@@ -1101,7 +1095,7 @@ const u8 gUnknown_83A6555[] = {
[DIR_EAST] = MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT,
};
-const u8 gUnknown_83A655A[] = {
+static const u8 gUnknown_83A655A[] = {
[DIR_NONE] = MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP,
@@ -1109,7 +1103,7 @@ const u8 gUnknown_83A655A[] = {
[DIR_EAST] = MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT,
};
-const u8 gUnknown_83A655F[] = {
+static const u8 gUnknown_83A655F[] = {
[DIR_NONE] = MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP,
@@ -1117,7 +1111,7 @@ const u8 gUnknown_83A655F[] = {
[DIR_EAST] = MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT,
};
-const u8 gUnknown_83A6564[] = {
+static const u8 gUnknown_83A6564[] = {
[DIR_NONE] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP,
@@ -1125,7 +1119,7 @@ const u8 gUnknown_83A6564[] = {
[DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT,
};
-const u8 gUnknown_83A6569[] = {
+static const u8 gUnknown_83A6569[] = {
[DIR_NONE] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP,
@@ -1133,7 +1127,7 @@ const u8 gUnknown_83A6569[] = {
[DIR_EAST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT,
};
-const u8 gUnknown_83A656E[] = {
+static const u8 gUnknown_83A656E[] = {
[DIR_NONE] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP,
@@ -1141,7 +1135,7 @@ const u8 gUnknown_83A656E[] = {
[DIR_EAST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT,
};
-const u8 gUnknown_83A6573[] = {
+static const u8 gUnknown_83A6573[] = {
[DIR_NONE] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP,
@@ -1149,7 +1143,7 @@ const u8 gUnknown_83A6573[] = {
[DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT,
};
-const u8 gUnknown_83A6578[] = {
+static const u8 gUnknown_83A6578[] = {
[DIR_NONE] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP,
@@ -1157,7 +1151,7 @@ const u8 gUnknown_83A6578[] = {
[DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT,
};
-const u8 gUnknown_83A657D[] = {
+static const u8 gUnknown_83A657D[] = {
[DIR_NONE] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP,
@@ -1165,7 +1159,7 @@ const u8 gUnknown_83A657D[] = {
[DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT,
};
-const u8 gUnknown_83A6582[] = {
+static const u8 gUnknown_83A6582[] = {
[DIR_NONE] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP,
@@ -1173,7 +1167,7 @@ const u8 gUnknown_83A6582[] = {
[DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT,
};
-const u8 gUnknown_83A6587[] = {
+static const u8 gUnknown_83A6587[] = {
[DIR_NONE] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP,
@@ -1181,7 +1175,7 @@ const u8 gUnknown_83A6587[] = {
[DIR_EAST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT,
};
-const u8 gUnknown_83A658C[] = {
+static const u8 gUnknown_83A658C[] = {
[DIR_NONE] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP,
@@ -1189,7 +1183,7 @@ const u8 gUnknown_83A658C[] = {
[DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT,
};
-const u8 gOppositeDirections[] = {
+static const u8 gOppositeDirections[] = {
DIR_NORTH,
DIR_SOUTH,
DIR_EAST,
@@ -1200,14 +1194,14 @@ const u8 gOppositeDirections[] = {
DIR_SOUTHWEST,
};
-const u8 gUnknown_83A6599[][4] = {
+static const u8 gUnknown_83A6599[][4] = {
{2, 1, 4, 3},
{1, 2, 3, 4},
{3, 4, 2, 1},
{4, 3, 1, 2}
};
-const u8 gUnknown_83A65A9[][4] = {
+static const u8 gUnknown_83A65A9[][4] = {
{2, 1, 4, 3},
{1, 2, 3, 4},
{4, 3, 1, 2},
@@ -1243,13 +1237,13 @@ void ResetObjectEvents(void)
static void CreateReflectionEffectSprites(void)
{
- u8 spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 31);
+ u8 spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[FLDEFFOBJ_REFLECTION_DISTORTION], 0, 0, 31);
gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
InitSpriteAffineAnim(&gSprites[spriteId]);
StartSpriteAffineAnim(&gSprites[spriteId], 0);
gSprites[spriteId].invisible = TRUE;
- spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 31);
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[FLDEFFOBJ_REFLECTION_DISTORTION], 0, 0, 31);
gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
InitSpriteAffineAnim(&gSprites[spriteId]);
StartSpriteAffineAnim(&gSprites[spriteId], 1);
@@ -1604,11 +1598,11 @@ static u8 TrySetupObjectEventSprite(struct ObjectEventTemplate *objectEventTempl
graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId);
if (graphicsInfo->paletteSlot == 0)
{
- LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot);
+ LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot);
}
else if (graphicsInfo->paletteSlot == 10)
{
- LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot);
+ LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot);
}
if (objectEvent->movementType == MOVEMENT_TYPE_INVISIBLE)
@@ -1711,7 +1705,7 @@ void MakeObjectTemplateFromObjectEventGraphicsInfo(u16 graphicsId, void (*callba
const struct ObjectEventGraphicsInfo *graphicsInfo = GetObjectEventGraphicsInfo(graphicsId);
spriteTemplate->tileTag = graphicsInfo->tileTag;
- spriteTemplate->paletteTag = graphicsInfo->paletteTag1;
+ spriteTemplate->paletteTag = graphicsInfo->paletteTag;
spriteTemplate->oam = graphicsInfo->oam;
spriteTemplate->anims = graphicsInfo->anims;
spriteTemplate->images = graphicsInfo->images;
@@ -1785,7 +1779,7 @@ u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction)
sprite->data[1] = z;
if (graphicsInfo->paletteSlot == 10)
{
- LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot);
+ LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot);
}
if (subspriteTables != NULL)
@@ -1822,7 +1816,7 @@ u8 sub_805EB44(u8 graphicsId, u8 a1, s16 x, s16 y)
sprite->data[0] = a1;
if (graphicsInfo->paletteSlot == 10)
{
- LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot);
+ LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot);
}
if (subspriteTables != NULL)
@@ -1900,7 +1894,7 @@ static void RemoveObjectEventIfOutsideView(struct ObjectEvent *objectEvent)
RemoveObjectEvent(objectEvent);
}
-void sub_805EDF0(s16 x, s16 y)
+void ReloadMapObjectsWithOffset(s16 x, s16 y)
{
u8 i;
@@ -1909,13 +1903,13 @@ void sub_805EDF0(s16 x, s16 y)
{
if (gObjectEvents[i].active)
{
- sub_805EE3C(i, x, y);
+ ReloadMapObjectWithOffset(i, x, y);
}
}
CreateReflectionEffectSprites();
}
-static void sub_805EE3C(u8 objectEventId, s16 x, s16 y)
+static void ReloadMapObjectWithOffset(u8 objectEventId, s16 x, s16 y)
{
u8 spriteId;
struct Sprite *sprite;
@@ -1945,11 +1939,11 @@ static void sub_805EE3C(u8 objectEventId, s16 x, s16 y)
*(u16 *)&spriteTemplate.paletteTag = SPRITE_INVALID_TAG;
if (graphicsInfo->paletteSlot == 0)
{
- LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot);
+ LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot);
}
if (graphicsInfo->paletteSlot > 9)
{
- LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot);
+ LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot);
}
*(u16 *)&spriteTemplate.paletteTag = SPRITE_INVALID_TAG;
spriteId = CreateSprite(&spriteTemplate, 0, 0, 0);
@@ -2016,17 +2010,17 @@ void ObjectEventSetGraphicsId(struct ObjectEvent *objectEvent, u8 graphicsId)
sprite = &gSprites[objectEvent->spriteId];
if (graphicsInfo->paletteSlot == 0)
{
- PatchObjectPalette(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot);
+ PatchObjectPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot);
}
if (graphicsInfo->paletteSlot == 10)
{
- LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot);
+ LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot);
}
var = sprite->images->size / TILE_SIZE_4BPP;
if (!sprite->usingSheet)
{
- sub_80075C0(sprite);
+ FreeSpriteTilesIfNotUsingSheet(sprite);
}
sprite->oam.shape = graphicsInfo->oam->shape;
sprite->oam.size = graphicsInfo->oam->size;
@@ -2112,7 +2106,7 @@ static void SetObjectEventDynamicGraphicsId(struct ObjectEvent *objectEvent)
}
}
-void npc_by_local_id_and_map_set_field_1_bit_x20(u8 localId, u8 mapNum, u8 mapGroup, u8 state)
+void ShowOrHideObjectByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 state)
{
u8 objectEventId;
@@ -2129,7 +2123,7 @@ void ObjectEventGetLocalIdAndMap(struct ObjectEvent *objectEvent, void *localId,
*(u8*)(mapGroup) = objectEvent->mapGroup;
}
-void sub_805F378(s16 x, s16 y)
+void EnableObjectGroundEffectsByXY(s16 x, s16 y)
{
u8 objectEventId;
struct ObjectEvent *objectEvent;
@@ -2142,7 +2136,7 @@ void sub_805F378(s16 x, s16 y)
}
}
-void sub_805F3A8(u8 localId, u8 mapNum, u8 mapGroup, u8 subpriority)
+void SetObjectPriorityByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 subpriority)
{
u8 objectEventId;
struct ObjectEvent *objectEvent;
@@ -2157,7 +2151,7 @@ void sub_805F3A8(u8 localId, u8 mapNum, u8 mapGroup, u8 subpriority)
}
}
-void sub_805F400(u8 localId, u8 mapNum, u8 mapGroup)
+void UnfixObjectPriorityByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup)
{
u8 objectEventId;
struct ObjectEvent *objectEvent;
@@ -2170,7 +2164,7 @@ void sub_805F400(u8 localId, u8 mapNum, u8 mapGroup)
}
}
-void sub_808E82C(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y)
+void SetObjectPositionByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y)
{
u8 objectEventId;
struct Sprite *sprite;
@@ -2193,9 +2187,13 @@ static void LoadObjectEventPalette(u16 paletteTag)
{
u16 i = FindObjectEventPaletteIndexByTag(paletteTag);
+#ifdef BUGFIX
+ if (sObjectEventSpritePalettes[i].tag != OBJ_EVENT_PAL_TAG_NONE)
+#else
if (i != OBJ_EVENT_PAL_TAG_NONE) // always true
+#endif
{
- sub_805F510(&sObjectEventSpritePalettes[i]);
+ TryLoadObjectPalette(&sObjectEventSpritePalettes[i]);
}
}
@@ -2209,10 +2207,11 @@ void Unused_LoadObjectEventPaletteSet(u16 *paletteTags)
}
}
-static u8 sub_805F510(const struct SpritePalette *spritePalette)
+static u8 TryLoadObjectPalette(const struct SpritePalette *spritePalette)
{
if (IndexOfSpritePaletteTag(spritePalette->tag) != 0xFF)
{
+ // Already loaded
return 0xFF;
}
return LoadSpritePalette(spritePalette);