diff options
Diffstat (limited to 'src/event_object_movement.c')
-rw-r--r-- | src/event_object_movement.c | 543 |
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); |