diff options
Diffstat (limited to 'src/event_object_movement.c')
-rw-r--r-- | src/event_object_movement.c | 530 |
1 files changed, 269 insertions, 261 deletions
diff --git a/src/event_object_movement.c b/src/event_object_movement.c index f97c9bfa0..1d06ddc84 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -401,42 +401,43 @@ const u8 gInitialMovementTypeFacingDirections[] = { [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT] = DIR_EAST, }; -#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_BRENDAN 0x1100 +#define OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION 0x1101 +#define OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION 0x1102 +#define OBJ_EVENT_PAL_TAG_NPC_1 0x1103 +#define OBJ_EVENT_PAL_TAG_NPC_2 0x1104 +#define OBJ_EVENT_PAL_TAG_NPC_3 0x1105 +#define OBJ_EVENT_PAL_TAG_NPC_4 0x1106 +#define OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION 0x1107 +#define OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION 0x1108 +#define OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION 0x1109 +#define OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION 0x110A +#define OBJ_EVENT_PAL_TAG_QUINTY_PLUMP 0x110B +#define OBJ_EVENT_PAL_TAG_QUINTY_PLUMP_REFLECTION 0x110C +#define OBJ_EVENT_PAL_TAG_TRUCK 0x110D +#define OBJ_EVENT_PAL_TAG_VIGOROTH 0x110E +#define OBJ_EVENT_PAL_TAG_ZIGZAGOON 0x110F +#define OBJ_EVENT_PAL_TAG_MAY 0x1110 +#define OBJ_EVENT_PAL_TAG_MAY_REFLECTION 0x1111 +#define OBJ_EVENT_PAL_TAG_MOVING_BOX 0x1112 +#define OBJ_EVENT_PAL_TAG_CABLE_CAR 0x1113 +#define OBJ_EVENT_PAL_TAG_SSTIDAL 0x1114 +#define OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER 0x1115 +#define OBJ_EVENT_PAL_TAG_KYOGRE 0x1116 +#define OBJ_EVENT_PAL_TAG_KYOGRE_REFLECTION 0x1117 +#define OBJ_EVENT_PAL_TAG_GROUDON 0x1118 +#define OBJ_EVENT_PAL_TAG_GROUDON_REFLECTION 0x1119 +#define OBJ_EVENT_PAL_TAG_UNUSED 0x111A +#define OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW 0x111B +#define OBJ_EVENT_PAL_TAG_POOCHYENA 0x111C +#define OBJ_EVENT_PAL_TAG_RED_LEAF 0x111D +#define OBJ_EVENT_PAL_TAG_DEOXYS 0x111E +#define OBJ_EVENT_PAL_TAG_BIRTH_ISLAND_STONE 0x111F +#define OBJ_EVENT_PAL_TAG_HO_OH 0x1120 +#define OBJ_EVENT_PAL_TAG_LUGIA 0x1121 +#define OBJ_EVENT_PAL_TAG_RS_BRENDAN 0x1122 +#define OBJ_EVENT_PAL_TAG_RS_MAY 0x1123 +#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" @@ -446,224 +447,224 @@ const u8 gInitialMovementTypeFacingDirections[] = { #include "data/object_events/object_event_subsprites.h" #include "data/object_events/object_event_graphics_info.h" -const struct SpritePalette sObjectEventSpritePalettes[] = { - {gObjectEventPalette0, OBJ_EVENT_PAL_TAG_0}, - {gObjectEventPalette1, OBJ_EVENT_PAL_TAG_1}, - {gObjectEventPalette2, OBJ_EVENT_PAL_TAG_2}, - {gObjectEventPalette3, OBJ_EVENT_PAL_TAG_3}, - {gObjectEventPalette4, OBJ_EVENT_PAL_TAG_4}, - {gObjectEventPalette5, OBJ_EVENT_PAL_TAG_5}, - {gObjectEventPalette6, OBJ_EVENT_PAL_TAG_6}, - {gObjectEventPalette7, OBJ_EVENT_PAL_TAG_7}, - {gObjectEventPalette8, OBJ_EVENT_PAL_TAG_8}, - {gObjectEventPalette9, OBJ_EVENT_PAL_TAG_9}, - {gObjectEventPalette10, OBJ_EVENT_PAL_TAG_10}, - {gObjectEventPalette11, OBJ_EVENT_PAL_TAG_11}, - {gObjectEventPalette12, OBJ_EVENT_PAL_TAG_12}, - {gObjectEventPalette13, OBJ_EVENT_PAL_TAG_13}, - {gObjectEventPalette14, OBJ_EVENT_PAL_TAG_14}, - {gObjectEventPalette15, OBJ_EVENT_PAL_TAG_15}, - {gObjectEventPalette16, OBJ_EVENT_PAL_TAG_16}, - {gObjectEventPalette17, OBJ_EVENT_PAL_TAG_17}, - {gObjectEventPalette18, OBJ_EVENT_PAL_TAG_18}, - {gObjectEventPalette19, OBJ_EVENT_PAL_TAG_19}, - {gObjectEventPalette20, OBJ_EVENT_PAL_TAG_20}, - {gObjectEventPalette21, OBJ_EVENT_PAL_TAG_21}, - {gObjectEventPalette22, OBJ_EVENT_PAL_TAG_22}, - {gObjectEventPalette23, OBJ_EVENT_PAL_TAG_23}, - {gObjectEventPalette24, OBJ_EVENT_PAL_TAG_24}, - {gObjectEventPalette25, OBJ_EVENT_PAL_TAG_25}, - {gObjectEventPalette26, OBJ_EVENT_PAL_TAG_26}, - {gObjectEventPalette27, OBJ_EVENT_PAL_TAG_27}, - {gObjectEventPalette28, OBJ_EVENT_PAL_TAG_28}, - {gObjectEventPalette29, OBJ_EVENT_PAL_TAG_29}, - {gObjectEventPalette30, OBJ_EVENT_PAL_TAG_30}, - {gObjectEventPalette31, OBJ_EVENT_PAL_TAG_31}, - {gObjectEventPalette32, OBJ_EVENT_PAL_TAG_32}, - {gObjectEventPalette33, OBJ_EVENT_PAL_TAG_33}, - {gObjectEventPalette34, OBJ_EVENT_PAL_TAG_34}, - {NULL, 0x0000}, +static const struct SpritePalette sObjectEventSpritePalettes[] = { + {gObjectEventPal_Npc1, OBJ_EVENT_PAL_TAG_NPC_1}, + {gObjectEventPal_Npc2, OBJ_EVENT_PAL_TAG_NPC_2}, + {gObjectEventPal_Npc3, OBJ_EVENT_PAL_TAG_NPC_3}, + {gObjectEventPal_Npc4, OBJ_EVENT_PAL_TAG_NPC_4}, + {gObjectEventPal_Npc1Reflection, OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION}, + {gObjectEventPal_Npc2Reflection, OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION}, + {gObjectEventPal_Npc3Reflection, OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION}, + {gObjectEventPal_Npc4Reflection, OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION}, + {gObjectEventPal_Brendan, OBJ_EVENT_PAL_TAG_BRENDAN}, + {gObjectEventPal_BrendanReflection, OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION}, + {gObjectEventPal_BridgeReflection, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION}, + {gObjectEventPal_PlayerUnderwater, OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER}, + {gObjectEventPal_QuintyPlump, OBJ_EVENT_PAL_TAG_QUINTY_PLUMP}, + {gObjectEventPal_QuintyPlumpReflection, OBJ_EVENT_PAL_TAG_QUINTY_PLUMP_REFLECTION}, + {gObjectEventPal_Truck, OBJ_EVENT_PAL_TAG_TRUCK}, + {gObjectEventPal_Vigoroth, OBJ_EVENT_PAL_TAG_VIGOROTH}, + {gObjectEventPal_EnemyZigzagoon, OBJ_EVENT_PAL_TAG_ZIGZAGOON}, + {gObjectEventPal_May, OBJ_EVENT_PAL_TAG_MAY}, + {gObjectEventPal_MayReflection, OBJ_EVENT_PAL_TAG_MAY_REFLECTION}, + {gObjectEventPal_MovingBox, OBJ_EVENT_PAL_TAG_MOVING_BOX}, + {gObjectEventPal_CableCar, OBJ_EVENT_PAL_TAG_CABLE_CAR}, + {gObjectEventPal_SSTidal, OBJ_EVENT_PAL_TAG_SSTIDAL}, + {gObjectEventPal_Kyogre, OBJ_EVENT_PAL_TAG_KYOGRE}, + {gObjectEventPal_KyogreReflection, OBJ_EVENT_PAL_TAG_KYOGRE_REFLECTION}, + {gObjectEventPal_Groudon, OBJ_EVENT_PAL_TAG_GROUDON}, + {gObjectEventPal_GroudonReflection, OBJ_EVENT_PAL_TAG_GROUDON_REFLECTION}, + {gObjectEventPal_SubmarineShadow, OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW}, + {gObjectEventPal_Poochyena, OBJ_EVENT_PAL_TAG_POOCHYENA}, + {gObjectEventPal_RedLeaf, OBJ_EVENT_PAL_TAG_RED_LEAF}, + {gObjectEventPal_Deoxys, OBJ_EVENT_PAL_TAG_DEOXYS}, + {gObjectEventPal_BirthIslandStone, OBJ_EVENT_PAL_TAG_BIRTH_ISLAND_STONE}, + {gObjectEventPal_HoOh, OBJ_EVENT_PAL_TAG_HO_OH}, + {gObjectEventPal_Lugia, OBJ_EVENT_PAL_TAG_LUGIA}, + {gObjectEventPal_RubySapphireBrendan, OBJ_EVENT_PAL_TAG_RS_BRENDAN}, + {gObjectEventPal_RubySapphireMay, OBJ_EVENT_PAL_TAG_RS_MAY}, + {NULL, 0x0000}, }; -const u16 gPlayerReflectionPaletteTags[] = { - OBJ_EVENT_PAL_TAG_9, - OBJ_EVENT_PAL_TAG_9, - OBJ_EVENT_PAL_TAG_9, - OBJ_EVENT_PAL_TAG_9, +static const u16 sReflectionPaletteTags_Brendan[] = { + OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, + OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, + OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, + OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, }; -const u16 Unknown_0850BCF0[] = { - OBJ_EVENT_PAL_TAG_18, - OBJ_EVENT_PAL_TAG_18, - OBJ_EVENT_PAL_TAG_18, - OBJ_EVENT_PAL_TAG_18, +static const u16 sReflectionPaletteTags_May[] = { + OBJ_EVENT_PAL_TAG_MAY_REFLECTION, + OBJ_EVENT_PAL_TAG_MAY_REFLECTION, + OBJ_EVENT_PAL_TAG_MAY_REFLECTION, + OBJ_EVENT_PAL_TAG_MAY_REFLECTION, }; -const u16 gPlayerUnderwaterReflectionPaletteTags[] = { - OBJ_EVENT_PAL_TAG_11, - OBJ_EVENT_PAL_TAG_11, - OBJ_EVENT_PAL_TAG_11, - OBJ_EVENT_PAL_TAG_11, +static const u16 sReflectionPaletteTags_PlayerUnderwater[] = { + OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, + OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, + OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, + OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, }; -const struct PairedPalettes gPlayerReflectionPaletteSets[] = { - {OBJ_EVENT_PAL_TAG_8, gPlayerReflectionPaletteTags}, - {OBJ_EVENT_PAL_TAG_17, Unknown_0850BCF0}, - {OBJ_EVENT_PAL_TAG_11, gPlayerUnderwaterReflectionPaletteTags}, - {OBJ_EVENT_PAL_TAG_NONE, NULL}, +static const struct PairedPalettes sPlayerReflectionPaletteSets[] = { + {OBJ_EVENT_PAL_TAG_BRENDAN, sReflectionPaletteTags_Brendan}, + {OBJ_EVENT_PAL_TAG_MAY, sReflectionPaletteTags_May}, + {OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, sReflectionPaletteTags_PlayerUnderwater}, + {OBJ_EVENT_PAL_TAG_NONE, NULL}, }; -const u16 gQuintyPlumpReflectionPaletteTags[] = { - OBJ_EVENT_PAL_TAG_13, - OBJ_EVENT_PAL_TAG_13, - OBJ_EVENT_PAL_TAG_13, - OBJ_EVENT_PAL_TAG_13, +static const u16 sReflectionPaletteTags_QuintyPlump[] = { + OBJ_EVENT_PAL_TAG_QUINTY_PLUMP_REFLECTION, + OBJ_EVENT_PAL_TAG_QUINTY_PLUMP_REFLECTION, + OBJ_EVENT_PAL_TAG_QUINTY_PLUMP_REFLECTION, + OBJ_EVENT_PAL_TAG_QUINTY_PLUMP_REFLECTION, }; -const u16 gTruckReflectionPaletteTags[] = { - OBJ_EVENT_PAL_TAG_14, - OBJ_EVENT_PAL_TAG_14, - OBJ_EVENT_PAL_TAG_14, - OBJ_EVENT_PAL_TAG_14, +static const u16 sReflectionPaletteTags_Truck[] = { + OBJ_EVENT_PAL_TAG_TRUCK, + OBJ_EVENT_PAL_TAG_TRUCK, + OBJ_EVENT_PAL_TAG_TRUCK, + OBJ_EVENT_PAL_TAG_TRUCK, }; -const u16 gVigorothMoverReflectionPaletteTags[] = { - OBJ_EVENT_PAL_TAG_15, - OBJ_EVENT_PAL_TAG_15, - OBJ_EVENT_PAL_TAG_15, - OBJ_EVENT_PAL_TAG_15, +static const u16 sReflectionPaletteTags_VigorothMover[] = { + OBJ_EVENT_PAL_TAG_VIGOROTH, + OBJ_EVENT_PAL_TAG_VIGOROTH, + OBJ_EVENT_PAL_TAG_VIGOROTH, + OBJ_EVENT_PAL_TAG_VIGOROTH, }; -const u16 gMovingBoxReflectionPaletteTags[] = { - OBJ_EVENT_PAL_TAG_19, - OBJ_EVENT_PAL_TAG_19, - OBJ_EVENT_PAL_TAG_19, - OBJ_EVENT_PAL_TAG_19, +static const u16 sReflectionPaletteTags_MovingBox[] = { + OBJ_EVENT_PAL_TAG_MOVING_BOX, + OBJ_EVENT_PAL_TAG_MOVING_BOX, + OBJ_EVENT_PAL_TAG_MOVING_BOX, + OBJ_EVENT_PAL_TAG_MOVING_BOX, }; -const u16 gCableCarReflectionPaletteTags[] = { - OBJ_EVENT_PAL_TAG_20, - OBJ_EVENT_PAL_TAG_20, - OBJ_EVENT_PAL_TAG_20, - OBJ_EVENT_PAL_TAG_20, +static const u16 sReflectionPaletteTags_CableCar[] = { + OBJ_EVENT_PAL_TAG_CABLE_CAR, + OBJ_EVENT_PAL_TAG_CABLE_CAR, + OBJ_EVENT_PAL_TAG_CABLE_CAR, + OBJ_EVENT_PAL_TAG_CABLE_CAR, }; -const u16 gSSTidalReflectionPaletteTags[] = { - OBJ_EVENT_PAL_TAG_21, - OBJ_EVENT_PAL_TAG_21, - OBJ_EVENT_PAL_TAG_21, - OBJ_EVENT_PAL_TAG_21, +static const u16 sReflectionPaletteTags_SSTidal[] = { + OBJ_EVENT_PAL_TAG_SSTIDAL, + OBJ_EVENT_PAL_TAG_SSTIDAL, + OBJ_EVENT_PAL_TAG_SSTIDAL, + OBJ_EVENT_PAL_TAG_SSTIDAL, }; -const u16 gSubmarineShadowReflectionPaletteTags[] = { - OBJ_EVENT_PAL_TAG_26, - OBJ_EVENT_PAL_TAG_26, - OBJ_EVENT_PAL_TAG_26, - OBJ_EVENT_PAL_TAG_26, +static const u16 sReflectionPaletteTags_SubmarineShadow[] = { + OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW, + OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW, + OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW, + OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW, }; -const u16 Unknown_0850BD58[] = { // Kyogre2? - OBJ_EVENT_PAL_TAG_23, - OBJ_EVENT_PAL_TAG_23, - OBJ_EVENT_PAL_TAG_23, - OBJ_EVENT_PAL_TAG_23, +static const u16 sReflectionPaletteTags_Kyogre[] = { + OBJ_EVENT_PAL_TAG_KYOGRE_REFLECTION, + OBJ_EVENT_PAL_TAG_KYOGRE_REFLECTION, + OBJ_EVENT_PAL_TAG_KYOGRE_REFLECTION, + OBJ_EVENT_PAL_TAG_KYOGRE_REFLECTION, }; -const u16 Unknown_0850BD60[] = { // Groudon2? - OBJ_EVENT_PAL_TAG_25, - OBJ_EVENT_PAL_TAG_25, - OBJ_EVENT_PAL_TAG_25, - OBJ_EVENT_PAL_TAG_25, +static const u16 sReflectionPaletteTags_Groudon[] = { + OBJ_EVENT_PAL_TAG_GROUDON_REFLECTION, + OBJ_EVENT_PAL_TAG_GROUDON_REFLECTION, + OBJ_EVENT_PAL_TAG_GROUDON_REFLECTION, + OBJ_EVENT_PAL_TAG_GROUDON_REFLECTION, }; -const u16 Unknown_0850BD68[] = { // Invisible Keckleon? - OBJ_EVENT_PAL_TAG_6, - OBJ_EVENT_PAL_TAG_6, - OBJ_EVENT_PAL_TAG_6, - OBJ_EVENT_PAL_TAG_6, +static const u16 sReflectionPaletteTags_Npc3[] = { // Only used by the Route 120 bridge Kecleon + OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, + OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, + OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, + OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, }; -const u16 gRedLeafReflectionPaletteTags[] = { - OBJ_EVENT_PAL_TAG_28, - OBJ_EVENT_PAL_TAG_28, - OBJ_EVENT_PAL_TAG_28, - OBJ_EVENT_PAL_TAG_28, +static const u16 sReflectionPaletteTags_RedLeaf[] = { + OBJ_EVENT_PAL_TAG_RED_LEAF, + OBJ_EVENT_PAL_TAG_RED_LEAF, + OBJ_EVENT_PAL_TAG_RED_LEAF, + OBJ_EVENT_PAL_TAG_RED_LEAF, }; -const struct PairedPalettes gSpecialObjectReflectionPaletteSets[] = { - {OBJ_EVENT_PAL_TAG_8, gPlayerReflectionPaletteTags}, - {OBJ_EVENT_PAL_TAG_17, Unknown_0850BCF0}, - {OBJ_EVENT_PAL_TAG_12, gQuintyPlumpReflectionPaletteTags}, - {OBJ_EVENT_PAL_TAG_14, gTruckReflectionPaletteTags}, - {OBJ_EVENT_PAL_TAG_15, gVigorothMoverReflectionPaletteTags}, - {OBJ_EVENT_PAL_TAG_19, gMovingBoxReflectionPaletteTags}, - {OBJ_EVENT_PAL_TAG_20, gCableCarReflectionPaletteTags}, - {OBJ_EVENT_PAL_TAG_21, gSSTidalReflectionPaletteTags}, - {OBJ_EVENT_PAL_TAG_22, Unknown_0850BD58}, - {OBJ_EVENT_PAL_TAG_24, Unknown_0850BD60}, - {OBJ_EVENT_PAL_TAG_2, Unknown_0850BD68}, - {OBJ_EVENT_PAL_TAG_26, gSubmarineShadowReflectionPaletteTags}, - {OBJ_EVENT_PAL_TAG_28, gRedLeafReflectionPaletteTags}, - {OBJ_EVENT_PAL_TAG_NONE, NULL}, +static const struct PairedPalettes sSpecialObjectReflectionPaletteSets[] = { + {OBJ_EVENT_PAL_TAG_BRENDAN, sReflectionPaletteTags_Brendan}, + {OBJ_EVENT_PAL_TAG_MAY, sReflectionPaletteTags_May}, + {OBJ_EVENT_PAL_TAG_QUINTY_PLUMP, sReflectionPaletteTags_QuintyPlump}, + {OBJ_EVENT_PAL_TAG_TRUCK, sReflectionPaletteTags_Truck}, + {OBJ_EVENT_PAL_TAG_VIGOROTH, sReflectionPaletteTags_VigorothMover}, + {OBJ_EVENT_PAL_TAG_MOVING_BOX, sReflectionPaletteTags_MovingBox}, + {OBJ_EVENT_PAL_TAG_CABLE_CAR, sReflectionPaletteTags_CableCar}, + {OBJ_EVENT_PAL_TAG_SSTIDAL, sReflectionPaletteTags_SSTidal}, + {OBJ_EVENT_PAL_TAG_KYOGRE, sReflectionPaletteTags_Kyogre}, + {OBJ_EVENT_PAL_TAG_GROUDON, sReflectionPaletteTags_Groudon}, + {OBJ_EVENT_PAL_TAG_NPC_3, sReflectionPaletteTags_Npc3}, + {OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW, sReflectionPaletteTags_SubmarineShadow}, + {OBJ_EVENT_PAL_TAG_RED_LEAF, sReflectionPaletteTags_RedLeaf}, + {OBJ_EVENT_PAL_TAG_NONE, NULL}, }; -const u16 gObjectPaletteTags0[] = { - 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_BRENDAN, + OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, + OBJ_EVENT_PAL_TAG_NPC_1, + OBJ_EVENT_PAL_TAG_NPC_2, + OBJ_EVENT_PAL_TAG_NPC_3, + OBJ_EVENT_PAL_TAG_NPC_4, + OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION, + OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION, + OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, + OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION, }; -const u16 gObjectPaletteTags1[] = { - 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 sObjectPaletteTags1[] = { + OBJ_EVENT_PAL_TAG_BRENDAN, + OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, + OBJ_EVENT_PAL_TAG_NPC_1, + OBJ_EVENT_PAL_TAG_NPC_2, + OBJ_EVENT_PAL_TAG_NPC_3, + OBJ_EVENT_PAL_TAG_NPC_4, + OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION, + OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION, + OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, + OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION, }; -const u16 gObjectPaletteTags2[] = { - 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_BRENDAN, + OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, + OBJ_EVENT_PAL_TAG_NPC_1, + OBJ_EVENT_PAL_TAG_NPC_2, + OBJ_EVENT_PAL_TAG_NPC_3, + OBJ_EVENT_PAL_TAG_NPC_4, + OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION, + OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION, + OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, + OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION, }; -const u16 gObjectPaletteTags3[] = { - 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_BRENDAN, + OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, + OBJ_EVENT_PAL_TAG_NPC_1, + OBJ_EVENT_PAL_TAG_NPC_2, + OBJ_EVENT_PAL_TAG_NPC_3, + OBJ_EVENT_PAL_TAG_NPC_4, + OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION, + OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION, + OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, + OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION, }; -const u16 *const gObjectPaletteTagSets[] = { - gObjectPaletteTags0, - gObjectPaletteTags1, - gObjectPaletteTags2, - gObjectPaletteTags3, +static const u16 *const sObjectPaletteTagSets[] = { + sObjectPaletteTags0, + sObjectPaletteTags1, + sObjectPaletteTags2, + sObjectPaletteTags3, }; #include "data/object_events/berry_tree_graphics_tables.h" @@ -1235,7 +1236,7 @@ static u8 InitObjectEventStateFromTemplate(struct ObjectEventTemplate *template, objectEvent->rangeX = template->movementRangeX; objectEvent->rangeY = template->movementRangeY; objectEvent->trainerType = template->trainerType; - objectEvent->mapNum = mapNum; //redundant, but needed to match + objectEvent->mapNum = mapNum; objectEvent->trainerRange_berryTreeId = template->trainerRange_berryTreeId; objectEvent->previousMovementDirection = gInitialMovementTypeFacingDirections[template->movementType]; SetObjectEventDirection(objectEvent, objectEvent->previousMovementDirection); @@ -1364,16 +1365,16 @@ static u8 TrySetupObjectEventSprite(struct ObjectEventTemplate *objectEventTempl paletteSlot = graphicsInfo->paletteSlot; if (paletteSlot == 0) { - LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag1, 0); + LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag, 0); } else if (paletteSlot == 10) { - LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag1, 10); + LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, 10); } else if (paletteSlot >= 16) { paletteSlot -= 16; - sub_808EAB0(graphicsInfo->paletteTag1, paletteSlot); + sub_808EAB0(graphicsInfo->paletteTag, paletteSlot); } if (objectEvent->movementType == MOVEMENT_TYPE_INVISIBLE) @@ -1476,7 +1477,7 @@ static void MakeObjectTemplateFromObjectEventGraphicsInfo(u16 graphicsId, void ( 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; @@ -1553,11 +1554,11 @@ u8 CreateObjectSprite(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); } else if (graphicsInfo->paletteSlot >= 16) { - sub_808EAB0(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot | 0xf0); + sub_808EAB0(graphicsInfo->paletteTag, graphicsInfo->paletteSlot | 0xf0); } if (subspriteTables != NULL) { @@ -1693,16 +1694,16 @@ static void sub_808E1B8(u8 objectEventId, s16 x, s16 y) paletteSlot = graphicsInfo->paletteSlot; if (paletteSlot == 0) { - LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); + LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); } else if (paletteSlot == 10) { - LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); + LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); } else if (paletteSlot >= 16) { paletteSlot -= 16; - sub_808EAB0(graphicsInfo->paletteTag1, paletteSlot); + sub_808EAB0(graphicsInfo->paletteTag, paletteSlot); } *(u16 *)&spriteTemplate.paletteTag = 0xFFFF; spriteId = CreateSprite(&spriteTemplate, 0, 0, 0); @@ -1769,16 +1770,16 @@ void ObjectEventSetGraphicsId(struct ObjectEvent *objectEvent, u8 graphicsId) paletteSlot = graphicsInfo->paletteSlot; if (paletteSlot == 0) { - PatchObjectPalette(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); + PatchObjectPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); } else if (paletteSlot == 10) { - LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); + LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); } else if (paletteSlot >= 16) { paletteSlot -= 16; - sub_808EAB0(graphicsInfo->paletteTag1, paletteSlot); + sub_808EAB0(graphicsInfo->paletteTag, paletteSlot); } sprite->oam.shape = graphicsInfo->oam->shape; sprite->oam.size = graphicsInfo->oam->size; @@ -2030,11 +2031,11 @@ void LoadPlayerObjectReflectionPalette(u16 tag, u8 slot) u8 i; PatchObjectPalette(tag, slot); - for (i = 0; gPlayerReflectionPaletteSets[i].tag != OBJ_EVENT_PAL_TAG_NONE; i++) + for (i = 0; sPlayerReflectionPaletteSets[i].tag != OBJ_EVENT_PAL_TAG_NONE; i++) { - if (gPlayerReflectionPaletteSets[i].tag == tag) + if (sPlayerReflectionPaletteSets[i].tag == tag) { - PatchObjectPalette(gPlayerReflectionPaletteSets[i].data[sCurrentReflectionType], gReflectionEffectPaletteMap[slot]); + PatchObjectPalette(sPlayerReflectionPaletteSets[i].data[sCurrentReflectionType], gReflectionEffectPaletteMap[slot]); return; } } @@ -2046,11 +2047,11 @@ void LoadSpecialObjectReflectionPalette(u16 tag, u8 slot) sCurrentSpecialObjectPaletteTag = tag; PatchObjectPalette(tag, slot); - for (i = 0; gSpecialObjectReflectionPaletteSets[i].tag != OBJ_EVENT_PAL_TAG_NONE; i++) + for (i = 0; sSpecialObjectReflectionPaletteSets[i].tag != OBJ_EVENT_PAL_TAG_NONE; i++) { - if (gSpecialObjectReflectionPaletteSets[i].tag == tag) + if (sSpecialObjectReflectionPaletteSets[i].tag == tag) { - PatchObjectPalette(gSpecialObjectReflectionPaletteSets[i].data[sCurrentReflectionType], gReflectionEffectPaletteMap[slot]); + PatchObjectPalette(sSpecialObjectReflectionPaletteSets[i].data[sCurrentReflectionType], gReflectionEffectPaletteMap[slot]); return; } } @@ -2501,12 +2502,12 @@ void InitObjectEventPalettes(u8 palSlot) sCurrentReflectionType = palSlot; if (palSlot == 1) { - PatchObjectPaletteRange(gObjectPaletteTagSets[sCurrentReflectionType], 0, 6); + PatchObjectPaletteRange(sObjectPaletteTagSets[sCurrentReflectionType], 0, 6); gReservedSpritePaletteCount = 8; } else { - PatchObjectPaletteRange(gObjectPaletteTagSets[sCurrentReflectionType], 0, 10); + PatchObjectPaletteRange(sObjectPaletteTagSets[sCurrentReflectionType], 0, 10); } } @@ -2516,13 +2517,13 @@ u16 GetObjectPaletteTag(u8 palSlot) if (palSlot < 10) { - return gObjectPaletteTagSets[sCurrentReflectionType][palSlot]; + return sObjectPaletteTagSets[sCurrentReflectionType][palSlot]; } - for (i = 0; gSpecialObjectReflectionPaletteSets[i].tag != OBJ_EVENT_PAL_TAG_NONE; i++) + for (i = 0; sSpecialObjectReflectionPaletteSets[i].tag != OBJ_EVENT_PAL_TAG_NONE; i++) { - if (gSpecialObjectReflectionPaletteSets[i].tag == sCurrentSpecialObjectPaletteTag) + if (sSpecialObjectReflectionPaletteSets[i].tag == sCurrentSpecialObjectPaletteTag) { - return gSpecialObjectReflectionPaletteSets[i].data[sCurrentReflectionType]; + return sSpecialObjectReflectionPaletteSets[i].data[sCurrentReflectionType]; } } return OBJ_EVENT_PAL_TAG_NONE; @@ -8213,13 +8214,15 @@ bool8 FreezeObjectEvent(struct ObjectEvent *objectEvent) { return TRUE; } - - objectEvent->frozen = 1; - objectEvent->spriteAnimPausedBackup = gSprites[objectEvent->spriteId].animPaused; - objectEvent->spriteAffineAnimPausedBackup = gSprites[objectEvent->spriteId].affineAnimPaused; - gSprites[objectEvent->spriteId].animPaused = 1; - gSprites[objectEvent->spriteId].affineAnimPaused = 1; - return FALSE; + else + { + objectEvent->frozen = 1; + objectEvent->spriteAnimPausedBackup = gSprites[objectEvent->spriteId].animPaused; + objectEvent->spriteAffineAnimPausedBackup = gSprites[objectEvent->spriteId].affineAnimPaused; + gSprites[objectEvent->spriteId].animPaused = 1; + gSprites[objectEvent->spriteId].affineAnimPaused = 1; + return FALSE; + } } void FreezeObjectEvents(void) @@ -8392,8 +8395,8 @@ bool8 sub_80976EC(struct Sprite *sprite) if (sprite->data[5] > 15) return TRUE; - - return FALSE; + else + return FALSE; } static const s8 sFigure8XOffsets[FIGURE_8_LENGTH] = { @@ -8473,15 +8476,15 @@ static bool8 AnimateSpriteInFigure8(struct Sprite *sprite) return finished; } -static const s8 gUnknown_0850E802[16] = { +static const s8 gUnknown_0850E802[] = { -4, -6, -8, -10, -11, -12, -12, -12, -11, -10, -9, -8, -6, -4, 0, 0 }; -static const s8 gUnknown_0850E812[16] = { +static const s8 gUnknown_0850E812[] = { 0, -2, -3, -4, -5, -6, -6, -6, -5, -5, -4, -3, -2, 0, 0, 0 }; -static const s8 gUnknown_0850E822[16] = { +static const s8 gUnknown_0850E822[] = { -2, -4, -6, -8, -9, -10, -10, -10, -9, -8, -6, -5, -3, -2, 0, 0 }; @@ -8561,9 +8564,12 @@ static void SetMovementDelay(struct Sprite *sprite, s16 timer) static bool8 WaitForMovementDelay(struct Sprite *sprite) { - if (--sprite->data[3] == 0) + sprite->data[3]--; + + if (sprite->data[3] == 0) return TRUE; - return FALSE; + else + return FALSE; } void SetAndStartSpriteAnim(struct Sprite *sprite, u8 animNum, u8 animCmdIndex) @@ -8577,7 +8583,8 @@ bool8 SpriteAnimEnded(struct Sprite *sprite) { if (sprite->animEnded) return TRUE; - return FALSE; + else + return FALSE; } void UpdateObjectEventSpriteVisibility(struct Sprite *sprite, bool8 invisible) @@ -8756,14 +8763,14 @@ static void UpdateObjectEventSpritePosition(struct Sprite *sprite) { switch(sprite->tAnimNum) { - case 0: - break; case UNION_ROOM_SPAWN_IN: MoveUnionRoomObjectDown(sprite); break; case UNION_ROOM_SPAWN_OUT: MoveUnionRoomObjectUp(sprite); break; + case 0: + break; default: sprite->tAnimNum = 0; break; @@ -8832,7 +8839,7 @@ u8 (*const gMovementActionFuncs_FlyDown[])(struct ObjectEvent *, struct Sprite * u8 MovementAction_StoreAndLockAnim_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - bool8 ableToStore = FALSE; + bool32 ableToStore = FALSE; if (gLockedAnimObjectEvents == NULL) { gLockedAnimObjectEvents = AllocZeroed(sizeof(struct LockedAnimObjectEvents)); @@ -8842,8 +8849,9 @@ u8 MovementAction_StoreAndLockAnim_Step0(struct ObjectEvent *objectEvent, struct } else { - u8 i, firstFreeSlot; - bool8 found; + u8 i; + u8 firstFreeSlot; + bool32 found; for (firstFreeSlot = 16, found = FALSE, i = 0; i < 16; i++) { if (firstFreeSlot == 16 && gLockedAnimObjectEvents->objectEventIds[i] == 0) @@ -8876,7 +8884,7 @@ u8 MovementAction_StoreAndLockAnim_Step0(struct ObjectEvent *objectEvent, struct u8 MovementAction_FreeAndUnlockAnim_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - bool8 ableToStore; + bool32 ableToStore; u8 index; sprite->data[2] = 1; @@ -8920,7 +8928,7 @@ void CreateLevitateMovementTask(struct ObjectEvent *objectEvent) u8 taskId = CreateTask(ApplyLevitateMovement, 0xFF); struct Task *task = &gTasks[taskId]; - StoreWordInTwoHalfwords((u16 *)&task->data[0], (u32)objectEvent); + StoreWordInTwoHalfwords(&task->data[0], (u32)objectEvent); objectEvent->warpArrowSpriteId = taskId; task->data[3] = 0xFFFF; } @@ -8931,7 +8939,7 @@ static void ApplyLevitateMovement(u8 taskId) struct Sprite *sprite; struct Task *task = &gTasks[taskId]; - LoadWordFromTwoHalfwords((u16 *)&task->data[0], (u32 *)&objectEvent); // load the map object pointer. + LoadWordFromTwoHalfwords(&task->data[0], (u32 *)&objectEvent); // load the map object pointer. sprite = &gSprites[objectEvent->spriteId]; if(!(task->data[2] & 0x3)) @@ -8948,7 +8956,7 @@ void DestroyExtraMovementTask(u8 taskId) struct ObjectEvent *objectEvent; struct Task *task = &gTasks[taskId]; - LoadWordFromTwoHalfwords((u16 *)&task->data[0], (u32 *)&objectEvent); // unused objectEvent + LoadWordFromTwoHalfwords(&task->data[0], (u32 *)&objectEvent); // unused objectEvent DestroyTask(taskId); } |