Merge remote-tracking branch 'upstream/master' into berry_crush

This commit is contained in:
Kurausukun
2020-12-10 23:30:52 -05:00
500 changed files with 25386 additions and 24803 deletions

View File

@@ -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);
}