Merge pull request #263 from huderlem/event_object_movement
Sync event object movement with pokeruby
This commit is contained in:
+31
-32
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
@@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Executable
+52
@@ -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
@@ -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
|
||||
+1176
File diff suppressed because it is too large
Load Diff
+1667
File diff suppressed because it is too large
Load Diff
+250
@@ -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
|
||||
+2179
File diff suppressed because it is too large
Load Diff
+342
@@ -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
@@ -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
|
||||
+1518
File diff suppressed because it is too large
Load Diff
+443
@@ -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
@@ -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
@@ -190,7 +190,7 @@ bool8 VarSet(u16 id, u16 value)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
u8 VarGetFieldObjectGraphicsId(u8 id)
|
||||
u8 VarGetEventObjectGraphicsId(u8 id)
|
||||
{
|
||||
return VarGet(0x4010 + id);
|
||||
}
|
||||
|
||||
@@ -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
@@ -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
File diff suppressed because it is too large
Load Diff
-5119
File diff suppressed because it is too large
Load Diff
@@ -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;
|
||||
}
|
||||
@@ -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
@@ -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();
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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)
|
||||
|
||||
@@ -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?
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user