Merge pull request #263 from huderlem/event_object_movement

Sync event object movement with pokeruby
This commit is contained in:
Marcus Huderle
2018-06-14 08:08:51 -05:00
committed by GitHub
2313 changed files with 31349 additions and 38076 deletions
+31 -32
View File
@@ -21,7 +21,7 @@
#include "constants/items.h"
#include "palette.h"
#include "window.h"
#include "field_map_obj.h"
#include "event_object_movement.h"
#include "event_scripts.h"
#include "trainer_see.h"
#include "field_message_box.h"
@@ -32,7 +32,6 @@
#include "overworld.h"
#include "field_weather.h"
#include "gym_leader_rematch.h"
#include "field_map_obj_helpers.h"
enum
{
@@ -63,8 +62,8 @@ extern void sub_80EECC8(void);
extern void sub_80AF6F0(void);
extern u16 sub_81A9AA8(u8 localId);
extern u16 sub_81D6180(u8 localId);
extern bool8 GetBattlePyramidTrainerFlag(u8 mapObjId);
extern bool8 GetTrainerHillTrainerFlag(u8 mapObjId);
extern bool8 GetBattlePyramidTrainerFlag(u8 eventObjId);
extern bool8 GetTrainerHillTrainerFlag(u8 eventObjId);
extern bool8 sub_81D5C18(void);
extern void sub_816306C(u8 a0);
extern void sub_8163048(u8 a0);
@@ -102,7 +101,7 @@ EWRAM_DATA static u16 sTrainerBattleMode = 0;
EWRAM_DATA u16 gTrainerBattleOpponent_A = 0;
EWRAM_DATA u16 gTrainerBattleOpponent_B = 0;
EWRAM_DATA u16 gPartnerTrainerId = 0;
EWRAM_DATA static u16 sTrainerMapObjectLocalId = 0;
EWRAM_DATA static u16 sTrainerEventObjectLocalId = 0;
EWRAM_DATA static u8 *sTrainerAIntroSpeech = NULL;
EWRAM_DATA static u8 *sTrainerBIntroSpeech = NULL;
EWRAM_DATA static u8 *sTrainerADefeatSpeech = NULL;
@@ -156,7 +155,7 @@ static const struct TrainerBattleParameter sOrdinaryBattleParams[] =
{
{&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT},
{&gTrainerBattleOpponent_A, TRAINER_PARAM_LOAD_VAL_16BIT},
{&sTrainerMapObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT},
{&sTrainerEventObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT},
{&sTrainerAIntroSpeech, TRAINER_PARAM_LOAD_VAL_32BIT},
{&sTrainerADefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT},
{&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT},
@@ -169,7 +168,7 @@ static const struct TrainerBattleParameter sContinueScriptBattleParams[] =
{
{&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT},
{&gTrainerBattleOpponent_A, TRAINER_PARAM_LOAD_VAL_16BIT},
{&sTrainerMapObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT},
{&sTrainerEventObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT},
{&sTrainerAIntroSpeech, TRAINER_PARAM_LOAD_VAL_32BIT},
{&sTrainerADefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT},
{&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT},
@@ -182,7 +181,7 @@ static const struct TrainerBattleParameter sDoubleBattleParams[] =
{
{&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT},
{&gTrainerBattleOpponent_A, TRAINER_PARAM_LOAD_VAL_16BIT},
{&sTrainerMapObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT},
{&sTrainerEventObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT},
{&sTrainerAIntroSpeech, TRAINER_PARAM_LOAD_VAL_32BIT},
{&sTrainerADefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT},
{&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT},
@@ -195,7 +194,7 @@ static const struct TrainerBattleParameter sOrdinaryNoIntroBattleParams[] =
{
{&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT},
{&gTrainerBattleOpponent_A, TRAINER_PARAM_LOAD_VAL_16BIT},
{&sTrainerMapObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT},
{&sTrainerEventObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT},
{&sTrainerAIntroSpeech, TRAINER_PARAM_CLEAR_VAL_32BIT},
{&sTrainerADefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT},
{&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT},
@@ -208,7 +207,7 @@ static const struct TrainerBattleParameter sContinueScriptDoubleBattleParams[] =
{
{&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT},
{&gTrainerBattleOpponent_A, TRAINER_PARAM_LOAD_VAL_16BIT},
{&sTrainerMapObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT},
{&sTrainerEventObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT},
{&sTrainerAIntroSpeech, TRAINER_PARAM_LOAD_VAL_32BIT},
{&sTrainerADefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT},
{&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT},
@@ -221,7 +220,7 @@ static const struct TrainerBattleParameter sTrainerBOrdinaryBattleParams[] =
{
{&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT},
{&gTrainerBattleOpponent_B, TRAINER_PARAM_LOAD_VAL_16BIT},
{&sTrainerMapObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT},
{&sTrainerEventObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT},
{&sTrainerBIntroSpeech, TRAINER_PARAM_LOAD_VAL_32BIT},
{&sTrainerBDefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT},
{&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT},
@@ -234,7 +233,7 @@ static const struct TrainerBattleParameter sTrainerBContinueScriptBattleParams[]
{
{&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT},
{&gTrainerBattleOpponent_B, TRAINER_PARAM_LOAD_VAL_16BIT},
{&sTrainerMapObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT},
{&sTrainerEventObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT},
{&sTrainerBIntroSpeech, TRAINER_PARAM_LOAD_VAL_32BIT},
{&sTrainerBDefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT},
{&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT},
@@ -388,7 +387,7 @@ void BattleSetup_StartBattlePikeWildBattle(void)
static void DoStandardWildBattle(void)
{
ScriptContext2_Enable();
FreezeMapObjects();
FreezeEventObjects();
sub_808BCF4();
gMain.savedCallback = CB2_EndWildBattle;
gBattleTypeFlags = 0;
@@ -407,7 +406,7 @@ static void DoStandardWildBattle(void)
void BattleSetup_StartRoamerBattle(void)
{
ScriptContext2_Enable();
FreezeMapObjects();
FreezeEventObjects();
sub_808BCF4();
gMain.savedCallback = CB2_EndWildBattle;
gBattleTypeFlags = BATTLE_TYPE_ROAMER;
@@ -421,7 +420,7 @@ void BattleSetup_StartRoamerBattle(void)
static void DoSafariBattle(void)
{
ScriptContext2_Enable();
FreezeMapObjects();
FreezeEventObjects();
sub_808BCF4();
gMain.savedCallback = CB2_EndSafariBattle;
gBattleTypeFlags = BATTLE_TYPE_SAFARI;
@@ -431,7 +430,7 @@ static void DoSafariBattle(void)
static void DoBattlePikeWildBattle(void)
{
ScriptContext2_Enable();
FreezeMapObjects();
FreezeEventObjects();
sub_808BCF4();
gMain.savedCallback = CB2_EndWildBattle;
gBattleTypeFlags = BATTLE_TYPE_PIKE;
@@ -1012,7 +1011,7 @@ static void InitTrainerBattleVariables(void)
sTrainerBDefeatSpeech = NULL;
sTrainerBBattleScriptRetAddr = NULL;
}
sTrainerMapObjectLocalId = 0;
sTrainerEventObjectLocalId = 0;
sTrainerVictorySpeech = NULL;
sTrainerCannotBattleSpeech = NULL;
sTrainerBattleEndScript = NULL;
@@ -1075,10 +1074,10 @@ static void TrainerBattleLoadArgs(const struct TrainerBattleParameter *specs, co
void SetMapVarsToTrainer(void)
{
if (sTrainerMapObjectLocalId != 0)
if (sTrainerEventObjectLocalId != 0)
{
gSpecialVar_LastTalked = sTrainerMapObjectLocalId;
gSelectedMapObject = GetFieldObjectIdByLocalIdAndMap(sTrainerMapObjectLocalId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
gSpecialVar_LastTalked = sTrainerEventObjectLocalId;
gSelectedEventObject = GetEventObjectIdByLocalIdAndMap(sTrainerEventObjectLocalId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
}
}
@@ -1172,19 +1171,19 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
}
}
void ConfigureAndSetUpOneTrainerBattle(u8 trainerMapObjId, const u8 *trainerScript)
void ConfigureAndSetUpOneTrainerBattle(u8 trainerEventObjId, const u8 *trainerScript)
{
gSelectedMapObject = trainerMapObjId;
gSpecialVar_LastTalked = gMapObjects[trainerMapObjId].localId;
gSelectedEventObject = trainerEventObjId;
gSpecialVar_LastTalked = gEventObjects[trainerEventObjId].localId;
BattleSetup_ConfigureTrainerBattle(trainerScript + 1);
ScriptContext1_SetupScript(EventScript_271354);
ScriptContext2_Enable();
}
void ConfigureTwoTrainersBattle(u8 trainerMapObjId, const u8 *trainerScript)
void ConfigureTwoTrainersBattle(u8 trainerEventObjId, const u8 *trainerScript)
{
gSelectedMapObject = trainerMapObjId;
gSpecialVar_LastTalked = gMapObjects[trainerMapObjId].localId;
gSelectedEventObject = trainerEventObjId;
gSpecialVar_LastTalked = gEventObjects[trainerEventObjId].localId;
BattleSetup_ConfigureTrainerBattle(trainerScript + 1);
}
@@ -1202,9 +1201,9 @@ bool32 GetTrainerFlagFromScriptPointer(const u8 *data)
void sub_80B16D8(void)
{
struct MapObject *mapObject = &gMapObjects[gSelectedMapObject];
struct EventObject *eventObject = &gEventObjects[gSelectedEventObject];
npc_set_running_behaviour_etc(mapObject, npc_running_behaviour_by_direction(mapObject->mapobj_unk_18));
SetTrainerMovementType(eventObject, GetTrainerFacingDirectionMovementType(eventObject->facingDirection));
}
u8 GetTrainerBattleMode(void)
@@ -1215,9 +1214,9 @@ u8 GetTrainerBattleMode(void)
bool8 GetTrainerFlag(void)
{
if (InBattlePyramid())
return GetBattlePyramidTrainerFlag(gSelectedMapObject);
return GetBattlePyramidTrainerFlag(gSelectedEventObject);
else if (InTrainerHill())
return GetTrainerHillTrainerFlag(gSelectedMapObject);
return GetTrainerHillTrainerFlag(gSelectedEventObject);
else
return FlagGet(GetTrainerAFlag());
}
@@ -1362,7 +1361,7 @@ void ShowTrainerIntroSpeech(void)
if (gNoOfApproachingTrainers == 0 || gNoOfApproachingTrainers == 1)
sub_81A9EDC(sub_81A9AA8(gSpecialVar_LastTalked));
else
sub_81A9EDC(sub_81A9AA8(gMapObjects[gApproachingTrainers[gApproachingTrainerId].mapObjectId].localId));
sub_81A9EDC(sub_81A9AA8(gEventObjects[gApproachingTrainers[gApproachingTrainerId].eventObjectId].localId));
sub_80982B8();
}
@@ -1371,7 +1370,7 @@ void ShowTrainerIntroSpeech(void)
if (gNoOfApproachingTrainers == 0 || gNoOfApproachingTrainers == 1)
sub_81D572C(2, sub_81D6180(gSpecialVar_LastTalked));
else
sub_81D572C(2, sub_81D6180(gMapObjects[gApproachingTrainers[gApproachingTrainerId].mapObjectId].localId));
sub_81D572C(2, sub_81D6180(gEventObjects[gApproachingTrainers[gApproachingTrainerId].eventObjectId].localId));
sub_80982B8();
}
+3 -3
View File
@@ -59,7 +59,7 @@ typedef bool8 (*TransitionSpriteCallback)(struct Sprite *sprite);
extern u16 gBattle_BG0_X;
extern u16 gBattle_BG0_Y;
extern const struct OamData gFieldObjectBaseOam_32x32;
extern const struct OamData gEventObjectBaseOam_32x32;
extern void sub_80AC3D0(void);
@@ -753,7 +753,7 @@ static const struct SpriteTemplate gUnknown_085C8E68 =
{
.tileTag = 0xFFFF,
.paletteTag = 4105,
.oam = &gFieldObjectBaseOam_32x32,
.oam = &gEventObjectBaseOam_32x32,
.anims = sSpriteAnimTable_85C8E3C,
.images = sSpriteImageTable_85C8E2C,
.affineAnims = sSpriteAffineAnimTable_85C8E60,
@@ -820,7 +820,7 @@ static const struct SpriteTemplate sSpriteTemplate_85C8EBC =
.callback = sub_8148380
};
static const u16 gFieldEffectObjectPalette10[] = INCBIN_U16("graphics/map_objects/palettes/field_effect_object_palette_10.gbapal");
static const u16 gFieldEffectObjectPalette10[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_10.gbapal");
const struct SpritePalette gFieldEffectObjectPaletteInfo10 =
{
+28 -28
View File
@@ -8,11 +8,11 @@
#include "event_data.h"
#include "fieldmap.h"
extern u8 FieldObjectGetBerryTreeId(u8 mapObjectId);
extern u8 EventObjectGetBerryTreeId(u8 eventObjectId);
extern void sub_8092EF0(u8 mapId, u8 mapNumber, u8 mapGroup);
extern void CB2_ChooseBerry(void);
extern const u8* GetFieldObjectScriptPointerForComparison(void);
extern bool8 sub_8092E9C(u8, u8, u8);
extern const u8* GetEventObjectScriptPointerForComparison(void);
extern bool8 IsBerryTreeSparkling(u8, u8, u8);
extern u16 gSpecialVar_ItemId;
@@ -904,9 +904,9 @@ struct BerryTree *GetBerryTreeInfo(u8 id)
return &gSaveBlock1Ptr->berryTrees[id];
}
bool32 FieldObjectInteractionWaterBerryTree(void)
bool32 EventObjectInteractionWaterBerryTree(void)
{
struct BerryTree *tree = GetBerryTreeInfo(FieldObjectGetBerryTreeId(gSelectedMapObject));
struct BerryTree *tree = GetBerryTreeInfo(EventObjectGetBerryTreeId(gSelectedEventObject));
switch (tree->stage)
{
@@ -930,8 +930,8 @@ bool32 FieldObjectInteractionWaterBerryTree(void)
bool8 IsPlayerFacingPlantedBerryTree(void)
{
if (GetFieldObjectScriptPointerForComparison() == BerryTreeScript
&& GetStageByBerryTreeId(FieldObjectGetBerryTreeId(gSelectedMapObject)) == 0)
if (GetEventObjectScriptPointerForComparison() == BerryTreeScript
&& GetStageByBerryTreeId(EventObjectGetBerryTreeId(gSelectedEventObject)) == 0)
return TRUE;
else
return FALSE;
@@ -939,10 +939,10 @@ bool8 IsPlayerFacingPlantedBerryTree(void)
bool8 TryToWaterBerryTree(void)
{
if (GetFieldObjectScriptPointerForComparison() != BerryTreeScript)
if (GetEventObjectScriptPointerForComparison() != BerryTreeScript)
return FALSE;
else
return FieldObjectInteractionWaterBerryTree();
return EventObjectInteractionWaterBerryTree();
}
void ClearBerryTrees(void)
@@ -1152,7 +1152,7 @@ u16 GetStageDurationByBerryType(u8 berry)
return GetBerryInfo(berry)->stageDuration * 60;
}
void FieldObjectInteractionGetBerryTreeData(void)
void EventObjectInteractionGetBerryTreeData(void)
{
u8 id;
u8 berry;
@@ -1160,13 +1160,13 @@ void FieldObjectInteractionGetBerryTreeData(void)
u8 group;
u8 num;
id = FieldObjectGetBerryTreeId(gSelectedMapObject);
id = EventObjectGetBerryTreeId(gSelectedEventObject);
berry = GetBerryTypeByBerryTreeId(id);
ResetBerryTreeSparkleFlag(id);
unk = gSpecialVar_LastTalked;
num = gSaveBlock1Ptr->location.mapNum;
group = gSaveBlock1Ptr->location.mapGroup;
if (sub_8092E9C(unk, num, group))
if (IsBerryTreeSparkling(unk, num, group))
gSpecialVar_0x8004 = 0xFF;
else
gSpecialVar_0x8004 = GetStageByBerryTreeId(id);
@@ -1175,15 +1175,15 @@ void FieldObjectInteractionGetBerryTreeData(void)
GetBerryCountStringByBerryType(berry, gStringVar1, gSpecialVar_0x8006);
}
void FieldObjectInteractionGetBerryName(void)
void EventObjectInteractionGetBerryName(void)
{
u8 berryType = GetBerryTypeByBerryTreeId(FieldObjectGetBerryTreeId(gSelectedMapObject));
u8 berryType = GetBerryTypeByBerryTreeId(EventObjectGetBerryTreeId(gSelectedEventObject));
GetBerryNameByBerryType(berryType, gStringVar1);
}
void FieldObjectInteractionGetBerryCountString(void)
void EventObjectInteractionGetBerryCountString(void)
{
u8 treeId = FieldObjectGetBerryTreeId(gSelectedMapObject);
u8 treeId = EventObjectGetBerryTreeId(gSelectedEventObject);
u8 berry = GetBerryTypeByBerryTreeId(treeId);
u8 count = GetBerryCountByBerryTreeId(treeId);
GetBerryCountStringByBerryType(berry, gStringVar1, count);
@@ -1194,25 +1194,25 @@ void Bag_ChooseBerry(void)
SetMainCallback2(CB2_ChooseBerry);
}
void FieldObjectInteractionPlantBerryTree(void)
void EventObjectInteractionPlantBerryTree(void)
{
u8 berry = ItemIdToBerryType(gSpecialVar_ItemId);
PlantBerryTree(FieldObjectGetBerryTreeId(gSelectedMapObject), berry, 1, TRUE);
FieldObjectInteractionGetBerryTreeData();
PlantBerryTree(EventObjectGetBerryTreeId(gSelectedEventObject), berry, 1, TRUE);
EventObjectInteractionGetBerryTreeData();
}
void FieldObjectInteractionPickBerryTree(void)
void EventObjectInteractionPickBerryTree(void)
{
u8 id = FieldObjectGetBerryTreeId(gSelectedMapObject);
u8 id = EventObjectGetBerryTreeId(gSelectedEventObject);
u8 berry = GetBerryTypeByBerryTreeId(id);
gSpecialVar_0x8004 = AddBagItem(BerryTypeToItemId(berry), GetBerryCountByBerryTreeId(id));
}
void FieldObjectInteractionRemoveBerryTree(void)
void EventObjectInteractionRemoveBerryTree(void)
{
RemoveBerryTree(FieldObjectGetBerryTreeId(gSelectedMapObject));
RemoveBerryTree(EventObjectGetBerryTreeId(gSelectedEventObject));
sub_8092EF0(gSpecialVar_LastTalked, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
}
@@ -1236,14 +1236,14 @@ void ResetBerryTreeSparkleFlags(void)
top = cam_top + 3;
right = cam_left + 14;
bottom = top + 8;
for (i = 0; i < MAP_OBJECTS_COUNT; i++)
for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
if (gMapObjects[i].active && gMapObjects[i].animPattern == 12)
if (gEventObjects[i].active && gEventObjects[i].movementType == 12)
{
cam_left = gMapObjects[i].coords2.x;
cam_top = gMapObjects[i].coords2.y;
cam_left = gEventObjects[i].currentCoords.x;
cam_top = gEventObjects[i].currentCoords.y;
if (left <= cam_left && cam_left <= right && top <= cam_top && cam_top <= bottom)
ResetBerryTreeSparkleFlag(gMapObjects[i].trainerRange_berryTreeId);
ResetBerryTreeSparkleFlag(gEventObjects[i].trainerRange_berryTreeId);
}
}
}
+1 -1
View File
@@ -2,7 +2,7 @@
#include "berry_tag_screen.h"
#include "berry.h"
#include "decompress.h"
#include "field_map_obj.h"
#include "event_object_movement.h"
#include "item_menu.h"
#include "constants/items.h"
#include "item.h"
+71 -71
View File
@@ -1,6 +1,6 @@
#include "global.h"
#include "bike.h"
#include "field_map_obj.h"
#include "event_object_movement.h"
#include "field_player_avatar.h"
#include "fieldmap.h"
#include "constants/flags.h"
@@ -56,7 +56,7 @@ static void Bike_UpdateDirTimerHistory(u8);
static void Bike_UpdateABStartSelectHistory(u8);
static u8 Bike_DPadToDirection(u16);
static u8 get_some_collision(u8);
static u8 Bike_CheckCollisionTryAdvanceCollisionCount(struct MapObject *, s16, s16, u8, u8);
static u8 Bike_CheckCollisionTryAdvanceCollisionCount(struct EventObject *, s16, s16, u8, u8);
static bool8 IsRunningDisallowedByMetatile(u8);
static void Bike_TryAdvanceCyclingRoadCollisions();
static u8 CanBikeFaceDirOnMetatile(u8, u8);
@@ -152,7 +152,7 @@ static void MovePlayerOnMachBike(u8 direction, u16 newKeys, u16 heldKeys)
static u8 GetMachBikeTransition(u8 *dirTraveling)
{
// if the dir updated before this function, get the relevent new direction to check later.
u8 direction = player_get_direction_upper_nybble();
u8 direction = GetPlayerMovementDirection();
// is the player standing still?
if (*dirTraveling == 0)
@@ -196,31 +196,31 @@ static void MachBikeTransition_FaceDirection(u8 direction)
static void MachBikeTransition_TurnDirection(u8 direction)
{
struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E))
if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior))
{
PlayerTurnInPlace(direction);
Bike_SetBikeStill();
}
else
{
MachBikeTransition_FaceDirection(playerMapObj->mapobj_unk_18);
MachBikeTransition_FaceDirection(playerEventObj->facingDirection);
}
}
static void MachBikeTransition_TrySpeedUp(u8 direction)
{
struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
u8 collision;
if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == FALSE)
if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == FALSE)
{
// we cannot go forward, so either slow down or, if we are stopped, idle face direction.
if (gPlayerAvatar.bikeSpeed)
MachBikeTransition_TrySlowDown(playerMapObj->placeholder18);
MachBikeTransition_TrySlowDown(playerEventObj->movementDirection);
else
MachBikeTransition_FaceDirection(playerMapObj->placeholder18);
MachBikeTransition_FaceDirection(playerEventObj->movementDirection);
}
else
{
@@ -296,7 +296,7 @@ static u8 CheckMovementInputAcroBike(u8 *newDirection, u16 newKeys, u16 heldKeys
static u8 AcroBikeHandleInputNormal(u8 *newDirection, u16 newKeys, u16 heldKeys)
{
u8 direction = player_get_direction_upper_nybble();
u8 direction = GetPlayerMovementDirection();
gPlayerAvatar.bikeFrameCounter = 0;
if (*newDirection == DIR_NONE)
@@ -349,7 +349,7 @@ static u8 AcroBikeHandleInputTurning(u8 *newDirection, u16 newKeys, u16 heldKeys
Bike_SetBikeStill();
return ACRO_TRANS_TURN_DIRECTION;
}
direction = player_get_direction_upper_nybble();
direction = GetPlayerMovementDirection();
if (*newDirection == AcroBike_GetJumpDirection())
{
Bike_SetBikeStill(); // Bike_SetBikeStill sets speed to standing, but the next line immediately overrides it. could have just reset acroBikeState to 0 here instead of wasting a jump.
@@ -376,10 +376,10 @@ static u8 AcroBikeHandleInputTurning(u8 *newDirection, u16 newKeys, u16 heldKeys
static u8 AcroBikeHandleInputWheelieStanding(u8 *newDirection, u16 newKeys, u16 heldKeys)
{
u8 direction;
struct MapObject *playerMapObj;
struct EventObject *playerEventObj;
direction = player_get_direction_upper_nybble();
playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
direction = GetPlayerMovementDirection();
playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
gPlayerAvatar.runningState = NOT_MOVING;
if (heldKeys & B_BUTTON)
@@ -388,7 +388,7 @@ static u8 AcroBikeHandleInputWheelieStanding(u8 *newDirection, u16 newKeys, u16
{
// B button was released.
gPlayerAvatar.bikeFrameCounter = 0;
if (!MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E))
if (!MetatileBehavior_IsBumpySlope(playerEventObj->currentMetatileBehavior))
{
// Go back to normal on flat ground
*newDirection = direction;
@@ -423,15 +423,15 @@ static u8 AcroBikeHandleInputWheelieStanding(u8 *newDirection, u16 newKeys, u16
static u8 AcroBikeHandleInputBunnyHop(u8 *newDirection, u16 newKeys, u16 heldKeys)
{
u8 direction;
struct MapObject *playerMapObj;
struct EventObject *playerEventObj;
direction = player_get_direction_upper_nybble();
playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
direction = GetPlayerMovementDirection();
playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
if (!(heldKeys & B_BUTTON))
{
// B button was released
Bike_SetBikeStill();
if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E))
if (MetatileBehavior_IsBumpySlope(playerEventObj->currentMetatileBehavior))
{
// even though B was released, dont undo the wheelie on the bumpy slope.
gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING;
@@ -470,15 +470,15 @@ static u8 AcroBikeHandleInputBunnyHop(u8 *newDirection, u16 newKeys, u16 heldKey
static u8 AcroBikeHandleInputWheelieMoving(u8 *newDirection, u16 newKeys, u16 heldKeys)
{
u8 direction;
struct MapObject *playerMapObj;
struct EventObject *playerEventObj;
direction = player_get_direction_lower_nybble();
playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
direction = GetPlayerFacingDirection();
playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
if (!(heldKeys & B_BUTTON))
{
// we were moving on a wheelie, but we let go while moving. reset bike still status
Bike_SetBikeStill();
if (!MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E))
if (!MetatileBehavior_IsBumpySlope(playerEventObj->currentMetatileBehavior))
{
// we let go of B and arent on a bumpy slope, set state to normal because now we need to handle this
gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL;
@@ -524,10 +524,10 @@ static u8 AcroBikeHandleInputWheelieMoving(u8 *newDirection, u16 newKeys, u16 he
static u8 AcroBikeHandleInputSidewaysJump(u8 *ptr, u16 newKeys, u16 heldKeys)
{
struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
playerMapObj->mapobj_bit_9 = 0;
FieldObjectSetDirection(playerMapObj, playerMapObj->mapobj_unk_18);
playerEventObj->facingDirectionLocked = 0;
SetEventObjectDirection(playerEventObj, playerEventObj->facingDirection);
gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL;
return CheckMovementInputAcroBike(ptr, newKeys, heldKeys);
}
@@ -545,21 +545,21 @@ static void AcroBikeTransition_FaceDirection(u8 direction)
static void AcroBikeTransition_TurnDirection(u8 direction)
{
struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
direction = playerMapObj->placeholder18;
if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0)
direction = playerEventObj->movementDirection;
PlayerFaceDirection(direction);
}
static void AcroBikeTransition_Moving(u8 direction)
{
u8 collision;
struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0)
{
AcroBikeTransition_FaceDirection(playerMapObj->placeholder18);
AcroBikeTransition_FaceDirection(playerEventObj->movementDirection);
return;
}
collision = get_some_collision(direction);
@@ -580,48 +580,48 @@ static void AcroBikeTransition_Moving(u8 direction)
static void AcroBikeTransition_NormalToWheelie(u8 direction)
{
struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
direction = playerMapObj->placeholder18;
if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0)
direction = playerEventObj->movementDirection;
PlayerStartWheelie(direction);
}
static void AcroBikeTransition_WheelieToNormal(u8 direction)
{
struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
direction = playerMapObj->placeholder18;
if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0)
direction = playerEventObj->movementDirection;
PlayerEndWheelie(direction);
}
static void AcroBikeTransition_WheelieIdle(u8 direction)
{
struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
direction = playerMapObj->placeholder18;
if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0)
direction = playerEventObj->movementDirection;
PlayerIdleWheelie(direction);
}
static void AcroBikeTransition_WheelieHoppingStanding(u8 direction)
{
struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
direction = playerMapObj->placeholder18;
if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0)
direction = playerEventObj->movementDirection;
PlayerStandingHoppingWheelie(direction);
}
static void AcroBikeTransition_WheelieHoppingMoving(u8 direction)
{
u8 collision;
struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0)
{
AcroBikeTransition_WheelieHoppingStanding(playerMapObj->placeholder18);
AcroBikeTransition_WheelieHoppingStanding(playerEventObj->movementDirection);
return;
}
collision = get_some_collision(direction);
@@ -651,7 +651,7 @@ static void AcroBikeTransition_WheelieHoppingMoving(u8 direction)
static void AcroBikeTransition_SideJump(u8 direction)
{
u8 collision;
struct MapObject *playerMapObj;
struct EventObject *playerEventObj;
collision = get_some_collision(direction);
if (collision != 0)
@@ -669,10 +669,10 @@ static void AcroBikeTransition_SideJump(u8 direction)
return;
}
}
playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
PlaySE(SE_JITE_PYOKO);
playerMapObj->mapobj_bit_9 = 1;
PlayerSetAnimId(sub_8093514(direction), 2);
playerEventObj->facingDirectionLocked = 1;
PlayerSetAnimId(GetJumpMovementAction(direction), 2);
}
static void AcroBikeTransition_TurnJump(u8 direction)
@@ -683,11 +683,11 @@ static void AcroBikeTransition_TurnJump(u8 direction)
static void AcroBikeTransition_WheelieMoving(u8 direction)
{
u8 collision;
struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0)
{
PlayerIdleWheelie(playerMapObj->placeholder18);
PlayerIdleWheelie(playerEventObj->movementDirection);
return;
}
collision = get_some_collision(direction);
@@ -703,7 +703,7 @@ static void AcroBikeTransition_WheelieMoving(u8 direction)
}
else if (collision <= 4)
{
if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E))
if (MetatileBehavior_IsBumpySlope(playerEventObj->currentMetatileBehavior))
PlayerIdleWheelie(direction);
else
sub_808B980(direction); //hit wall?
@@ -717,11 +717,11 @@ static void AcroBikeTransition_WheelieMoving(u8 direction)
static void AcroBikeTransition_WheelieRisingMoving(u8 direction)
{
u8 collision;
struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0)
{
PlayerStartWheelie(playerMapObj->placeholder18);
PlayerStartWheelie(playerEventObj->movementDirection);
return;
}
collision = get_some_collision(direction);
@@ -737,7 +737,7 @@ static void AcroBikeTransition_WheelieRisingMoving(u8 direction)
}
else if (collision <= 4)
{
if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E))
if (MetatileBehavior_IsBumpySlope(playerEventObj->currentMetatileBehavior))
PlayerIdleWheelie(direction);
else
sub_808B980(direction); //hit wall?
@@ -751,11 +751,11 @@ static void AcroBikeTransition_WheelieRisingMoving(u8 direction)
static void AcroBikeTransition_WheelieLoweringMoving(u8 direction)
{
u8 collision;
struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0)
{
PlayerEndWheelie(playerMapObj->placeholder18);
PlayerEndWheelie(playerEventObj->movementDirection);
return;
}
collision = get_some_collision(direction);
@@ -880,18 +880,18 @@ static u8 get_some_collision(u8 direction)
s16 x;
s16 y;
u8 metatitleBehavior;
struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
x = playerMapObj->coords2.x;
y = playerMapObj->coords2.y;
x = playerEventObj->currentCoords.x;
y = playerEventObj->currentCoords.y;
MoveCoords(direction, &x, &y);
metatitleBehavior = MapGridGetMetatileBehaviorAt(x, y);
return Bike_CheckCollisionTryAdvanceCollisionCount(playerMapObj, x, y, direction, metatitleBehavior);
return Bike_CheckCollisionTryAdvanceCollisionCount(playerEventObj, x, y, direction, metatitleBehavior);
}
static u8 Bike_CheckCollisionTryAdvanceCollisionCount(struct MapObject *mapObject, s16 x, s16 y, u8 direction, u8 metatitleBehavior)
static u8 Bike_CheckCollisionTryAdvanceCollisionCount(struct EventObject *eventObject, s16 x, s16 y, u8 direction, u8 metatitleBehavior)
{
u8 collision = CheckForFieldObjectCollision(mapObject, x, y, direction, metatitleBehavior);
u8 collision = CheckForEventObjectCollision(eventObject, x, y, direction, metatitleBehavior);
if (collision > 4)
return collision;
@@ -979,7 +979,7 @@ bool8 IsBikingDisallowedByPlayer(void)
bool8 player_should_look_direction_be_enforced_upon_movement(void)
{
if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE) != FALSE && MetatileBehavior_IsBumpySlope(gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1E) != FALSE)
if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE) != FALSE && MetatileBehavior_IsBumpySlope(gEventObjects[gPlayerAvatar.eventObjectId].currentMetatileBehavior) != FALSE)
return FALSE;
else
return TRUE;
@@ -1062,7 +1062,7 @@ void Bike_HandleBumpySlopeJump(void)
if (MetatileBehavior_IsBumpySlope(tileBehavior))
{
gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING;
sub_808C1B4(player_get_direction_upper_nybble());
sub_808C1B4(GetPlayerMovementDirection());
}
}
}
+52
View File
@@ -0,0 +1,52 @@
#ifndef GUARD_BASE_OAM_H
#define GUARD_BASE_OAM_H
const struct OamData gEventObjectBaseOam_8x8 = {
.shape = 0,
.size = 0,
.priority = 2
};
const struct OamData gEventObjectBaseOam_16x8 = {
.shape = 1,
.size = 0,
.priority = 2
};
const struct OamData gEventObjectBaseOam_16x16 = {
.shape = 0,
.size = 1,
.priority = 2
};
const struct OamData gEventObjectBaseOam_32x8 = {
.shape = 1,
.size = 1,
.priority = 2
};
const struct OamData gEventObjectBaseOam_64x32 = {
.shape = 1,
.size = 3,
.priority = 2
};
const struct OamData gEventObjectBaseOam_16x32 = {
.shape = 2,
.size = 2,
.priority = 2
};
const struct OamData gEventObjectBaseOam_32x32 = {
.shape = 0,
.size = 2,
.priority = 2
};
const struct OamData gEventObjectBaseOam_64x64 = {
.shape = 0,
.size = 3,
.priority = 2
};
#endif //GUARD_BASE_OAM_H
+570
View File
@@ -0,0 +1,570 @@
#ifndef GUARD_BERRY_TREE_GRAPHICS_TABLES_H
#define GUARD_BERRY_TREE_GRAPHICS_TABLES_H
const struct SpriteFrameImage gEventObjectPicTable_PechaBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_PechaBerryTree_0),
obj_frame_tiles(gEventObjectPic_PechaBerryTree_1),
obj_frame_tiles(gEventObjectPic_PechaBerryTree_2),
obj_frame_tiles(gEventObjectPic_PechaBerryTree_3),
obj_frame_tiles(gEventObjectPic_PechaBerryTree_4),
obj_frame_tiles(gEventObjectPic_PechaBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Pecha[] = {3, 4, 4, 4, 4};
const struct SpriteFrameImage gEventObjectPicTable_KelpsyBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_KelpsyBerryTree_0),
obj_frame_tiles(gEventObjectPic_KelpsyBerryTree_1),
obj_frame_tiles(gEventObjectPic_KelpsyBerryTree_2),
obj_frame_tiles(gEventObjectPic_KelpsyBerryTree_3),
obj_frame_tiles(gEventObjectPic_KelpsyBerryTree_4),
obj_frame_tiles(gEventObjectPic_KelpsyBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Kelpsy[] = {3, 4, 2, 2, 2};
const struct SpriteFrameImage gEventObjectPicTable_WepearBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_WepearBerryTree_0),
obj_frame_tiles(gEventObjectPic_WepearBerryTree_1),
obj_frame_tiles(gEventObjectPic_WepearBerryTree_2),
obj_frame_tiles(gEventObjectPic_WepearBerryTree_3),
obj_frame_tiles(gEventObjectPic_WepearBerryTree_4),
obj_frame_tiles(gEventObjectPic_WepearBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Wepear[] = {3, 4, 2, 2, 2};
const struct SpriteFrameImage gEventObjectPicTable_IapapaBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_IapapaBerryTree_0),
obj_frame_tiles(gEventObjectPic_IapapaBerryTree_1),
obj_frame_tiles(gEventObjectPic_IapapaBerryTree_2),
obj_frame_tiles(gEventObjectPic_IapapaBerryTree_3),
obj_frame_tiles(gEventObjectPic_IapapaBerryTree_4),
obj_frame_tiles(gEventObjectPic_IapapaBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Iapapa[] = {3, 4, 3, 3, 3};
const struct SpriteFrameImage gEventObjectPicTable_CheriBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_CheriBerryTree_0),
obj_frame_tiles(gEventObjectPic_CheriBerryTree_1),
obj_frame_tiles(gEventObjectPic_CheriBerryTree_2),
obj_frame_tiles(gEventObjectPic_CheriBerryTree_3),
obj_frame_tiles(gEventObjectPic_CheriBerryTree_4),
obj_frame_tiles(gEventObjectPic_CheriBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Cheri[] = {3, 4, 4, 4, 4};
const struct SpriteFrameImage gEventObjectPicTable_FigyBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_FigyBerryTree_0),
obj_frame_tiles(gEventObjectPic_FigyBerryTree_1),
obj_frame_tiles(gEventObjectPic_FigyBerryTree_2),
obj_frame_tiles(gEventObjectPic_FigyBerryTree_3),
obj_frame_tiles(gEventObjectPic_FigyBerryTree_4),
obj_frame_tiles(gEventObjectPic_FigyBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Figy[] = {3, 4, 3, 3, 3};
const struct SpriteFrameImage gEventObjectPicTable_MagoBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_MagoBerryTree_0),
obj_frame_tiles(gEventObjectPic_MagoBerryTree_1),
obj_frame_tiles(gEventObjectPic_MagoBerryTree_2),
obj_frame_tiles(gEventObjectPic_MagoBerryTree_3),
obj_frame_tiles(gEventObjectPic_MagoBerryTree_4),
obj_frame_tiles(gEventObjectPic_MagoBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Mago[] = {3, 4, 3, 3, 3};
const struct SpriteFrameImage gEventObjectPicTable_LumBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_LumBerryTree_0),
obj_frame_tiles(gEventObjectPic_LumBerryTree_1),
obj_frame_tiles(gEventObjectPic_LumBerryTree_2),
obj_frame_tiles(gEventObjectPic_LumBerryTree_3),
obj_frame_tiles(gEventObjectPic_LumBerryTree_4),
obj_frame_tiles(gEventObjectPic_LumBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Lum[] = {3, 4, 4, 4, 4};
const struct SpriteFrameImage gEventObjectPicTable_RazzBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_RazzBerryTree_0),
obj_frame_tiles(gEventObjectPic_RazzBerryTree_1),
obj_frame_tiles(gEventObjectPic_RazzBerryTree_2),
obj_frame_tiles(gEventObjectPic_RazzBerryTree_3),
obj_frame_tiles(gEventObjectPic_RazzBerryTree_4),
obj_frame_tiles(gEventObjectPic_RazzBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Razz[] = {3, 4, 4, 4, 4};
const struct SpriteFrameImage gEventObjectPicTable_GrepaBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_GrepaBerryTree_0),
obj_frame_tiles(gEventObjectPic_GrepaBerryTree_1),
obj_frame_tiles(gEventObjectPic_GrepaBerryTree_2),
obj_frame_tiles(gEventObjectPic_GrepaBerryTree_3),
obj_frame_tiles(gEventObjectPic_GrepaBerryTree_4),
obj_frame_tiles(gEventObjectPic_GrepaBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Grepa[] = {3, 4, 3, 3, 3};
const struct SpriteFrameImage gEventObjectPicTable_RabutaBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_RabutaBerryTree_0),
obj_frame_tiles(gEventObjectPic_RabutaBerryTree_1),
obj_frame_tiles(gEventObjectPic_RabutaBerryTree_2),
obj_frame_tiles(gEventObjectPic_RabutaBerryTree_3),
obj_frame_tiles(gEventObjectPic_RabutaBerryTree_4),
obj_frame_tiles(gEventObjectPic_RabutaBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Rabuta[] = {3, 4, 4, 4, 4};
const struct SpriteFrameImage gEventObjectPicTable_NomelBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_NomelBerryTree_0),
obj_frame_tiles(gEventObjectPic_NomelBerryTree_1),
obj_frame_tiles(gEventObjectPic_NomelBerryTree_2),
obj_frame_tiles(gEventObjectPic_NomelBerryTree_3),
obj_frame_tiles(gEventObjectPic_NomelBerryTree_4),
obj_frame_tiles(gEventObjectPic_NomelBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Nomel[] = {3, 4, 3, 3, 3};
const struct SpriteFrameImage gEventObjectPicTable_LeppaBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_LeppaBerryTree_0),
obj_frame_tiles(gEventObjectPic_LeppaBerryTree_1),
obj_frame_tiles(gEventObjectPic_LeppaBerryTree_2),
obj_frame_tiles(gEventObjectPic_LeppaBerryTree_3),
obj_frame_tiles(gEventObjectPic_LeppaBerryTree_4),
obj_frame_tiles(gEventObjectPic_LeppaBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Leppa[] = {3, 4, 3, 3, 3};
const struct SpriteFrameImage gEventObjectPicTable_LiechiBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_LiechiBerryTree_0),
obj_frame_tiles(gEventObjectPic_LiechiBerryTree_1),
obj_frame_tiles(gEventObjectPic_LiechiBerryTree_2),
obj_frame_tiles(gEventObjectPic_LiechiBerryTree_3),
obj_frame_tiles(gEventObjectPic_LiechiBerryTree_4),
obj_frame_tiles(gEventObjectPic_LiechiBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Liechi[] = {3, 4, 4, 4, 4};
const struct SpriteFrameImage gEventObjectPicTable_HondewBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_HondewBerryTree_0),
obj_frame_tiles(gEventObjectPic_HondewBerryTree_1),
obj_frame_tiles(gEventObjectPic_HondewBerryTree_2),
obj_frame_tiles(gEventObjectPic_HondewBerryTree_3),
obj_frame_tiles(gEventObjectPic_HondewBerryTree_4),
obj_frame_tiles(gEventObjectPic_HondewBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Hondew[] = {3, 4, 5, 5, 5};
const struct SpriteFrameImage gEventObjectPicTable_AguavBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_AguavBerryTree_0),
obj_frame_tiles(gEventObjectPic_AguavBerryTree_1),
obj_frame_tiles(gEventObjectPic_AguavBerryTree_2),
obj_frame_tiles(gEventObjectPic_AguavBerryTree_3),
obj_frame_tiles(gEventObjectPic_AguavBerryTree_4),
obj_frame_tiles(gEventObjectPic_AguavBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Aguav[] = {3, 4, 4, 4, 4};
const struct SpriteFrameImage gEventObjectPicTable_WikiBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_WikiBerryTree_0),
obj_frame_tiles(gEventObjectPic_WikiBerryTree_1),
obj_frame_tiles(gEventObjectPic_WikiBerryTree_2),
obj_frame_tiles(gEventObjectPic_WikiBerryTree_3),
obj_frame_tiles(gEventObjectPic_WikiBerryTree_4),
obj_frame_tiles(gEventObjectPic_WikiBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Wiki[] = {3, 4, 3, 3, 3};
const struct SpriteFrameImage gEventObjectPicTable_PomegBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_PomegBerryTree_0),
obj_frame_tiles(gEventObjectPic_PomegBerryTree_1),
obj_frame_tiles(gEventObjectPic_PomegBerryTree_2),
obj_frame_tiles(gEventObjectPic_PomegBerryTree_3),
obj_frame_tiles(gEventObjectPic_PomegBerryTree_4),
obj_frame_tiles(gEventObjectPic_PomegBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Pomeg[] = {3, 4, 3, 3, 3};
const struct SpriteFrameImage gEventObjectPicTable_RawstBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_RawstBerryTree_0),
obj_frame_tiles(gEventObjectPic_RawstBerryTree_1),
obj_frame_tiles(gEventObjectPic_RawstBerryTree_2),
obj_frame_tiles(gEventObjectPic_RawstBerryTree_3),
obj_frame_tiles(gEventObjectPic_RawstBerryTree_4),
obj_frame_tiles(gEventObjectPic_RawstBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Rawst[] = {3, 4, 4, 4, 4};
const struct SpriteFrameImage gEventObjectPicTable_SpelonBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_SpelonBerryTree_0),
obj_frame_tiles(gEventObjectPic_SpelonBerryTree_1),
obj_frame_tiles(gEventObjectPic_SpelonBerryTree_2),
obj_frame_tiles(gEventObjectPic_SpelonBerryTree_3),
obj_frame_tiles(gEventObjectPic_SpelonBerryTree_4),
obj_frame_tiles(gEventObjectPic_SpelonBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Spelon[] = {3, 4, 3, 3, 3};
const struct SpriteFrameImage gEventObjectPicTable_ChestoBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_ChestoBerryTree_0),
obj_frame_tiles(gEventObjectPic_ChestoBerryTree_1),
obj_frame_tiles(gEventObjectPic_ChestoBerryTree_2),
obj_frame_tiles(gEventObjectPic_ChestoBerryTree_3),
obj_frame_tiles(gEventObjectPic_ChestoBerryTree_4),
obj_frame_tiles(gEventObjectPic_ChestoBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Chesto[] = {3, 4, 2, 2, 2};
const struct SpriteFrameImage gEventObjectPicTable_OranBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_OranBerryTree_0),
obj_frame_tiles(gEventObjectPic_OranBerryTree_1),
obj_frame_tiles(gEventObjectPic_OranBerryTree_2),
obj_frame_tiles(gEventObjectPic_OranBerryTree_3),
obj_frame_tiles(gEventObjectPic_OranBerryTree_4),
obj_frame_tiles(gEventObjectPic_OranBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Oran[] = {3, 4, 2, 2, 2};
const struct SpriteFrameImage gEventObjectPicTable_PersimBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_PersimBerryTree_0),
obj_frame_tiles(gEventObjectPic_PersimBerryTree_1),
obj_frame_tiles(gEventObjectPic_PersimBerryTree_2),
obj_frame_tiles(gEventObjectPic_PersimBerryTree_3),
obj_frame_tiles(gEventObjectPic_PersimBerryTree_4),
obj_frame_tiles(gEventObjectPic_PersimBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Persim[] = {3, 4, 2, 2, 2};
const struct SpriteFrameImage gEventObjectPicTable_SitrusBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_SitrusBerryTree_0),
obj_frame_tiles(gEventObjectPic_SitrusBerryTree_1),
obj_frame_tiles(gEventObjectPic_SitrusBerryTree_2),
obj_frame_tiles(gEventObjectPic_SitrusBerryTree_3),
obj_frame_tiles(gEventObjectPic_SitrusBerryTree_4),
obj_frame_tiles(gEventObjectPic_SitrusBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Sitrus[] = {3, 4, 4, 4, 4};
const struct SpriteFrameImage gEventObjectPicTable_AspearBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_AspearBerryTree_0),
obj_frame_tiles(gEventObjectPic_AspearBerryTree_1),
obj_frame_tiles(gEventObjectPic_AspearBerryTree_2),
obj_frame_tiles(gEventObjectPic_AspearBerryTree_3),
obj_frame_tiles(gEventObjectPic_AspearBerryTree_4),
obj_frame_tiles(gEventObjectPic_AspearBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Aspear[] = {3, 4, 3, 3, 3};
const struct SpriteFrameImage gEventObjectPicTable_PamtreBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_PamtreBerryTree_0),
obj_frame_tiles(gEventObjectPic_PamtreBerryTree_1),
obj_frame_tiles(gEventObjectPic_PamtreBerryTree_2),
obj_frame_tiles(gEventObjectPic_PamtreBerryTree_3),
obj_frame_tiles(gEventObjectPic_PamtreBerryTree_4),
obj_frame_tiles(gEventObjectPic_PamtreBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Pamtre[] = {3, 4, 2, 2, 2};
const struct SpriteFrameImage gEventObjectPicTable_CornnBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_CornnBerryTree_0),
obj_frame_tiles(gEventObjectPic_CornnBerryTree_1),
obj_frame_tiles(gEventObjectPic_CornnBerryTree_2),
obj_frame_tiles(gEventObjectPic_CornnBerryTree_3),
obj_frame_tiles(gEventObjectPic_CornnBerryTree_4),
obj_frame_tiles(gEventObjectPic_CornnBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Cornn[] = {3, 4, 2, 2, 2};
const struct SpriteFrameImage gEventObjectPicTable_LansatBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_LansatBerryTree_0),
obj_frame_tiles(gEventObjectPic_LansatBerryTree_1),
obj_frame_tiles(gEventObjectPic_LansatBerryTree_2),
obj_frame_tiles(gEventObjectPic_LansatBerryTree_3),
obj_frame_tiles(gEventObjectPic_LansatBerryTree_4),
obj_frame_tiles(gEventObjectPic_LansatBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Lansat[] = {3, 4, 2, 2, 2};
const struct SpriteFrameImage gEventObjectPicTable_DurinBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_DurinBerryTree_0),
obj_frame_tiles(gEventObjectPic_DurinBerryTree_1),
obj_frame_tiles(gEventObjectPic_DurinBerryTree_2),
obj_frame_tiles(gEventObjectPic_DurinBerryTree_3),
obj_frame_tiles(gEventObjectPic_DurinBerryTree_4),
obj_frame_tiles(gEventObjectPic_DurinBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Durin[] = {3, 4, 4, 4, 4};
const struct SpriteFrameImage gEventObjectPicTable_TamatoBerryTree[] = {
obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0),
obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1),
obj_frame_tiles(gEventObjectPic_TamatoBerryTree_0),
obj_frame_tiles(gEventObjectPic_TamatoBerryTree_1),
obj_frame_tiles(gEventObjectPic_TamatoBerryTree_2),
obj_frame_tiles(gEventObjectPic_TamatoBerryTree_3),
obj_frame_tiles(gEventObjectPic_TamatoBerryTree_4),
obj_frame_tiles(gEventObjectPic_TamatoBerryTree_5),
};
const u8 gBerryTreePaletteSlotTable_Tamato[] = {3, 4, 2, 2, 2};
const u8 gDeadBerryTreeEventObjectGraphicsIdTable[] = {EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES, EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES, EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES, EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES, EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES};
const u8 gBerryTreeEventObjectGraphicsIdTable[] = {EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES, EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES, EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES, EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES, EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES};
const struct SpriteFrameImage *const gBerryTreePicTablePointers[] = {
gEventObjectPicTable_CheriBerryTree,
gEventObjectPicTable_ChestoBerryTree,
gEventObjectPicTable_PechaBerryTree,
gEventObjectPicTable_RawstBerryTree,
gEventObjectPicTable_AspearBerryTree,
gEventObjectPicTable_LeppaBerryTree,
gEventObjectPicTable_OranBerryTree,
gEventObjectPicTable_PersimBerryTree,
gEventObjectPicTable_LumBerryTree,
gEventObjectPicTable_SitrusBerryTree,
gEventObjectPicTable_FigyBerryTree,
gEventObjectPicTable_WikiBerryTree,
gEventObjectPicTable_MagoBerryTree,
gEventObjectPicTable_AguavBerryTree,
gEventObjectPicTable_IapapaBerryTree,
gEventObjectPicTable_RazzBerryTree,
gEventObjectPicTable_RazzBerryTree,
gEventObjectPicTable_MagoBerryTree,
gEventObjectPicTable_WepearBerryTree,
gEventObjectPicTable_IapapaBerryTree,
gEventObjectPicTable_PomegBerryTree,
gEventObjectPicTable_KelpsyBerryTree,
gEventObjectPicTable_WepearBerryTree,
gEventObjectPicTable_HondewBerryTree,
gEventObjectPicTable_GrepaBerryTree,
gEventObjectPicTable_TamatoBerryTree,
gEventObjectPicTable_CornnBerryTree,
gEventObjectPicTable_PomegBerryTree,
gEventObjectPicTable_RabutaBerryTree,
gEventObjectPicTable_NomelBerryTree,
gEventObjectPicTable_SpelonBerryTree,
gEventObjectPicTable_PamtreBerryTree,
gEventObjectPicTable_RabutaBerryTree,
gEventObjectPicTable_DurinBerryTree,
gEventObjectPicTable_HondewBerryTree,
gEventObjectPicTable_LiechiBerryTree,
gEventObjectPicTable_HondewBerryTree,
gEventObjectPicTable_AguavBerryTree,
gEventObjectPicTable_PomegBerryTree,
gEventObjectPicTable_GrepaBerryTree,
gEventObjectPicTable_LansatBerryTree,
gEventObjectPicTable_CornnBerryTree,
gEventObjectPicTable_DurinBerryTree,
};
const u8 *const gBerryTreePaletteSlotTablePointers[] = {
gBerryTreePaletteSlotTable_Cheri,
gBerryTreePaletteSlotTable_Chesto,
gBerryTreePaletteSlotTable_Pecha,
gBerryTreePaletteSlotTable_Rawst,
gBerryTreePaletteSlotTable_Aspear,
gBerryTreePaletteSlotTable_Leppa,
gBerryTreePaletteSlotTable_Oran,
gBerryTreePaletteSlotTable_Persim,
gBerryTreePaletteSlotTable_Lum,
gBerryTreePaletteSlotTable_Sitrus,
gBerryTreePaletteSlotTable_Figy,
gBerryTreePaletteSlotTable_Wiki,
gBerryTreePaletteSlotTable_Mago,
gBerryTreePaletteSlotTable_Aguav,
gBerryTreePaletteSlotTable_Iapapa,
gBerryTreePaletteSlotTable_Razz,
gBerryTreePaletteSlotTable_Razz,
gBerryTreePaletteSlotTable_Mago,
gBerryTreePaletteSlotTable_Wepear,
gBerryTreePaletteSlotTable_Iapapa,
gBerryTreePaletteSlotTable_Pomeg,
gBerryTreePaletteSlotTable_Kelpsy,
gBerryTreePaletteSlotTable_Wepear,
gBerryTreePaletteSlotTable_Hondew,
gBerryTreePaletteSlotTable_Grepa,
gBerryTreePaletteSlotTable_Tamato,
gBerryTreePaletteSlotTable_Cornn,
gBerryTreePaletteSlotTable_Pomeg,
gBerryTreePaletteSlotTable_Rabuta,
gBerryTreePaletteSlotTable_Nomel,
gBerryTreePaletteSlotTable_Spelon,
gBerryTreePaletteSlotTable_Pamtre,
gBerryTreePaletteSlotTable_Rabuta,
gBerryTreePaletteSlotTable_Durin,
gBerryTreePaletteSlotTable_Hondew,
gBerryTreePaletteSlotTable_Liechi,
gBerryTreePaletteSlotTable_Hondew,
gBerryTreePaletteSlotTable_Aguav,
gBerryTreePaletteSlotTable_Pomeg,
gBerryTreePaletteSlotTable_Grepa,
gBerryTreePaletteSlotTable_Lansat,
gBerryTreePaletteSlotTable_Cornn,
gBerryTreePaletteSlotTable_Durin,
};
const u8 *const gBerryTreeEventObjectGraphicsIdTablePointers[] = {
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
};
#endif //GUARD_BERRY_TREE_GRAPHICS_TABLES_H
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+250
View File
@@ -0,0 +1,250 @@
#ifndef GUARD_EVENT_OBJECT_GRAPHICS_INFO_H
#define GUARD_EVENT_OBJECT_GRAPHICS_INFO_H
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanNormal = {0xFFFF, 0x1100, 0x1102, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_BrendanNormal, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanMachBike = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BrendanMachBike, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanAcroBike = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanSurfing = {0xFFFF, 0x1100, 0x11FF, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Surfing, gEventObjectPicTable_BrendanSurfing, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanFieldMove = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_FieldMove, gEventObjectPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_QuintyPlump = {0xFFFF, 0x110B, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_L, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_QuintyPlump, gEventObjectPicTable_QuintyPlump, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleBoy1 = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LittleBoy1, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleGirl1 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LittleGirl1, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy1 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Boy1, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl1 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Girl1, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy2 = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Boy2, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl2 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Girl2, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleBoy2 = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LittleBoy2, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleGirl2 = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LittleGirl2, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy3 = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Boy3, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl3 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Girl3, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy4 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Boy4, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman1 = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman1, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_FatMan = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_FatMan, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman2 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman2, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man1 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man1, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman3 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman3, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldMan1 = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_OldMan1, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldWoman1 = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_OldWoman1, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man2 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man2, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman4 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman4, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man3 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man3, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman5 = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman5, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Cook = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Cook, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman6 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman6, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldMan2 = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_OldMan2, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldWoman2 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_OldWoman2, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Camper = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Camper, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Picnicker = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Picnicker, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man4 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man4, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman7 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman7, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Youngster = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Youngster, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BugCatcher = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BugCatcher, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PsychicM = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_PsychicM, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SchoolKidM = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_SchoolKidM, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Maniac = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Maniac, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_HexManiac = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_HexManiac, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Rayquaza1 = {0xFFFF, 0x1105, 0x11FF, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_64x64, gEventObjectSpriteOamTables_64x64, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RayquazaStill, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SwimmerM = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_SwimmerM, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SwimmerF = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_SwimmerF, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BlackBelt = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BlackBelt, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Beauty = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Beauty, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Scientist1 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Scientist1, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Lass = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Lass, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Gentleman = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Gentleman, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Sailor = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Sailor, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Fisherman = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Fisherman, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RunningTriathleteM = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RunningTriathleteM, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RunningTriathleteF = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RunningTriathleteF, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TuberF = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_TuberF, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TuberM = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_TuberM, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Hiker = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Hiker, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CyclingTriathleteM = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_CyclingTriathleteM, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CyclingTriathleteF = {0xFFFF, 0x1103, 0x11FF, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_CyclingTriathleteF, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Nurse = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Nurse, gEventObjectPicTable_Nurse, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ItemBall = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_ItemBall, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTree = {0xFFFF, 0x1103, 0x11FF, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, NULL, gEventObjectImageAnimTable_BerryTree, gEventObjectPicTable_PechaBerryTree, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTreeEarlyStages = {0xFFFF, 0x1103, 0x11FF, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_BerryTree, gEventObjectPicTable_PechaBerryTree, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTreeLateStages = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BerryTree, gEventObjectPicTable_PechaBerryTree, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ProfBirch = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ProfBirch, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man5 = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man5, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man6 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man6, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ReporterM = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ReporterM, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ReporterF = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ReporterF, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Bard = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Hipster = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Trader = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Storyteller = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Giddy = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedMauvilleOldMan1 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedMauvilleOldMan2 = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedNatuDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_UnusedNatuDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedMagnemiteDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_UnusedMagnemiteDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedSquirtleDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_UnusedSquirtleDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedWooperDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_UnusedWooperDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedPikachuDoll = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_UnusedPikachuDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedPorygon2Doll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_UnusedPorygon2Doll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CuttableTree = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_CuttableTree, gEventObjectPicTable_CuttableTree, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MartEmployee = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MartEmployee, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RooftopSaleWoman = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RooftopSaleWoman, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Teala = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Teala, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BreakableRock = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_BreakableRock, gEventObjectPicTable_BreakableRock, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PushableBoulder = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_PushableBoulder, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MrBrineysBoat = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MrBrineysBoat, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayNormal = {0xFFFF, 0x1110, 0x1102, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_MayNormal, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayMachBike = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MayMachBike, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayAcroBike = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_MayAcroBike, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MaySurfing = {0xFFFF, 0x1110, 0x11FF, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Surfing, gEventObjectPicTable_MaySurfing, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayFieldMove = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_FieldMove, gEventObjectPicTable_MayFieldMove, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Truck = {0xFFFF, 0x110D, 0x11FF, 1152, 48, 48, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_Truck, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_Truck, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_VigorothCarryingBox = {0xFFFF, 0x110E, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_VigorothCarryingBox, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_VigorothFacingAway = {0xFFFF, 0x110E, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_VigorothFacingAway, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BirchsBag = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BirchsBag, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_EnemyZigzagoon = {0xFFFF, 0x110F, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_EnemyZigzagoon, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Poochyena = {0xFFFF, 0x111C, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Poochyena, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Artist = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Artist, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanNormal = {0xFFFF, 0x1100, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_BrendanNormal, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanMachBike = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BrendanMachBike, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanAcroBike = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanSurfing = {0xFFFF, 0x1100, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Surfing, gEventObjectPicTable_BrendanSurfing, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanFieldMove = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_FieldMove, gEventObjectPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayNormal = {0xFFFF, 0x1110, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_MayNormal, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayMachBike = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MayMachBike, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayAcroBike = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_MayAcroBike, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMaySurfing = {0xFFFF, 0x1110, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Surfing, gEventObjectPicTable_MaySurfing, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayFieldMove = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_FieldMove, gEventObjectPicTable_MayFieldMove, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Cameraman = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Cameraman, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanUnderwater = {0xFFFF, 0x1115, 0x11FF, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BrendanUnderwater, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayUnderwater = {0xFFFF, 0x1115, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MayUnderwater, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MovingBox = {0xFFFF, 0x1112, 0x11FF, 128, 16, 16, 10, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_MovingBox, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CableCar = {0xFFFF, 0x1113, 0x11FF, 2048, 64, 64, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_64x64, gEventObjectSpriteOamTables_64x64, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_CableCar, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Scientist2 = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Scientist2, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man7 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man7, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AquaMemberM = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_AquaMemberM, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AquaMemberF = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_AquaMemberF, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MagmaMemberM = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MagmaMemberM, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MagmaMemberF = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MagmaMemberF, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Sidney = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Sidney, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Phoebe = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Phoebe, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Glacia = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Glacia, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Drake = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Drake, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Roxanne = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Roxanne, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Brawly = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Brawly, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wattson = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Wattson, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Flannery = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Flannery, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Norman = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Norman, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Winona = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Winona, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Liza = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Liza, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Tate = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Tate, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wallace = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Wallace, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Steven = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Steven, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wally = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Wally, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RubySapphireLittleBoy = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RubySapphireLittleBoy, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanFishing = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Fishing, gEventObjectPicTable_BrendanFishing, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayFishing = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Fishing, gEventObjectPicTable_MayFishing, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_HotSpringsOldWoman = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_HotSpringsOldWoman, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SSTidal = {0xFFFF, 0x1114, 0x11FF, 1920, 96, 40, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_8x8, gEventObjectSpriteOamTables_SSTidal, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_SSTidal, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SubmarineShadow = {0xFFFF, 0x111B, 0x11FF, 1408, 88, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_8x8, gEventObjectSpriteOamTables_SubmarineShadow, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_SubmarineShadow, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PichuDoll = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_PichuDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PikachuDoll = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_PikachuDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MarillDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_MarillDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TogepiDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_TogepiDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CyndaquilDoll = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_CyndaquilDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ChikoritaDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_ChikoritaDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TotodileDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_TotodileDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_JigglypuffDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_JigglypuffDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MeowthDoll = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_MeowthDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ClefairyDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_ClefairyDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DittoDoll = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_DittoDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SmoochumDoll = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_SmoochumDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TreeckoDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_TreeckoDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TorchicDoll = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_TorchicDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MudkipDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_MudkipDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DuskullDoll = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_DuskullDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_WynautDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_WynautDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BaltoyDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BaltoyDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_KecleonDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_KecleonDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AzurillDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_AzurillDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SkittyDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_SkittyDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SwabluDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_SwabluDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_GulpinDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_GulpinDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LotadDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_LotadDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SeedotDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_SeedotDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PikaCushion = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_PikaCushion, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RoundCushion = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_RoundCushion, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_KissCushion = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_KissCushion, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ZigzagCushion = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_ZigzagCushion, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SpinCushion = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_SpinCushion, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DiamondCushion = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_DiamondCushion, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BallCushion = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BallCushion, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_GrassCushion = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_GrassCushion, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_FireCushion = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_FireCushion, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_WaterCushion = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_WaterCushion, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigSnorlaxDoll = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigSnorlaxDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRhydonDoll = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigRhydonDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigLaprasDoll = {0xFFFF, 0x1103, 0x11FF, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigLaprasDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigVenusaurDoll = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigVenusaurDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigCharizardDoll = {0xFFFF, 0x1104, 0x11FF, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigCharizardDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigBlastoiseDoll = {0xFFFF, 0x1103, 0x11FF, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigBlastoiseDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigWailmerDoll = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigWailmerDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegirockDoll = {0xFFFF, 0x1103, 0x11FF, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigRegirockDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegiceDoll = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigRegiceDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegisteelDoll = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigRegisteelDoll, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Latias = {0xFFFF, 0x1104, 0x11FF, 512, 32, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LatiasLatios, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Latios = {0xFFFF, 0x1103, 0x11FF, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LatiasLatios, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy5 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Boy5, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ContestOldMan = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ContestOldMan, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanWatering = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BrendanWatering, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayWatering = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MayWatering, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanDecorating = {0xFFFF, 0x1100, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BrendanDecorating, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayDecorating = {0xFFFF, 0x1110, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_MayDecorating, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Archie = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Archie, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Maxie = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Maxie, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kyogre1 = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_KyogreFront, gEventObjectRotScalAnimTable_KyogreGroudon};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Groudon1 = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_GroudonFront, gEventObjectRotScalAnimTable_KyogreGroudon};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kyogre3 = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_KyogreSide, gEventObjectRotScalAnimTable_KyogreGroudon};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Groudon3 = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Groudon3, gEventObjectPicTable_GroudonSide, gEventObjectRotScalAnimTable_KyogreGroudon};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Fossil = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_Fossil, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Regirock = {0xFFFF, 0x1104, 0x11FF, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Regi, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Regice = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Regi, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Registeel = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Regi, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Skitty = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Skitty, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kecleon1 = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Kecleon, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kyogre2 = {0xFFFF, 0x1116, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_KyogreFront, gEventObjectRotScalAnimTable_KyogreGroudon};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Groudon2 = {0xFFFF, 0x1118, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_GroudonFront, gEventObjectRotScalAnimTable_KyogreGroudon};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Rayquaza2 = {0xFFFF, 0x1105, 0x11FF, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_64x64, gEventObjectSpriteOamTables_64x64, gEventObjectImageAnimTable_Rayquaza2, gEventObjectPicTable_Rayquaza, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Zigzagoon = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Zigzagoon, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Pikachu = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Pikachu, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Azumarill = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Azumarill, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wingull = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Wingull, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kecleon2 = {0xFFFF, 0x1105, 0x1102, 128, 16, 16, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Kecleon, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TuberMSwimming = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_TuberMSwimming, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Azurill = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Azurill, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Mom = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Mom, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LinkBrendan = {0xFFFF, 0x1110, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_BrendanNormal, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LinkMay = {0xFFFF, 0x1110, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_MayNormal, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Juan = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Juan, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Scott = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Scott, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MysteryEventDeliveryman = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MysteryEventDeliveryman, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Statue = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_Statue, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kirlia = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_S, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Kirlia, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Dusclops = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Dusclops, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnionRoomAttendant = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_UnionRoomAttendant, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Red = {0xFFFF, 0x111D, 0x11FF, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Red, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Leaf = {0xFFFF, 0x111D, 0x11FF, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Leaf, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Sudowoodo = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Sudowoodo, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Mew = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Mew, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Deoxys = {0xFFFF, 0x111E, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Deoxys, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BirthIslandStone = {0xFFFF, 0x111F, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BirthIslandStone, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Anabel = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Anabel, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Tucker = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Tucker, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Greta = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Greta, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Spenser = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Spenser, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Noland = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Noland, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Lucy = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Lucy, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Brandon = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Brandon, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RubySapphireBrendan = {0xFFFF, 0x1122, 0x11FF, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RubySapphireBrendan, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RubySapphireMay = {0xFFFF, 0x1123, 0x11FF, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RubySapphireMay, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Lugia = {0xFFFF, 0x1121, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Lugia, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_HoOh = {0xFFFF, 0x1120, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_HoOh, gEventObjectPicTable_HoOh, gDummySpriteAffineAnimTable};
#endif //GUARD_EVENT_OBJECT_GRAPHICS_INFO_H
@@ -0,0 +1,504 @@
#ifndef GUARD_EVENT_OBJECT_GRAPHICS_INFO_POINTERS_H
#define GUARD_EVENT_OBJECT_GRAPHICS_INFO_POINTERS_H
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanNormal;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanMachBike;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanSurfing;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanFieldMove;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_QuintyPlump;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleBoy1;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleGirl1;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy1;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl1;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy2;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl2;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleBoy2;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleGirl2;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy3;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl3;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy4;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman1;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_FatMan;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman2;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man1;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman3;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldMan1;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldWoman1;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man2;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman4;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man3;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman5;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Cook;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman6;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldMan2;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldWoman2;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Camper;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Picnicker;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man4;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman7;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Youngster;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BugCatcher;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PsychicM;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SchoolKidM;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Maniac;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_HexManiac;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Rayquaza1;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SwimmerM;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SwimmerF;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BlackBelt;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Beauty;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Scientist1;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Lass;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Gentleman;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Sailor;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Fisherman;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RunningTriathleteM;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RunningTriathleteF;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TuberF;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TuberM;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Hiker;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CyclingTriathleteM;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CyclingTriathleteF;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Nurse;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ItemBall;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTree;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTreeEarlyStages;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTreeLateStages;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanAcroBike;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ProfBirch;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man5;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man6;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ReporterM;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ReporterF;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Bard;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Anabel;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Tucker;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Greta;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Spenser;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Noland;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Lucy;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedNatuDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedMagnemiteDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedSquirtleDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedWooperDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedPikachuDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedPorygon2Doll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CuttableTree;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MartEmployee;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RooftopSaleWoman;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Teala;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BreakableRock;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PushableBoulder;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MrBrineysBoat;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayNormal;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayMachBike;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayAcroBike;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MaySurfing;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayFieldMove;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Truck;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_VigorothCarryingBox;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_VigorothFacingAway;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BirchsBag;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_EnemyZigzagoon;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Artist;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanNormal;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanMachBike;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanAcroBike;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanSurfing;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanFieldMove;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayNormal;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayMachBike;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayAcroBike;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMaySurfing;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayFieldMove;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Cameraman;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanUnderwater;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayUnderwater;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MovingBox;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CableCar;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Scientist2;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man7;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AquaMemberM;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AquaMemberF;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MagmaMemberM;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MagmaMemberF;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Sidney;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Phoebe;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Glacia;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Drake;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Roxanne;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Brawly;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wattson;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Flannery;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Norman;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Winona;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Liza;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Tate;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wallace;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Steven;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wally;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RubySapphireLittleBoy;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanFishing;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayFishing;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_HotSpringsOldWoman;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SSTidal;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SubmarineShadow;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PichuDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PikachuDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MarillDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TogepiDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CyndaquilDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ChikoritaDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TotodileDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_JigglypuffDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MeowthDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ClefairyDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DittoDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SmoochumDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TreeckoDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TorchicDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MudkipDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DuskullDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_WynautDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BaltoyDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_KecleonDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AzurillDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SkittyDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SwabluDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_GulpinDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LotadDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SeedotDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PikaCushion;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RoundCushion;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_KissCushion;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ZigzagCushion;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SpinCushion;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DiamondCushion;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BallCushion;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_GrassCushion;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_FireCushion;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_WaterCushion;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigSnorlaxDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRhydonDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigLaprasDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigVenusaurDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigCharizardDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigBlastoiseDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigWailmerDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegirockDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegiceDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegisteelDoll;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Latias;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Latios;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy5;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ContestOldMan;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanWatering;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayWatering;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanDecorating;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayDecorating;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Archie;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Maxie;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kyogre1;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Groudon1;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Fossil;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Regirock;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Regice;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Registeel;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Skitty;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kecleon1;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kyogre2;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Groudon2;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Rayquaza2;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Zigzagoon;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Pikachu;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Azumarill;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wingull;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kecleon2;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TuberMSwimming;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Azurill;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Mom;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LinkBrendan;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LinkMay;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Juan;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Scott;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Poochyena;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kyogre3;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Groudon3;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MysteryEventDeliveryman;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Statue;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kirlia;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Dusclops;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnionRoomAttendant;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Sudowoodo;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Mew;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Red;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Leaf;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Deoxys;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BirthIslandStone;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Brandon;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RubySapphireBrendan;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RubySapphireMay;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Lugia;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_HoOh;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Bard;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Hipster;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Trader;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Storyteller;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Giddy;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedMauvilleOldMan1;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedMauvilleOldMan2;
const struct EventObjectGraphicsInfo *const gEventObjectGraphicsInfoPointers[] = {
&gEventObjectGraphicsInfo_BrendanNormal,
&gEventObjectGraphicsInfo_BrendanMachBike,
&gEventObjectGraphicsInfo_BrendanSurfing,
&gEventObjectGraphicsInfo_BrendanFieldMove,
&gEventObjectGraphicsInfo_QuintyPlump,
&gEventObjectGraphicsInfo_LittleBoy1,
&gEventObjectGraphicsInfo_LittleGirl1,
&gEventObjectGraphicsInfo_Boy1,
&gEventObjectGraphicsInfo_Girl1,
&gEventObjectGraphicsInfo_Boy2,
&gEventObjectGraphicsInfo_Girl2,
&gEventObjectGraphicsInfo_LittleBoy2,
&gEventObjectGraphicsInfo_LittleGirl2,
&gEventObjectGraphicsInfo_Boy3,
&gEventObjectGraphicsInfo_Girl3,
&gEventObjectGraphicsInfo_Boy4,
&gEventObjectGraphicsInfo_Woman1,
&gEventObjectGraphicsInfo_FatMan,
&gEventObjectGraphicsInfo_Woman2,
&gEventObjectGraphicsInfo_Man1,
&gEventObjectGraphicsInfo_Woman3,
&gEventObjectGraphicsInfo_OldMan1,
&gEventObjectGraphicsInfo_OldWoman1,
&gEventObjectGraphicsInfo_Man2,
&gEventObjectGraphicsInfo_Woman4,
&gEventObjectGraphicsInfo_Man3,
&gEventObjectGraphicsInfo_Woman5,
&gEventObjectGraphicsInfo_Cook,
&gEventObjectGraphicsInfo_Woman6,
&gEventObjectGraphicsInfo_OldMan2,
&gEventObjectGraphicsInfo_OldWoman2,
&gEventObjectGraphicsInfo_Camper,
&gEventObjectGraphicsInfo_Picnicker,
&gEventObjectGraphicsInfo_Man4,
&gEventObjectGraphicsInfo_Woman7,
&gEventObjectGraphicsInfo_Youngster,
&gEventObjectGraphicsInfo_BugCatcher,
&gEventObjectGraphicsInfo_PsychicM,
&gEventObjectGraphicsInfo_SchoolKidM,
&gEventObjectGraphicsInfo_Maniac,
&gEventObjectGraphicsInfo_HexManiac,
&gEventObjectGraphicsInfo_Rayquaza1,
&gEventObjectGraphicsInfo_SwimmerM,
&gEventObjectGraphicsInfo_SwimmerF,
&gEventObjectGraphicsInfo_BlackBelt,
&gEventObjectGraphicsInfo_Beauty,
&gEventObjectGraphicsInfo_Scientist1,
&gEventObjectGraphicsInfo_Lass,
&gEventObjectGraphicsInfo_Gentleman,
&gEventObjectGraphicsInfo_Sailor,
&gEventObjectGraphicsInfo_Fisherman,
&gEventObjectGraphicsInfo_RunningTriathleteM,
&gEventObjectGraphicsInfo_RunningTriathleteF,
&gEventObjectGraphicsInfo_TuberF,
&gEventObjectGraphicsInfo_TuberM,
&gEventObjectGraphicsInfo_Hiker,
&gEventObjectGraphicsInfo_CyclingTriathleteM,
&gEventObjectGraphicsInfo_CyclingTriathleteF,
&gEventObjectGraphicsInfo_Nurse,
&gEventObjectGraphicsInfo_ItemBall,
&gEventObjectGraphicsInfo_BerryTree,
&gEventObjectGraphicsInfo_BerryTreeEarlyStages,
&gEventObjectGraphicsInfo_BerryTreeLateStages,
&gEventObjectGraphicsInfo_BrendanAcroBike,
&gEventObjectGraphicsInfo_ProfBirch,
&gEventObjectGraphicsInfo_Man5,
&gEventObjectGraphicsInfo_Man6,
&gEventObjectGraphicsInfo_ReporterM,
&gEventObjectGraphicsInfo_ReporterF,
&gEventObjectGraphicsInfo_Bard,
&gEventObjectGraphicsInfo_Anabel,
&gEventObjectGraphicsInfo_Tucker,
&gEventObjectGraphicsInfo_Greta,
&gEventObjectGraphicsInfo_Spenser,
&gEventObjectGraphicsInfo_Noland,
&gEventObjectGraphicsInfo_Lucy,
&gEventObjectGraphicsInfo_UnusedNatuDoll,
&gEventObjectGraphicsInfo_UnusedMagnemiteDoll,
&gEventObjectGraphicsInfo_UnusedSquirtleDoll,
&gEventObjectGraphicsInfo_UnusedWooperDoll,
&gEventObjectGraphicsInfo_UnusedPikachuDoll,
&gEventObjectGraphicsInfo_UnusedPorygon2Doll,
&gEventObjectGraphicsInfo_CuttableTree,
&gEventObjectGraphicsInfo_MartEmployee,
&gEventObjectGraphicsInfo_RooftopSaleWoman,
&gEventObjectGraphicsInfo_Teala,
&gEventObjectGraphicsInfo_BreakableRock,
&gEventObjectGraphicsInfo_PushableBoulder,
&gEventObjectGraphicsInfo_MrBrineysBoat,
&gEventObjectGraphicsInfo_MayNormal,
&gEventObjectGraphicsInfo_MayMachBike,
&gEventObjectGraphicsInfo_MayAcroBike,
&gEventObjectGraphicsInfo_MaySurfing,
&gEventObjectGraphicsInfo_MayFieldMove,
&gEventObjectGraphicsInfo_Truck,
&gEventObjectGraphicsInfo_VigorothCarryingBox,
&gEventObjectGraphicsInfo_VigorothFacingAway,
&gEventObjectGraphicsInfo_BirchsBag,
&gEventObjectGraphicsInfo_EnemyZigzagoon,
&gEventObjectGraphicsInfo_Artist,
&gEventObjectGraphicsInfo_RivalBrendanNormal,
&gEventObjectGraphicsInfo_RivalBrendanMachBike,
&gEventObjectGraphicsInfo_RivalBrendanAcroBike,
&gEventObjectGraphicsInfo_RivalBrendanSurfing,
&gEventObjectGraphicsInfo_RivalBrendanFieldMove,
&gEventObjectGraphicsInfo_RivalMayNormal,
&gEventObjectGraphicsInfo_RivalMayMachBike,
&gEventObjectGraphicsInfo_RivalMayAcroBike,
&gEventObjectGraphicsInfo_RivalMaySurfing,
&gEventObjectGraphicsInfo_RivalMayFieldMove,
&gEventObjectGraphicsInfo_Cameraman,
&gEventObjectGraphicsInfo_BrendanUnderwater,
&gEventObjectGraphicsInfo_MayUnderwater,
&gEventObjectGraphicsInfo_MovingBox,
&gEventObjectGraphicsInfo_CableCar,
&gEventObjectGraphicsInfo_Scientist2,
&gEventObjectGraphicsInfo_Man7,
&gEventObjectGraphicsInfo_AquaMemberM,
&gEventObjectGraphicsInfo_AquaMemberF,
&gEventObjectGraphicsInfo_MagmaMemberM,
&gEventObjectGraphicsInfo_MagmaMemberF,
&gEventObjectGraphicsInfo_Sidney,
&gEventObjectGraphicsInfo_Phoebe,
&gEventObjectGraphicsInfo_Glacia,
&gEventObjectGraphicsInfo_Drake,
&gEventObjectGraphicsInfo_Roxanne,
&gEventObjectGraphicsInfo_Brawly,
&gEventObjectGraphicsInfo_Wattson,
&gEventObjectGraphicsInfo_Flannery,
&gEventObjectGraphicsInfo_Norman,
&gEventObjectGraphicsInfo_Winona,
&gEventObjectGraphicsInfo_Liza,
&gEventObjectGraphicsInfo_Tate,
&gEventObjectGraphicsInfo_Wallace,
&gEventObjectGraphicsInfo_Steven,
&gEventObjectGraphicsInfo_Wally,
&gEventObjectGraphicsInfo_RubySapphireLittleBoy,
&gEventObjectGraphicsInfo_BrendanFishing,
&gEventObjectGraphicsInfo_MayFishing,
&gEventObjectGraphicsInfo_HotSpringsOldWoman,
&gEventObjectGraphicsInfo_SSTidal,
&gEventObjectGraphicsInfo_SubmarineShadow,
&gEventObjectGraphicsInfo_PichuDoll,
&gEventObjectGraphicsInfo_PikachuDoll,
&gEventObjectGraphicsInfo_MarillDoll,
&gEventObjectGraphicsInfo_TogepiDoll,
&gEventObjectGraphicsInfo_CyndaquilDoll,
&gEventObjectGraphicsInfo_ChikoritaDoll,
&gEventObjectGraphicsInfo_TotodileDoll,
&gEventObjectGraphicsInfo_JigglypuffDoll,
&gEventObjectGraphicsInfo_MeowthDoll,
&gEventObjectGraphicsInfo_ClefairyDoll,
&gEventObjectGraphicsInfo_DittoDoll,
&gEventObjectGraphicsInfo_SmoochumDoll,
&gEventObjectGraphicsInfo_TreeckoDoll,
&gEventObjectGraphicsInfo_TorchicDoll,
&gEventObjectGraphicsInfo_MudkipDoll,
&gEventObjectGraphicsInfo_DuskullDoll,
&gEventObjectGraphicsInfo_WynautDoll,
&gEventObjectGraphicsInfo_BaltoyDoll,
&gEventObjectGraphicsInfo_KecleonDoll,
&gEventObjectGraphicsInfo_AzurillDoll,
&gEventObjectGraphicsInfo_SkittyDoll,
&gEventObjectGraphicsInfo_SwabluDoll,
&gEventObjectGraphicsInfo_GulpinDoll,
&gEventObjectGraphicsInfo_LotadDoll,
&gEventObjectGraphicsInfo_SeedotDoll,
&gEventObjectGraphicsInfo_PikaCushion,
&gEventObjectGraphicsInfo_RoundCushion,
&gEventObjectGraphicsInfo_KissCushion,
&gEventObjectGraphicsInfo_ZigzagCushion,
&gEventObjectGraphicsInfo_SpinCushion,
&gEventObjectGraphicsInfo_DiamondCushion,
&gEventObjectGraphicsInfo_BallCushion,
&gEventObjectGraphicsInfo_GrassCushion,
&gEventObjectGraphicsInfo_FireCushion,
&gEventObjectGraphicsInfo_WaterCushion,
&gEventObjectGraphicsInfo_BigSnorlaxDoll,
&gEventObjectGraphicsInfo_BigRhydonDoll,
&gEventObjectGraphicsInfo_BigLaprasDoll,
&gEventObjectGraphicsInfo_BigVenusaurDoll,
&gEventObjectGraphicsInfo_BigCharizardDoll,
&gEventObjectGraphicsInfo_BigBlastoiseDoll,
&gEventObjectGraphicsInfo_BigWailmerDoll,
&gEventObjectGraphicsInfo_BigRegirockDoll,
&gEventObjectGraphicsInfo_BigRegiceDoll,
&gEventObjectGraphicsInfo_BigRegisteelDoll,
&gEventObjectGraphicsInfo_Latias,
&gEventObjectGraphicsInfo_Latios,
&gEventObjectGraphicsInfo_Boy5,
&gEventObjectGraphicsInfo_ContestOldMan,
&gEventObjectGraphicsInfo_BrendanWatering,
&gEventObjectGraphicsInfo_MayWatering,
&gEventObjectGraphicsInfo_BrendanDecorating,
&gEventObjectGraphicsInfo_MayDecorating,
&gEventObjectGraphicsInfo_Archie,
&gEventObjectGraphicsInfo_Maxie,
&gEventObjectGraphicsInfo_Kyogre1,
&gEventObjectGraphicsInfo_Groudon1,
&gEventObjectGraphicsInfo_Fossil,
&gEventObjectGraphicsInfo_Regirock,
&gEventObjectGraphicsInfo_Regice,
&gEventObjectGraphicsInfo_Registeel,
&gEventObjectGraphicsInfo_Skitty,
&gEventObjectGraphicsInfo_Kecleon1,
&gEventObjectGraphicsInfo_Kyogre2,
&gEventObjectGraphicsInfo_Groudon2,
&gEventObjectGraphicsInfo_Rayquaza2,
&gEventObjectGraphicsInfo_Zigzagoon,
&gEventObjectGraphicsInfo_Pikachu,
&gEventObjectGraphicsInfo_Azumarill,
&gEventObjectGraphicsInfo_Wingull,
&gEventObjectGraphicsInfo_Kecleon2,
&gEventObjectGraphicsInfo_TuberMSwimming,
&gEventObjectGraphicsInfo_Azurill,
&gEventObjectGraphicsInfo_Mom,
&gEventObjectGraphicsInfo_LinkBrendan,
&gEventObjectGraphicsInfo_LinkMay,
&gEventObjectGraphicsInfo_Juan,
&gEventObjectGraphicsInfo_Scott,
&gEventObjectGraphicsInfo_Poochyena,
&gEventObjectGraphicsInfo_Kyogre3,
&gEventObjectGraphicsInfo_Groudon3,
&gEventObjectGraphicsInfo_MysteryEventDeliveryman,
&gEventObjectGraphicsInfo_Statue,
&gEventObjectGraphicsInfo_Kirlia,
&gEventObjectGraphicsInfo_Dusclops,
&gEventObjectGraphicsInfo_UnionRoomAttendant,
&gEventObjectGraphicsInfo_Sudowoodo,
&gEventObjectGraphicsInfo_Mew,
&gEventObjectGraphicsInfo_Red,
&gEventObjectGraphicsInfo_Leaf,
&gEventObjectGraphicsInfo_Deoxys,
&gEventObjectGraphicsInfo_BirthIslandStone,
&gEventObjectGraphicsInfo_Brandon,
&gEventObjectGraphicsInfo_RubySapphireBrendan,
&gEventObjectGraphicsInfo_RubySapphireMay,
&gEventObjectGraphicsInfo_Lugia,
&gEventObjectGraphicsInfo_HoOh,
};
const struct EventObjectGraphicsInfo *const gMauvilleOldManGraphicsInfoPointers[] = {
&gEventObjectGraphicsInfo_Bard,
&gEventObjectGraphicsInfo_Hipster,
&gEventObjectGraphicsInfo_Trader,
&gEventObjectGraphicsInfo_Storyteller,
&gEventObjectGraphicsInfo_Giddy,
&gEventObjectGraphicsInfo_UnusedMauvilleOldMan1,
&gEventObjectGraphicsInfo_UnusedMauvilleOldMan2,
};
#endif //GUARD_EVENT_OBJECT_GRAPHICS_INFO_POINTERS_H
File diff suppressed because it is too large Load Diff
+342
View File
@@ -0,0 +1,342 @@
#ifndef GUARD_EVENT_OBJECT_SUBSPRITES_H
#define GUARD_EVENT_OBJECT_SUBSPRITES_H
const struct Subsprite gEventObjectSpriteOamTable_16x16_0[] = {
{ -8, -8, 0, 1, 0, 2}
};
const struct Subsprite gEventObjectSpriteOamTable_16x16_1[] = {
{ -8, -8, 0, 1, 0, 1}
};
const struct Subsprite gEventObjectSpriteOamTable_16x16_2[] = {
{ -8, -8, 1, 0, 0, 2},
{ -8, 0, 1, 0, 2, 3}
};
const struct Subsprite gEventObjectSpriteOamTable_16x16_3[] = {
{ -8, -8, 0, 1, 0, 2},
{ -8, -8, 0, 1, 0, 3}
};
const struct Subsprite gEventObjectSpriteOamTable_16x16_4[] = {
{ -8, -8, 0, 1, 0, 1},
{ -8, -8, 0, 1, 0, 3}
};
const struct SubspriteTable gEventObjectSpriteOamTables_16x16[] = {
{0, NULL},
{1, gEventObjectSpriteOamTable_16x16_0},
{1, gEventObjectSpriteOamTable_16x16_1},
{2, gEventObjectSpriteOamTable_16x16_2},
{2, gEventObjectSpriteOamTable_16x16_3},
{2, gEventObjectSpriteOamTable_16x16_4}
};
const struct Subsprite gEventObjectSpriteOamTable_16x32_0[] = {
{ -8, -16, 2, 2, 0, 2}
};
const struct Subsprite gEventObjectSpriteOamTable_16x32_1[] = {
{ -8, -16, 2, 2, 0, 1}
};
const struct Subsprite gEventObjectSpriteOamTable_16x32_2[] = {
{ -8, -16, 0, 1, 0, 2},
{ -8, 0, 1, 0, 4, 2},
{ -8, 8, 1, 0, 6, 3}
};
const struct Subsprite gEventObjectSpriteOamTable_16x32_3[] = {
{ -8, -16, 0, 1, 0, 2},
{ -8, 0, 0, 1, 4, 3}
};
const struct Subsprite gEventObjectSpriteOamTable_16x32_4[] = {
{ -8, -16, 0, 1, 0, 1},
{ -8, 0, 0, 1, 4, 3}
};
const struct SubspriteTable gEventObjectSpriteOamTables_16x32[] = {
{0, NULL},
{1, gEventObjectSpriteOamTable_16x32_0},
{1, gEventObjectSpriteOamTable_16x32_1},
{3, gEventObjectSpriteOamTable_16x32_2},
{2, gEventObjectSpriteOamTable_16x32_3},
{2, gEventObjectSpriteOamTable_16x32_4}
};
const struct Subsprite gEventObjectSpriteOamTable_32x32_0[] = {
{-16, -16, 0, 2, 0, 2}
};
const struct Subsprite gEventObjectSpriteOamTable_32x32_1[] = {
{-16, -16, 0, 2, 0, 1}
};
const struct Subsprite gEventObjectSpriteOamTable_32x32_2[] = {
{-16, -16, 1, 2, 0, 2},
{-16, 0, 1, 1, 8, 2},
{-16, 8, 1, 1, 12, 3}
};
const struct Subsprite gEventObjectSpriteOamTable_32x32_3[] = {
{-16, -16, 1, 2, 0, 2},
{-16, 0, 1, 2, 8, 3}
};
const struct Subsprite gEventObjectSpriteOamTable_32x32_4[] = {
{-16, -16, 1, 2, 0, 1},
{-16, 0, 1, 2, 8, 3}
};
const struct SubspriteTable gEventObjectSpriteOamTables_32x32[] = {
{0, NULL},
{1, gEventObjectSpriteOamTable_32x32_0},
{1, gEventObjectSpriteOamTable_32x32_1},
{3, gEventObjectSpriteOamTable_32x32_2},
{2, gEventObjectSpriteOamTable_32x32_3},
{2, gEventObjectSpriteOamTable_32x32_4}
};
const struct Subsprite gEventObjectSpriteOamTable_Truck_0[] = {
{-24, -24, 1, 1, 0, 2},
{ 8, -24, 1, 0, 4, 2},
{-24, -16, 1, 1, 6, 2},
{ 8, -16, 1, 0, 10, 2},
{-24, -8, 1, 1, 12, 2},
{ 8, -8, 1, 0, 16, 2},
{-24, 0, 1, 1, 18, 2},
{ 8, 0, 1, 0, 22, 2},
{-24, 8, 1, 1, 24, 2},
{ 8, 8, 1, 0, 28, 2},
{-24, 16, 1, 1, 30, 2},
{ 8, 16, 1, 0, 34, 2}
};
const struct SubspriteTable gEventObjectSpriteOamTables_Truck[] = {
{12, gEventObjectSpriteOamTable_Truck_0},
{12, gEventObjectSpriteOamTable_Truck_0},
{12, gEventObjectSpriteOamTable_Truck_0},
{12, gEventObjectSpriteOamTable_Truck_0},
{12, gEventObjectSpriteOamTable_Truck_0},
{12, gEventObjectSpriteOamTable_Truck_0}
};
const struct Subsprite gEventObjectSpriteOamTable_Unused_0[] = {
{-32, -16, 1, 3, 0, 2}
};
const struct Subsprite gEventObjectSpriteOamTable_Unused_1[] = {
{-32, -16, 1, 3, 0, 1}
};
const struct Subsprite gEventObjectSpriteOamTable_Unused_2[] = {
{-32, -16, 1, 3, 0, 2}
};
const struct Subsprite gEventObjectSpriteOamTable_Unused_3[] = {
{-32, -16, 1, 3, 0, 2}
};
const struct SubspriteTable gEventObjectSpriteOamTables_Unused[] = {
{0, NULL},
{1, gEventObjectSpriteOamTable_Unused_0},
{1, gEventObjectSpriteOamTable_Unused_1},
{1, gEventObjectSpriteOamTable_Unused_2},
{1, gEventObjectSpriteOamTable_Unused_3},
{1, gEventObjectSpriteOamTable_Unused_3}
};
const struct Subsprite gEventObjectSpriteOamTable_64x64_0[] = {
{-32, -32, 0, 3, 0, 2}
};
const struct Subsprite gEventObjectSpriteOamTable_64x64_1[] = {
{-32, -32, 0, 3, 0, 1}
};
const struct Subsprite gEventObjectSpriteOamTable_64x64_2[] = {
{-32, -32, 0, 3, 0, 2}
};
const struct Subsprite gEventObjectSpriteOamTable_64x64_3[] = {
{-32, -32, 0, 3, 0, 2}
};
const struct SubspriteTable gEventObjectSpriteOamTables_64x64[] = {
{0, NULL},
{1, gEventObjectSpriteOamTable_64x64_0},
{1, gEventObjectSpriteOamTable_64x64_1},
{1, gEventObjectSpriteOamTable_64x64_2},
{1, gEventObjectSpriteOamTable_64x64_3},
{1, gEventObjectSpriteOamTable_64x64_3}
};
const struct Subsprite gEventObjectSpriteOamTable_SSTidal_0[] = {
{-48, -20, 1, 1, 0, 2},
{-16, -20, 1, 1, 4, 2},
{ 16, -20, 1, 1, 8, 2},
{-48, -12, 1, 1, 12, 2},
{-16, -12, 1, 1, 16, 2},
{ 16, -12, 1, 1, 20, 2},
{-48, -4, 1, 1, 24, 2},
{-16, -4, 1, 1, 28, 2},
{ 16, -4, 1, 1, 32, 2},
{-48, 4, 1, 1, 36, 2},
{-16, 4, 1, 1, 40, 2},
{ 16, 4, 1, 1, 44, 2},
{-48, 12, 1, 1, 48, 2},
{-16, 12, 1, 1, 52, 2},
{ 16, 12, 1, 1, 56, 2}
};
const struct Subsprite gEventObjectSpriteOamTable_SSTidal_1[] = {
{-48, -20, 1, 1, 0, 1},
{-16, -20, 1, 1, 4, 1},
{ 16, -20, 1, 1, 8, 1},
{-48, -12, 1, 1, 12, 1},
{-16, -12, 1, 1, 16, 1},
{ 16, -12, 1, 1, 20, 1},
{-48, -4, 1, 1, 24, 1},
{-16, -4, 1, 1, 28, 1},
{ 16, -4, 1, 1, 32, 1},
{-48, 4, 1, 1, 36, 1},
{-16, 4, 1, 1, 40, 1},
{ 16, 4, 1, 1, 44, 1},
{-48, 12, 1, 1, 48, 1},
{-16, 12, 1, 1, 52, 1},
{ 16, 12, 1, 1, 56, 1}
};
const struct Subsprite gEventObjectSpriteOamTable_SSTidal_2[] = {
{-48, -20, 1, 1, 0, 2},
{-16, -20, 1, 1, 4, 2},
{ 16, -20, 1, 1, 8, 2},
{-48, -12, 1, 1, 12, 2},
{-16, -12, 1, 1, 16, 2},
{ 16, -12, 1, 1, 20, 2},
{-48, -4, 1, 1, 24, 2},
{-16, -4, 1, 1, 28, 2},
{ 16, -4, 1, 1, 32, 2},
{-48, 4, 1, 1, 36, 2},
{-16, 4, 1, 1, 40, 2},
{ 16, 4, 1, 1, 44, 2},
{-48, 12, 1, 1, 48, 2},
{-16, 12, 1, 1, 52, 2},
{ 16, 12, 1, 1, 56, 2}
};
const struct Subsprite gEventObjectSpriteOamTable_SSTidal_3[] = {
{-48, -20, 1, 1, 0, 1},
{-16, -20, 1, 1, 4, 1},
{ 16, -20, 1, 1, 8, 1},
{-48, -12, 1, 1, 12, 1},
{-16, -12, 1, 1, 16, 1},
{ 16, -12, 1, 1, 20, 1},
{-48, -4, 1, 1, 24, 2},
{-16, -4, 1, 1, 28, 2},
{ 16, -4, 1, 1, 32, 2},
{-48, 4, 1, 1, 36, 2},
{-16, 4, 1, 1, 40, 2},
{ 16, 4, 1, 1, 44, 2},
{-48, 12, 1, 1, 48, 2},
{-16, 12, 1, 1, 52, 2},
{ 16, 12, 1, 1, 56, 2}
};
const struct SubspriteTable gEventObjectSpriteOamTables_SSTidal[] = {
{15, gEventObjectSpriteOamTable_SSTidal_0},
{15, gEventObjectSpriteOamTable_SSTidal_0},
{15, gEventObjectSpriteOamTable_SSTidal_1},
{15, gEventObjectSpriteOamTable_SSTidal_2},
{15, gEventObjectSpriteOamTable_SSTidal_3},
{15, gEventObjectSpriteOamTable_SSTidal_3}
};
const struct Subsprite gEventObjectSpriteOamTable_SubmarineShadow_0[] = {
{-48, -20, 1, 1, 0, 2},
{-16, -20, 1, 1, 4, 2},
{ 16, -20, 1, 0, 8, 2},
{ 32, -20, 0, 0, 10, 2},
{-48, -12, 1, 1, 11, 2},
{-16, -12, 1, 1, 15, 2},
{ 16, -12, 1, 0, 19, 2},
{ 32, -12, 0, 0, 21, 2},
{-48, -4, 1, 1, 22, 2},
{-16, -4, 1, 1, 26, 2},
{ 16, -4, 1, 0, 30, 2},
{ 32, -4, 0, 0, 32, 2},
{-48, 4, 1, 1, 33, 2},
{-16, 4, 1, 1, 37, 2},
{ 16, 4, 1, 0, 41, 2},
{ 32, 4, 0, 0, 43, 2}
};
const struct Subsprite gEventObjectSpriteOamTable_SubmarineShadow_1[] = {
{-48, -20, 1, 1, 0, 1},
{-16, -20, 1, 1, 4, 1},
{ 16, -20, 1, 0, 8, 1},
{ 32, -20, 0, 0, 10, 1},
{-48, -12, 1, 1, 11, 1},
{-16, -12, 1, 1, 15, 1},
{ 16, -12, 1, 0, 19, 1},
{ 32, -12, 0, 0, 21, 1},
{-48, -4, 1, 1, 22, 1},
{-16, -4, 1, 1, 26, 1},
{ 16, -4, 1, 0, 30, 1},
{ 32, -4, 0, 0, 32, 1},
{-48, 4, 1, 1, 33, 1},
{-16, 4, 1, 1, 37, 1},
{ 16, 4, 1, 0, 41, 1},
{ 32, 4, 0, 0, 43, 1}
};
const struct Subsprite gEventObjectSpriteOamTable_SubmarineShadow_2[] = {
{-48, -20, 1, 1, 0, 2},
{-16, -20, 1, 1, 4, 2},
{ 16, -20, 1, 0, 8, 2},
{ 32, -20, 0, 0, 10, 2},
{-48, -12, 1, 1, 11, 2},
{-16, -12, 1, 1, 15, 2},
{ 16, -12, 1, 0, 19, 2},
{ 32, -12, 0, 0, 21, 2},
{-48, -4, 1, 1, 22, 2},
{-16, -4, 1, 1, 26, 2},
{ 16, -4, 1, 0, 30, 2},
{ 32, -4, 0, 0, 32, 2},
{-48, 4, 1, 1, 33, 2},
{-16, 4, 1, 1, 37, 2},
{ 16, 4, 1, 0, 41, 2},
{ 32, 4, 0, 0, 43, 2}
};
const struct Subsprite gEventObjectSpriteOamTable_SubmarineShadow_3[] = {
{-48, -20, 1, 1, 0, 1},
{-16, -20, 1, 1, 4, 1},
{ 16, -20, 1, 0, 8, 1},
{ 32, -20, 0, 0, 10, 1},
{-48, -12, 1, 1, 11, 1},
{-16, -12, 1, 1, 15, 1},
{ 16, -12, 1, 0, 19, 1},
{ 32, -12, 0, 0, 21, 1},
{-48, -4, 1, 1, 22, 2},
{-16, -4, 1, 1, 26, 2},
{ 16, -4, 1, 0, 30, 2},
{ 32, -4, 0, 0, 32, 2},
{-48, 4, 1, 1, 33, 2},
{-16, 4, 1, 1, 37, 2},
{ 16, 4, 1, 0, 41, 2},
{ 32, 4, 0, 0, 43, 2}
};
const struct SubspriteTable gEventObjectSpriteOamTables_SubmarineShadow[] = {
{16, gEventObjectSpriteOamTable_SubmarineShadow_0},
{16, gEventObjectSpriteOamTable_SubmarineShadow_0},
{16, gEventObjectSpriteOamTable_SubmarineShadow_1},
{16, gEventObjectSpriteOamTable_SubmarineShadow_2},
{16, gEventObjectSpriteOamTable_SubmarineShadow_3},
{16, gEventObjectSpriteOamTable_SubmarineShadow_3}
};
#endif //GUARD_EVENT_OBJECT_SUBSPRITES_H
@@ -0,0 +1,82 @@
#ifndef GUARD_FIELD_EFFECT_OBJECT_TEMPLATE_POINTERS_H
#define GUARD_FIELD_EFFECT_OBJECT_TEMPLATE_POINTERS_H
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall;
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium;
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge;
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowExtraLarge;
const struct SpriteTemplate gFieldEffectObjectTemplate_TallGrass;
const struct SpriteTemplate gFieldEffectObjectTemplate_Ripple;
const struct SpriteTemplate gFieldEffectObjectTemplate_Ash;
const struct SpriteTemplate gFieldEffectObjectTemplate_SurfBlob;
const struct SpriteTemplate gFieldEffectObjectTemplate_Arrow;
const struct SpriteTemplate gFieldEffectObjectTemplate_GroundImpactDust;
const struct SpriteTemplate gFieldEffectObjectTemplate_BikeHopTallGrass;
const struct SpriteTemplate gFieldEffectObjectTemplate_SandFootprints;
const struct SpriteTemplate gFieldEffectObjectTemplate_BikeHopBigSplash;
const struct SpriteTemplate gFieldEffectObjectTemplate_Splash;
const struct SpriteTemplate gFieldEffectObjectTemplate_BikeHopSmallSplash;
const struct SpriteTemplate gFieldEffectObjectTemplate_LongGrass;
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown16;
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown17;
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown18;
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown19;
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown20;
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown21;
const struct SpriteTemplate gFieldEffectObjectTemplate_BerryTreeGrowthSparkle;
const struct SpriteTemplate gFieldEffectObjectTemplate_DeepSandFootprints;
const struct SpriteTemplate gFieldEffectObjectTemplate_TreeDisguise;
const struct SpriteTemplate gFieldEffectObjectTemplate_MountainDisguise;
const struct SpriteTemplate gFieldEffectObjectTemplate_Bird;
const struct SpriteTemplate gFieldEffectObjectTemplate_BikeTireTracks;
const struct SpriteTemplate gFieldEffectObjectTemplate_SandDisguisePlaceholder;
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown29;
const struct SpriteTemplate gFieldEffectObjectTemplate_ShortGrass;
const struct SpriteTemplate gFieldEffectObjectTemplate_HotSpringsWater;
const struct SpriteTemplate gFieldEffectObjectTemplate_JumpOutOfAsh;
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown33;
const struct SpriteTemplate gFieldEffectObjectTemplate_Bubbles;
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown35;
const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza;
const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[] = {
&gFieldEffectObjectTemplate_ShadowSmall,
&gFieldEffectObjectTemplate_ShadowMedium,
&gFieldEffectObjectTemplate_ShadowLarge,
&gFieldEffectObjectTemplate_ShadowExtraLarge,
&gFieldEffectObjectTemplate_TallGrass,
&gFieldEffectObjectTemplate_Ripple,
&gFieldEffectObjectTemplate_Ash,
&gFieldEffectObjectTemplate_SurfBlob,
&gFieldEffectObjectTemplate_Arrow,
&gFieldEffectObjectTemplate_GroundImpactDust,
&gFieldEffectObjectTemplate_BikeHopTallGrass,
&gFieldEffectObjectTemplate_SandFootprints,
&gFieldEffectObjectTemplate_BikeHopBigSplash,
&gFieldEffectObjectTemplate_Splash,
&gFieldEffectObjectTemplate_BikeHopSmallSplash,
&gFieldEffectObjectTemplate_LongGrass,
&gFieldEffectObjectTemplate_Unknown16,
&gFieldEffectObjectTemplate_Unknown17,
&gFieldEffectObjectTemplate_Unknown18,
&gFieldEffectObjectTemplate_Unknown19,
&gFieldEffectObjectTemplate_Unknown20,
&gFieldEffectObjectTemplate_Unknown21,
&gFieldEffectObjectTemplate_BerryTreeGrowthSparkle,
&gFieldEffectObjectTemplate_DeepSandFootprints,
&gFieldEffectObjectTemplate_TreeDisguise,
&gFieldEffectObjectTemplate_MountainDisguise,
&gFieldEffectObjectTemplate_Bird,
&gFieldEffectObjectTemplate_BikeTireTracks,
&gFieldEffectObjectTemplate_SandDisguisePlaceholder,
&gFieldEffectObjectTemplate_Unknown29,
&gFieldEffectObjectTemplate_ShortGrass,
&gFieldEffectObjectTemplate_HotSpringsWater,
&gFieldEffectObjectTemplate_JumpOutOfAsh,
&gFieldEffectObjectTemplate_Unknown33,
&gFieldEffectObjectTemplate_Bubbles,
&gFieldEffectObjectTemplate_Unknown35,
&gFieldEffectObjectTemplate_Rayquaza,
};
#endif //GUARD_FIELD_EFFECT_OBJECT_TEMPLATE_POINTERS_H
+997
View File
@@ -0,0 +1,997 @@
#ifndef GUARD_FIELD_EFFECT_OBJECTS_H
#define GUARD_FIELD_EFFECT_OBJECTS_H
const struct SpritePalette gFieldEffectObjectPaletteInfo0 = {gFieldEffectObjectPalette0, 0x1004};
const struct SpritePalette gFieldEffectObjectPaletteInfo1 = {gFieldEffectObjectPalette1, 0x1005};
const union AnimCmd gFieldEffectObjectImageAnim_850C9D0[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_Shadow[] =
{
gFieldEffectObjectImageAnim_850C9D0,
};
const struct SpriteFrameImage gFieldEffectObjectPicTable_ShadowSmall[] = {
obj_frame_tiles(gFieldEffectObjectPic_ShadowSmall),
};
const struct SpriteFrameImage gFieldEffectObjectPicTable_ShadowMedium[] = {
obj_frame_tiles(gFieldEffectObjectPic_ShadowMedium),
};
const struct SpriteFrameImage gFieldEffectObjectPicTable_ShadowLarge[] = {
obj_frame_tiles(gFieldEffectObjectPic_ShadowLarge),
};
const struct SpriteFrameImage gFieldEffectObjectPicTable_ShadowExtraLarge[] = {
obj_frame_tiles(gFieldEffectObjectPic_ShadowExtraLarge),
};
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_8x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowSmall, gDummySpriteAffineAnimTable, oamc_shadow};
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowMedium, gDummySpriteAffineAnimTable, oamc_shadow};
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowLarge, gDummySpriteAffineAnimTable, oamc_shadow};
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowExtraLarge = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_64x32, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowExtraLarge, gDummySpriteAffineAnimTable, oamc_shadow};
const struct SpriteFrameImage gFieldEffectObjectPicTable_TallGrass[] = {
obj_frame_tiles(gFieldEffectObjectPic_TallGrass_0),
obj_frame_tiles(gFieldEffectObjectPic_TallGrass_1),
obj_frame_tiles(gFieldEffectObjectPic_TallGrass_2),
obj_frame_tiles(gFieldEffectObjectPic_TallGrass_3),
obj_frame_tiles(gFieldEffectObjectPic_TallGrass_4),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CA84[] =
{
ANIMCMD_FRAME(1, 10),
ANIMCMD_FRAME(2, 10),
ANIMCMD_FRAME(3, 10),
ANIMCMD_FRAME(4, 10),
ANIMCMD_FRAME(0, 10),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_TallGrass[] =
{
gFieldEffectObjectImageAnim_850CA84,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_TallGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_TallGrass, gFieldEffectObjectPicTable_TallGrass, gDummySpriteAffineAnimTable, unc_grass_normal};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Ripple[] = {
obj_frame_tiles(gFieldEffectObjectPic_Ripple_0),
obj_frame_tiles(gFieldEffectObjectPic_Ripple_1),
obj_frame_tiles(gFieldEffectObjectPic_Ripple_2),
obj_frame_tiles(gFieldEffectObjectPic_Ripple_3),
obj_frame_tiles(gFieldEffectObjectPic_Ripple_4),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CAE0[] =
{
ANIMCMD_FRAME(0, 12),
ANIMCMD_FRAME(1, 9),
ANIMCMD_FRAME(2, 9),
ANIMCMD_FRAME(3, 9),
ANIMCMD_FRAME(0, 9),
ANIMCMD_FRAME(1, 9),
ANIMCMD_FRAME(2, 11),
ANIMCMD_FRAME(4, 11),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_Ripple[] =
{
gFieldEffectObjectImageAnim_850CAE0,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_Ripple = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Ripple, gFieldEffectObjectPicTable_Ripple, gDummySpriteAffineAnimTable, sub_81561D0};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Ash[] = {
obj_frame_tiles(gFieldEffectObjectPic_Ash_0),
obj_frame_tiles(gFieldEffectObjectPic_Ash_1),
obj_frame_tiles(gFieldEffectObjectPic_Ash_2),
obj_frame_tiles(gFieldEffectObjectPic_Ash_3),
obj_frame_tiles(gFieldEffectObjectPic_Ash_4),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CB48[] =
{
ANIMCMD_FRAME(0, 12),
ANIMCMD_FRAME(1, 12),
ANIMCMD_FRAME(2, 8),
ANIMCMD_FRAME(3, 12),
ANIMCMD_FRAME(4, 12),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_Ash[] =
{
gFieldEffectObjectImageAnim_850CB48,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_Ash = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Ash, gFieldEffectObjectPicTable_Ash, gDummySpriteAffineAnimTable, sub_8155460};
const struct SpriteFrameImage gFieldEffectObjectPicTable_SurfBlob[] = {
obj_frame_tiles(gFieldEffectObjectPic_SurfBlob_0),
obj_frame_tiles(gFieldEffectObjectPic_SurfBlob_1),
obj_frame_tiles(gFieldEffectObjectPic_SurfBlob_2),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CB94[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_JUMP(0),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CB9C[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_JUMP(0),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CBA4[] =
{
ANIMCMD_FRAME(2, 1),
ANIMCMD_JUMP(0),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CBAC[] =
{
ANIMCMD_FRAME(2, 1, .hFlip = TRUE),
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_SurfBlob[] =
{
gFieldEffectObjectImageAnim_850CB94,
gFieldEffectObjectImageAnim_850CB9C,
gFieldEffectObjectImageAnim_850CBA4,
gFieldEffectObjectImageAnim_850CBAC,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_SurfBlob = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_SurfBlob, gFieldEffectObjectPicTable_SurfBlob, gDummySpriteAffineAnimTable, sub_8155658};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Arrow[] = {
obj_frame_tiles(gFieldEffectObjectPic_Arrow_0),
obj_frame_tiles(gFieldEffectObjectPic_Arrow_1),
obj_frame_tiles(gFieldEffectObjectPic_Arrow_2),
obj_frame_tiles(gFieldEffectObjectPic_Arrow_3),
obj_frame_tiles(gFieldEffectObjectPic_Arrow_4),
obj_frame_tiles(gFieldEffectObjectPic_Arrow_5),
obj_frame_tiles(gFieldEffectObjectPic_Arrow_6),
obj_frame_tiles(gFieldEffectObjectPic_Arrow_7),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CC1C[] =
{
ANIMCMD_FRAME(3, 32),
ANIMCMD_FRAME(7, 32),
ANIMCMD_JUMP(0),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CC28[] =
{
ANIMCMD_FRAME(0, 32),
ANIMCMD_FRAME(4, 32),
ANIMCMD_JUMP(0),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CC34[] =
{
ANIMCMD_FRAME(1, 32),
ANIMCMD_FRAME(5, 32),
ANIMCMD_JUMP(0),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CC40[] =
{
ANIMCMD_FRAME(2, 32),
ANIMCMD_FRAME(6, 32),
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_Arrow[] =
{
gFieldEffectObjectImageAnim_850CC1C,
gFieldEffectObjectImageAnim_850CC28,
gFieldEffectObjectImageAnim_850CC34,
gFieldEffectObjectImageAnim_850CC40,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_Arrow = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Arrow, gFieldEffectObjectPicTable_Arrow, gDummySpriteAffineAnimTable, SpriteCallbackDummy};
const struct SpriteFrameImage gFieldEffectObjectPicTable_GroundImpactDust[] = {
obj_frame_tiles(gFieldEffectObjectPic_GroundImpactDust_0),
obj_frame_tiles(gFieldEffectObjectPic_GroundImpactDust_1),
obj_frame_tiles(gFieldEffectObjectPic_GroundImpactDust_2),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CC8C[] =
{
ANIMCMD_FRAME(0, 8),
ANIMCMD_FRAME(1, 8),
ANIMCMD_FRAME(2, 8),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_GroundImpactDust[] =
{
gFieldEffectObjectImageAnim_850CC8C,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_GroundImpactDust = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_GroundImpactDust, gFieldEffectObjectPicTable_GroundImpactDust, gDummySpriteAffineAnimTable, sub_8156194};
const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeHopTallGrass[] = {
obj_frame_tiles(gFieldEffectObjectPic_BikeHopTallGrass_0),
obj_frame_tiles(gFieldEffectObjectPic_BikeHopTallGrass_1),
obj_frame_tiles(gFieldEffectObjectPic_BikeHopTallGrass_2),
obj_frame_tiles(gFieldEffectObjectPic_BikeHopTallGrass_3),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CCD8[] =
{
ANIMCMD_FRAME(0, 8),
ANIMCMD_FRAME(1, 8),
ANIMCMD_FRAME(2, 8),
ANIMCMD_FRAME(3, 8),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_BikeHopTallGrass[] =
{
gFieldEffectObjectImageAnim_850CCD8,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_BikeHopTallGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_BikeHopTallGrass, gFieldEffectObjectPicTable_BikeHopTallGrass, gDummySpriteAffineAnimTable, sub_8156194};
const struct SpriteFrameImage gFieldEffectObjectPicTable_SandFootprints[] = {
obj_frame_tiles(gFieldEffectObjectPic_SandFootprints_0),
obj_frame_tiles(gFieldEffectObjectPic_SandFootprints_1),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CD18[] =
{
ANIMCMD_FRAME(0, 1, .vFlip = TRUE),
ANIMCMD_END,
};
const union AnimCmd gFieldEffectObjectImageAnim_850CD20[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
const union AnimCmd gFieldEffectObjectImageAnim_850CD28[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
const union AnimCmd gFieldEffectObjectImageAnim_850CD30[] =
{
ANIMCMD_FRAME(1, 1, .hFlip = TRUE),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_SandFootprints[] =
{
gFieldEffectObjectImageAnim_850CD18,
gFieldEffectObjectImageAnim_850CD18,
gFieldEffectObjectImageAnim_850CD20,
gFieldEffectObjectImageAnim_850CD28,
gFieldEffectObjectImageAnim_850CD30,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_SandFootprints = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_SandFootprints, gFieldEffectObjectPicTable_SandFootprints, gDummySpriteAffineAnimTable, sub_8154C60};
const struct SpriteFrameImage gFieldEffectObjectPicTable_DeepSandFootprints[] = {
obj_frame_tiles(gFieldEffectObjectPic_DeepSandFootprints_0),
obj_frame_tiles(gFieldEffectObjectPic_DeepSandFootprints_1),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CD74[] =
{
ANIMCMD_FRAME(0, 1, .vFlip = TRUE),
ANIMCMD_END,
};
const union AnimCmd gFieldEffectObjectImageAnim_850CD7C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
const union AnimCmd gFieldEffectObjectImageAnim_850CD84[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
const union AnimCmd gFieldEffectObjectImageAnim_850CD8C[] =
{
ANIMCMD_FRAME(1, 1, .hFlip = TRUE),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_DeepSandFootprints[] =
{
gFieldEffectObjectImageAnim_850CD74,
gFieldEffectObjectImageAnim_850CD74,
gFieldEffectObjectImageAnim_850CD7C,
gFieldEffectObjectImageAnim_850CD84,
gFieldEffectObjectImageAnim_850CD8C,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_DeepSandFootprints = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_DeepSandFootprints, gFieldEffectObjectPicTable_DeepSandFootprints, gDummySpriteAffineAnimTable, sub_8154C60};
const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeTireTracks[] = {
obj_frame_tiles(gFieldEffectObjectPic_BikeTireTracks_0),
obj_frame_tiles(gFieldEffectObjectPic_BikeTireTracks_1),
obj_frame_tiles(gFieldEffectObjectPic_BikeTireTracks_2),
obj_frame_tiles(gFieldEffectObjectPic_BikeTireTracks_3),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CDE0[] =
{
ANIMCMD_FRAME(2, 1),
ANIMCMD_END,
};
const union AnimCmd gFieldEffectObjectImageAnim_850CDE8[] =
{
ANIMCMD_FRAME(2, 1),
ANIMCMD_END,
};
const union AnimCmd gFieldEffectObjectImageAnim_850CDF0[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
const union AnimCmd gFieldEffectObjectImageAnim_850CDF8[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
const union AnimCmd gFieldEffectObjectImageAnim_850CE00[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
const union AnimCmd gFieldEffectObjectImageAnim_850CE08[] =
{
ANIMCMD_FRAME(0, 1, .hFlip = TRUE),
ANIMCMD_END,
};
const union AnimCmd gFieldEffectObjectImageAnim_850CE10[] =
{
ANIMCMD_FRAME(3, 1, .hFlip = TRUE),
ANIMCMD_END,
};
const union AnimCmd gFieldEffectObjectImageAnim_850CE18[] =
{
ANIMCMD_FRAME(3, 1),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_BikeTireTracks[] =
{
gFieldEffectObjectImageAnim_850CDE0,
gFieldEffectObjectImageAnim_850CDE0,
gFieldEffectObjectImageAnim_850CDE8,
gFieldEffectObjectImageAnim_850CDF0,
gFieldEffectObjectImageAnim_850CDF8,
gFieldEffectObjectImageAnim_850CE00,
gFieldEffectObjectImageAnim_850CE08,
gFieldEffectObjectImageAnim_850CE10,
gFieldEffectObjectImageAnim_850CE18,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_BikeTireTracks = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_BikeTireTracks, gFieldEffectObjectPicTable_BikeTireTracks, gDummySpriteAffineAnimTable, sub_8154C60};
const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeHopBigSplash[] = {
obj_frame_tiles(gFieldEffectObjectPic_BikeHopBigSplash_0),
obj_frame_tiles(gFieldEffectObjectPic_BikeHopBigSplash_1),
obj_frame_tiles(gFieldEffectObjectPic_BikeHopBigSplash_2),
obj_frame_tiles(gFieldEffectObjectPic_BikeHopBigSplash_3),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CE7C[] =
{
ANIMCMD_FRAME(0, 8),
ANIMCMD_FRAME(1, 8),
ANIMCMD_FRAME(2, 8),
ANIMCMD_FRAME(3, 8),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_BikeHopBigSplash[] =
{
gFieldEffectObjectImageAnim_850CE7C,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_BikeHopBigSplash = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_BikeHopBigSplash, gFieldEffectObjectPicTable_BikeHopBigSplash, gDummySpriteAffineAnimTable, sub_8156194};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Splash[] = {
obj_frame_tiles(gFieldEffectObjectPic_Splash_0),
obj_frame_tiles(gFieldEffectObjectPic_Splash_1),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CEBC[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(1, 4),
ANIMCMD_END,
};
const union AnimCmd gFieldEffectObjectImageAnim_850CEC8[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(1, 4),
ANIMCMD_FRAME(0, 6),
ANIMCMD_FRAME(1, 6),
ANIMCMD_FRAME(0, 8),
ANIMCMD_FRAME(1, 8),
ANIMCMD_FRAME(0, 6),
ANIMCMD_FRAME(1, 6),
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_Splash[] =
{
gFieldEffectObjectImageAnim_850CEBC,
gFieldEffectObjectImageAnim_850CEC8,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_Splash = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Splash, gFieldEffectObjectPicTable_Splash, gDummySpriteAffineAnimTable, sub_8154D90};
const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeHopSmallSplash[] = {
obj_frame_tiles(gFieldEffectObjectPic_BikeHopSmallSplash_0),
obj_frame_tiles(gFieldEffectObjectPic_BikeHopSmallSplash_1),
obj_frame_tiles(gFieldEffectObjectPic_BikeHopSmallSplash_2),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CF24[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(1, 4),
ANIMCMD_FRAME(2, 4),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_BikeHopSmallSplash[] =
{
gFieldEffectObjectImageAnim_850CF24,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_BikeHopSmallSplash = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_BikeHopSmallSplash, gFieldEffectObjectPicTable_BikeHopSmallSplash, gDummySpriteAffineAnimTable, sub_8156194};
const struct SpriteFrameImage gFieldEffectObjectPicTable_LongGrass[] = {
obj_frame_tiles(gFieldEffectObjectPic_LongGrass_0),
obj_frame_tiles(gFieldEffectObjectPic_LongGrass_1),
obj_frame_tiles(gFieldEffectObjectPic_LongGrass_2),
obj_frame_tiles(gFieldEffectObjectPic_LongGrass_3),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CF70[] =
{
ANIMCMD_FRAME(1, 3),
ANIMCMD_FRAME(2, 3),
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(3, 4),
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(3, 4),
ANIMCMD_FRAME(0, 4),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_LongGrass[] =
{
gFieldEffectObjectImageAnim_850CF70,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_LongGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_LongGrass, gFieldEffectObjectPicTable_LongGrass, gDummySpriteAffineAnimTable, unc_grass_tall};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown16[] = {
obj_frame_tiles(gFieldEffectObjectPic_Unknown16_0),
obj_frame_tiles(gFieldEffectObjectPic_Unknown16_1),
obj_frame_tiles(gFieldEffectObjectPic_Unknown16_2),
obj_frame_tiles(gFieldEffectObjectPic_Unknown16_3),
obj_frame_tiles(gFieldEffectObjectPic_Unknown16_4),
obj_frame_tiles(gFieldEffectObjectPic_Unknown16_5),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CFDC[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(1, 4),
ANIMCMD_FRAME(2, 8),
ANIMCMD_FRAME(3, 8),
ANIMCMD_FRAME(4, 8),
ANIMCMD_FRAME(5, 8),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown16[] =
{
gFieldEffectObjectImageAnim_850CFDC,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown16 = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown16, gFieldEffectObjectPicTable_Unknown16, gDummySpriteAffineAnimTable, sub_8156194};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown17[] = {
obj_frame_tiles(gFieldEffectObjectPic_Unknown16_5),
obj_frame_tiles(gFieldEffectObjectPic_Unknown17_0),
obj_frame_tiles(gFieldEffectObjectPic_Unknown17_1),
obj_frame_tiles(gFieldEffectObjectPic_Unknown17_2),
obj_frame_tiles(gFieldEffectObjectPic_Unknown17_3),
obj_frame_tiles(gFieldEffectObjectPic_Unknown17_4),
obj_frame_tiles(gFieldEffectObjectPic_Unknown17_5),
obj_frame_tiles(gFieldEffectObjectPic_Unknown17_6),
obj_frame_tiles(gFieldEffectObjectPic_Unknown17_7),
};
const union AnimCmd gFieldEffectObjectImageAnim_850D05C[] =
{
ANIMCMD_FRAME(0, 10),
ANIMCMD_FRAME(1, 4),
ANIMCMD_FRAME(2, 4),
ANIMCMD_FRAME(3, 4),
ANIMCMD_FRAME(4, 4),
ANIMCMD_FRAME(5, 4),
ANIMCMD_FRAME(6, 4),
ANIMCMD_FRAME(7, 4),
ANIMCMD_FRAME(8, 4),
ANIMCMD_JUMP(7),
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown17[] =
{
gFieldEffectObjectImageAnim_850D05C,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown17 = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown17, gFieldEffectObjectPicTable_Unknown17, gDummySpriteAffineAnimTable, sub_81561D0};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown18[] = {
obj_frame_tiles(gFieldEffectObjectPic_Unknown18_0),
obj_frame_tiles(gFieldEffectObjectPic_Unknown18_1),
obj_frame_tiles(gFieldEffectObjectPic_Unknown18_2),
obj_frame_tiles(gFieldEffectObjectPic_Unknown18_3),
};
const union AnimCmd gFieldEffectObjectImageAnim_850D0C0[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(1, 4),
ANIMCMD_FRAME(2, 4),
ANIMCMD_FRAME(3, 4),
ANIMCMD_FRAME(2, 4),
ANIMCMD_FRAME(1, 4),
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown18[] =
{
gFieldEffectObjectImageAnim_850D0C0,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown18 = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown18, gFieldEffectObjectPicTable_Unknown18, gDummySpriteAffineAnimTable, sub_81561D0};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown19[] = {
obj_frame_tiles(gFieldEffectObjectPic_Unknown19_0),
obj_frame_tiles(gFieldEffectObjectPic_Unknown19_1),
obj_frame_tiles(gFieldEffectObjectPic_Unknown19_2),
obj_frame_tiles(gFieldEffectObjectPic_Unknown19_3),
};
const union AnimCmd gFieldEffectObjectImageAnim_850D118[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(1, 4),
ANIMCMD_FRAME(2, 4),
ANIMCMD_FRAME(3, 4),
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown19[] =
{
gFieldEffectObjectImageAnim_850D118,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown19 = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown19, gFieldEffectObjectPicTable_Unknown19, gDummySpriteAffineAnimTable, sub_81561D0};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown29[] = {
obj_frame_tiles(gFieldEffectObjectPic_Unknown29_0),
obj_frame_tiles(gFieldEffectObjectPic_Unknown29_1),
obj_frame_tiles(gFieldEffectObjectPic_Unknown29_2),
};
const union AnimCmd gFieldEffectObjectImageAnim_850D160[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(1, 4),
ANIMCMD_FRAME(2, 4),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown29[] =
{
gFieldEffectObjectImageAnim_850D160,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown29 = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Unknown29, gFieldEffectObjectPicTable_Unknown29, gDummySpriteAffineAnimTable, sub_81559BC};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown20[] = {
obj_frame_tiles(gFieldEffectObjectPic_Unknown20_0),
obj_frame_tiles(gFieldEffectObjectPic_Unknown20_1),
obj_frame_tiles(gFieldEffectObjectPic_Unknown20_2),
obj_frame_tiles(gFieldEffectObjectPic_Unknown20_3),
};
const union AnimCmd gFieldEffectObjectImageAnim_850D1AC[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(1, 4),
ANIMCMD_FRAME(2, 4),
ANIMCMD_FRAME(3, 4),
ANIMCMD_FRAME(2, 4),
ANIMCMD_FRAME(1, 4),
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown20[] =
{
gFieldEffectObjectImageAnim_850D1AC,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown20 = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown20, gFieldEffectObjectPicTable_Unknown20, gDummySpriteAffineAnimTable, sub_81561D0};
const union AffineAnimCmd gFieldEffectObjectRotScalAnim_850D1E4[] =
{
AFFINEANIMCMD_FRAME(0xFF00, 0x100, -128, 0),
AFFINEANIMCMD_FRAME(0x1, 0x0, 0, 4),
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
AFFINEANIMCMD_FRAME(0xFFFF, 0x0, 0, 4),
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
AFFINEANIMCMD_FRAME(0xFFFF, 0x0, 0, 4),
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
AFFINEANIMCMD_FRAME(0x1, 0x0, 0, 4),
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
AFFINEANIMCMD_JUMP(1),
};
const union AffineAnimCmd gFieldEffectObjectRotScalAnim_850D234[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, -128, 0),
AFFINEANIMCMD_FRAME(0xFFFF, 0x0, 0, 4),
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
AFFINEANIMCMD_FRAME(0x1, 0x0, 0, 4),
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
AFFINEANIMCMD_FRAME(0x1, 0x0, 0, 4),
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
AFFINEANIMCMD_FRAME(0xFFFF, 0x0, 0, 4),
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
AFFINEANIMCMD_JUMP(1),
};
const union AffineAnimCmd *const gFieldEffectObjectRotScalAnimTable_Unknown21[] =
{
gFieldEffectObjectRotScalAnim_850D1E4,
gFieldEffectObjectRotScalAnim_850D234,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown21 = {0x0, 0xFFFF, &gDummyOamData, gDummySpriteAnimTable, NULL, gFieldEffectObjectRotScalAnimTable_Unknown21, SpriteCallbackDummy};
const struct SpriteFrameImage gFieldEffectObjectPicTable_BerryTreeGrowthSparkle[] = {
obj_frame_tiles(gFieldEffectObjectPic_BerryTreeGrowthSparkle_0),
obj_frame_tiles(gFieldEffectObjectPic_BerryTreeGrowthSparkle_1),
obj_frame_tiles(gFieldEffectObjectPic_BerryTreeGrowthSparkle_2),
obj_frame_tiles(gFieldEffectObjectPic_BerryTreeGrowthSparkle_3),
obj_frame_tiles(gFieldEffectObjectPic_BerryTreeGrowthSparkle_4),
obj_frame_tiles(gFieldEffectObjectPic_BerryTreeGrowthSparkle_5),
};
const union AnimCmd gFieldEffectObjectImageAnim_850D2D4[] =
{
ANIMCMD_FRAME(0, 8),
ANIMCMD_FRAME(1, 8),
ANIMCMD_FRAME(2, 8),
ANIMCMD_FRAME(3, 8),
ANIMCMD_FRAME(4, 8),
ANIMCMD_FRAME(5, 8),
ANIMCMD_LOOP(0),
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(1, 4),
ANIMCMD_FRAME(2, 4),
ANIMCMD_FRAME(3, 4),
ANIMCMD_FRAME(4, 4),
ANIMCMD_FRAME(5, 4),
ANIMCMD_LOOP(3),
ANIMCMD_FRAME(0, 8),
ANIMCMD_FRAME(1, 8),
ANIMCMD_FRAME(2, 8),
ANIMCMD_FRAME(3, 8),
ANIMCMD_FRAME(4, 8),
ANIMCMD_FRAME(5, 8),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_BerryTreeGrowthSparkle[] =
{
gFieldEffectObjectImageAnim_850D2D4,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_BerryTreeGrowthSparkle = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_BerryTreeGrowthSparkle, gFieldEffectObjectPicTable_BerryTreeGrowthSparkle, gDummySpriteAffineAnimTable, sub_81561D0};
const struct SpriteFrameImage gFieldEffectObjectPicTable_TreeDisguise[] = {
obj_frame_tiles(gFieldEffectObjectPic_TreeDisguise_0),
obj_frame_tiles(gFieldEffectObjectPic_TreeDisguise_1),
obj_frame_tiles(gFieldEffectObjectPic_TreeDisguise_2),
obj_frame_tiles(gFieldEffectObjectPic_TreeDisguise_3),
obj_frame_tiles(gFieldEffectObjectPic_TreeDisguise_4),
obj_frame_tiles(gFieldEffectObjectPic_TreeDisguise_5),
obj_frame_tiles(gFieldEffectObjectPic_TreeDisguise_6),
};
const union AnimCmd gFieldEffectObjectImageAnim_850D37C[] =
{
ANIMCMD_FRAME(0, 16),
ANIMCMD_END,
};
const union AnimCmd gFieldEffectObjectImageAnim_850D384[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(1, 4),
ANIMCMD_FRAME(2, 4),
ANIMCMD_FRAME(3, 4),
ANIMCMD_FRAME(4, 4),
ANIMCMD_FRAME(5, 4),
ANIMCMD_FRAME(6, 4),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_TreeDisguise[] =
{
gFieldEffectObjectImageAnim_850D37C,
gFieldEffectObjectImageAnim_850D384,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_TreeDisguise = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_TreeDisguise, gFieldEffectObjectPicTable_TreeDisguise, gDummySpriteAffineAnimTable, sub_8155C88};
const struct SpriteFrameImage gFieldEffectObjectPicTable_MountainDisguise[] = {
obj_frame_tiles(gFieldEffectObjectPic_MountainDisguise_0),
obj_frame_tiles(gFieldEffectObjectPic_MountainDisguise_1),
obj_frame_tiles(gFieldEffectObjectPic_MountainDisguise_2),
obj_frame_tiles(gFieldEffectObjectPic_MountainDisguise_3),
obj_frame_tiles(gFieldEffectObjectPic_MountainDisguise_4),
obj_frame_tiles(gFieldEffectObjectPic_MountainDisguise_5),
obj_frame_tiles(gFieldEffectObjectPic_MountainDisguise_6),
};
const union AnimCmd gFieldEffectObjectImageAnim_850D3FC[] =
{
ANIMCMD_FRAME(0, 16),
ANIMCMD_END,
};
const union AnimCmd gFieldEffectObjectImageAnim_850D404[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(1, 4),
ANIMCMD_FRAME(2, 4),
ANIMCMD_FRAME(3, 4),
ANIMCMD_FRAME(4, 4),
ANIMCMD_FRAME(5, 4),
ANIMCMD_FRAME(6, 4),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_MountainDisguise[] =
{
gFieldEffectObjectImageAnim_850D3FC,
gFieldEffectObjectImageAnim_850D404,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_MountainDisguise = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_MountainDisguise, gFieldEffectObjectPicTable_MountainDisguise, gDummySpriteAffineAnimTable, sub_8155C88};
const struct SpriteFrameImage gFieldEffectObjectPicTable_SandDisguisePlaceholder[] = {
obj_frame_tiles(gFieldEffectObjectPic_SandDisguisePlaceholder_0),
obj_frame_tiles(gFieldEffectObjectPic_SandDisguisePlaceholder_1),
obj_frame_tiles(gFieldEffectObjectPic_SandDisguisePlaceholder_2),
obj_frame_tiles(gFieldEffectObjectPic_SandDisguisePlaceholder_3),
obj_frame_tiles(gFieldEffectObjectPic_SandDisguisePlaceholder_4),
obj_frame_tiles(gFieldEffectObjectPic_SandDisguisePlaceholder_5),
obj_frame_tiles(gFieldEffectObjectPic_SandDisguisePlaceholder_6),
};
const struct SpriteTemplate gFieldEffectObjectTemplate_SandDisguisePlaceholder = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_TreeDisguise, gFieldEffectObjectPicTable_SandDisguisePlaceholder, gDummySpriteAffineAnimTable, sub_8155C88};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Bird[] = {
obj_frame_tiles(gFieldEffectObjectPic_Bird),
};
const union AnimCmd gFieldEffectObjectImageAnim_850D49C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_Bird[] =
{
gFieldEffectObjectImageAnim_850D49C,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_Bird = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_Bird, gFieldEffectObjectPicTable_Bird, gDummySpriteAffineAnimTable, SpriteCallbackDummy};
const struct SpriteFrameImage gFieldEffectObjectPicTable_ShortGrass[] = {
obj_frame_tiles(gFieldEffectObjectPic_ShortGrass_0),
obj_frame_tiles(gFieldEffectObjectPic_ShortGrass_1),
};
const union AnimCmd gFieldEffectObjectImageAnim_850D4D0[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(1, 4),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_ShortGrass[] =
{
gFieldEffectObjectImageAnim_850D4D0,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_ShortGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_ShortGrass, gFieldEffectObjectPicTable_ShortGrass, gDummySpriteAffineAnimTable, sub_8154A10};
const struct SpriteFrameImage gFieldEffectObjectPicTable_HotSpringsWater[] = {
obj_frame_tiles(gFieldEffectObjectPic_HotSpringsWater),
};
const union AnimCmd gFieldEffectObjectImageAnim_850D500[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_HotSpringsWater[] =
{
gFieldEffectObjectImageAnim_850D500,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_HotSpringsWater = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_HotSpringsWater, gFieldEffectObjectPicTable_HotSpringsWater, gDummySpriteAffineAnimTable, sub_8155158};
const struct SpriteFrameImage gFieldEffectObjectPicTable_JumpOutOfAsh[] = {
obj_frame_tiles(gFieldEffectObjectPic_JumpOutOfAsh_0),
obj_frame_tiles(gFieldEffectObjectPic_JumpOutOfAsh_1),
obj_frame_tiles(gFieldEffectObjectPic_JumpOutOfAsh_2),
obj_frame_tiles(gFieldEffectObjectPic_JumpOutOfAsh_3),
obj_frame_tiles(gFieldEffectObjectPic_JumpOutOfAsh_4),
};
const union AnimCmd gFieldEffectObjectImageAnim_850D54C[] =
{
ANIMCMD_FRAME(0, 6),
ANIMCMD_FRAME(1, 6),
ANIMCMD_FRAME(2, 6),
ANIMCMD_FRAME(3, 6),
ANIMCMD_FRAME(4, 6),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_JumpOutOfAsh[] =
{
gFieldEffectObjectImageAnim_850D54C,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_JumpOutOfAsh = {0xFFFF, 0x100D, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_JumpOutOfAsh, gFieldEffectObjectPicTable_JumpOutOfAsh, gDummySpriteAffineAnimTable, sub_80B7CAC};
const struct SpritePalette gFieldEffectObjectPaletteInfo2 = {gFieldEffectObjectPalette2, 0x100D};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown33[] = {
obj_frame_tiles(gFieldEffectObjectPic_Unknown33_0),
obj_frame_tiles(gFieldEffectObjectPic_Unknown33_1),
obj_frame_tiles(gFieldEffectObjectPic_Unknown33_2),
obj_frame_tiles(gFieldEffectObjectPic_Unknown33_3),
obj_frame_tiles(gFieldEffectObjectPic_Unknown33_4),
};
const union AnimCmd gFieldEffectObjectImageAnim_850D5B0[] =
{
ANIMCMD_FRAME(0, 6),
ANIMCMD_FRAME(1, 6),
ANIMCMD_FRAME(2, 6),
ANIMCMD_FRAME(3, 6),
ANIMCMD_FRAME(4, 6),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown33[] =
{
gFieldEffectObjectImageAnim_850D5B0,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown33 = {0xFFFF, 0x100D, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown33, gFieldEffectObjectPicTable_Unknown33, gDummySpriteAffineAnimTable, sub_80B7A58};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Bubbles[] = {
obj_frame_tiles(gFieldEffectObjectPic_Bubbles_0),
obj_frame_tiles(gFieldEffectObjectPic_Bubbles_1),
obj_frame_tiles(gFieldEffectObjectPic_Bubbles_2),
obj_frame_tiles(gFieldEffectObjectPic_Bubbles_3),
obj_frame_tiles(gFieldEffectObjectPic_Bubbles_4),
obj_frame_tiles(gFieldEffectObjectPic_Bubbles_5),
obj_frame_tiles(gFieldEffectObjectPic_Bubbles_6),
obj_frame_tiles(gFieldEffectObjectPic_Bubbles_7),
};
const union AnimCmd gFieldEffectObjectImageAnim_850D624[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(1, 4),
ANIMCMD_FRAME(2, 4),
ANIMCMD_FRAME(3, 6),
ANIMCMD_FRAME(4, 6),
ANIMCMD_FRAME(5, 4),
ANIMCMD_FRAME(6, 4),
ANIMCMD_FRAME(7, 4),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_Bubbles[] =
{
gFieldEffectObjectImageAnim_850D624,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_Bubbles = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_Bubbles, gFieldEffectObjectPicTable_Bubbles, gDummySpriteAffineAnimTable, sub_8155AEC};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown35[] = {
obj_frame_tiles(gFieldEffectObjectPic_Unknown35_0),
obj_frame_tiles(gFieldEffectObjectPic_Unknown35_1),
};
const union AnimCmd gFieldEffectObjectImageAnim_850D674[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_FRAME(1, 5),
ANIMCMD_FRAME(0, 5),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown35[] =
{
gFieldEffectObjectImageAnim_850D674,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown35 = {0xFFFF, 0x100F, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown35, gFieldEffectObjectPicTable_Unknown35, gDummySpriteAffineAnimTable, sub_8155E50};
const struct SpritePalette gFieldEffectObjectPaletteInfo3 = {gFieldEffectObjectPalette3, 0x100F};
const union AnimCmd gFieldEffectObjectImageAnim_850D6A8[] = {
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
const union AnimCmd *const gFieldEffectObjectImageAnimTable_Rayquaza[] = {
gFieldEffectObjectImageAnim_850D6A8,
};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Rayquaza[] = {
{.data = (u8*)gEventObjectPic_Rayquaza_0, .size = (sizeof gEventObjectPic_Rayquaza_0) / 4}
};
const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_Rayquaza, gFieldEffectObjectPicTable_Rayquaza, gDummySpriteAffineAnimTable, sub_8155F80};
const struct SpritePalette gFieldEffectObjectPaletteInfoUnused = {gEventObjectPalette2, 0x1011};
#endif //GUARD_FIELD_EFFECT_OBJECTS_H
File diff suppressed because it is too large Load Diff
+443
View File
@@ -0,0 +1,443 @@
#ifndef GUARD_MOVEMENT_TYPE_FUNC_TABLES_H
#define GUARD_MOVEMENT_TYPE_FUNC_TABLES_H
u8 (*const gMovementTypeFuncs_WanderAround[])(struct EventObject *, struct Sprite *) = {
MovementType_WanderAround_Step0,
MovementType_WanderAround_Step1,
MovementType_WanderAround_Step2,
MovementType_WanderAround_Step3,
MovementType_WanderAround_Step4,
MovementType_WanderAround_Step5,
MovementType_WanderAround_Step6,
};
const u8 gStandardDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST};
u8 (*const gGetVectorDirectionFuncs[])(s16, s16, s16, s16) = {
GetVectorDirection,
GetLimitedVectorDirection_SouthNorth,
GetLimitedVectorDirection_WestEast,
GetLimitedVectorDirection_WestNorth,
GetLimitedVectorDirection_EastNorth,
GetLimitedVectorDirection_WestSouth,
GetLimitedVectorDirection_EastSouth,
GetLimitedVectorDirection_SouthNorthWest,
GetLimitedVectorDirection_SouthNorthEast,
GetLimitedVectorDirection_NorthWestEast,
GetLimitedVectorDirection_SouthWestEast,
};
u8 (*const gMovementTypeFuncs_LookAround[])(struct EventObject *, struct Sprite *) = {
MovementType_LookAround_Step0,
MovementType_LookAround_Step1,
MovementType_LookAround_Step2,
MovementType_LookAround_Step3,
MovementType_LookAround_Step4,
};
u8 (*const gMovementTypeFuncs_WanderUpAndDown[])(struct EventObject *, struct Sprite *) = {
MovementType_WanderUpAndDown_Step0,
MovementType_WanderUpAndDown_Step1,
MovementType_WanderUpAndDown_Step2,
MovementType_WanderUpAndDown_Step3,
MovementType_WanderUpAndDown_Step4,
MovementType_WanderUpAndDown_Step5,
MovementType_WanderUpAndDown_Step6,
};
const u8 gUpAndDownDirections[] = {DIR_SOUTH, DIR_NORTH};
u8 (*const gMovementTypeFuncs_WanderLeftAndRight[])(struct EventObject *, struct Sprite *) = {
MovementType_WanderLeftAndRight_Step0,
MovementType_WanderLeftAndRight_Step1,
MovementType_WanderLeftAndRight_Step2,
MovementType_WanderLeftAndRight_Step3,
MovementType_WanderLeftAndRight_Step4,
MovementType_WanderLeftAndRight_Step5,
MovementType_WanderLeftAndRight_Step6,
};
const u8 gLeftAndRightDirections[] = {DIR_WEST, DIR_EAST};
u8 (*const gMovementTypeFuncs_FaceDirection[])(struct EventObject *, struct Sprite *) = {
MovementType_FaceDirection_Step0,
MovementType_FaceDirection_Step1,
MovementType_FaceDirection_Step2,
};
u8 (*const gMovementTypeFuncs_BerryTreeGrowth[])(struct EventObject *, struct Sprite *) = {
MovementType_BerryTreeGrowth_Step0,
MovementType_BerryTreeGrowth_Step1,
MovementType_BerryTreeGrowth_Step2,
MovementType_BerryTreeGrowth_Step3,
MovementType_BerryTreeGrowth_Step4,
};
u8 (*const gMovementTypeFuncs_FaceDownAndUp[])(struct EventObject *, struct Sprite *) = {
MovementType_FaceDownAndUp_Step0,
MovementType_FaceDownAndUp_Step1,
MovementType_FaceDownAndUp_Step2,
MovementType_FaceDownAndUp_Step3,
MovementType_FaceDownAndUp_Step4,
};
u8 (*const gMovementTypeFuncs_FaceLeftAndRight[])(struct EventObject *, struct Sprite *) = {
MovementType_FaceLeftAndRight_Step0,
MovementType_FaceLeftAndRight_Step1,
MovementType_FaceLeftAndRight_Step2,
MovementType_FaceLeftAndRight_Step3,
MovementType_FaceLeftAndRight_Step4,
};
u8 (*const gMovementTypeFuncs_FaceUpAndLeft[])(struct EventObject *, struct Sprite *) = {
MovementType_FaceUpAndLeft_Step0,
MovementType_FaceUpAndLeft_Step1,
MovementType_FaceUpAndLeft_Step2,
MovementType_FaceUpAndLeft_Step3,
MovementType_FaceUpAndLeft_Step4,
};
const u8 gUpAndLeftDirections[] = {DIR_NORTH, DIR_WEST};
u8 (*const gMovementTypeFuncs_FaceUpAndRight[])(struct EventObject *, struct Sprite *) = {
MovementType_FaceUpAndRight_Step0,
MovementType_FaceUpAndRight_Step1,
MovementType_FaceUpAndRight_Step2,
MovementType_FaceUpAndRight_Step3,
MovementType_FaceUpAndRight_Step4,
};
const u8 gUpAndRightDirections[] = {DIR_NORTH, DIR_EAST};
u8 (*const gMovementTypeFuncs_FaceDownAndLeft[])(struct EventObject *, struct Sprite *) = {
MovementType_FaceDownAndLeft_Step0,
MovementType_FaceDownAndLeft_Step1,
MovementType_FaceDownAndLeft_Step2,
MovementType_FaceDownAndLeft_Step3,
MovementType_FaceDownAndLeft_Step4,
};
const u8 gDownAndLeftDirections[] = {DIR_SOUTH, DIR_WEST};
u8 (*const gMovementTypeFuncs_FaceDownAndRight[])(struct EventObject *, struct Sprite *) = {
MovementType_FaceDownAndRight_Step0,
MovementType_FaceDownAndRight_Step1,
MovementType_FaceDownAndRight_Step2,
MovementType_FaceDownAndRight_Step3,
MovementType_FaceDownAndRight_Step4,
};
const u8 gDownAndRightDirections[] = {DIR_SOUTH, DIR_EAST};
u8 (*const gMovementTypeFuncs_FaceDownUpAndLeft[])(struct EventObject *, struct Sprite *) = {
MovementType_FaceDownUpAndLeft_Step0,
MovementType_FaceDownUpAndLeft_Step1,
MovementType_FaceDownUpAndLeft_Step2,
MovementType_FaceDownUpAndLeft_Step3,
MovementType_FaceDownUpAndLeft_Step4,
};
const u8 gDownUpAndLeftDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_SOUTH};
u8 (*const gMovementTypeFuncs_FaceDownUpAndRight[])(struct EventObject *, struct Sprite *) = {
MovementType_FaceDownUpAndRight_Step0,
MovementType_FaceDownUpAndRight_Step1,
MovementType_FaceDownUpAndRight_Step2,
MovementType_FaceDownUpAndRight_Step3,
MovementType_FaceDownUpAndRight_Step4,
};
const u8 gDownUpAndRightDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_SOUTH};
u8 (*const gMovementTypeFuncs_FaceUpLeftAndRight[])(struct EventObject *, struct Sprite *) = {
MovementType_FaceUpLeftAndRight_Step0,
MovementType_FaceUpLeftAndRight_Step1,
MovementType_FaceUpLeftAndRight_Step2,
MovementType_FaceUpLeftAndRight_Step3,
MovementType_FaceUpLeftAndRight_Step4,
};
const u8 gUpLeftAndRightDirections[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_NORTH};
u8 (*const gMovementTypeFuncs_FaceDownLeftAndRight[])(struct EventObject *, struct Sprite *) = {
MovementType_FaceDownLeftAndRight_Step0,
MovementType_FaceDownLeftAndRight_Step1,
MovementType_FaceDownLeftAndRight_Step2,
MovementType_FaceDownLeftAndRight_Step3,
MovementType_FaceDownLeftAndRight_Step4,
};
const u8 gDownLeftAndRightDirections[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH};
u8 (*const gMovementTypeFuncs_RotateCounterclockwise[])(struct EventObject *, struct Sprite *) = {
MovementType_RotateCounterclockwise_Step0,
MovementType_RotateCounterclockwise_Step1,
MovementType_RotateCounterclockwise_Step2,
MovementType_RotateCounterclockwise_Step3,
};
const u8 gCounterclockwiseDirections[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH};
u8 (*const gMovementTypeFuncs_RotateClockwise[])(struct EventObject *, struct Sprite *) = {
MovementType_RotateClockwise_Step0,
MovementType_RotateClockwise_Step1,
MovementType_RotateClockwise_Step2,
MovementType_RotateClockwise_Step3,
};
const u8 gClockwiseDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH};
u8 (*const gMovementTypeFuncs_WalkBackAndForth[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkBackAndForth_Step0,
MovementType_WalkBackAndForth_Step1,
MovementType_WalkBackAndForth_Step2,
MovementType_WalkBackAndForth_Step3,
};
u8 (*const gMovementTypeFuncs_WalkSequenceUpRightLeftDown[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceUpRightLeftDown_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUpRightLeftDownDirections[] = {DIR_NORTH, DIR_EAST, DIR_WEST, DIR_SOUTH};
u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftDownUp[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceRightLeftDownUp_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gRightLeftDownUpDirections[] = {DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH};
u8 (*const gMovementTypeFuncs_WalkSequenceDownUpRightLeft[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceDownUpRightLeft_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gDownUpRightLeftDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_WEST};
u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownUpRight[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceLeftDownUpRight_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gLeftDownUpRightDirections[] = {DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_EAST};
u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftRightDown[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceUpLeftRightDown_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUpLeftRightDownDirections[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH};
u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightDownUp[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceLeftRightDownUp_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gLeftRightDownUpDirections[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH};
u8 (*const gMovementTypeFuncs_WalkSequenceDownUpLeftRight[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceDownUpLeftRight_Step1,
MovementType_WalkSequence_Step2,
};
u8 (*const gMovementTypeFuncs_WalkSequenceRightDownUpLeft[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceRightDownUpLeft_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gRightDownUpLeftDirections[] = {DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST};
u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpDownRight[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceLeftUpDownRight_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gLeftUpDownRightDirections[] = {DIR_WEST, DIR_NORTH, DIR_SOUTH, DIR_EAST};
u8 (*const gMovementTypeFuncs_WalkSequenceUpDownRightLeft[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceUpDownRightLeft_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUpDownRightLeftDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_EAST, DIR_WEST};
u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftUpDown[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceRightLeftUpDown_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gRightLeftUpDownDirections[] = {DIR_EAST, DIR_WEST, DIR_NORTH, DIR_SOUTH};
u8 (*const gMovementTypeFuncs_WalkSequenceDownRightLeftUp[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceDownRightLeftUp_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gDownRightLeftUpDirections[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH};
u8 (*const gMovementTypeFuncs_WalkSequenceRightUpDownLeft[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceRightUpDownLeft_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gRightUpDownLeftDirections[] = {DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST};
u8 (*const gMovementTypeFuncs_WalkSequenceUpDownLeftRight[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceUpDownLeftRight_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUpDownLeftRightDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST};
u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightUpDown[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceLeftRightUpDown_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gLeftRightUpDownDirections[] = {DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH};
u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftRightUp[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceDownLeftRightUp_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gDownLeftRightUpDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH};
u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftDownRight[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceUpLeftDownRight_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUpLeftDownRightDirections[] = {DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST};
u8 (*const gMovementTypeFuncs_WalkSequenceDownRightUpLeft[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceDownRightUpLeft_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gDownRightUpLeftDirections[] = {DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST};
u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownRightUp[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceLeftDownRightUp_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gLeftDownRightUpDirections[] = {DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_NORTH};
u8 (*const gMovementTypeFuncs_WalkSequenceRightUpLeftDown[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceRightUpLeftDown_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gRightUpLeftDownDirections[] = {DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH};
u8 (*const gMovementTypeFuncs_WalkSequenceUpRightDownLeft[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceUpRightDownLeft_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUpRightDownLeftDirections[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST};
u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftUpRight[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceDownLeftUpRight_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gDownLeftUpRightDirections[] = {DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_EAST};
u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpRightDown[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceLeftUpRightDown_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gLeftUpRightDownDirections[] = {DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH};
u8 (*const gMovementTypeFuncs_WalkSequenceRightDownLeftUp[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceRightDownLeftUp_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gRightDownLeftUpDirections[] = {DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH};
u8 (*const gMovementTypeFuncs_CopyPlayer[])(struct EventObject *, struct Sprite *) = {
MovementType_CopyPlayer_Step0,
MovementType_CopyPlayer_Step1,
MovementType_CopyPlayer_Step2,
};
bool8 (*const gCopyPlayerMovementFuncs[])(struct EventObject *, struct Sprite *, u8, bool8(u8)) = {
CopyablePlayerMovement_None,
CopyablePlayerMovement_FaceDirection,
CopyablePlayerMovement_GoSpeed0,
CopyablePlayerMovement_GoSpeed1,
CopyablePlayerMovement_GoSpeed2,
CopyablePlayerMovement_Slide,
cph_IM_DIFFERENT,
CopyablePlayerMovement_GoSpeed4,
CopyablePlayerMovement_Jump,
CopyablePlayerMovement_None,
CopyablePlayerMovement_None,
};
u8 (*const gMovementTypeFuncs_CopyPlayerInGrass[])(struct EventObject *, struct Sprite *) = {
MovementType_CopyPlayer_Step0,
MovementType_CopyPlayerInGrass_Step1,
MovementType_CopyPlayer_Step2,
};
u8 (*const gMovementTypeFuncs_Hidden[])(struct EventObject *, struct Sprite *) = {
MovementType_Hidden_Step0,
};
u8 (*const gMovementTypeFuncs_WalkInPlace[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkInPlace_Step0,
MovementType_MoveInPlace_Step1,
};
u8 (*const gMovementTypeFuncs_WalkSlowlyInPlace[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSlowlyInPlace_Step0,
MovementType_MoveInPlace_Step1,
};
u8 (*const gMovementTypeFuncs_JogInPlace[])(struct EventObject *, struct Sprite *) = {
MovementType_JogInPlace_Step0,
MovementType_MoveInPlace_Step1,
};
u8 (*const gMovementTypeFuncs_RunInPlace[])(struct EventObject *, struct Sprite *) = {
MovementType_RunInPlace_Step0,
MovementType_MoveInPlace_Step1,
};
u8 (*const gMovementTypeFuncs_Invisible[])(struct EventObject *, struct Sprite *) = {
MovementType_Invisible_Step0,
MovementType_Invisible_Step1,
MovementType_Invisible_Step2,
};
#endif //GUARD_MOVEMENT_TYPE_FUNC_TABLES_H
+27 -27
View File
@@ -17,7 +17,7 @@
#include "field_player_avatar.h"
#include "field_camera.h"
#include "field_screen.h"
#include "field_map_obj.h"
#include "event_object_movement.h"
#include "list_menu.h"
#include "menu_helpers.h"
#include "menu.h"
@@ -32,7 +32,7 @@
#include "tilesets.h"
#include "item_icon.h"
#include "trader.h"
#include "constants/map_objects.h"
#include "constants/event_objects.h"
#include "decoration_inventory.h"
#include "decoration.h"
#include "graphics.h"
@@ -1202,15 +1202,15 @@ void sub_8127E18(void)
if (FlagGet(0xAE + i) == TRUE)
{
FlagClear(0xAE + i);
for (j = 0; j < gMapHeader.events->mapObjectCount; j ++)
for (j = 0; j < gMapHeader.events->eventObjectCount; j ++)
{
if (gMapHeader.events->mapObjects[j].flagId == 0xAE + i)
if (gMapHeader.events->eventObjects[j].flagId == 0xAE + i)
{
break;
}
}
VarSet(0x3F20 + gMapHeader.events->mapObjects[j].graphicsId, sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0]);
gSpecialVar_0x8005 = gMapHeader.events->mapObjects[j].localId;
VarSet(0x3F20 + gMapHeader.events->eventObjects[j].graphicsId, sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0]);
gSpecialVar_0x8005 = gMapHeader.events->eventObjects[j].localId;
gSpecialVar_0x8006 = sCurDecorMapX;
gSpecialVar_0x8007 = sCurDecorMapY;
show_sprite(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
@@ -1321,11 +1321,11 @@ void SetUpPlacingDecorationPlayerAvatar(u8 taskId, struct PlaceDecorationGraphic
}
if (gSaveBlock2Ptr->playerGender == MALE)
{
sDecor_CameraSpriteObjectIdx2 = AddPseudoFieldObject(0xC1, SpriteCallbackDummy, v0, 0x48, 0);
sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC1, SpriteCallbackDummy, v0, 0x48, 0);
}
else
{
sDecor_CameraSpriteObjectIdx2 = AddPseudoFieldObject(0xC2, SpriteCallbackDummy, v0, 0x48, 0);
sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC2, SpriteCallbackDummy, v0, 0x48, 0);
}
gSprites[sDecor_CameraSpriteObjectIdx2].oam.priority = 1;
DestroySprite(&gSprites[sDecor_CameraSpriteObjectIdx1]);
@@ -1466,7 +1466,7 @@ bool8 sub_812853C(u8 taskId, const struct Decoration *decoration)
{
return FALSE;
}
behaviorAt = GetFieldObjectIdByXYZ(curX, curY, 0);
behaviorAt = GetEventObjectIdByXYZ(curX, curY, 0);
if (behaviorAt != 0 && behaviorAt != 16)
{
return FALSE;
@@ -1491,7 +1491,7 @@ bool8 sub_812853C(u8 taskId, const struct Decoration *decoration)
{
return FALSE;
}
if (GetFieldObjectIdByXYZ(curX, curY, 0) != 16)
if (GetEventObjectIdByXYZ(curX, curY, 0) != 16)
{
return FALSE;
}
@@ -1511,7 +1511,7 @@ bool8 sub_812853C(u8 taskId, const struct Decoration *decoration)
{
return FALSE;
}
behaviorAt = GetFieldObjectIdByXYZ(curX, curY, 0);
behaviorAt = GetEventObjectIdByXYZ(curX, curY, 0);
if (behaviorAt != 0 && behaviorAt != 16)
{
return FALSE;
@@ -1556,7 +1556,7 @@ bool8 sub_812853C(u8 taskId, const struct Decoration *decoration)
return FALSE;
}
}
if (GetFieldObjectIdByXYZ(curX, curY, 0) != 16)
if (GetEventObjectIdByXYZ(curX, curY, 0) != 16)
{
return FALSE;
}
@@ -1990,7 +1990,7 @@ u8 gpu_pal_decompress_alloc_tag_and_upload(struct PlaceDecorationGraphicsDataBuf
data->decoration = &gDecorations[decor];
if (data->decoration->permission == DECORPERM_SOLID_MAT)
{
return AddPseudoFieldObject(data->decoration->tiles[0], SpriteCallbackDummy, 0, 0, 1);
return AddPseudoEventObject(data->decoration->tiles[0], SpriteCallbackDummy, 0, 0, 1);
}
FreeSpritePaletteByTag(OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG);
sub_81291E8(data);
@@ -2040,7 +2040,7 @@ const u8 *GetDecorationIconPicOrPalette(u16 decor, u8 mode)
return gUnknown_085A6BE8[decor][mode];
}
u8 AddDecorationIconObjectFromFieldObject(u16 tilesTag, u16 paletteTag, u8 decor)
u8 AddDecorationIconObjectFromEventObject(u16 tilesTag, u16 paletteTag, u8 decor)
{
u8 spriteId;
struct SpriteSheet sheet;
@@ -2071,7 +2071,7 @@ u8 AddDecorationIconObjectFromFieldObject(u16 tilesTag, u16 paletteTag, u8 decor
}
else
{
spriteId = AddPseudoFieldObject(sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0], SpriteCallbackDummy, 0, 0, 1);
spriteId = AddPseudoEventObject(sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0], SpriteCallbackDummy, 0, 0, 1);
}
return spriteId;
}
@@ -2092,7 +2092,7 @@ u8 AddDecorationIconObject(u8 decor, s16 x, s16 y, u8 priority, u16 tilesTag, u1
}
else if (gUnknown_085A6BE8[decor][0] == NULL)
{
spriteId = AddDecorationIconObjectFromFieldObject(tilesTag, paletteTag, decor);
spriteId = AddDecorationIconObjectFromEventObject(tilesTag, paletteTag, decor);
if (spriteId == MAX_SPRITES)
{
return MAX_SPRITES;
@@ -2141,11 +2141,11 @@ void sub_8129708(void)
{
gSpecialVar_0x8005 = sDecorRearrangementDataBuffer[gSpecialVar_0x8004].flagId;
sub_81296EC(sDecorRearrangementDataBuffer[gSpecialVar_0x8004].idx);
for (i = 0; i < gMapHeader.events->mapObjectCount; i ++)
for (i = 0; i < gMapHeader.events->eventObjectCount; i ++)
{
if (gMapHeader.events->mapObjects[i].flagId == gSpecialVar_0x8005)
if (gMapHeader.events->eventObjects[i].flagId == gSpecialVar_0x8005)
{
gSpecialVar_0x8006 = gMapHeader.events->mapObjects[i].localId;
gSpecialVar_0x8006 = gMapHeader.events->eventObjects[i].localId;
break;
}
}
@@ -2156,11 +2156,11 @@ void sub_81297AC(void)
{
u8 i;
for (i = 0; i < gMapHeader.events->mapObjectCount; i ++)
for (i = 0; i < gMapHeader.events->eventObjectCount; i ++)
{
if (gMapHeader.events->mapObjects[i].flagId == gSpecialVar_0x8004)
if (gMapHeader.events->eventObjects[i].flagId == gSpecialVar_0x8004)
{
gSpecialVar_0x8005 = gMapHeader.events->mapObjects[i].localId;
gSpecialVar_0x8005 = gMapHeader.events->eventObjects[i].localId;
break;
}
}
@@ -2247,17 +2247,17 @@ bool8 sub_81299AC(u8 taskId)
void SetUpPuttingAwayDecorationPlayerAvatar(void)
{
player_get_direction_lower_nybble();
GetPlayerFacingDirection();
sDecor_CameraSpriteObjectIdx1 = gSprites[gUnknown_03005DD0.spriteId].data[0];
sub_812A39C();
gUnknown_03005DD0.spriteId = CreateSprite(&gUnknown_085A7404, 0x78, 0x50, 0);
if (gSaveBlock2Ptr->playerGender == MALE)
{
sDecor_CameraSpriteObjectIdx2 = AddPseudoFieldObject(0xC1, SpriteCallbackDummy, 0x88, 0x48, 0);
sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC1, SpriteCallbackDummy, 0x88, 0x48, 0);
}
else
{
sDecor_CameraSpriteObjectIdx2 = AddPseudoFieldObject(0xC2, SpriteCallbackDummy, 0x88, 0x48, 0);
sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC2, SpriteCallbackDummy, 0x88, 0x48, 0);
}
gSprites[sDecor_CameraSpriteObjectIdx2].oam.priority = 1;
DestroySprite(&gSprites[sDecor_CameraSpriteObjectIdx1]);
@@ -2451,9 +2451,9 @@ void sub_8129F20(void)
yOff = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].idx] & 0x0F;
for (i = 0; i < 0x40; i ++)
{
if (gSaveBlock1Ptr->mapObjectTemplates[i].x == xOff && gSaveBlock1Ptr->mapObjectTemplates[i].y == yOff && !FlagGet(gSaveBlock1Ptr->mapObjectTemplates[i].flagId))
if (gSaveBlock1Ptr->eventObjectTemplates[i].x == xOff && gSaveBlock1Ptr->eventObjectTemplates[i].y == yOff && !FlagGet(gSaveBlock1Ptr->eventObjectTemplates[i].flagId))
{
sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].flagId = gSaveBlock1Ptr->mapObjectTemplates[i].flagId;
sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].flagId = gSaveBlock1Ptr->eventObjectTemplates[i].flagId;
break;
}
}
+1 -1
View File
@@ -190,7 +190,7 @@ bool8 VarSet(u16 id, u16 value)
return TRUE;
}
u8 VarGetFieldObjectGraphicsId(u8 id)
u8 VarGetEventObjectGraphicsId(u8 id)
{
return VarGet(0x4010 + id);
}
+32 -33
View File
@@ -1,9 +1,8 @@
#include "global.h"
#include "event_data.h"
#include "field_map_obj.h"
#include "field_map_obj_helpers.h"
#include "event_object_movement.h"
#include "field_player_avatar.h"
#include "map_obj_lock.h"
#include "event_obj_lock.h"
#include "script_movement.h"
#include "task.h"
#include "trainer_see.h"
@@ -39,9 +38,9 @@ bool8 sub_80983C4(void)
}
void ScriptFreezeMapObjects(void)
void ScriptFreezeEventObjects(void)
{
FreezeMapObjects();
FreezeEventObjects();
CreateTask(sub_80983A4, 80);
}
@@ -54,9 +53,9 @@ static void sub_8098400(u8 taskId)
sub_808B864();
task->data[0] = 1;
}
if (!task->data[1] && !gMapObjects[gSelectedMapObject].mapobj_bit_1)
if (!task->data[1] && !gEventObjects[gSelectedEventObject].singleMovementActive)
{
FreezeMapObject(&gMapObjects[gSelectedMapObject]);
FreezeEventObject(&gEventObjects[gSelectedEventObject]);
task->data[1] = 1;
}
if (task->data[0] && task->data[1])
@@ -76,61 +75,61 @@ bool8 sub_809847C(void)
}
}
void LockSelectedMapObject(void)
void LockSelectedEventObject(void)
{
u8 taskId;
FreezeMapObjectsExceptOne(gSelectedMapObject);
FreezeEventObjectsExceptOne(gSelectedEventObject);
taskId = CreateTask(sub_8098400, 80);
if (!gMapObjects[gSelectedMapObject].mapobj_bit_1)
if (!gEventObjects[gSelectedEventObject].singleMovementActive)
{
FreezeMapObject(&gMapObjects[gSelectedMapObject]);
FreezeEventObject(&gEventObjects[gSelectedEventObject]);
gTasks[taskId].data[1] = 1;
}
}
void sub_80984F4(void)
{
u8 objectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0);
FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[objectId]);
u8 objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]);
sub_80D338C();
UnfreezeMapObjects();
UnfreezeEventObjects();
}
void sub_8098524(void)
{
u8 objectId;
if (gMapObjects[gSelectedMapObject].active)
FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[gSelectedMapObject]);
objectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0);
FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[objectId]);
if (gEventObjects[gSelectedEventObject].active)
EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]);
objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]);
sub_80D338C();
UnfreezeMapObjects();
UnfreezeEventObjects();
}
void sub_8098574(void)
{
FieldObjectFaceOppositeDirection(&gMapObjects[gSelectedMapObject], gSpecialVar_Facing);
EventObjectFaceOppositeDirection(&gEventObjects[gSelectedEventObject], gSpecialVar_Facing);
}
void sub_809859C(void)
{
FieldObjectClearAnimIfSpecialAnimActive(&gMapObjects[gSelectedMapObject]);
EventObjectClearHeldMovementIfActive(&gEventObjects[gSelectedEventObject]);
}
static void sub_80985BC(u8 taskId)
{
struct Task *task = &gTasks[taskId];
u8 mapObjectId = task->data[2];
u8 eventObjectId = task->data[2];
if (!task->data[0] && walkrun_is_standing_still() == TRUE)
{
sub_808B864();
task->data[0] = 1;
}
if (!task->data[1] && !gMapObjects[mapObjectId].mapobj_bit_1)
if (!task->data[1] && !gEventObjects[eventObjectId].singleMovementActive)
{
FreezeMapObject(&gMapObjects[mapObjectId]);
FreezeEventObject(&gEventObjects[eventObjectId]);
task->data[1] = 1;
}
if (task->data[0] && task->data[1])
@@ -140,34 +139,34 @@ static void sub_80985BC(u8 taskId)
void sub_8098630(void)
{
u8 trainerObjectId1, trainerObjectId2, taskId;
trainerObjectId1 = GetChosenApproachingTrainerMapObjectId(0);
trainerObjectId1 = GetChosenApproachingTrainerEventObjectId(0);
if(gNoOfApproachingTrainers == 2)
{
trainerObjectId2 = GetChosenApproachingTrainerMapObjectId(1);
trainerObjectId2 = GetChosenApproachingTrainerEventObjectId(1);
sub_8098074(trainerObjectId1, trainerObjectId2);
taskId = CreateTask(sub_80985BC, 80);
gTasks[taskId].data[2] = trainerObjectId1;
if(!gMapObjects[trainerObjectId1].mapobj_bit_1)
if(!gEventObjects[trainerObjectId1].singleMovementActive)
{
FreezeMapObject(&gMapObjects[trainerObjectId1]);
FreezeEventObject(&gEventObjects[trainerObjectId1]);
gTasks[taskId].data[1] = 1;
}
taskId = CreateTask(sub_80985BC, 81);
gTasks[taskId].data[2] = trainerObjectId2;
if(!gMapObjects[trainerObjectId2].mapobj_bit_1)
if(!gEventObjects[trainerObjectId2].singleMovementActive)
{
FreezeMapObject(&gMapObjects[trainerObjectId2]);
FreezeEventObject(&gEventObjects[trainerObjectId2]);
gTasks[taskId].data[1] = 1;
}
}
else
{
FreezeMapObjectsExceptOne(trainerObjectId1);
FreezeEventObjectsExceptOne(trainerObjectId1);
taskId = CreateTask(sub_80985BC, 80);
gTasks[taskId].data[2] = trainerObjectId1;
if(!gMapObjects[trainerObjectId1].mapobj_bit_1)
if(!gEventObjects[trainerObjectId1].singleMovementActive)
{
FreezeMapObject(&gMapObjects[trainerObjectId1]);
FreezeEventObject(&gEventObjects[trainerObjectId1]);
gTasks[taskId].data[1] = 1;
}
}
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -4,7 +4,7 @@
#include "field_camera.h"
#include "field_player_avatar.h"
#include "fieldmap.h"
#include "field_map_obj.h"
#include "event_object_movement.h"
#include "gpu_regs.h"
#include "menu.h"
#include "overworld.h"
@@ -406,7 +406,7 @@ void CameraUpdate(void)
if (deltaX != 0 || deltaY != 0)
{
CameraMove(deltaX, deltaY);
UpdateFieldObjectsForCameraUpdate(deltaX, deltaY);
UpdateEventObjectsForCameraUpdate(deltaX, deltaY);
RotatingGatePuzzleCameraUpdate(deltaX, deltaY);
ResetBerryTreeSparkleFlags();
tilemap_move_something(&gUnknown_03000E20, deltaX * 2, deltaY * 2);
@@ -421,7 +421,7 @@ void CameraUpdate(void)
void camera_move_and_redraw(int a, int b) //unused
{
CameraMove(a, b);
UpdateFieldObjectsForCameraUpdate(a, b);
UpdateEventObjectsForCameraUpdate(a, b);
DrawWholeMapView();
gUnknown_03005DEC -= a * 16;
gUnknown_03005DE8 -= b * 16;
@@ -477,7 +477,7 @@ static void CameraPanningCB_PanAhead(void)
gUnknown_03000E2C = 0;
}
var = player_get_direction_upper_nybble();
var = GetPlayerMovementDirection();
if (var == 2)
{
if (gUnknown_03000E2A > -8)
+214 -215
View File
File diff suppressed because it is too large Load Diff
-5119
View File
File diff suppressed because it is too large Load Diff
-705
View File
@@ -1,705 +0,0 @@
#include "global.h"
#include "field_ground_effect.h"
#include "field_map_obj.h"
#include "field_effect.h"
#include "field_map_obj_helpers.h"
#include "malloc.h"
#include "task.h"
#include "util.h"
typedef void (*SpriteStepFunc)(struct Sprite *sprite, u8 dir);
extern const struct Coords16 gUnknown_0850DB7C[4];
extern s16 gUnknown_0850E768[];
extern SpriteStepFunc *const gUnknown_0850E754[];
extern const s8 gUnknown_0850E772[];
extern const s8 gUnknown_0850E7BA[];
extern const s8 *const gUnknown_0850E834[];
extern s16 gUnknown_0850E840[];
extern u8 gUnknown_0850E846[];
extern s16 gUnknown_0850E84A[];
extern u8 gUnknown_0850E850[];
void sub_8097D68(struct Sprite *sprite);
void sub_8097FE4(u8);
bool8 FreezeMapObject(struct MapObject *mapObject)
{
if (mapObject->mapobj_bit_6 || mapObject->mapobj_bit_8)
{
return TRUE;
}
else
{
mapObject->mapobj_bit_8 = 1;
mapObject->mapobj_bit_23 = gSprites[mapObject->spriteId].animPaused;
mapObject->mapobj_bit_24 = gSprites[mapObject->spriteId].affineAnimPaused;
gSprites[mapObject->spriteId].animPaused = 1;
gSprites[mapObject->spriteId].affineAnimPaused = 1;
return FALSE;
}
}
void FreezeMapObjects(void)
{
u8 i;
for (i = 0; i < MAP_OBJECTS_COUNT; i++)
if (gMapObjects[i].active && i != gPlayerAvatar.mapObjectId)
FreezeMapObject(&gMapObjects[i]);
}
void FreezeMapObjectsExceptOne(u8 a1)
{
u8 i;
for (i = 0; i < MAP_OBJECTS_COUNT; i++)
if (i != a1 && gMapObjects[i].active && i != gPlayerAvatar.mapObjectId)
FreezeMapObject(&gMapObjects[i]);
}
void npc_sync_anim_pause_bits(struct MapObject *mapObject)
{
if (mapObject->active && mapObject->mapobj_bit_8)
{
mapObject->mapobj_bit_8 = 0;
gSprites[mapObject->spriteId].animPaused = mapObject->mapobj_bit_23;
gSprites[mapObject->spriteId].affineAnimPaused = mapObject->mapobj_bit_24;
}
}
void UnfreezeMapObjects(void)
{
u8 i;
for (i = 0; i < MAP_OBJECTS_COUNT; i++)
if (gMapObjects[i].active)
npc_sync_anim_pause_bits(&gMapObjects[i]);
}
void little_step(struct Sprite *sprite, u8 dir)
{
sprite->pos1.x += gUnknown_0850DB7C[dir].x;
sprite->pos1.y += gUnknown_0850DB7C[dir].y;
}
void double_little_steps(struct Sprite *sprite, u8 dir)
{
sprite->pos1.x += 2 * (u16) gUnknown_0850DB7C[dir].x;
sprite->pos1.y += 2 * (u16) gUnknown_0850DB7C[dir].y;
}
void triple_little_steps(struct Sprite *sprite, u8 dir)
{
sprite->pos1.x += 2 * (u16) gUnknown_0850DB7C[dir].x + (u16) gUnknown_0850DB7C[dir].x;
sprite->pos1.y += 2 * (u16) gUnknown_0850DB7C[dir].y + (u16) gUnknown_0850DB7C[dir].y;
}
void quad_little_steps(struct Sprite *sprite, u8 dir)
{
sprite->pos1.x += 4 * (u16) gUnknown_0850DB7C[dir].x;
sprite->pos1.y += 4 * (u16) gUnknown_0850DB7C[dir].y;
}
void oct_little_steps(struct Sprite *sprite, u8 dir)
{
sprite->pos1.x += 8 * (u16) gUnknown_0850DB7C[dir].x;
sprite->pos1.y += 8 * (u16) gUnknown_0850DB7C[dir].y;
}
void oamt_npc_ministep_reset(struct Sprite *sprite, u8 a2, u8 a3)
{
sprite->data[3] = a2;
sprite->data[4] = a3;
sprite->data[5] = 0;
}
bool8 obj_npc_ministep(struct Sprite *sprite)
{
if (sprite->data[5] >= gUnknown_0850E768[sprite->data[4]])
return FALSE;
gUnknown_0850E754[sprite->data[4]][sprite->data[5]](sprite, sprite->data[3]);
sprite->data[5]++;
if (sprite->data[5] < gUnknown_0850E768[sprite->data[4]])
return FALSE;
return TRUE;
}
void sub_80976DC(struct Sprite *sprite, u8 a2)
{
sprite->data[3] = a2;
sprite->data[4] = 0;
sprite->data[5] = 0;
}
bool8 sub_80976EC(struct Sprite *sprite)
{
if (!(sprite->data[4] & 1))
{
little_step(sprite, sprite->data[3]);
sprite->data[5]++;
}
sprite->data[4]++;
if (sprite->data[5] > 15)
return TRUE;
else
return FALSE;
}
// new helper added here in the middle. Perhaps Game Freak kept these organized in alphebetical order or some other heirarchy?
s16 sub_8097728(s16 a1)
{
return gUnknown_0850E7BA[a1];
}
s16 sub_809773C(s16 a1)
{
return gUnknown_0850E772[a1];
}
void sub_8097750(struct Sprite *sprite)
{
sprite->data[6] = 0;
sprite->data[7] = 0;
}
bool8 sub_8097758(struct Sprite *sprite)
{
bool8 result = FALSE;
switch(sprite->data[7])
{
case 0:
sprite->pos2.x += sub_809773C(sprite->data[6]);
sprite->pos2.y += sub_8097728(sprite->data[6]);
break;
case 1:
sprite->pos2.x -= sub_809773C(0x47 - sprite->data[6]);
sprite->pos2.y += sub_8097728(0x47 - sprite->data[6]);
break;
case 2:
sprite->pos2.x -= sub_809773C(sprite->data[6]);
sprite->pos2.y += sub_8097728(sprite->data[6]);
break;
case 3:
sprite->pos2.x += sub_809773C(0x47 - sprite->data[6]);
sprite->pos2.y += sub_8097728(0x47 - sprite->data[6]);
break;
}
if(++sprite->data[6] == 0x48)
{
sprite->data[6] = 0;
sprite->data[7]++;
}
if(sprite->data[7] == 0x4)
{
sprite->pos2.y = 0;
sprite->pos2.x = 0;
result = TRUE;
}
return result;
}
s16 sub_8097820(s16 a1, u8 a2)
{
return gUnknown_0850E834[a2][a1];
}
void sub_809783C(struct Sprite *sprite, u8 a2, u8 a3, u8 a4)
{
sprite->data[3] = a2;
sprite->data[4] = a3;
sprite->data[5] = a4;
sprite->data[6] = 0;
}
u8 sub_809785C(struct Sprite *sprite)
{
s16 v5[3];
u8 v6[3];
u8 v2;
memcpy(v5, gUnknown_0850E840, 6); // TODO: get rid of memcpy
memcpy(v6, gUnknown_0850E846, 3);
v2 = 0;
if (sprite->data[4])
little_step(sprite, sprite->data[3]);
sprite->pos2.y = sub_8097820(sprite->data[6] >> v6[sprite->data[4]], sprite->data[5]);
sprite->data[6]++;
if (sprite->data[6] == (v5[sprite->data[4]] >> 1))
v2 = 1;
if (sprite->data[6] >= v5[sprite->data[4]])
{
sprite->pos2.y = 0;
v2 = -1;
}
return v2;
}
u8 sub_80978E4(struct Sprite *sprite)
{
s16 v5[3];
u8 v6[3];
u8 v2;
memcpy(v5, gUnknown_0850E84A, 6);
memcpy(v6, gUnknown_0850E850, 3);
v2 = 0;
if (sprite->data[4] && !(sprite->data[6] & 1))
little_step(sprite, sprite->data[3]);
sprite->pos2.y = sub_8097820(sprite->data[6] >> v6[sprite->data[4]], sprite->data[5]);
sprite->data[6]++;
if (sprite->data[6] == (v5[sprite->data[4]] >> 1))
v2 = 1;
if (sprite->data[6] >= v5[sprite->data[4]])
{
sprite->pos2.y = 0;
v2 = -1;
}
return v2;
}
void SetFieldObjectStepTimer(struct Sprite *sprite, u16 timer)
{
sprite->data[3] = timer;
}
bool8 RunFieldObjectStepTimer(struct Sprite *sprite)
{
sprite->data[3]--;
if (sprite->data[3] == 0)
return TRUE;
else
return FALSE;
}
void obj_anim_image_set_and_seek(struct Sprite *sprite, u8 a2, u8 a3)
{
sprite->animNum = a2;
sprite->animPaused = 0 ;
SeekSpriteAnim(sprite, a3);
}
bool8 sub_80979BC(struct Sprite *sprite)
{
if (sprite->animEnded)
return TRUE;
else
return FALSE;
}
void sub_80979D4(struct Sprite *sprite, bool8 invisible)
{
u16 x, y;
s16 x2, y2;
sprite->invisible = invisible;
if (sprite->coordOffsetEnabled)
{
x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX + gSpriteCoordOffsetX;
y = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY;
}
else
{
x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX;
y = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY;
}
x2 = x - (sprite->centerToCornerVecX >> 1);
y2 = y - (sprite->centerToCornerVecY >> 1);
if ((s16)x > 255 || x2 < -16)
sprite->invisible = 1;
if ((s16)y > 175 || y2 < -16)
sprite->invisible = 1;
}
void sub_8097AC8(struct Sprite *sprite)
{
sub_8097D68(sprite);
SetObjectSubpriorityByZCoord(sprite->data[1], sprite, 1);
sub_80979D4(sprite, sprite->data[2]);
}
void sub_8097AF0(void)
{
int i;
for(i = 0; i < MAX_SPRITES; i++)
{
struct Sprite *sprite = &gSprites[i];
if(sprite->inUse && sprite->callback == sub_8097AC8)
DestroySprite(sprite);
}
}
int sub_8097B2C(u8 var) // this should return a u8, because all that call this shifts to u8, but it wont match because it doesnt shift u8 at the end.
{
int i;
for(i = 0; i < MAX_SPRITES; i++)
{
struct Sprite *sprite = &gSprites[i];
if(sprite->inUse && sprite->callback == sub_8097AC8 && (u8)sprite->data[0] == var)
return i;
}
return MAX_SPRITES;
}
void sub_8097B78(u8 var1, u8 var2)
{
u8 spriteId = sub_8097B2C(var1);
if(spriteId != MAX_SPRITES)
StartSpriteAnim(&gSprites[spriteId], FieldObjectDirectionToImageAnimId(var2));
}
void sub_8097BB4(u8 var1, u8 var2)
{
int spriteId = sub_8097B2C(var1);
if(spriteId != MAX_SPRITES)
{
struct Sprite *sprite = &gSprites[spriteId];
const struct MapObjectGraphicsInfo *gfxInfo = GetFieldObjectGraphicsInfo(var2);
u16 tileNum = sprite->oam.tileNum;
sprite->oam = *gfxInfo->oam;
sprite->oam.tileNum = tileNum;
sprite->oam.paletteNum = gfxInfo->paletteSlot;
sprite->images = gfxInfo->images;
if(gfxInfo->subspriteTables == NULL)
{
sprite->subspriteTables = NULL;
sprite->subspriteTableNum = 0;
sprite->subspriteMode = 0;
}
else
{
SetSubspriteTables(sprite, gfxInfo->subspriteTables);
sprite->subspriteMode = 2;
}
StartSpriteAnim(sprite, 0);
}
}
void sub_8097C44(u8 var, bool32 var2)
{
u8 spriteId = sub_8097B2C(var);
if(spriteId == MAX_SPRITES)
return;
if(var2)
gSprites[spriteId].data[2] = 1;
else
gSprites[spriteId].data[2] = 0;
}
bool32 sub_8097C8C(u8 var)
{
u8 spriteId = sub_8097B2C(var);
if(spriteId == MAX_SPRITES)
return FALSE;
return (gSprites[spriteId].data[2] == TRUE);
}
void sub_8097CC4(u8 var1, u8 var2)
{
u8 spriteId = sub_8097B2C(var1);
if(spriteId != MAX_SPRITES)
{
gSprites[spriteId].data[3] = var2;
gSprites[spriteId].data[4] = 0;
}
}
void sub_8097CF4(struct Sprite *sprite)
{
switch(sprite->data[4])
{
case 0:
sprite->pos2.y = 0;
sprite->data[4]++;
case 1:
sprite->pos2.y -= 8;
if(sprite->pos2.y == -160)
{
sprite->pos2.y = 0;
sprite->data[2] = 1;
sprite->data[3] = 0;
sprite->data[4] = 0;
}
}
}
void sub_8097D30(struct Sprite *sprite)
{
switch(sprite->data[4])
{
case 0:
sprite->pos2.y = -160;
sprite->data[4]++;
case 1:
sprite->pos2.y += 8;
if(sprite->pos2.y == 0)
{
sprite->data[3] = 0;
sprite->data[4] = 0;
}
}
}
void sub_8097D68(struct Sprite *sprite)
{
switch(sprite->data[3])
{
case 1:
sub_8097D30(sprite);
break;
case 2:
sub_8097CF4(sprite);
break;
case 0:
break;
default:
sprite->data[3] = 0;
break;
}
}
bool32 sub_8097D9C(u8 var)
{
u8 spriteId = sub_8097B2C(var);
if(spriteId == MAX_SPRITES)
return FALSE;
if(gSprites[spriteId].data[3] != FALSE)
return TRUE;
return FALSE;
}
u32 oe_exec_and_other_stuff(u8 fieldEffectId, struct MapObject *mapObject)
{
FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]);
return FieldEffectStart(fieldEffectId);
}
void DoShadowFieldEffect(struct MapObject *mapObject)
{
if (!mapObject->mapobj_bit_22)
{
mapObject->mapobj_bit_22 = 1;
oe_exec_and_other_stuff(FLDEFF_SHADOW, mapObject);
}
}
void DoRippleFieldEffect(struct MapObject *mapObject, struct Sprite *sprite)
{
const struct MapObjectGraphicsInfo *gfxInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId);
gFieldEffectArguments[0] = sprite->pos1.x;
gFieldEffectArguments[1] = sprite->pos1.y + (gfxInfo->height >> 1) - 2;
gFieldEffectArguments[2] = 151;
gFieldEffectArguments[3] = 3;
FieldEffectStart(FLDEFF_RIPPLE);
}
bool32 sub_8097E50(struct MapObject *mapObject, struct Sprite *sprite)
{
u32 one;
bool32 ableToStore = FALSE;
if (gUnknown_020375B8 == NULL)
{
gUnknown_020375B8 = AllocZeroed(0x14);
gUnknown_020375B8[0] = mapObject->localId;
// needed to match
gUnknown_020375B8[16] = (one = 1);
ableToStore = one;
}
else
{
u8 i;
u8 firstFreeSlot;
bool32 found;
for (firstFreeSlot = 16, found = FALSE, i = 0; i < 16; i++)
{
if (firstFreeSlot == 16 && gUnknown_020375B8[i] == 0)
firstFreeSlot = i;
if (gUnknown_020375B8[i] == mapObject->localId)
{
found = TRUE;
break;
}
}
if (!found && firstFreeSlot != 16)
{
gUnknown_020375B8[firstFreeSlot] = mapObject->localId;
gUnknown_020375B8[16]++;
ableToStore = TRUE;
}
}
if (ableToStore == TRUE)
{
mapObject->mapobj_bit_12 = TRUE;
mapObject->mapobj_bit_9 = TRUE;
}
sprite->data[2] = 1;
return TRUE;
}
bool32 sub_8097EF0(struct MapObject *mapObject, struct Sprite *sprite)
{
bool32 ableToStore;
u8 id;
sprite->data[2] = 1;
if (gUnknown_020375B8 != NULL)
{
ableToStore = FALSE;
id = sub_8097F78(mapObject);
if (id != 16)
{
gUnknown_020375B8[id] = 0;
gUnknown_020375B8[16]--;
ableToStore = TRUE;
}
if (gUnknown_020375B8[16] == 0)
FREE_AND_SET_NULL(gUnknown_020375B8);
if (ableToStore == TRUE)
{
mapObject->mapobj_bit_12 = GetFieldObjectGraphicsInfo(mapObject->graphicsId)->inanimate;
mapObject->mapobj_bit_9 = 0;
sprite->animPaused = 0;
}
}
return TRUE;
}
u8 sub_8097F78(struct MapObject *mapObject)
{
u8 i;
for(i = 0; i < MAP_OBJECTS_COUNT; i++)
{
if(gUnknown_020375B8[i] == mapObject->localId)
return i;
}
return MAP_OBJECTS_COUNT;
}
void sub_8097FA4(struct MapObject *mapObject)
{
u8 taskId = CreateTask(sub_8097FE4, 0xFF);
struct Task *task = &gTasks[taskId];
StoreWordInTwoHalfwords(&task->data[0], (u32)mapObject);
mapObject->mapobj_unk_1B = taskId;
task->data[3] = 0xFFFF;
}
void sub_8097FE4(u8 taskId)
{
struct MapObject *mapObject;
struct Sprite *sprite;
struct Task *task = &gTasks[taskId];
LoadWordFromTwoHalfwords(&task->data[0], (u32 *)&mapObject); // load the map object pointer.
sprite = &gSprites[mapObject->spriteId];
if(!(task->data[2] & 0x3))
sprite->pos2.y += task->data[3];
if(!(task->data[2] & 0xF))
task->data[3] = -task->data[3];
task->data[2]++;
}
void sub_8098044(u8 taskId)
{
u32 word;
struct Task *task = &gTasks[taskId];
LoadWordFromTwoHalfwords(&task->data[0], &word); // huh??? why does it load a word that never gets used???
DestroyTask(taskId);
}
void sub_8098074(u8 var1, u8 var2)
{
u8 i;
for(i = 0; i < MAP_OBJECTS_COUNT; i++)
{
if(i != var1 && i != var2 &&
gMapObjects[i].active && i != gPlayerAvatar.mapObjectId)
FreezeMapObject(&gMapObjects[i]);
}
}
bool32 sub_80980C0(struct MapObject *mapObject, struct Sprite *sprite)
{
sprite->pos2.y = 0;
sprite->data[2]++;
return FALSE;
}
bool32 sub_80980D0(struct MapObject *mapObject, struct Sprite *sprite)
{
sprite->pos2.y -= 8;
if(sprite->pos2.y == -160)
sprite->data[2]++;
return FALSE;
}
bool32 sub_80980F4(struct MapObject *mapObject, struct Sprite *sprite)
{
sprite->pos2.y = -160;
sprite->data[2]++;
return FALSE;
}
bool32 sub_8098108(struct MapObject *mapObject, struct Sprite *sprite)
{
sprite->pos2.y += 8;
if(!sprite->pos2.y)
sprite->data[2]++;
return FALSE;
}
// though this function returns TRUE without doing anything, this header is required due to being in an array of functions which needs it.
bool32 sub_8098124(struct MapObject *mapObject, struct Sprite *sprite)
{
return TRUE;
}
+5 -5
View File
@@ -1,7 +1,7 @@
#include "global.h"
#include "task.h"
#include "sprite.h"
#include "field_map_obj.h"
#include "event_object_movement.h"
#include "constants/songs.h"
#include "sound.h"
#include "palette.h"
@@ -329,24 +329,24 @@ void Task_HandlePorthole(u8 taskId)
void sub_80FB6EC(void)
{
u8 spriteId = AddPseudoFieldObject(0x8C, SpriteCallbackDummy, 112, 80, 0);
u8 spriteId = AddPseudoEventObject(0x8C, SpriteCallbackDummy, 112, 80, 0);
gSprites[spriteId].coordOffsetEnabled = FALSE;
if (VarGet(0x40B4) == 2)
{
StartSpriteAnim(&gSprites[spriteId], FieldObjectDirectionToImageAnimId(4));
StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(4));
}
else
{
StartSpriteAnim(&gSprites[spriteId], FieldObjectDirectionToImageAnimId(3));
StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(3));
}
}
void sub_80FB768(void)
{
sub_80FB6EC();
gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = TRUE;
gEventObjects[gPlayerAvatar.eventObjectId].invisible = TRUE;
pal_fill_black();
CreateTask(Task_HandlePorthole, 80);
ScriptContext2_Enable();
+10 -10
View File
@@ -4,7 +4,7 @@
#include "constants/songs.h"
#include "event_data.h"
#include "field_camera.h"
#include "field_map_obj.h"
#include "event_object_movement.h"
#include "malloc.h"
#include "random.h"
#include "roulette_util.h"
@@ -179,17 +179,17 @@ void sub_81BE7F4(void)
static void sub_81BE808(u8 taskId)
{
u8 mapObjectIdBuffer;
struct MapObject *fieldMapObject;
struct MapObject *playerAvatarMapObject;
u8 eventObjectIdBuffer;
struct EventObject *fieldEventObject;
struct EventObject *playerAvatarEventObject;
TryGetFieldObjectIdByLocalIdAndMap(0x2D, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &mapObjectIdBuffer);
fieldMapObject = &(gMapObjects[mapObjectIdBuffer]);
gSprites[fieldMapObject->spriteId].pos2.y += 4;
playerAvatarMapObject = &(gMapObjects[gPlayerAvatar.mapObjectId]);
TryGetEventObjectIdByLocalIdAndMap(0x2D, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &eventObjectIdBuffer);
fieldEventObject = &(gEventObjects[eventObjectIdBuffer]);
gSprites[fieldEventObject->spriteId].pos2.y += 4;
playerAvatarEventObject = &(gEventObjects[gPlayerAvatar.eventObjectId]);
if((gSprites[fieldMapObject->spriteId].pos1.y + gSprites[fieldMapObject->spriteId].pos2.y) >=
(gSprites[playerAvatarMapObject->spriteId].pos1.y + gSprites[playerAvatarMapObject->spriteId].pos2.y))
if((gSprites[fieldEventObject->spriteId].pos1.y + gSprites[fieldEventObject->spriteId].pos2.y) >=
(gSprites[playerAvatarEventObject->spriteId].pos1.y + gSprites[playerAvatarEventObject->spriteId].pos2.y))
{
DestroyTask(taskId);
EnableBothScriptContexts();
+1 -1
View File
@@ -4,7 +4,7 @@
#include "bg.h"
#include "event_data.h"
#include "field_camera.h"
#include "field_map_obj.h"
#include "event_object_movement.h"
#include "fieldmap.h"
#include "global.fieldmap.h"
#include "gpu_regs.h"
+2 -2
View File
@@ -9,7 +9,7 @@
#include "constants/songs.h"
#include "decompress.h"
#include "event_data.h"
#include "field_map_obj_helpers.h"
#include "event_object_movement.h"
#include "field_player_avatar.h"
#include "field_specials.h"
#include "graphics.h"
@@ -1716,7 +1716,7 @@ bool8 UseRegisteredKeyItemOnField(void)
if (CheckBagHasItem(gSaveBlock1Ptr->registeredItem, 1) == TRUE)
{
ScriptContext2_Enable();
FreezeMapObjects();
FreezeEventObjects();
sub_808B864();
sub_808BCF4();
gSpecialVar_ItemId = gSaveBlock1Ptr->registeredItem;
+9 -10
View File
@@ -12,12 +12,11 @@
#include "data2.h"
#include "event_data.h"
#include "fieldmap.h"
#include "field_map_obj.h"
#include "event_object_movement.h"
#include "field_player_avatar.h"
#include "field_screen.h"
#include "field_weather.h"
#include "item.h"
#include "field_map_obj_helpers.h"
#include "mail.h"
#include "metatile_behavior.h"
#include "overworld.h"
@@ -338,7 +337,7 @@ void sub_80FD504(u8 taskId)
}
else
{
playerDir = player_get_direction_lower_nybble();
playerDir = GetPlayerFacingDirection();
for (i = 0; i < 4; i++)
{
if (playerDir == gUnknown_085920E4[i])
@@ -580,15 +579,15 @@ u8 sub_80FD9B0(s16 itemX, s16 itemY)
void sub_80FDA24(u8 direction)
{
FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]);
FieldObjectClearAnim(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]);
npc_sync_anim_pause_bits(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]);
EventObjectClearHeldMovementIfFinished(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]);
EventObjectClearHeldMovement(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]);
UnfreezeEventObject(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]);
PlayerTurnInPlace(direction);
}
void sub_80FDA94(u8 taskId)
{
if (FieldObjectCheckIfSpecialAnimFinishedOrInactive(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE)
if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE)
DisplayItemMessageOnField(taskId, gText_ItemFinderNearby, sub_80FD5CC);
}
@@ -596,7 +595,7 @@ void sub_80FDADC(u8 taskId)
{
s16 *data = gTasks[taskId].data;
if (FieldObjectCheckIfSpecialAnimFinishedOrInactive(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE
if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE
|| data[2] == FALSE)
{
sub_80FDA24(gUnknown_085920E4[data[5]]);
@@ -728,8 +727,8 @@ bool8 sub_80FDE2C(void)
u8 objId;
GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
z = PlayerGetZCoord();
objId = GetFieldObjectIdByXYZ(x, y, z);
if (objId == 16 || gMapObjects[objId].graphicsId != 0xE4)
objId = GetEventObjectIdByXYZ(x, y, z);
if (objId == 16 || gEventObjects[objId].graphicsId != 0xE4)
return FALSE;
else
return TRUE;
+8 -8
View File
@@ -180,32 +180,32 @@ void LoadPlayerParty(void)
gPlayerParty[i] = gSaveBlock1Ptr->playerParty[i];
}
void SaveMapObjects(void)
void SaveEventObjects(void)
{
int i;
for (i = 0; i < MAP_OBJECTS_COUNT; i++)
gSaveBlock1Ptr->mapObjects[i] = gMapObjects[i];
for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
gSaveBlock1Ptr->eventObjects[i] = gEventObjects[i];
}
void LoadMapObjects(void)
void LoadEventObjects(void)
{
int i;
for (i = 0; i < MAP_OBJECTS_COUNT; i++)
gMapObjects[i] = gSaveBlock1Ptr->mapObjects[i];
for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
gEventObjects[i] = gSaveBlock1Ptr->eventObjects[i];
}
void SaveSerializedGame(void)
{
SavePlayerParty();
SaveMapObjects();
SaveEventObjects();
}
void LoadSerializedGame(void)
{
LoadPlayerParty();
LoadMapObjects();
LoadEventObjects();
}
void LoadPlayerBag(void)
+5 -5
View File
@@ -2,7 +2,7 @@
#include "main.h"
#include "constants/songs.h"
#include "constants/easy_chat.h"
#include "constants/map_objects.h"
#include "constants/event_objects.h"
#include "constants/vars.h"
#include "mauville_old_man.h"
#include "event_data.h"
@@ -136,7 +136,7 @@ void SetMauvilleOldMan(void)
SetupGiddy();
break;
}
ScrSpecial_SetMauvilleOldManMapObjGfx();
ScrSpecial_SetMauvilleOldManEventObjGfx();
}
u8 GetCurrentMauvilleOldMan(void)
@@ -406,7 +406,7 @@ void ResetMauvilleOldManFlag(void)
case MAUVILLE_MAN_GIDDY:
break;
}
ScrSpecial_SetMauvilleOldManMapObjGfx();
ScrSpecial_SetMauvilleOldManEventObjGfx();
}
@@ -671,9 +671,9 @@ static void Task_BardSong(u8 taskId)
sub_8197224();
}
void ScrSpecial_SetMauvilleOldManMapObjGfx(void)
void ScrSpecial_SetMauvilleOldManEventObjGfx(void)
{
VarSet(VAR_OBJ_GFX_ID_0, MAP_OBJ_GFX_BARD);
VarSet(VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_BARD);
}
// Language fixers?
+1 -2
View File
@@ -252,8 +252,7 @@ static const u8 sTileBitAttributes[] =
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // ? 0xEF
};
// only used as default case for checking jump landing in field_ground_effect.
bool8 ShouldDoJumpLandingDustEffect(u8 var)
bool8 MetatileBehavior_IsATile(u8 var)
{
return TRUE;
}
+4 -4
View File
@@ -11,7 +11,7 @@
#include "pokemon.h"
#include "field_specials.h"
#include "field_player_avatar.h"
#include "field_map_obj.h"
#include "event_object_movement.h"
#include "event_data.h"
#include "constants/vars.h"
#include "constants/songs.h"
@@ -25,7 +25,7 @@
#include "menu.h"
#include "text_window.h"
#include "overworld.h"
#include "constants/map_objects.h"
#include "constants/event_objects.h"
EWRAM_DATA static struct NamingScreenData *gNamingScreenData = NULL;
extern u16 gKeyRepeatStartDelay;
@@ -1142,7 +1142,7 @@ static void NamingScreen_CreatePlayerIcon(void)
u8 spriteId;
rivalGfxId = GetRivalAvatarGraphicsIdByStateIdAndGender(0, gNamingScreenData->monSpecies);
spriteId = AddPseudoFieldObject(rivalGfxId, SpriteCallbackDummy, 0x38, 0x25, 0);
spriteId = AddPseudoEventObject(rivalGfxId, SpriteCallbackDummy, 0x38, 0x25, 0);
gSprites[spriteId].oam.priority = 3;
StartSpriteAnim(&gSprites[spriteId], 4);
}
@@ -1169,7 +1169,7 @@ static void NamingScreen_CreateWandaDadIcon(void)
{
u8 spriteId;
spriteId = AddPseudoFieldObject(MAP_OBJ_GFX_MAN_1, SpriteCallbackDummy, 0x38, 0x25, 0);
spriteId = AddPseudoEventObject(EVENT_OBJ_GFX_MAN_1, SpriteCallbackDummy, 0x38, 0x25, 0);
gSprites[spriteId].oam.priority = 3;
StartSpriteAnim(&gSprites[spriteId], 4);
}
+162 -164
View File
@@ -10,9 +10,7 @@
#include "field_control_avatar.h"
#include "field_effect.h"
#include "field_fadetransition.h"
#include "field_ground_effect.h"
#include "field_map_obj.h"
#include "field_map_obj_helpers.h"
#include "event_object_movement.h"
#include "field_message_box.h"
#include "field_player_avatar.h"
#include "field_screen_effect.h"
@@ -171,7 +169,7 @@ extern const u8* sub_809C2C8(struct MapPosition *a1, u8, u8);
extern u8 *sub_809D0F4(void*);
extern u8 sub_808BD6C(u8);
extern u8 sub_808BD7C(u8);
extern void sub_80979D4(struct Sprite*, u8);
extern void UpdateEventObjectSpriteVisibility(struct Sprite*, u8);
// this file's functions
static void Overworld_ResetStateAfterWhiteOut(void);
@@ -206,7 +204,7 @@ static void sub_8086C90(void);
static void sub_8086FA0(u16);
static void sub_8086F38(u16*, s32);
static u8 npc_something3(u8 a1, u8 a2);
static u8 LinkPlayerDetectCollision(u8 selfMapObjId, u8 a2, s16 x, s16 y);
static u8 LinkPlayerDetectCollision(u8 selfEventObjId, u8 a2, s16 x, s16 y);
static void CreateLinkPlayerSprite(u8 linkPlayerId, u8 gameVersion);
static void sub_8087878(u8 linkPlayerId, u16 *x, u16 *y);
static u8 sub_80878A0(u8 linkPlayerId);
@@ -214,15 +212,15 @@ static u8 sub_80878C0(u8 linkPlayerId);
static s32 sub_80878E4(u8 linkPlayerId);
static u8 GetLinkPlayerIdAt(s16 x, s16 y);
static void sub_808796C(u8 linkPlayerId, u8 a2);
static void ZeroMapObject(struct MapObject *mapObj);
static void SpawnLinkPlayerMapObject(u8 linkPlayerId, s16 x, s16 y, u8 a4);
static void InitLinkPlayerMapObjectPos(struct MapObject *mapObj, s16 x, s16 y);
static void ZeroEventObject(struct EventObject *eventObj);
static void SpawnLinkPlayerEventObject(u8 linkPlayerId, s16 x, s16 y, u8 a4);
static void InitLinkPlayerEventObjectPos(struct EventObject *eventObj, s16 x, s16 y);
static void sub_80877DC(u8 linkPlayerId, u8 a2);
static void sub_808780C(u8 linkPlayerId);
static u8 sub_8087858(u8 linkPlayerId);
static void sub_8087584(void);
static u32 sub_8087690(void);
static void ZeroLinkPlayerMapObject(struct LinkPlayerMapObject *linkPlayerMapObj);
static void ZeroLinkPlayerEventObject(struct LinkPlayerEventObject *linkPlayerEventObj);
static const u8 *sub_80873B4(struct UnkStruct_8054FF8 *a1);
static u16 sub_8087480(const u8 *script);
static void sub_8087510(void);
@@ -269,7 +267,7 @@ EWRAM_DATA static u16 sLastMapSectionId = 0;
EWRAM_DATA static struct UnkPlayerStruct sUnknown_02032300 = {0};
EWRAM_DATA static u16 sAmbientCrySpecies = 0;
EWRAM_DATA static bool8 sIsAmbientCryWaterMon = FALSE;
EWRAM_DATA struct LinkPlayerMapObject gLinkPlayerMapObjects[4] = {0};
EWRAM_DATA struct LinkPlayerEventObject gLinkPlayerEventObjects[4] = {0};
// const rom data
static const struct WarpData sDummyWarpData =
@@ -354,22 +352,22 @@ static const struct ScanlineEffectParams gUnknown_08339DBC =
0,
};
static u8 sub_80879D8(struct LinkPlayerMapObject *, struct MapObject *, u8);
static u8 sub_80879F8(struct LinkPlayerMapObject *, struct MapObject *, u8);
static u8 sub_80879FC(struct LinkPlayerMapObject *, struct MapObject *, u8);
static u8 sub_80879D8(struct LinkPlayerEventObject *, struct EventObject *, u8);
static u8 sub_80879F8(struct LinkPlayerEventObject *, struct EventObject *, u8);
static u8 sub_80879FC(struct LinkPlayerEventObject *, struct EventObject *, u8);
static u8 (*const gUnknown_08339DC8[])(struct LinkPlayerMapObject *, struct MapObject *, u8) =
static u8 (*const gUnknown_08339DC8[])(struct LinkPlayerEventObject *, struct EventObject *, u8) =
{
sub_80879D8,
sub_80879F8,
sub_80879FC,
};
static u8 sub_8087A1C(struct LinkPlayerMapObject *, struct MapObject *, u8);
static u8 sub_8087A20(struct LinkPlayerMapObject *, struct MapObject *, u8);
static u8 sub_8087A88(struct LinkPlayerMapObject *, struct MapObject *, u8);
static u8 sub_8087A1C(struct LinkPlayerEventObject *, struct EventObject *, u8);
static u8 sub_8087A20(struct LinkPlayerEventObject *, struct EventObject *, u8);
static u8 sub_8087A88(struct LinkPlayerEventObject *, struct EventObject *, u8);
static u8 (*const gUnknown_08339DD4[])(struct LinkPlayerMapObject *, struct MapObject *, u8) =
static u8 (*const gUnknown_08339DD4[])(struct LinkPlayerEventObject *, struct EventObject *, u8) =
{
sub_8087A1C,
sub_8087A20,
@@ -384,10 +382,10 @@ static u8 (*const gUnknown_08339DD4[])(struct LinkPlayerMapObject *, struct MapO
sub_8087A88,
};
static void sub_8087AA0(struct LinkPlayerMapObject *, struct MapObject *);
static void sub_8087AA8(struct LinkPlayerMapObject *, struct MapObject *);
static void sub_8087AA0(struct LinkPlayerEventObject *, struct EventObject *);
static void sub_8087AA8(struct LinkPlayerEventObject *, struct EventObject *);
static void (*const gUnknown_08339E00[])(struct LinkPlayerMapObject *, struct MapObject *) =
static void (*const gUnknown_08339E00[])(struct LinkPlayerEventObject *, struct EventObject *) =
{
sub_8087AA0,
sub_8087AA8,
@@ -503,55 +501,55 @@ void ApplyNewEncryptionKeyToGameStats(u32 newKey)
ApplyNewEncryptionKeyToWord(&gSaveBlock1Ptr->gameStats[i], newKey);
}
void LoadMapObjTemplatesFromHeader(void)
void LoadEventObjTemplatesFromHeader(void)
{
// Clear map object templates
CpuFill32(0, gSaveBlock1Ptr->mapObjectTemplates, sizeof(gSaveBlock1Ptr->mapObjectTemplates));
CpuFill32(0, gSaveBlock1Ptr->eventObjectTemplates, sizeof(gSaveBlock1Ptr->eventObjectTemplates));
// Copy map header events to save block
CpuCopy32(gMapHeader.events->mapObjects,
gSaveBlock1Ptr->mapObjectTemplates,
gMapHeader.events->mapObjectCount * sizeof(struct MapObjectTemplate));
CpuCopy32(gMapHeader.events->eventObjects,
gSaveBlock1Ptr->eventObjectTemplates,
gMapHeader.events->eventObjectCount * sizeof(struct EventObjectTemplate));
}
void LoadSaveblockMapObjScripts(void)
void LoadSaveblockEventObjScripts(void)
{
struct MapObjectTemplate *mapHeaderObjTemplates = gMapHeader.events->mapObjects;
struct MapObjectTemplate *savObjTemplates = gSaveBlock1Ptr->mapObjectTemplates;
struct EventObjectTemplate *mapHeaderObjTemplates = gMapHeader.events->eventObjects;
struct EventObjectTemplate *savObjTemplates = gSaveBlock1Ptr->eventObjectTemplates;
s32 i;
for (i = 0; i < 64; i++)
savObjTemplates[i].script = mapHeaderObjTemplates[i].script;
}
void Overworld_SetMapObjTemplateCoords(u8 localId, s16 x, s16 y)
void Overworld_SetEventObjTemplateCoords(u8 localId, s16 x, s16 y)
{
s32 i;
struct MapObjectTemplate *savObjTemplates = gSaveBlock1Ptr->mapObjectTemplates;
struct EventObjectTemplate *savObjTemplates = gSaveBlock1Ptr->eventObjectTemplates;
for (i = 0; i < 64; i++)
{
struct MapObjectTemplate *mapObjectTemplate = &savObjTemplates[i];
if (mapObjectTemplate->localId == localId)
struct EventObjectTemplate *eventObjectTemplate = &savObjTemplates[i];
if (eventObjectTemplate->localId == localId)
{
mapObjectTemplate->x = x;
mapObjectTemplate->y = y;
eventObjectTemplate->x = x;
eventObjectTemplate->y = y;
return;
}
}
}
void Overworld_SetMapObjTemplateMovementType(u8 localId, u8 movementType)
void Overworld_SetEventObjTemplateMovementType(u8 localId, u8 movementType)
{
s32 i;
struct MapObjectTemplate *savObjTemplates = gSaveBlock1Ptr->mapObjectTemplates;
struct EventObjectTemplate *savObjTemplates = gSaveBlock1Ptr->eventObjectTemplates;
for (i = 0; i < 64; i++)
{
struct MapObjectTemplate *mapObjectTemplate = &savObjTemplates[i];
if (mapObjectTemplate->localId == localId)
struct EventObjectTemplate *eventObjectTemplate = &savObjTemplates[i];
if (eventObjectTemplate->localId == localId)
{
mapObjectTemplate->movementType = movementType;
eventObjectTemplate->movementType = movementType;
return;
}
}
@@ -826,7 +824,7 @@ void mliX_load_map(u8 mapGroup, u8 mapNum)
ApplyCurrentWarp();
set_current_map_header_from_sav1_save_old_name();
LoadMapObjTemplatesFromHeader();
LoadEventObjTemplatesFromHeader();
TrySetMapSaveWarpStatus();
ClearTempFieldEventData();
ResetCyclingRoadChallengeData();
@@ -869,7 +867,7 @@ static void mli0_load_map(u32 a1)
else if (InTrainerHill())
sub_81D5DF8();
else
LoadMapObjTemplatesFromHeader();
LoadEventObjTemplatesFromHeader();
}
v2 = is_map_type_1_2_3_5_or_6(gMapHeader.mapType);
@@ -914,7 +912,7 @@ void player_avatar_init_params_reset(void)
void walkrun_find_lowest_active_bit_in_bitfield(void)
{
sUnknown_02032300.player_field_1 = player_get_direction_lower_nybble();
sUnknown_02032300.player_field_1 = GetPlayerFacingDirection();
if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE))
sUnknown_02032300.player_field_0 = 2;
@@ -1736,9 +1734,9 @@ void CB2_ContinueSavedGame(void)
else if (trainerHillMapId != 0 && trainerHillMapId != 6)
sub_81D5F48();
else
LoadSaveblockMapObjScripts();
LoadSaveblockEventObjScripts();
UnfreezeMapObjects();
UnfreezeEventObjects();
DoTimeBasedEvents();
sub_8084788();
if (gMapHeader.mapDataId == 0x169)
@@ -2172,7 +2170,7 @@ static void sub_80869DC(void)
gUnknown_03005DEC = 0;
gUnknown_03005DE8 = 0;
sub_808D438();
SpawnFieldObjectsInView(0, 0);
TrySpawnEventObjects(0, 0);
mapheader_run_first_tag4_script_list_match();
}
@@ -2189,7 +2187,7 @@ static void mli4_mapscripts_and_other(void)
InitPlayerAvatar(x, y, player->player_field_1, gSaveBlock2Ptr->playerGender);
SetPlayerAvatarTransitionFlags(player->player_field_0);
player_avatar_init_params_reset();
SpawnFieldObjectsInView(0, 0);
TrySpawnEventObjects(0, 0);
mapheader_run_first_tag4_script_list_match();
}
@@ -2202,7 +2200,7 @@ static void sub_8086A68(void)
static void sub_8086A80(void)
{
gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_15 = 1;
gEventObjects[gPlayerAvatar.eventObjectId].trackedByCamera = 1;
InitCameraUpdateCallback(gPlayerAvatar.spriteId);
}
@@ -2233,7 +2231,7 @@ static void sub_8086B14(void)
for (i = 0; i < gFieldLinkPlayerCount; i++)
{
SpawnLinkPlayerMapObject(i, i + x, y, gLinkPlayers[i].gender);
SpawnLinkPlayerEventObject(i, i + x, y, gLinkPlayers[i].gender);
CreateLinkPlayerSprite(i, gLinkPlayers[i].version);
}
@@ -2678,7 +2676,7 @@ static void sub_80872D8(s32 linkPlayerId, s32 a2, struct UnkStruct_8054FF8 *a3)
a3->a = linkPlayerId;
a3->b = (linkPlayerId == a2) ? 1 : 0;
a3->c = gLinkPlayerMapObjects[linkPlayerId].mode;
a3->c = gLinkPlayerEventObjects[linkPlayerId].mode;
a3->d = sub_80878A0(linkPlayerId);
sub_8087878(linkPlayerId, &x, &y);
a3->sub.x = x;
@@ -2891,109 +2889,109 @@ static u32 sub_8087690(void)
return gLink.sendQueue.count;
}
static void ZeroLinkPlayerMapObject(struct LinkPlayerMapObject *linkPlayerMapObj)
static void ZeroLinkPlayerEventObject(struct LinkPlayerEventObject *linkPlayerEventObj)
{
memset(linkPlayerMapObj, 0, sizeof(struct LinkPlayerMapObject));
memset(linkPlayerEventObj, 0, sizeof(struct LinkPlayerEventObject));
}
void ZeroAllLinkPlayerMapObjects(void)
void ClearLinkPlayerEventObjects(void)
{
memset(gLinkPlayerMapObjects, 0, sizeof(gLinkPlayerMapObjects));
memset(gLinkPlayerEventObjects, 0, sizeof(gLinkPlayerEventObjects));
}
static void ZeroMapObject(struct MapObject *mapObj)
static void ZeroEventObject(struct EventObject *eventObj)
{
memset(mapObj, 0, sizeof(struct MapObject));
memset(eventObj, 0, sizeof(struct EventObject));
}
static void SpawnLinkPlayerMapObject(u8 linkPlayerId, s16 x, s16 y, u8 a4)
static void SpawnLinkPlayerEventObject(u8 linkPlayerId, s16 x, s16 y, u8 a4)
{
u8 mapObjId = sub_808D4F4();
struct LinkPlayerMapObject *linkPlayerMapObj = &gLinkPlayerMapObjects[linkPlayerId];
struct MapObject *mapObj = &gMapObjects[mapObjId];
u8 eventObjId = GetFirstInactiveEventObjectId();
struct LinkPlayerEventObject *linkPlayerEventObj = &gLinkPlayerEventObjects[linkPlayerId];
struct EventObject *eventObj = &gEventObjects[eventObjId];
ZeroLinkPlayerMapObject(linkPlayerMapObj);
ZeroMapObject(mapObj);
ZeroLinkPlayerEventObject(linkPlayerEventObj);
ZeroEventObject(eventObj);
linkPlayerMapObj->active = 1;
linkPlayerMapObj->linkPlayerId = linkPlayerId;
linkPlayerMapObj->mapObjId = mapObjId;
linkPlayerMapObj->mode = 0;
linkPlayerEventObj->active = 1;
linkPlayerEventObj->linkPlayerId = linkPlayerId;
linkPlayerEventObj->eventObjId = eventObjId;
linkPlayerEventObj->mode = 0;
mapObj->active = 1;
mapObj->mapobj_bit_1 = a4;
mapObj->range.as_byte = 2;
mapObj->spriteId = 64;
eventObj->active = 1;
eventObj->singleMovementActive = a4;
eventObj->range.as_byte = 2;
eventObj->spriteId = 64;
InitLinkPlayerMapObjectPos(mapObj, x, y);
InitLinkPlayerEventObjectPos(eventObj, x, y);
}
static void InitLinkPlayerMapObjectPos(struct MapObject *mapObj, s16 x, s16 y)
static void InitLinkPlayerEventObjectPos(struct EventObject *eventObj, s16 x, s16 y)
{
mapObj->coords2.x = x;
mapObj->coords2.y = y;
mapObj->coords3.x = x;
mapObj->coords3.y = y;
sub_8093038(x, y, &mapObj->coords1.x, &mapObj->coords1.y);
mapObj->coords1.x += 8;
FieldObjectUpdateZCoord(mapObj);
eventObj->currentCoords.x = x;
eventObj->currentCoords.y = y;
eventObj->previousCoords.x = x;
eventObj->previousCoords.y = y;
sub_8093038(x, y, &eventObj->initialCoords.x, &eventObj->initialCoords.y);
eventObj->initialCoords.x += 8;
EventObjectUpdateZCoord(eventObj);
}
static void sub_80877DC(u8 linkPlayerId, u8 a2)
{
if (gLinkPlayerMapObjects[linkPlayerId].active)
if (gLinkPlayerEventObjects[linkPlayerId].active)
{
u8 mapObjId = gLinkPlayerMapObjects[linkPlayerId].mapObjId;
struct MapObject *mapObj = &gMapObjects[mapObjId];
mapObj->range.as_byte = a2;
u8 eventObjId = gLinkPlayerEventObjects[linkPlayerId].eventObjId;
struct EventObject *eventObj = &gEventObjects[eventObjId];
eventObj->range.as_byte = a2;
}
}
static void sub_808780C(u8 linkPlayerId)
{
struct LinkPlayerMapObject *linkPlayerMapObj = &gLinkPlayerMapObjects[linkPlayerId];
u8 mapObjId = linkPlayerMapObj->mapObjId;
struct MapObject *mapObj = &gMapObjects[mapObjId];
if (mapObj->spriteId != 64 )
DestroySprite(&gSprites[mapObj->spriteId]);
linkPlayerMapObj->active = 0;
mapObj->active = 0;
struct LinkPlayerEventObject *linkPlayerEventObj = &gLinkPlayerEventObjects[linkPlayerId];
u8 eventObjId = linkPlayerEventObj->eventObjId;
struct EventObject *eventObj = &gEventObjects[eventObjId];
if (eventObj->spriteId != 64 )
DestroySprite(&gSprites[eventObj->spriteId]);
linkPlayerEventObj->active = 0;
eventObj->active = 0;
}
static u8 sub_8087858(u8 linkPlayerId)
{
u8 mapObjId = gLinkPlayerMapObjects[linkPlayerId].mapObjId;
struct MapObject *mapObj = &gMapObjects[mapObjId];
return mapObj->spriteId;
u8 eventObjId = gLinkPlayerEventObjects[linkPlayerId].eventObjId;
struct EventObject *eventObj = &gEventObjects[eventObjId];
return eventObj->spriteId;
}
static void sub_8087878(u8 linkPlayerId, u16 *x, u16 *y)
{
u8 mapObjId = gLinkPlayerMapObjects[linkPlayerId].mapObjId;
struct MapObject *mapObj = &gMapObjects[mapObjId];
*x = mapObj->coords2.x;
*y = mapObj->coords2.y;
u8 eventObjId = gLinkPlayerEventObjects[linkPlayerId].eventObjId;
struct EventObject *eventObj = &gEventObjects[eventObjId];
*x = eventObj->currentCoords.x;
*y = eventObj->currentCoords.y;
}
static u8 sub_80878A0(u8 linkPlayerId)
{
u8 mapObjId = gLinkPlayerMapObjects[linkPlayerId].mapObjId;
struct MapObject *mapObj = &gMapObjects[mapObjId];
return mapObj->range.as_byte;
u8 eventObjId = gLinkPlayerEventObjects[linkPlayerId].eventObjId;
struct EventObject *eventObj = &gEventObjects[eventObjId];
return eventObj->range.as_byte;
}
static u8 sub_80878C0(u8 linkPlayerId)
{
u8 mapObjId = gLinkPlayerMapObjects[linkPlayerId].mapObjId;
struct MapObject *mapObj = &gMapObjects[mapObjId];
return mapObj->mapobj_unk_0B_0;
u8 eventObjId = gLinkPlayerEventObjects[linkPlayerId].eventObjId;
struct EventObject *eventObj = &gEventObjects[eventObjId];
return eventObj->currentElevation;
}
static s32 sub_80878E4(u8 linkPlayerId)
{
u8 mapObjId = gLinkPlayerMapObjects[linkPlayerId].mapObjId;
struct MapObject *mapObj = &gMapObjects[mapObjId];
return 16 - (s8)mapObj->mapobj_unk_21;
u8 eventObjId = gLinkPlayerEventObjects[linkPlayerId].eventObjId;
struct EventObject *eventObj = &gEventObjects[eventObjId];
return 16 - (s8)eventObj->directionSequenceIndex;
}
static u8 GetLinkPlayerIdAt(s16 x, s16 y)
@@ -3001,11 +2999,11 @@ static u8 GetLinkPlayerIdAt(s16 x, s16 y)
u8 i;
for (i = 0; i < 4; i++)
{
if (gLinkPlayerMapObjects[i].active
&& (gLinkPlayerMapObjects[i].mode == 0 || gLinkPlayerMapObjects[i].mode == 2))
if (gLinkPlayerEventObjects[i].active
&& (gLinkPlayerEventObjects[i].mode == 0 || gLinkPlayerEventObjects[i].mode == 2))
{
struct MapObject *mapObj = &gMapObjects[gLinkPlayerMapObjects[i].mapObjId];
if (mapObj->coords2.x == x && mapObj->coords2.y == y)
struct EventObject *eventObj = &gEventObjects[gLinkPlayerEventObjects[i].eventObjId];
if (eventObj->currentCoords.x == x && eventObj->currentCoords.y == y)
return i;
}
}
@@ -3014,79 +3012,79 @@ static u8 GetLinkPlayerIdAt(s16 x, s16 y)
static void sub_808796C(u8 linkPlayerId, u8 a2)
{
struct LinkPlayerMapObject *linkPlayerMapObj = &gLinkPlayerMapObjects[linkPlayerId];
u8 mapObjId = linkPlayerMapObj->mapObjId;
struct MapObject *mapObj = &gMapObjects[mapObjId];
struct LinkPlayerEventObject *linkPlayerEventObj = &gLinkPlayerEventObjects[linkPlayerId];
u8 eventObjId = linkPlayerEventObj->eventObjId;
struct EventObject *eventObj = &gEventObjects[eventObjId];
if (linkPlayerMapObj->active)
if (linkPlayerEventObj->active)
{
if (a2 > 10)
mapObj->mapobj_bit_2 = 1;
eventObj->triggerGroundEffectsOnMove = 1;
else
gUnknown_08339E00[gUnknown_08339DC8[linkPlayerMapObj->mode](linkPlayerMapObj, mapObj, a2)](linkPlayerMapObj, mapObj);
gUnknown_08339E00[gUnknown_08339DC8[linkPlayerEventObj->mode](linkPlayerEventObj, eventObj, a2)](linkPlayerEventObj, eventObj);
}
}
static u8 sub_80879D8(struct LinkPlayerMapObject *linkPlayerMapObj, struct MapObject *mapObj, u8 a3)
static u8 sub_80879D8(struct LinkPlayerEventObject *linkPlayerEventObj, struct EventObject *eventObj, u8 a3)
{
return gUnknown_08339DD4[a3](linkPlayerMapObj, mapObj, a3);
return gUnknown_08339DD4[a3](linkPlayerEventObj, eventObj, a3);
}
static u8 sub_80879F8(struct LinkPlayerMapObject *linkPlayerMapObj, struct MapObject *mapObj, u8 a3)
static u8 sub_80879F8(struct LinkPlayerEventObject *linkPlayerEventObj, struct EventObject *eventObj, u8 a3)
{
return 1;
}
static u8 sub_80879FC(struct LinkPlayerMapObject *linkPlayerMapObj, struct MapObject *mapObj, u8 a3)
static u8 sub_80879FC(struct LinkPlayerEventObject *linkPlayerEventObj, struct EventObject *eventObj, u8 a3)
{
return gUnknown_08339DD4[a3](linkPlayerMapObj, mapObj, a3);
return gUnknown_08339DD4[a3](linkPlayerEventObj, eventObj, a3);
}
static u8 sub_8087A1C(struct LinkPlayerMapObject *linkPlayerMapObj, struct MapObject *mapObj, u8 a3)
static u8 sub_8087A1C(struct LinkPlayerEventObject *linkPlayerEventObj, struct EventObject *eventObj, u8 a3)
{
return 0;
}
static u8 sub_8087A20(struct LinkPlayerMapObject *linkPlayerMapObj, struct MapObject *mapObj, u8 a3)
static u8 sub_8087A20(struct LinkPlayerEventObject *linkPlayerEventObj, struct EventObject *eventObj, u8 a3)
{
s16 x, y;
mapObj->range.as_byte = npc_something3(a3, mapObj->range.as_byte);
FieldObjectMoveDestCoords(mapObj, mapObj->range.as_byte, &x, &y);
eventObj->range.as_byte = npc_something3(a3, eventObj->range.as_byte);
EventObjectMoveDestCoords(eventObj, eventObj->range.as_byte, &x, &y);
if (LinkPlayerDetectCollision(linkPlayerMapObj->mapObjId, mapObj->range.as_byte, x, y))
if (LinkPlayerDetectCollision(linkPlayerEventObj->eventObjId, eventObj->range.as_byte, x, y))
{
return 0;
}
else
{
mapObj->mapobj_unk_21 = 16;
npc_coords_shift(mapObj, x, y);
FieldObjectUpdateZCoord(mapObj);
eventObj->directionSequenceIndex = 16;
ShiftEventObjectCoords(eventObj, x, y);
EventObjectUpdateZCoord(eventObj);
return 1;
}
}
static u8 sub_8087A88(struct LinkPlayerMapObject *linkPlayerMapObj, struct MapObject *mapObj, u8 a3)
static u8 sub_8087A88(struct LinkPlayerEventObject *linkPlayerEventObj, struct EventObject *eventObj, u8 a3)
{
mapObj->range.as_byte = npc_something3(a3, mapObj->range.as_byte);
eventObj->range.as_byte = npc_something3(a3, eventObj->range.as_byte);
return 0;
}
static void sub_8087AA0(struct LinkPlayerMapObject *linkPlayerMapObj, struct MapObject *mapObj)
static void sub_8087AA0(struct LinkPlayerEventObject *linkPlayerEventObj, struct EventObject *eventObj)
{
linkPlayerMapObj->mode = 0;
linkPlayerEventObj->mode = 0;
}
static void sub_8087AA8(struct LinkPlayerMapObject *linkPlayerMapObj, struct MapObject *mapObj)
static void sub_8087AA8(struct LinkPlayerEventObject *linkPlayerEventObj, struct EventObject *eventObj)
{
mapObj->mapobj_unk_21--;
linkPlayerMapObj->mode = 1;
MoveCoords(mapObj->range.as_byte, &mapObj->coords1.x, &mapObj->coords1.y);
if (!mapObj->mapobj_unk_21)
eventObj->directionSequenceIndex--;
linkPlayerEventObj->mode = 1;
MoveCoords(eventObj->range.as_byte, &eventObj->initialCoords.x, &eventObj->initialCoords.y);
if (!eventObj->directionSequenceIndex)
{
npc_coords_shift_still(mapObj);
linkPlayerMapObj->mode = 2;
ShiftStillEventObjectCoords(eventObj);
linkPlayerEventObj->mode = 2;
}
}
@@ -3110,15 +3108,15 @@ static u8 npc_something3(u8 a1, u8 a2)
return a2;
}
static u8 LinkPlayerDetectCollision(u8 selfMapObjId, u8 a2, s16 x, s16 y)
static u8 LinkPlayerDetectCollision(u8 selfEventObjId, u8 a2, s16 x, s16 y)
{
u8 i;
for (i = 0; i < 16; i++)
{
if (i != selfMapObjId)
if (i != selfEventObjId)
{
if ((gMapObjects[i].coords2.x == x && gMapObjects[i].coords2.y == y)
|| (gMapObjects[i].coords3.x == x && gMapObjects[i].coords3.y == y))
if ((gEventObjects[i].currentCoords.x == x && gEventObjects[i].currentCoords.y == y)
|| (gEventObjects[i].previousCoords.x == x && gEventObjects[i].previousCoords.y == y))
{
return 1;
}
@@ -3129,51 +3127,51 @@ static u8 LinkPlayerDetectCollision(u8 selfMapObjId, u8 a2, s16 x, s16 y)
static void CreateLinkPlayerSprite(u8 linkPlayerId, u8 gameVersion)
{
struct LinkPlayerMapObject *linkPlayerMapObj = &gLinkPlayerMapObjects[linkPlayerId];
u8 mapObjId = linkPlayerMapObj->mapObjId;
struct MapObject *mapObj = &gMapObjects[mapObjId];
struct LinkPlayerEventObject *linkPlayerEventObj = &gLinkPlayerEventObjects[linkPlayerId];
u8 eventObjId = linkPlayerEventObj->eventObjId;
struct EventObject *eventObj = &gEventObjects[eventObjId];
struct Sprite *sprite;
if (linkPlayerMapObj->active)
if (linkPlayerEventObj->active)
{
switch (gameVersion)
{
case VERSION_FIRE_RED:
case VERSION_LEAF_GREEN:
mapObj->spriteId = AddPseudoFieldObject(sub_808BD6C(mapObj->mapobj_bit_1), SpriteCB_LinkPlayer, 0, 0, 0);
eventObj->spriteId = AddPseudoEventObject(sub_808BD6C(eventObj->singleMovementActive), SpriteCB_LinkPlayer, 0, 0, 0);
break;
case VERSION_RUBY:
case VERSION_SAPPHIRE:
mapObj->spriteId = AddPseudoFieldObject(sub_808BD7C(mapObj->mapobj_bit_1), SpriteCB_LinkPlayer, 0, 0, 0);
eventObj->spriteId = AddPseudoEventObject(sub_808BD7C(eventObj->singleMovementActive), SpriteCB_LinkPlayer, 0, 0, 0);
break;
case VERSION_EMERALD:
mapObj->spriteId = AddPseudoFieldObject(GetRivalAvatarGraphicsIdByStateIdAndGender(0, mapObj->mapobj_bit_1), SpriteCB_LinkPlayer, 0, 0, 0);
eventObj->spriteId = AddPseudoEventObject(GetRivalAvatarGraphicsIdByStateIdAndGender(0, eventObj->singleMovementActive), SpriteCB_LinkPlayer, 0, 0, 0);
break;
}
sprite = &gSprites[mapObj->spriteId];
sprite = &gSprites[eventObj->spriteId];
sprite->coordOffsetEnabled = TRUE;
sprite->data[0] = linkPlayerId;
mapObj->mapobj_bit_2 = 0;
eventObj->triggerGroundEffectsOnMove = 0;
}
}
static void SpriteCB_LinkPlayer(struct Sprite *sprite)
{
struct LinkPlayerMapObject *linkPlayerMapObj = &gLinkPlayerMapObjects[sprite->data[0]];
struct MapObject *mapObj = &gMapObjects[linkPlayerMapObj->mapObjId];
sprite->pos1.x = mapObj->coords1.x;
sprite->pos1.y = mapObj->coords1.y;
SetObjectSubpriorityByZCoord(mapObj->elevation, sprite, 1);
sprite->oam.priority = ZCoordToPriority(mapObj->elevation);
struct LinkPlayerEventObject *linkPlayerEventObj = &gLinkPlayerEventObjects[sprite->data[0]];
struct EventObject *eventObj = &gEventObjects[linkPlayerEventObj->eventObjId];
sprite->pos1.x = eventObj->initialCoords.x;
sprite->pos1.y = eventObj->initialCoords.y;
SetObjectSubpriorityByZCoord(eventObj->previousElevation, sprite, 1);
sprite->oam.priority = ZCoordToPriority(eventObj->previousElevation);
if (!linkPlayerMapObj->mode)
StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(mapObj->range.as_byte));
if (!linkPlayerEventObj->mode)
StartSpriteAnim(sprite, GetFaceDirectionAnimNum(eventObj->range.as_byte));
else
StartSpriteAnimIfDifferent(sprite, get_go_image_anim_num(mapObj->range.as_byte));
StartSpriteAnimIfDifferent(sprite, GetMoveDirectionAnimNum(eventObj->range.as_byte));
sub_80979D4(sprite, 0);
if (mapObj->mapobj_bit_2)
UpdateEventObjectSpriteVisibility(sprite, 0);
if (eventObj->triggerGroundEffectsOnMove)
{
sprite->invisible = ((sprite->data[7] & 4) >> 2);
sprite->data[7]++;
+1 -1
View File
@@ -4,7 +4,7 @@
#include "decoration.h"
#include "event_scripts.h"
#include "field_fadetransition.h"
#include "field_map_obj.h"
#include "event_object_movement.h"
#include "field_screen.h"
#include "field_weather.h"
#include "international_string_util.h"
+14 -14
View File
@@ -1,12 +1,12 @@
#include "global.h"
#include "constants/map_objects.h"
#include "constants/event_objects.h"
#include "constants/songs.h"
#include "rom6.h"
#include "braille_puzzles.h"
#include "event_data.h"
#include "event_scripts.h"
#include "field_effect.h"
#include "field_map_obj.h"
#include "event_object_movement.h"
#include "field_player_avatar.h"
#include "item_use.h"
#include "party_menu.h"
@@ -32,18 +32,18 @@ extern struct MapPosition gUnknown_0203AB40;
// text
bool8 npc_before_player_of_type(u8 a)
{
u8 mapObjId;
u8 eventObjId;
GetXYCoordsOneStepInFrontOfPlayer(&gUnknown_0203AB40.x, &gUnknown_0203AB40.y);
gUnknown_0203AB40.height = PlayerGetZCoord();
mapObjId = GetFieldObjectIdByXYZ(gUnknown_0203AB40.x, gUnknown_0203AB40.y, gUnknown_0203AB40.height);
if (gMapObjects[mapObjId].graphicsId != a)
eventObjId = GetEventObjectIdByXYZ(gUnknown_0203AB40.x, gUnknown_0203AB40.y, gUnknown_0203AB40.height);
if (gEventObjects[eventObjId].graphicsId != a)
{
return FALSE;
}
else
{
gSpecialVar_LastTalked = gMapObjects[mapObjId].localId;
gSpecialVar_LastTalked = gEventObjects[eventObjId].localId;
return TRUE;
}
}
@@ -56,13 +56,13 @@ u8 oei_task_add(void)
static void task08_080C9820(u8 taskId)
{
u8 mapObjId;
u8 eventObjId;
ScriptContext2_Enable();
gPlayerAvatar.preventStep = TRUE;
mapObjId = gPlayerAvatar.mapObjectId;
if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(&gMapObjects[mapObjId])
|| FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[mapObjId]))
eventObjId = gPlayerAvatar.eventObjectId;
if (!EventObjectIsMovementOverridden(&gEventObjects[eventObjId])
|| EventObjectClearHeldMovementIfFinished(&gEventObjects[eventObjId]))
{
if (gMapHeader.mapType == MAP_TYPE_UNDERWATER)
{
@@ -72,7 +72,7 @@ static void task08_080C9820(u8 taskId)
else
{
sub_808C114();
FieldObjectSetSpecialAnim(&gMapObjects[mapObjId], 0x39);
EventObjectSetHeldMovement(&gEventObjects[eventObjId], 0x39);
gTasks[taskId].func = sub_813552C;
}
}
@@ -80,7 +80,7 @@ static void task08_080C9820(u8 taskId)
static void sub_813552C(u8 taskId)
{
if (FieldObjectCheckIfSpecialAnimFinishedOrInactive(&gMapObjects[gPlayerAvatar.mapObjectId]) == TRUE)
if (EventObjectCheckHeldMovementStatus(&gEventObjects[gPlayerAvatar.eventObjectId]) == TRUE)
{
FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT);
gTasks[taskId].func = sub_8135578;
@@ -91,7 +91,7 @@ static void sub_8135578(u8 taskId)
{
if (!FieldEffectActiveListContains(6))
{
gFieldEffectArguments[1] = player_get_direction_lower_nybble();
gFieldEffectArguments[1] = GetPlayerFacingDirection();
if (gFieldEffectArguments[1] == 1)
gFieldEffectArguments[2] = 0;
if (gFieldEffectArguments[1] == 2)
@@ -100,7 +100,7 @@ static void sub_8135578(u8 taskId)
gFieldEffectArguments[2] = 2;
if (gFieldEffectArguments[1] == 4)
gFieldEffectArguments[2] = 3;
FieldObjectSetGraphicsId(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByCurrentState());
EventObjectSetGraphicsId(&gEventObjects[gPlayerAvatar.eventObjectId], GetPlayerAvatarGraphicsIdByCurrentState());
StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], gFieldEffectArguments[2]);
FieldEffectActiveListRemove(6);
gTasks[taskId].func = sub_813561C;
+1 -1
View File
@@ -1,7 +1,7 @@
#include "global.h"
#include "bike.h"
#include "event_data.h"
#include "field_map_obj.h"
#include "event_object_movement.h"
#include "constants/maps.h"
#include "constants/songs.h"
#include "sound.h"
+25 -26
View File
@@ -13,8 +13,7 @@
#include "field_door.h"
#include "field_effect.h"
#include "field_fadetransition.h"
#include "field_map_obj.h"
#include "field_map_obj_helpers.h"
#include "event_object_movement.h"
#include "field_message_box.h"
#include "field_player_avatar.h"
#include "field_screen_effect.h"
@@ -25,7 +24,7 @@
#include "item.h"
#include "lilycove_lady.h"
#include "main.h"
#include "map_obj_lock.h"
#include "event_obj_lock.h"
#include "menu.h"
#include "money.h"
#include "mystery_event_script.h"
@@ -1052,7 +1051,7 @@ bool8 ScrCmd_removeobject(struct ScriptContext *ctx)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
RemoveFieldObjectByLocalIdAndMap(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
RemoveEventObjectByLocalIdAndMap(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
return FALSE;
}
@@ -1062,7 +1061,7 @@ bool8 ScrCmd_removeobject_at(struct ScriptContext *ctx)
u8 mapGroup = ScriptReadByte(ctx);
u8 mapNum = ScriptReadByte(ctx);
RemoveFieldObjectByLocalIdAndMap(objectId, mapNum, mapGroup);
RemoveEventObjectByLocalIdAndMap(objectId, mapNum, mapGroup);
return FALSE;
}
@@ -1100,7 +1099,7 @@ bool8 ScrCmd_setobjectxyperm(struct ScriptContext *ctx)
u16 x = VarGet(ScriptReadHalfword(ctx));
u16 y = VarGet(ScriptReadHalfword(ctx));
Overworld_SetMapObjTemplateCoords(localId, x, y);
Overworld_SetEventObjTemplateCoords(localId, x, y);
return FALSE;
}
@@ -1155,10 +1154,10 @@ bool8 ScrCmd_resetobjectpriority(struct ScriptContext *ctx)
bool8 ScrCmd_faceplayer(struct ScriptContext *ctx)
{
if (gMapObjects[gSelectedMapObject].active)
if (gEventObjects[gSelectedEventObject].active)
{
FieldObjectFaceOppositeDirection(&gMapObjects[gSelectedMapObject],
player_get_direction_lower_nybble());
EventObjectFaceOppositeDirection(&gEventObjects[gSelectedEventObject],
GetPlayerFacingDirection());
}
return FALSE;
}
@@ -1168,7 +1167,7 @@ bool8 ScrCmd_turnobject(struct ScriptContext *ctx)
u16 localId = VarGet(ScriptReadHalfword(ctx));
u8 direction = ScriptReadByte(ctx);
FieldObjectTurnByLocalIdAndMap(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, direction);
EventObjectTurnByLocalIdAndMap(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, direction);
return FALSE;
}
@@ -1177,7 +1176,7 @@ bool8 ScrCmd_setobjectmovementtype(struct ScriptContext *ctx)
u16 localId = VarGet(ScriptReadHalfword(ctx));
u8 movementType = ScriptReadByte(ctx);
Overworld_SetMapObjTemplateMovementType(localId, movementType);
Overworld_SetEventObjTemplateMovementType(localId, movementType);
return FALSE;
}
@@ -1211,7 +1210,7 @@ bool8 ScrCmd_lockall(struct ScriptContext *ctx)
}
else
{
ScriptFreezeMapObjects();
ScriptFreezeEventObjects();
SetupNativeScript(ctx, sub_80983C4);
return TRUE;
}
@@ -1225,14 +1224,14 @@ bool8 ScrCmd_lock(struct ScriptContext *ctx)
}
else
{
if (gMapObjects[gSelectedMapObject].active)
if (gEventObjects[gSelectedEventObject].active)
{
LockSelectedMapObject();
LockSelectedEventObject();
SetupNativeScript(ctx, sub_809847C);
}
else
{
ScriptFreezeMapObjects();
ScriptFreezeEventObjects();
SetupNativeScript(ctx, sub_80983C4);
}
return TRUE;
@@ -1244,10 +1243,10 @@ bool8 ScrCmd_releaseall(struct ScriptContext *ctx)
u8 objectId;
HideFieldMessageBox();
objectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0);
FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[objectId]);
objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]);
sub_80D338C();
UnfreezeMapObjects();
UnfreezeEventObjects();
return FALSE;
}
@@ -1256,12 +1255,12 @@ bool8 ScrCmd_release(struct ScriptContext *ctx)
u8 objectId;
HideFieldMessageBox();
if (gMapObjects[gSelectedMapObject].active)
FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[gSelectedMapObject]);
objectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0);
FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[objectId]);
if (gEventObjects[gSelectedEventObject].active)
EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]);
objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]);
sub_80D338C();
UnfreezeMapObjects();
UnfreezeEventObjects();
return FALSE;
}
@@ -2179,7 +2178,7 @@ bool8 ScrCmd_mossdeepgym4(struct ScriptContext *ctx)
bool8 ScrCmd_cmdD8(struct ScriptContext *ctx)
{
gSelectedMapObject = GetCurrentApproachingTrainerMapObjectId();
gSelectedEventObject = GetCurrentApproachingTrainerEventObjectId();
return FALSE;
}
@@ -2191,7 +2190,7 @@ bool8 ScrCmd_cmdD9(struct ScriptContext *ctx)
}
else
{
if (gMapObjects[gSelectedMapObject].active)
if (gEventObjects[gSelectedEventObject].active)
{
sub_8098630();
SetupNativeScript(ctx, sub_8098734);
@@ -2239,7 +2238,7 @@ bool8 ScrCmd_warpD1(struct ScriptContext *ctx)
u16 y = VarGet(ScriptReadHalfword(ctx));
Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y);
sub_808D074(player_get_direction_lower_nybble());
sub_808D074(GetPlayerFacingDirection());
sub_80B0244();
player_avatar_init_params_reset();
return TRUE;
+23 -24
View File
@@ -1,7 +1,6 @@
#include "global.h"
#include "script_movement.h"
#include "field_map_obj.h"
#include "field_map_obj_helpers.h"
#include "event_object_movement.h"
#include "task.h"
#include "util.h"
@@ -22,25 +21,25 @@ static EWRAM_DATA const u8 *gUnknown_02039D90[16] = {0};
// text
bool8 ScriptMovement_StartObjectMovementScript(u8 localId, u8 mapNum, u8 mapGroup, const u8 *movementScript)
{
u8 mapObjId;
u8 eventObjId;
if (TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjId))
if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjId))
return TRUE;
if (!FuncIsActiveTask(sub_80D3660))
sub_80D33AC(50);
return sub_80D3408(sub_80D33F4(), mapObjId, movementScript);
return sub_80D3408(sub_80D33F4(), eventObjId, movementScript);
}
bool8 ScriptMovement_IsObjectMovementFinished(u8 localId, u8 mapNum, u8 mapBank)
{
u8 mapObjId;
u8 eventObjId;
u8 r4;
u8 r1;
if (TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapBank, &mapObjId))
if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapBank, &eventObjId))
return TRUE;
r4 = sub_80D33F4();
r1 = sub_80D3474(r4, mapObjId);
r1 = sub_80D3474(r4, eventObjId);
if (r1 == 16)
return TRUE;
return sub_80D3584(r4, r1);
@@ -74,11 +73,11 @@ static u8 sub_80D33F4(void)
return FindTaskIdByFunc(sub_80D3660);
}
static bool8 sub_80D3408(u8 taskId, u8 mapObjId, const u8 *movementScript)
static bool8 sub_80D3408(u8 taskId, u8 eventObjId, const u8 *movementScript)
{
u8 r4;
r4 = sub_80D3474(taskId, mapObjId);
r4 = sub_80D3474(taskId, eventObjId);
if (r4 != 16)
{
if (sub_80D3584(taskId, r4) == 0)
@@ -87,7 +86,7 @@ static bool8 sub_80D3408(u8 taskId, u8 mapObjId, const u8 *movementScript)
}
else
{
sub_80D35DC(taskId, r4, mapObjId, movementScript);
sub_80D35DC(taskId, r4, eventObjId, movementScript);
return FALSE;
}
}
@@ -98,7 +97,7 @@ static bool8 sub_80D3408(u8 taskId, u8 mapObjId, const u8 *movementScript)
}
else
{
sub_80D35DC(taskId, r4, mapObjId, movementScript);
sub_80D35DC(taskId, r4, eventObjId, movementScript);
return FALSE;
}
}
@@ -174,23 +173,23 @@ static const u8 *sub_80D35CC(u8 a)
return gUnknown_02039D90[a];
}
static void sub_80D35DC(u8 taskId, u8 b, u8 mapObjId, const u8 *movementScript)
static void sub_80D35DC(u8 taskId, u8 b, u8 eventObjId, const u8 *movementScript)
{
sub_80D352C(taskId, b);
npc_obj_offscreen_culling_and_flag_update(b, movementScript);
sub_80D34E4(taskId, b, mapObjId);
sub_80D34E4(taskId, b, eventObjId);
}
static void UnfreezeObjects(u8 taskId)
{
u8 *pMapObjId;
u8 *pEventObjId;
u8 i;
pMapObjId = (u8 *)&gTasks[taskId].data[1];
for (i = 0; i < 16; i++, pMapObjId++)
pEventObjId = (u8 *)&gTasks[taskId].data[1];
for (i = 0; i < 16; i++, pEventObjId++)
{
if (*pMapObjId != 0xFF)
npc_sync_anim_pause_bits(&gMapObjects[*pMapObjId]);
if (*pEventObjId != 0xFF)
UnfreezeEventObject(&gEventObjects[*pEventObjId]);
}
}
@@ -207,23 +206,23 @@ static void sub_80D3660(u8 taskId)
}
}
static void sub_80A2490(u8 taskId, u8 b, u8 mapObjId, const u8 *d)
static void sub_80A2490(u8 taskId, u8 b, u8 eventObjId, const u8 *d)
{
u8 var;
if (FieldObjectIsSpecialAnimActive(&gMapObjects[mapObjId])
&& !FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[mapObjId]))
if (EventObjectIsHeldMovementActive(&gEventObjects[eventObjId])
&& !EventObjectClearHeldMovementIfFinished(&gEventObjects[eventObjId]))
return;
var = *d;
if (var == 0xFE)
{
sub_80D355C(taskId, b);
FreezeMapObject(&gMapObjects[mapObjId]);
FreezeEventObject(&gEventObjects[eventObjId]);
}
else
{
if (!FieldObjectSetSpecialAnim(&gMapObjects[mapObjId], var))
if (!EventObjectSetHeldMovement(&gEventObjects[eventObjId], var))
{
d++;
npc_obj_offscreen_culling_and_flag_update(b, d);
+10 -10
View File
@@ -20,7 +20,7 @@
#include "field_player_avatar.h"
#include "field_screen.h"
#include "field_weather.h"
#include "field_map_obj.h"
#include "event_object_movement.h"
#include "field_effect.h"
#include "fldeff_80F9BCC.h"
#include "metatile_behavior.h"
@@ -412,7 +412,7 @@ bool8 sub_80E909C(void)
void sub_80E90C8(u8 taskId)
{
FieldObjectTurn(&gMapObjects[gPlayerAvatar.mapObjectId], DIR_NORTH);
EventObjectTurn(&gEventObjects[gPlayerAvatar.eventObjectId], DIR_NORTH);
if (IsWeatherNotFadingIn() == TRUE)
{
EnableBothScriptContexts();
@@ -532,14 +532,14 @@ void sub_80E933C(void)
category = gDecorations[roomDecor[decorIdx]].category;
if (permission == DECORPERM_SOLID_MAT)
{
for (objIdx = 0; objIdx < gMapHeader.events->mapObjectCount; objIdx ++)
for (objIdx = 0; objIdx < gMapHeader.events->eventObjectCount; objIdx ++)
{
if (gMapHeader.events->mapObjects[objIdx].flagId == gSpecialVar_0x8004 + 0xAE)
if (gMapHeader.events->eventObjects[objIdx].flagId == gSpecialVar_0x8004 + 0xAE)
{
break;
}
}
if (objIdx == gMapHeader.events->mapObjectCount)
if (objIdx == gMapHeader.events->eventObjectCount)
{
continue;
}
@@ -548,9 +548,9 @@ void sub_80E933C(void)
metatile = MapGridGetMetatileBehaviorAt(gSpecialVar_0x8006 + 7, gSpecialVar_0x8007 + 7);
if (MetatileBehavior_IsMB_B5(metatile) == TRUE || MetatileBehavior_IsMB_C3(metatile) == TRUE)
{
gSpecialVar_Result = gMapHeader.events->mapObjects[objIdx].graphicsId + VAR_0x3F20;
gSpecialVar_Result = gMapHeader.events->eventObjects[objIdx].graphicsId + VAR_0x3F20;
VarSet(gSpecialVar_Result, gDecorations[roomDecor[decorIdx]].tiles[0]);
gSpecialVar_Result = gMapHeader.events->mapObjects[objIdx].localId;
gSpecialVar_Result = gMapHeader.events->eventObjects[objIdx].localId;
FlagClear(gSpecialVar_0x8004 + 0xAE);
show_sprite(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
sub_808EBA8(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007);
@@ -578,12 +578,12 @@ void sub_80E9578(void)
u8 objectEventIdx;
u16 flagId;
for (objectEventIdx = 0; objectEventIdx < gMapHeader.events->mapObjectCount; objectEventIdx ++)
for (objectEventIdx = 0; objectEventIdx < gMapHeader.events->eventObjectCount; objectEventIdx ++)
{
flagId = gMapHeader.events->mapObjects[objectEventIdx].flagId;
flagId = gMapHeader.events->eventObjects[objectEventIdx].flagId;
if (flagId >= 0xAE && flagId <= 0xBB)
{
RemoveFieldObjectByLocalIdAndMap(gMapHeader.events->mapObjects[objectEventIdx].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
RemoveEventObjectByLocalIdAndMap(gMapHeader.events->eventObjects[objectEventIdx].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
FlagSet(flagId);
}
}
+2 -2
View File
@@ -15,7 +15,7 @@
#include "battle_frontier_2.h"
#include "rom_818CFC8.h"
#include "field_specials.h"
#include "field_map_obj_helpers.h"
#include "event_object_movement.h"
#include "script.h"
#include "main.h"
#include "sound.h"
@@ -561,7 +561,7 @@ void ShowStartMenu(void) // Called from overworld.c and field_control_avatar.s
{
if (!is_c1_link_related_active())
{
FreezeMapObjects();
FreezeEventObjects();
sub_808B864();
sub_808BCF4();
}
+151 -152
View File
@@ -4,9 +4,8 @@
#include "pokemon.h"
#include "sprite.h"
#include "field_effect.h"
#include "field_map_obj.h"
#include "event_object_movement.h"
#include "field_player_avatar.h"
#include "field_map_obj_helpers.h"
#include "pokenav.h"
#include "task.h"
#include "util.h"
@@ -16,36 +15,36 @@
extern bool8 InBattlePyramid(void);
extern bool32 InTrainerHill(void);
extern bool8 GetBattlePyramidTrainerFlag(u8 mapObjectId);
extern bool8 GetTrainerHillTrainerFlag(u8 mapObjectId);
extern bool8 GetBattlePyramidTrainerFlag(u8 eventObjectId);
extern bool8 GetTrainerHillTrainerFlag(u8 eventObjectId);
extern void sub_809BE48(u16 npcId);
// this file's functions
static u8 CheckTrainer(u8 mapObjectId);
static u8 GetTrainerApproachDistance(struct MapObject *trainerObj);
static u8 CheckPathBetweenTrainerAndPlayer(struct MapObject *trainerObj, u8 approachDistance, u8 direction);
static void TrainerApproachPlayer(struct MapObject *trainerObj, u8 range);
static u8 CheckTrainer(u8 eventObjectId);
static u8 GetTrainerApproachDistance(struct EventObject *trainerObj);
static u8 CheckPathBetweenTrainerAndPlayer(struct EventObject *trainerObj, u8 approachDistance, u8 direction);
static void TrainerApproachPlayer(struct EventObject *trainerObj, u8 range);
static void Task_RunTrainerSeeFuncList(u8 taskId);
static void Task_DestroyTrainerApproachTask(u8 taskId);
static void SetIconSpriteData(struct Sprite *sprite, u16 fldEffId, u8 spriteAnimNum);
static u8 GetTrainerApproachDistanceSouth(struct MapObject *trainerObj, s16 range, s16 x, s16 y);
static u8 GetTrainerApproachDistanceNorth(struct MapObject *trainerObj, s16 range, s16 x, s16 y);
static u8 GetTrainerApproachDistanceWest(struct MapObject *trainerObj, s16 range, s16 x, s16 y);
static u8 GetTrainerApproachDistanceEast(struct MapObject *trainerObj, s16 range, s16 x, s16 y);
static u8 GetTrainerApproachDistanceSouth(struct EventObject *trainerObj, s16 range, s16 x, s16 y);
static u8 GetTrainerApproachDistanceNorth(struct EventObject *trainerObj, s16 range, s16 x, s16 y);
static u8 GetTrainerApproachDistanceWest(struct EventObject *trainerObj, s16 range, s16 x, s16 y);
static u8 GetTrainerApproachDistanceEast(struct EventObject *trainerObj, s16 range, s16 x, s16 y);
static bool8 sub_80B4178(u8 taskId, struct Task *task, struct MapObject *trainerObj);
static bool8 sub_80B417C(u8 taskId, struct Task *task, struct MapObject *trainerObj);
static bool8 sub_80B41C0(u8 taskId, struct Task *task, struct MapObject *trainerObj);
static bool8 sub_80B4200(u8 taskId, struct Task *task, struct MapObject *trainerObj);
static bool8 sub_80B425C(u8 taskId, struct Task *task, struct MapObject *trainerObj);
static bool8 sub_80B4318(u8 taskId, struct Task *task, struct MapObject *trainerObj);
static bool8 sub_80B435C(u8 taskId, struct Task *task, struct MapObject *trainerObj);
static bool8 sub_80B4390(u8 taskId, struct Task *task, struct MapObject *trainerObj);
static bool8 sub_80B43AC(u8 taskId, struct Task *task, struct MapObject *trainerObj);
static bool8 sub_80B43E0(u8 taskId, struct Task *task, struct MapObject *trainerObj);
static bool8 sub_80B4438(u8 taskId, struct Task *task, struct MapObject *trainerObj);
static bool8 sub_80B44AC(u8 taskId, struct Task *task, struct MapObject *trainerObj);
static bool8 sub_80B4178(u8 taskId, struct Task *task, struct EventObject *trainerObj);
static bool8 sub_80B417C(u8 taskId, struct Task *task, struct EventObject *trainerObj);
static bool8 sub_80B41C0(u8 taskId, struct Task *task, struct EventObject *trainerObj);
static bool8 sub_80B4200(u8 taskId, struct Task *task, struct EventObject *trainerObj);
static bool8 sub_80B425C(u8 taskId, struct Task *task, struct EventObject *trainerObj);
static bool8 sub_80B4318(u8 taskId, struct Task *task, struct EventObject *trainerObj);
static bool8 sub_80B435C(u8 taskId, struct Task *task, struct EventObject *trainerObj);
static bool8 sub_80B4390(u8 taskId, struct Task *task, struct EventObject *trainerObj);
static bool8 sub_80B43AC(u8 taskId, struct Task *task, struct EventObject *trainerObj);
static bool8 sub_80B43E0(u8 taskId, struct Task *task, struct EventObject *trainerObj);
static bool8 sub_80B4438(u8 taskId, struct Task *task, struct EventObject *trainerObj);
static bool8 sub_80B44AC(u8 taskId, struct Task *task, struct EventObject *trainerObj);
static void SpriteCB_TrainerIcons(struct Sprite *sprite);
@@ -64,7 +63,7 @@ static const u8 sEmotion_ExclamationMarkGfx[] = INCBIN_U8("graphics/misc/emotion
static const u8 sEmotion_QuestionMarkGfx[] = INCBIN_U8("graphics/misc/emotion_question.4bpp");
static const u8 sEmotion_HeartGfx[] = INCBIN_U8("graphics/misc/emotion_heart.4bpp");
static u8 (*const sDirectionalApproachDistanceFuncs[])(struct MapObject *trainerObj, s16 range, s16 x, s16 y) =
static u8 (*const sDirectionalApproachDistanceFuncs[])(struct EventObject *trainerObj, s16 range, s16 x, s16 y) =
{
GetTrainerApproachDistanceSouth,
GetTrainerApproachDistanceNorth,
@@ -72,7 +71,7 @@ static u8 (*const sDirectionalApproachDistanceFuncs[])(struct MapObject *trainer
GetTrainerApproachDistanceEast,
};
static bool8 (*const sTrainerSeeFuncList[])(u8 taskId, struct Task *task, struct MapObject *trainerObj) =
static bool8 (*const sTrainerSeeFuncList[])(u8 taskId, struct Task *task, struct EventObject *trainerObj) =
{
sub_80B4178,
sub_80B417C,
@@ -88,7 +87,7 @@ static bool8 (*const sTrainerSeeFuncList[])(u8 taskId, struct Task *task, struct
sub_80B44AC
};
static bool8 (*const sTrainerSeeFuncList2[])(u8 taskId, struct Task *task, struct MapObject *trainerObj) =
static bool8 (*const sTrainerSeeFuncList2[])(u8 taskId, struct Task *task, struct EventObject *trainerObj) =
{
sub_80B43AC,
sub_80B43E0,
@@ -172,13 +171,13 @@ bool8 CheckForTrainersWantingBattle(void)
gNoOfApproachingTrainers = 0;
gApproachingTrainerId = 0;
for (i = 0; i < MAP_OBJECTS_COUNT; i++)
for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
u8 retVal;
if (!gMapObjects[i].active)
if (!gEventObjects[i].active)
continue;
if (gMapObjects[i].trainerType != 1 && gMapObjects[i].trainerType != 3)
if (gEventObjects[i].trainerType != 1 && gEventObjects[i].trainerType != 3)
continue;
retVal = CheckTrainer(i);
@@ -197,7 +196,7 @@ bool8 CheckForTrainersWantingBattle(void)
if (gNoOfApproachingTrainers == 1)
{
ResetTrainerOpponentIds();
ConfigureAndSetUpOneTrainerBattle(gApproachingTrainers[gNoOfApproachingTrainers - 1].mapObjectId,
ConfigureAndSetUpOneTrainerBattle(gApproachingTrainers[gNoOfApproachingTrainers - 1].eventObjectId,
gApproachingTrainers[gNoOfApproachingTrainers - 1].trainerScriptPtr);
gUnknown_030060AC = 1;
return TRUE;
@@ -207,7 +206,7 @@ bool8 CheckForTrainersWantingBattle(void)
ResetTrainerOpponentIds();
for (i = 0; i < gNoOfApproachingTrainers; i++, gApproachingTrainerId++)
{
ConfigureTwoTrainersBattle(gApproachingTrainers[i].mapObjectId,
ConfigureTwoTrainersBattle(gApproachingTrainers[i].eventObjectId,
gApproachingTrainers[i].trainerScriptPtr);
}
SetUpTwoTrainersBattle();
@@ -222,7 +221,7 @@ bool8 CheckForTrainersWantingBattle(void)
}
}
static u8 CheckTrainer(u8 mapObjectId)
static u8 CheckTrainer(u8 eventObjectId)
{
const u8 *scriptPtr;
u8 ret = 1;
@@ -231,16 +230,16 @@ static u8 CheckTrainer(u8 mapObjectId)
if (InTrainerHill() == TRUE)
scriptPtr = sub_81D62AC();
else
scriptPtr = GetFieldObjectScriptPointerByFieldObjectId(mapObjectId);
scriptPtr = GetEventObjectScriptPointerByEventObjectId(eventObjectId);
if (InBattlePyramid())
{
if (GetBattlePyramidTrainerFlag(mapObjectId))
if (GetBattlePyramidTrainerFlag(eventObjectId))
return 0;
}
else if (InTrainerHill() == TRUE)
{
if (GetTrainerHillTrainerFlag(mapObjectId))
if (GetTrainerHillTrainerFlag(eventObjectId))
return 0;
}
else
@@ -249,7 +248,7 @@ static u8 CheckTrainer(u8 mapObjectId)
return 0;
}
approachDistance = GetTrainerApproachDistance(&gMapObjects[mapObjectId]);
approachDistance = GetTrainerApproachDistance(&gEventObjects[eventObjectId]);
if (approachDistance != 0)
{
@@ -263,10 +262,10 @@ static u8 CheckTrainer(u8 mapObjectId)
ret = 2;
}
gApproachingTrainers[gNoOfApproachingTrainers].mapObjectId = mapObjectId;
gApproachingTrainers[gNoOfApproachingTrainers].eventObjectId = eventObjectId;
gApproachingTrainers[gNoOfApproachingTrainers].trainerScriptPtr = scriptPtr;
gApproachingTrainers[gNoOfApproachingTrainers].radius = approachDistance;
TrainerApproachPlayer(&gMapObjects[mapObjectId], approachDistance - 1);
TrainerApproachPlayer(&gEventObjects[eventObjectId], approachDistance - 1);
gNoOfApproachingTrainers++;
return ret;
@@ -275,7 +274,7 @@ static u8 CheckTrainer(u8 mapObjectId)
return 0;
}
static u8 GetTrainerApproachDistance(struct MapObject *trainerObj)
static u8 GetTrainerApproachDistance(struct EventObject *trainerObj)
{
s16 x, y;
u8 i;
@@ -284,8 +283,8 @@ static u8 GetTrainerApproachDistance(struct MapObject *trainerObj)
PlayerGetDestCoords(&x, &y);
if (trainerObj->trainerType == 1) // can only see in one direction
{
approachDistance = sDirectionalApproachDistanceFuncs[trainerObj->mapobj_unk_18 - 1](trainerObj, trainerObj->trainerRange_berryTreeId, x, y);
return CheckPathBetweenTrainerAndPlayer(trainerObj, approachDistance, trainerObj->mapobj_unk_18);
approachDistance = sDirectionalApproachDistanceFuncs[trainerObj->facingDirection - 1](trainerObj, trainerObj->trainerRange_berryTreeId, x, y);
return CheckPathBetweenTrainerAndPlayer(trainerObj, approachDistance, trainerObj->facingDirection);
}
else // can see in all directions
{
@@ -301,52 +300,52 @@ static u8 GetTrainerApproachDistance(struct MapObject *trainerObj)
}
// Returns how far south the player is from trainer. 0 if out of trainer's sight.
static u8 GetTrainerApproachDistanceSouth(struct MapObject *trainerObj, s16 range, s16 x, s16 y)
static u8 GetTrainerApproachDistanceSouth(struct EventObject *trainerObj, s16 range, s16 x, s16 y)
{
if (trainerObj->coords2.x == x
&& y > trainerObj->coords2.y
&& y <= trainerObj->coords2.y + range)
return (y - trainerObj->coords2.y);
if (trainerObj->currentCoords.x == x
&& y > trainerObj->currentCoords.y
&& y <= trainerObj->currentCoords.y + range)
return (y - trainerObj->currentCoords.y);
else
return 0;
}
// Returns how far north the player is from trainer. 0 if out of trainer's sight.
static u8 GetTrainerApproachDistanceNorth(struct MapObject *trainerObj, s16 range, s16 x, s16 y)
static u8 GetTrainerApproachDistanceNorth(struct EventObject *trainerObj, s16 range, s16 x, s16 y)
{
if (trainerObj->coords2.x == x
&& y < trainerObj->coords2.y
&& y >= trainerObj->coords2.y - range)
return (trainerObj->coords2.y - y);
if (trainerObj->currentCoords.x == x
&& y < trainerObj->currentCoords.y
&& y >= trainerObj->currentCoords.y - range)
return (trainerObj->currentCoords.y - y);
else
return 0;
}
// Returns how far west the player is from trainer. 0 if out of trainer's sight.
static u8 GetTrainerApproachDistanceWest(struct MapObject *trainerObj, s16 range, s16 x, s16 y)
static u8 GetTrainerApproachDistanceWest(struct EventObject *trainerObj, s16 range, s16 x, s16 y)
{
if (trainerObj->coords2.y == y
&& x < trainerObj->coords2.x
&& x >= trainerObj->coords2.x - range)
return (trainerObj->coords2.x - x);
if (trainerObj->currentCoords.y == y
&& x < trainerObj->currentCoords.x
&& x >= trainerObj->currentCoords.x - range)
return (trainerObj->currentCoords.x - x);
else
return 0;
}
// Returns how far east the player is from trainer. 0 if out of trainer's sight.
static u8 GetTrainerApproachDistanceEast(struct MapObject *trainerObj, s16 range, s16 x, s16 y)
static u8 GetTrainerApproachDistanceEast(struct EventObject *trainerObj, s16 range, s16 x, s16 y)
{
if (trainerObj->coords2.y == y
&& x > trainerObj->coords2.x
&& x <= trainerObj->coords2.x + range)
return (x - trainerObj->coords2.x);
if (trainerObj->currentCoords.y == y
&& x > trainerObj->currentCoords.x
&& x <= trainerObj->currentCoords.x + range)
return (x - trainerObj->currentCoords.x);
else
return 0;
}
#define COLLISION_MASK (~1)
static u8 CheckPathBetweenTrainerAndPlayer(struct MapObject *trainerObj, u8 approachDistance, u8 direction)
static u8 CheckPathBetweenTrainerAndPlayer(struct EventObject *trainerObj, u8 approachDistance, u8 direction)
{
s16 x, y;
u8 unk19_temp;
@@ -357,13 +356,13 @@ static u8 CheckPathBetweenTrainerAndPlayer(struct MapObject *trainerObj, u8 appr
if (approachDistance == 0)
return 0;
x = trainerObj->coords2.x;
y = trainerObj->coords2.y;
x = trainerObj->currentCoords.x;
y = trainerObj->currentCoords.y;
MoveCoords(direction, &x, &y);
for (i = 0; i < approachDistance - 1; i++, MoveCoords(direction, &x, &y))
{
collision = sub_8092C8C(trainerObj, x, y, direction);
collision = GetCollisionFlagsAtCoords(trainerObj, x, y, direction);
if (collision != 0 && (collision & COLLISION_MASK))
return 0;
}
@@ -374,7 +373,7 @@ static u8 CheckPathBetweenTrainerAndPlayer(struct MapObject *trainerObj, u8 appr
trainerObj->range.as_nybbles.x = 0;
trainerObj->range.as_nybbles.y = 0;
collision = npc_block_way(trainerObj, x, y, direction);
collision = GetCollisionAtCoords(trainerObj, x, y, direction);
trainerObj->range.as_nybbles.x = unk19_temp;
trainerObj->range.as_nybbles.y = unk19b_temp;
@@ -387,16 +386,16 @@ static u8 CheckPathBetweenTrainerAndPlayer(struct MapObject *trainerObj, u8 appr
#define tFuncId data[0]
#define tTrainerRange data[3]
#define tOutOfAshSpriteId data[4]
#define tTrainerMapObjectId data[7]
#define tTrainerEventObjectId data[7]
static void TrainerApproachPlayer(struct MapObject *trainerObj, u8 range)
static void TrainerApproachPlayer(struct EventObject *trainerObj, u8 range)
{
struct Task *task;
gApproachingTrainers[gNoOfApproachingTrainers].taskId = CreateTask(Task_RunTrainerSeeFuncList, 0x50);
task = &gTasks[gApproachingTrainers[gNoOfApproachingTrainers].taskId];
task->tTrainerRange = range;
task->tTrainerMapObjectId = gApproachingTrainers[gNoOfApproachingTrainers].mapObjectId;
task->tTrainerEventObjectId = gApproachingTrainers[gNoOfApproachingTrainers].eventObjectId;
}
static void sub_80B40C8(TaskFunc followupFunc)
@@ -418,7 +417,7 @@ static void sub_80B40C8(TaskFunc followupFunc)
static void Task_RunTrainerSeeFuncList(u8 taskId)
{
struct Task *task = &gTasks[taskId];
struct MapObject *trainerObj = &gMapObjects[task->tTrainerMapObjectId];
struct EventObject *trainerObj = &gEventObjects[task->tTrainerEventObjectId];
if (!trainerObj->active)
{
@@ -430,125 +429,125 @@ static void Task_RunTrainerSeeFuncList(u8 taskId)
}
}
static bool8 sub_80B4178(u8 taskId, struct Task *task, struct MapObject *trainerObj)
static bool8 sub_80B4178(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
return FALSE;
}
static bool8 sub_80B417C(u8 taskId, struct Task *task, struct MapObject *trainerObj)
static bool8 sub_80B417C(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
u8 direction;
FieldObjectGetLocalIdAndMap(trainerObj, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]);
FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1);
direction = GetFaceDirectionAnimId(trainerObj->mapobj_unk_18);
FieldObjectSetSpecialAnim(trainerObj, direction);
EventObjectGetLocalIdAndMap(trainerObj, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]);
FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON);
direction = GetFaceDirectionMovementAction(trainerObj->facingDirection);
EventObjectSetHeldMovement(trainerObj, direction);
task->tFuncId++;
return TRUE;
}
static bool8 sub_80B41C0(u8 taskId, struct Task *task, struct MapObject *trainerObj)
static bool8 sub_80B41C0(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
if (FieldEffectActiveListContains(FLDEFF_EXCLAMATION_MARK_ICON_1))
if (FieldEffectActiveListContains(FLDEFF_EXCLAMATION_MARK_ICON))
{
return FALSE;
}
else
{
task->tFuncId++;
if (trainerObj->animPattern == 57 || trainerObj->animPattern == 58)
if (trainerObj->movementType == 57 || trainerObj->movementType == 58)
task->tFuncId = 6;
if (trainerObj->animPattern == 63)
if (trainerObj->movementType == 63)
task->tFuncId = 8;
return TRUE;
}
}
static bool8 sub_80B4200(u8 taskId, struct Task *task, struct MapObject *trainerObj)
static bool8 sub_80B4200(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
if (!(FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj)) || FieldObjectClearAnimIfSpecialAnimFinished(trainerObj))
if (!(EventObjectIsMovementOverridden(trainerObj)) || EventObjectClearHeldMovementIfFinished(trainerObj))
{
if (task->tTrainerRange)
{
FieldObjectSetSpecialAnim(trainerObj, GetGoSpeed0AnimId(trainerObj->mapobj_unk_18));
EventObjectSetHeldMovement(trainerObj, GetWalkNormalMovementAction(trainerObj->facingDirection));
task->tTrainerRange--;
}
else
{
FieldObjectSetSpecialAnim(trainerObj, 0x3E);
EventObjectSetHeldMovement(trainerObj, 0x3E);
task->tFuncId++;
}
}
return FALSE;
}
static bool8 sub_80B425C(u8 taskId, struct Task *task, struct MapObject *trainerObj)
static bool8 sub_80B425C(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
struct MapObject *playerObj;
struct EventObject *playerObj;
if (FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj) && !FieldObjectClearAnimIfSpecialAnimFinished(trainerObj))
if (EventObjectIsMovementOverridden(trainerObj) && !EventObjectClearHeldMovementIfFinished(trainerObj))
return FALSE;
npc_set_running_behaviour_etc(trainerObj, npc_running_behaviour_by_direction(trainerObj->mapobj_unk_18));
sub_808F23C(trainerObj, npc_running_behaviour_by_direction(trainerObj->mapobj_unk_18));
sub_808F208(trainerObj);
SetTrainerMovementType(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection));
TryOverrideTemplateCoordsForEventObject(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection));
OverrideTemplateCoordsForEventObject(trainerObj);
playerObj = &gMapObjects[gPlayerAvatar.mapObjectId];
if (FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(playerObj) && !FieldObjectClearAnimIfSpecialAnimFinished(playerObj))
playerObj = &gEventObjects[gPlayerAvatar.eventObjectId];
if (EventObjectIsMovementOverridden(playerObj) && !EventObjectClearHeldMovementIfFinished(playerObj))
return FALSE;
sub_808BCE8();
FieldObjectSetSpecialAnim(&gMapObjects[gPlayerAvatar.mapObjectId], GetFaceDirectionAnimId(GetOppositeDirection(trainerObj->mapobj_unk_18)));
EventObjectSetHeldMovement(&gEventObjects[gPlayerAvatar.eventObjectId], GetFaceDirectionMovementAction(GetOppositeDirection(trainerObj->facingDirection)));
task->tFuncId++;
return FALSE;
}
static bool8 sub_80B4318(u8 taskId, struct Task *task, struct MapObject *trainerObj)
static bool8 sub_80B4318(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
struct MapObject *playerObj = &gMapObjects[gPlayerAvatar.mapObjectId];
struct EventObject *playerObj = &gEventObjects[gPlayerAvatar.eventObjectId];
if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(playerObj)
|| FieldObjectClearAnimIfSpecialAnimFinished(playerObj))
if (!EventObjectIsMovementOverridden(playerObj)
|| EventObjectClearHeldMovementIfFinished(playerObj))
SwitchTaskToFollowupFunc(taskId);
return FALSE;
}
static bool8 sub_80B435C(u8 taskId, struct Task *task, struct MapObject *trainerObj)
static bool8 sub_80B435C(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj)
|| FieldObjectClearAnimIfSpecialAnimFinished(trainerObj))
if (!EventObjectIsMovementOverridden(trainerObj)
|| EventObjectClearHeldMovementIfFinished(trainerObj))
{
FieldObjectSetSpecialAnim(trainerObj, 0x59);
EventObjectSetHeldMovement(trainerObj, 0x59);
task->tFuncId++;
}
return FALSE;
}
static bool8 sub_80B4390(u8 taskId, struct Task *task, struct MapObject *trainerObj)
static bool8 sub_80B4390(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
if (FieldObjectClearAnimIfSpecialAnimFinished(trainerObj))
if (EventObjectClearHeldMovementIfFinished(trainerObj))
task->tFuncId = 3;
return FALSE;
}
static bool8 sub_80B43AC(u8 taskId, struct Task *task, struct MapObject *trainerObj)
static bool8 sub_80B43AC(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj)
|| FieldObjectClearAnimIfSpecialAnimFinished(trainerObj))
if (!EventObjectIsMovementOverridden(trainerObj)
|| EventObjectClearHeldMovementIfFinished(trainerObj))
{
FieldObjectSetSpecialAnim(trainerObj, 0x3E);
EventObjectSetHeldMovement(trainerObj, 0x3E);
task->tFuncId++;
}
return FALSE;
}
static bool8 sub_80B43E0(u8 taskId, struct Task *task, struct MapObject *trainerObj)
static bool8 sub_80B43E0(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
if (FieldObjectCheckIfSpecialAnimFinishedOrInactive(trainerObj))
if (EventObjectCheckHeldMovementStatus(trainerObj))
{
gFieldEffectArguments[0] = trainerObj->coords2.x;
gFieldEffectArguments[1] = trainerObj->coords2.y;
gFieldEffectArguments[0] = trainerObj->currentCoords.x;
gFieldEffectArguments[1] = trainerObj->currentCoords.y;
gFieldEffectArguments[2] = gSprites[trainerObj->spriteId].subpriority - 1;
gFieldEffectArguments[3] = 2;
task->tOutOfAshSpriteId = FieldEffectStart(FLDEFF_POP_OUT_OF_ASH);
@@ -557,26 +556,26 @@ static bool8 sub_80B43E0(u8 taskId, struct Task *task, struct MapObject *trainer
return FALSE;
}
static bool8 sub_80B4438(u8 taskId, struct Task *task, struct MapObject *trainerObj)
static bool8 sub_80B4438(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
struct Sprite *sprite;
if (gSprites[task->tOutOfAshSpriteId].animCmdIndex == 2)
{
trainerObj->mapobj_bit_26 = 0;
trainerObj->mapobj_bit_2 = 1;
trainerObj->fixedPriority = 0;
trainerObj->triggerGroundEffectsOnMove = 1;
sprite = &gSprites[trainerObj->spriteId];
sprite->oam.priority = 2;
FieldObjectClearAnimIfSpecialAnimFinished(trainerObj);
FieldObjectSetSpecialAnim(trainerObj, sub_80934BC(trainerObj->mapobj_unk_18));
EventObjectClearHeldMovementIfFinished(trainerObj);
EventObjectSetHeldMovement(trainerObj, GetJumpInPlaceMovementAction(trainerObj->facingDirection));
task->tFuncId++;
}
return FALSE;
}
static bool8 sub_80B44AC(u8 taskId, struct Task *task, struct MapObject *trainerObj)
static bool8 sub_80B44AC(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
if (!FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH))
task->tFuncId = 3;
@@ -587,34 +586,34 @@ static bool8 sub_80B44AC(u8 taskId, struct Task *task, struct MapObject *trainer
#undef tFuncId
#undef tTrainerRange
#undef tOutOfAshSpriteId
#undef tTrainerMapObjectId
#undef tTrainerEventObjectId
static void sub_80B44C8(u8 taskId)
{
struct Task *task = &gTasks[taskId];
struct MapObject *mapObj;
struct EventObject *eventObj;
// another mapObj loaded into by loadword?
LoadWordFromTwoHalfwords(&task->data[1], (u32 *)&mapObj);
// another eventObj loaded into by loadword?
LoadWordFromTwoHalfwords(&task->data[1], (u32 *)&eventObj);
if (!task->data[7])
{
FieldObjectClearAnim(mapObj);
EventObjectClearHeldMovement(eventObj);
task->data[7]++;
}
sTrainerSeeFuncList2[task->data[0]](taskId, task, mapObj);
sTrainerSeeFuncList2[task->data[0]](taskId, task, eventObj);
if (task->data[0] == 3 && !FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH))
{
npc_set_running_behaviour_etc(mapObj, npc_running_behaviour_by_direction(mapObj->mapobj_unk_18));
sub_808F23C(mapObj, npc_running_behaviour_by_direction(mapObj->mapobj_unk_18));
SetTrainerMovementType(eventObj, GetTrainerFacingDirectionMovementType(eventObj->facingDirection));
TryOverrideTemplateCoordsForEventObject(eventObj, GetTrainerFacingDirectionMovementType(eventObj->facingDirection));
DestroyTask(taskId);
}
else
{
mapObj->mapobj_bit_7 = 0;
eventObj->heldMovementFinished = 0;
}
}
void sub_80B4578(struct MapObject *var)
void sub_80B4578(struct EventObject *var)
{
StoreWordInTwoHalfwords(&gTasks[CreateTask(sub_80B44C8, 0)].data[1], (u32)var);
}
@@ -638,8 +637,8 @@ void sub_80B45D0(void)
{
gApproachingTrainerId++;
gSpecialVar_Result = 1;
UnfreezeMapObjects();
FreezeMapObjectsExceptOne(gApproachingTrainers[1].mapObjectId);
UnfreezeEventObjects();
FreezeEventObjectsExceptOne(gApproachingTrainers[1].eventObjectId);
}
else
{
@@ -660,22 +659,22 @@ void sub_80B45D0(void)
#define sData4 data[4]
#define sFldEffId data[7]
u8 FldEff_ExclamationMarkIcon1(void)
u8 FldEff_ExclamationMarkIcon(void)
{
u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_ExclamationQuestionMark, 0, 0, 0x53);
if (spriteId != MAX_SPRITES)
SetIconSpriteData(&gSprites[spriteId], FLDEFF_EXCLAMATION_MARK_ICON_1, 0);
SetIconSpriteData(&gSprites[spriteId], FLDEFF_EXCLAMATION_MARK_ICON, 0);
return 0;
}
u8 FldEff_ExclamationMarkIcon2(void)
u8 FldEff_QuestionMarkIcon(void)
{
u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_ExclamationQuestionMark, 0, 0, 0x52);
if (spriteId != MAX_SPRITES)
SetIconSpriteData(&gSprites[spriteId], FLDEFF_EXCLAMATION_MARK_ICON_2, 1);
SetIconSpriteData(&gSprites[spriteId], FLDEFF_QUESTION_MARK_ICON, 1);
return 0;
}
@@ -711,21 +710,21 @@ static void SetIconSpriteData(struct Sprite *sprite, u16 fldEffId, u8 spriteAnim
static void SpriteCB_TrainerIcons(struct Sprite *sprite)
{
u8 mapObjId;
u8 eventObjId;
if (TryGetFieldObjectIdByLocalIdAndMap(sprite->sLocalId, sprite->sMapNum, sprite->sMapGroup, &mapObjId)
if (TryGetEventObjectIdByLocalIdAndMap(sprite->sLocalId, sprite->sMapNum, sprite->sMapGroup, &eventObjId)
|| sprite->animEnded)
{
FieldEffectStop(sprite, sprite->sFldEffId);
}
else
{
struct Sprite *mapObjSprite = &gSprites[gMapObjects[mapObjId].spriteId];
struct Sprite *eventObjSprite = &gSprites[gEventObjects[eventObjId].spriteId];
sprite->sData4 += sprite->sData3;
sprite->pos1.x = mapObjSprite->pos1.x;
sprite->pos1.y = mapObjSprite->pos1.y - 16;
sprite->pos2.x = mapObjSprite->pos2.x;
sprite->pos2.y = mapObjSprite->pos2.y + sprite->sData4;
sprite->pos1.x = eventObjSprite->pos1.x;
sprite->pos1.y = eventObjSprite->pos1.y - 16;
sprite->pos2.x = eventObjSprite->pos2.x;
sprite->pos2.y = eventObjSprite->pos2.y + sprite->sData4;
if (sprite->sData4)
sprite->sData3++;
else
@@ -740,39 +739,39 @@ static void SpriteCB_TrainerIcons(struct Sprite *sprite)
#undef sData4
#undef sFldEffId
u8 GetCurrentApproachingTrainerMapObjectId(void)
u8 GetCurrentApproachingTrainerEventObjectId(void)
{
if (gApproachingTrainerId == 0)
return gApproachingTrainers[0].mapObjectId;
return gApproachingTrainers[0].eventObjectId;
else
return gApproachingTrainers[1].mapObjectId;
return gApproachingTrainers[1].eventObjectId;
}
u8 GetChosenApproachingTrainerMapObjectId(u8 arrayId)
u8 GetChosenApproachingTrainerEventObjectId(u8 arrayId)
{
if (arrayId >= ARRAY_COUNT(gApproachingTrainers))
return 0;
else if (arrayId == 0)
return gApproachingTrainers[0].mapObjectId;
return gApproachingTrainers[0].eventObjectId;
else
return gApproachingTrainers[1].mapObjectId;
return gApproachingTrainers[1].eventObjectId;
}
void sub_80B4808(void)
{
struct MapObject *trainerObj;
struct EventObject *trainerObj;
if (gUnknown_030060AC == 1)
{
trainerObj = &gMapObjects[gApproachingTrainers[gUnknown_03006080].mapObjectId];
gUnknown_03006084[0] = GetFaceDirectionAnimId(GetOppositeDirection(trainerObj->mapobj_unk_18));
trainerObj = &gEventObjects[gApproachingTrainers[gUnknown_03006080].eventObjectId];
gUnknown_03006084[0] = GetFaceDirectionMovementAction(GetOppositeDirection(trainerObj->facingDirection));
gUnknown_03006084[1] = 0xFE;
ScriptMovement_StartObjectMovementScript(0xFF, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gUnknown_03006084);
}
else
{
trainerObj = &gMapObjects[gPlayerAvatar.mapObjectId];
gUnknown_03006084[0] = GetFaceDirectionAnimId(trainerObj->mapobj_unk_18);
trainerObj = &gEventObjects[gPlayerAvatar.eventObjectId];
gUnknown_03006084[0] = GetFaceDirectionMovementAction(trainerObj->facingDirection);
gUnknown_03006084[1] = 0xFE;
ScriptMovement_StartObjectMovementScript(0xFF, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gUnknown_03006084);
}
+3 -3
View File
@@ -26,7 +26,7 @@
#include "lilycove_lady.h"
#include "rom6.h"
#include "pokedex.h"
#include "field_map_obj.h"
#include "event_object_movement.h"
#include "text.h"
#include "script_menu.h"
#include "naming_screen.h"
@@ -1037,7 +1037,7 @@ u8 GabbyAndTyGetLastBattleTrivia(void)
return 0;
}
void GabbyAndTySetScriptVarsToFieldObjectLocalIds(void)
void GabbyAndTySetScriptVarsToEventObjectLocalIds(void)
{
switch (GabbyAndTyGetBattleNum())
{
@@ -3602,7 +3602,7 @@ void GetMomOrDadStringForTVMessage(void)
void sub_80F01B8(void)
{
VarSet(VAR_0x40BC, 0);
RemoveFieldObjectByLocalIdAndMap(5, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
RemoveEventObjectByLocalIdAndMap(5, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
FlagSet(0x396);
}