Merge remote-tracking branch 'upstream/master' into berry_crush
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user